Command-line HTTP Servers for Rapid File Sharing
Sometimes, we need an ad-hoc, quick-and-dirty way of sharing files with others while maintaining complete control of the data transmission.
- We should not store our data on any third-party servers.
- The connections established through the network should be point-to-point.
Being supported by virtually every Internet-capable device and from both command-line tools (such as wget and curl) and graphical Web browsers, the HTTP protocol is one of our best bets. Thus, we have compiled a list of command-line HTTP servers that enable rapid file sharing and compare their features.
python3 -m http.server
The Python standard library has a barebones built-in HTTP server. Not recommended for production.
- Language: Python
mjpclab/go-http-file-server
Simple command line based HTTP file server to share local file system.
- Features:
- Cross-Origin Resource Sharing (CORS)
- Frontend Features:
- File Upload
- File Delete
- Create Subdirectory
- Download the Current Directory as an Archive
- HTTP Basic Authentication
- HTTP Range Requests
- HTTP Strict Transport Security (HSTS)
- HTTPS
- GitHub Stars: 175
- Language: Go
mar10/wsgidav
A generic and extendable WebDAV server written in Python and based on WSGI.
- Features:
- HTTP Range Requests
- GitHub Stars: 640
- Language: Python
- Multithreaded
- WebDAV Server
TheWaWaR/simple-http-server

- Features:
- Cross-Origin-Embedder-Policy (COEP)
- Cross-Origin Resource Sharing (CORS)
- Cross-Origin-Opener-Policy (COOP)
- HTTP Basic Authentication
- HTTP Range Requests
- HTTPS
- Frontend Features:
- File Upload
- GitHub Stars: 785
- Language: Rust
- Multithreaded
http-party/http-server
http-server
is a simple, zero-configuration command-line static HTTP server. It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development and learning.
- Features:
- Cross-Origin Resource Sharing (CORS)
- HTTP Basic Authentication
- HTTP Range Requests
- HTTPS
- GitHub Stars: 12.4k
- Language: node.js
EstebanBorai/http-server
Simple and configurable command-line HTTP server
- Features:
- Cross-Origin Resource Sharing (CORS)
- HTTP Basic Authentication
- HTTPS
- GZip Compression