A fast, feature-rich static file server written in Rust with directory listing, upload, HTTPS, and SPA support.
Simple HTTP Server is a lightweight, cross-platform static file server written in Rust. It serves local directories over HTTP/HTTPS with features like directory browsing, file upload, authentication, and SPA fallback support. It solves the need for a fast, secure, and feature-rich local development server that goes beyond basic static serving.
Developers, testers, and system administrators who need a reliable static server for local development, demos, testing, or lightweight internal file sharing.
It combines the performance of Rust with production-ready features like HTTPS, uploads, and security headers, offering a more capable and secure alternative to built-in tools like Python's `http.server`.
Simple http server in Rust (Windows/Mac/Linux)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes CORS, COOP, and COEP headers for cross-origin security, plus CSRF-protected uploads and optional basic authentication, as highlighted in the README's feature list.
Offers SPA fallback via the --try-file option, allowing single-page applications to handle client-side routing seamlessly, as demonstrated in the usage examples.
Supports HTTP Range requests for partial content and gzip/deflate compression for faster transfers, though the README notes compression is disabled on partial requests.
Built in Rust for performance, installable via Cargo as a standalone binary, and runs on multiple platforms with minimal dependencies, as shown in the installation instructions.
HTTPS support requires PKCS#12 certificates (.p12/.pfx) and a separate feature flag, not accepting PEM files directly, which adds an extra conversion step for many users.
The --csrf option passes tokens via command line, which the README warns is dangerous as tokens may be visible in process listings, posing a security risk.
Cannot serve dynamic content or handle server-side processing, restricting it to static file serving only, which may not suit projects needing backend logic.
File compression is explicitly disabled on partial requests, as noted in the README, potentially reducing efficiency for scenarios like resumable downloads.