Tim-Paik dc598b05ff | ||
---|---|---|
.cargo | ||
.github/workflows | ||
src | ||
templates | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
screenshot.png |
README.md
Srv Dev Server
This is a simple HTTP Server for use in a development environment, inspired by simple-http-server and caddy2, and it is also a practice project for me to learn rust.
Screenshot
Built With
- clap Provide command line parameter analysis
- askama Provide template support
- actix-web Main frame
- actix-files Provide static resources
- actix-web-httpauth Provide authentication
- rustls Provide TLS and HTTP/2 support
- env_logger Provide log output
Features
- Automatic generation of directory listings (default enabled)
- Relative path/absolute path/support
- Brotli/Gzip/Deflate streaming compression support (default disabled, disables Content-length and segmented downloads when enabled)
- Control whether dotfiles are displayed and can be accessed (default disabled)
- HTTP cache support, 304 support, Last-Modified/ETag support, of course you can also turn off cache
- Clearly colored organized log
- Disable access logging or disable all logging support
- Automatically open default browser (default disabled)
- Single-Page Application mode (always serve /index.html when the file is not found)
- Custom listening address (default 0.0.0.0) Custom listening port number (default 8000)
- HTTP Basic Authentication Support
- TLS/SSL support, HTTP/2 support
- One click to enable CORS, custom CORS header support
- cargo doc support
Install
Pre-compiled Version
Linux
Archlinux
yay -S srv-bin
Other Linux
Download the pre-compiled srv-x86_64-unknown-linux-musl.tar.gz
on the releases, and copy the srv file in the compressed package to /usr/bin
as a ROOT user with 755 permissions.
wget https://github.com/Tim-Paik/srv/releases/download/v1.0.1/srv-v1.0.1-x86_64-unknown-linux-musl.tar.gz
tar -xzvf srv-v1.0.1-x86_64-unknown-linux-musl.tar.gz
install -Dm0755 -t /usr/bin/ srv
rm srv srv-v1.0.1-x86_64-unknown-linux-musl.tar.gz
for reference only
MacOS
I'm sorry I don't have the corresponding equipment, but I can only provide srv-x86_64-apple-darwin.tar.gz
(Of course, if someone can sponsor me a Mac I would be very grateful)
Windows
Download the pre-compiled srv-x86_64-pc-windows-msvc.zip
in the releases, unzip the srv.exe and copy it to your %PATH%
(if you don’t know what this is, move srv.exe
to %SystemRoot%\System32
)
Compile and Install
You Need:
- Rust & Cargo Installation
- Git Installation
- Gcc/Msvc Toolchain Installation
git clone git@github.com:Tim-Paik/srv.git
cd srv
cargo build --release
Then you can find the compiled executable file named srv
in the target/release/
folder.
Usage
Execute srv --help
to get all the usage methods
Waiting to be added...
Contributing
All contributions are welcome and I will reply as soon as I see it :)
License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.