A self contained command line tool to serve files and directories over HTTP via a web interface.

miniserve is an open-source, self-contained command line tool that serves files and directories over HTTP via a web interface. It is designed for quick deployment to share local files without the need for complex server configurations or extensive setup. The software is distributed as a single binary and runs across multiple platforms, making it a portable utility for various environments.
Users interact with the tool through a CLI to specify which paths, files, or directories to serve. It can be used to host static websites, share large files, or provide a temporary file transfer point. The tool includes a web-based browser interface for navigating the served content, but also supports a raw renderer for CLI-based browsers such as lynx or w3m. It can be configured to serve a specific index file or operate in a mode that supports Single Page Applications by forwarding non-existent paths to a router.
The application is written in Rust and utilizes the Actix framework to handle requests in a highly parallel manner. It supports binding to multiple network interfaces and allows the insertion of custom HTTP headers for cache control or security policies. For mobile users, it can send media type hints to browsers to trigger camera uploads directly from a smartphone. Additionally, it provides shell completions and generates QR codes for quick access to the server from other devices.
This tool is positioned as a lightweight utility for developers and system administrators who need a fast way to serve local files over a network without deploying a full-scale web server.
Portable file server providing resumable uploads and downloads via web browsers and multiple network protocols.
A cross platform BitTorrent client that uses libtorrent to manage peer to peer file transfers.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.