servive-0.2.0 is not a library.
servive - Simple HTTP File Server
A lightweight, secure HTTP file server written in Rust with TLS and basic authentication support.
Features
- Serve files over HTTP/HTTPS
- Basic authentication support
- TLS encryption (via rustls)
- Optional directory listing
- Security headers (CSP, XSS protection, etc.)
- Configurable logging levels
- CLI configuration interface
Installation
From crates.io
From source
Usage
Basic usage
With authentication
With TLS
Disable directory listing
With specific bind address
IPv4:
IPv6:
Configuration Options
| 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 |
Security Considerations
- Basic authentication credentials are transmitted in plaintext when not using TLS
- Always use TLS in production environments
- The server adds security headers by default:
- Content-Security-Policy
- X-Content-Type-Options
- X-Frame-Options
- X-XSS-Protection
Building from Source
- Clone the repository:
- Build in release mode:
The binary will be available at target/release/servive
License
The project is distributed under the MIT license