1 unstable release
Uses old Rust 2015
0.2.0 | Jul 25, 2018 |
---|
#22 in #spa
14KB
244 lines
miniserve - a CLI tool to serve files and dirs over HTTP
For when you really just want to serve some files over HTTP right now!
miniserve is a small, self-contained cross-platform CLI tool that allows you to just grab the binary and serve some file(s) via HTTP. Sometimes this is just a more practical and quick way than doing things properly.
How to use
Serve a directory:
miniserve linux-distro-collection/
Serve a single file:
miniserve linux-distro.iso
Require username/password:
miniserve --auth joe:123 unreleased-linux-distros/
Features
- Easy to use
- Just works: Correct MIME types handling out of the box
- Single binary drop-in with no extra dependencies required
- Authentication support with username and password
- Mega fast and highly parallel (thanks to Rust and Actix)
How to install
On Linux: Download miniserve-linux
from the releases page and run
chmod +x miniserve-linux
./miniserve-linux
On OSX: Download miniserve-osx
from the releases page and run
chmod +x miniserve-osx
./miniserve-osx
On Windows: Download miniserve-win.exe
from the releases page and run
miniserve-win.exe
With Cargo: If you have a somewhat recent version of Rust and Cargo installed, you can run
cargo install miniserve
miniserve
Why use this over alternatives?
- darkhttpd: Not easily available on Windows and it's not as easy as download and go.
- Python built-in webserver: Need to have Python installed, it's low performance, and also doesn't do correct MIME type handling in some cases.
- netcat: Not as convenient to use and sending directories is somewhat involved.
Releasing
This is mostly a note for me on how to release this thing:
- Update version in
Cargo.toml
. git commit
andgit tag -s
,git push
.cargo publish
- Releases will automatically be deployed by Travis.
- Update AUR package.
Dependencies
~34MB
~540K SLoC