svenstaro

miniserve

A small, self-contained cross-platform CLI tool for quickly serving files and directories over HTTP.

v0.35.0
Published at
Apr 8, 2026
7,888
Stars
36,784
Download
Synced at
15d ago

The author no longer ships through GitHub Releases, but the repository is still active (last push 18d ago). Get the latest version from:

Latest release

v0.35.0Apr 8, 2026, 12:11 PM
Downloads slow? Switch the source anytime above

README

Project Overview

miniserve is a small, self-contained cross-platform CLI tool that allows you to quickly serve files or directories over HTTP.

Key Features

  • Serve a directory or a single file
  • Custom index file
  • SPA mode with router forwarding
  • Username/password authentication
  • Random URL generation
  • TLS support
  • File upload support
  • Custom HTTP headers

Target Audience

  • Developers who need to share files quickly
  • System administrators and DevOps engineers
  • Users who need temporary file serving

Quick Start

  1. Serve a directory: miniserve linux-distro-collection/
  2. Serve a single file: miniserve linux-distro.iso
  3. Add authentication: miniserve --auth joe:123 unreleased-linux-distros/
  4. Enable TLS: miniserve --tls-cert my.cert --tls-key my.key /tmp/myshare

Core Advantages

  • Single binary with no dependencies
  • Cross-platform (Linux, macOS, Windows)
  • Feature-rich (auth, TLS, uploads)
  • Lightweight and fast

System Requirements

  • OS: Cross-platform (Linux, macOS, Windows)
  • Architectures: x86_64, arm64
  • Additional Dependencies: None

Notes

  • Use -- after -u to disambiguate arguments
  • Upload requires the -u flag

Release history

Sort