2018-05-16 12:44:25 +00:00
|
|
|
# miniserve - a self-contained CLI tool to serve files and dirs over HTTP
|
2018-04-26 17:44:30 +00:00
|
|
|
|
|
|
|
**For when you really just want to serve some files over HTTP right now!**
|
2018-04-26 17:32:25 +00:00
|
|
|
|
|
|
|
[![Build Status](https://travis-ci.org/svenstaro/miniserve.svg?branch=master)](https://travis-ci.org/svenstaro/miniserve)
|
|
|
|
[![AUR](https://img.shields.io/aur/version/miniserve.svg)](https://aur.archlinux.org/packages/miniserve/)
|
|
|
|
[![Crates.io](https://img.shields.io/crates/v/miniserve.svg)](https://crates.io/crates/miniserve)
|
|
|
|
[![dependency status](https://deps.rs/repo/github/svenstaro/miniserve/status.svg)](https://deps.rs/repo/github/svenstaro/miniserve)
|
|
|
|
[![license](http://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/svenstaro/miniserve/blob/master/LICENSE)
|
|
|
|
|
2018-05-16 12:44:25 +00:00
|
|
|
**miniserve** is a small, self-contained cross-platform CLI tool that allows you to just grab the binary and serve some file(s).
|
|
|
|
Sometimes this is just a more practical and quick way than doing things properly.
|
|
|
|
|
2018-05-16 11:55:28 +00:00
|
|
|
## 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](https://www.rust-lang.org/) and [Actix](https://actix.rs/))
|
|
|
|
|
|
|
|
## How to install
|
|
|
|
|
|
|
|
**On Linux**: Download `miniserve-linux` from [the releases page](https://github.com/svenstaro/miniserve/releases) and run
|
|
|
|
|
|
|
|
chmod +x miniserve-linux
|
|
|
|
./miniserve-linux
|
|
|
|
|
|
|
|
**On OSX**: Download `miniserve-osx` from [the releases page](https://github.com/svenstaro/miniserve/releases) and run
|
|
|
|
|
|
|
|
chmod +x miniserve-osx
|
|
|
|
./miniserve-osx
|
|
|
|
|
2018-05-16 12:44:25 +00:00
|
|
|
**On Windows**: Download `miniserve-win.exe` from [the releases page](https://github.com/svenstaro/miniserve/releases) and run
|
|
|
|
|
|
|
|
miniserve-win.exe
|
2018-05-16 11:55:28 +00:00
|
|
|
|
|
|
|
**With Cargo**: If you have a somewhat recent version of Rust and Cargo installed, you can run
|
|
|
|
|
|
|
|
cargo install miniserve
|
|
|
|
miniserve
|
|
|
|
|
|
|
|
## Why to use this over alternatives?
|
|
|
|
|
2018-05-16 12:44:25 +00:00
|
|
|
- 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.
|