| Crates.io | servive |
| lib.rs | servive |
| version | 0.4.0 |
| created_at | 2025-05-20 03:54:56.575202+00 |
| updated_at | 2025-06-18 10:39:59.586081+00 |
| description | A stupid simple program to serve files over HTTP |
| homepage | |
| repository | https://github.com/metdxt/servive |
| max_upload_size | |
| id | 1680731 |
| size | 77,354 |
A lightweight, secure HTTP file server written in Rust with TLS and basic authentication support.
cargo install servive
git clone https://github.com/metdxt/servive.git
cd servive
cargo install --path .
servive -p 8080 -d ./public
servive --username admin --password secret
servive --tls --tls-cert cert.pem --tls-key key.pem
servive --no-list-dirs
servive --enable-csp
servive --tls --enable-hsts
IPv4:
servive -b 192.168.1.100
IPv6:
servive -b ::1
| Option | Description | Default |
|---|---|---|
-p, --port |
Port to listen on | 8000 |
-d, --directory |
Directory to serve files from | . (current dir) |
--username |
Username for basic auth | None |
--password |
Password for basic auth | None |
--log-level |
Logging level (error, warn, info, debug, trace) | info |
--tls |
Enable TLS | false |
--tls-cert |
TLS certificate file path | None |
--tls-key |
TLS private key file path | None |
--no-list-dirs |
Disable directory listing | false |
-b, --bind |
Bind address (IPv4 or IPv6) | 127.0.0.1 |
--show-dotfiles |
Show dotfiles (hidden by default) | false |
--enable-csp |
Enable Content Security Policy headers | false |
--enable-hsts |
Enable HTTP Strict Transport Security headers | false |
--max-file-size |
Maximum file size in bytes (0 for unlimited) | unlimited |
If you wish to limit file size served to clients you can:
--max-file-size BYTES--max-file-size 0 (this is default)If limit is set servive will return 403 Forbidden if requested file is larger than the limit.
git clone https://github.com/metdxt/servive.git
cd servive
cargo build --release
The binary will be available at target/release/servive
The project is distributed under the MIT license