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

Screenshot
  • 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

Command-line HTTP Servers for Rapid File Sharing
https://abbaswu.github.io/2022/12/26/Command-line-HTTP-Servers-for-Rapid-File-Sharing/
Author
Jifeng Wu
Posted on
December 26, 2022
Licensed under