miniserve

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

miniserve screenshot 1

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.

Key features

  • Authentication support via username and password or hashed credentials
  • File uploading and directory creation capabilities
  • Folder downloads compressed on the fly as .tar.gz or .zip
  • TLS support with custom certificates and keys
  • Search and filter functionality for files and directories
  • Single Page Application mode for routing non-existent paths to an index file
  • Support for README.md rendering in the web interface
  • WebDAV support and healthcheck routes

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.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity1 month ago
Repository Age8 years
LicenseMIT
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.