see
Overview
Simple and fast web server as a single executable with no extra dependencies required.
Features
- Built with Tokio and Hyper
- TLS encryption through Rustls
HTTP/1
andHTTP/2
support- Content compression
auto
,gzip
,deflate
orbr
- Rewrite rules for redirection
- Allow/deny addresses allowing wildcards
- Location with regex matching
- Reverse proxy
- Basic authentication
- Error handling
- Customized logs
- And more
Usage
Quick start in current directory:
see start
or specify the port and directory via parameters:
see start -b 80 -p /root/www
Also, you can use see -c [FILE]
to specify a configuration file or just use
the default one in ~/.see.conf
. Below, a simple configuration example to start
the HTTPS server:
server {
listen 80
root /root/www
}
server {
listen 443
root /root/www
host example.com
https {
key ./ssl.key
cert ./ssl.pem
}
}
Documentation
The documentation is available at docs/. Take a look at it to get more information about more configuration options.
Installation
Download the compiled executable corresponding to your system from the release page.
Cargo
cargo install see
# or
cargo install --git https://github.com/wyhaya/see
Docker
docker pull wyhaya/see
Container
Add the following to see.conf
:
server {
listen 80
echo Hello, world!
}
and run the container:
docker run -idt --name see -p 80:80 -p 443:443 -v '$PWD'/see:/ wyhaya/see
lastly, open the link http://localhost and you should see Hello, world!
.
Licensing
see
is released under MIT license. Check the LICENSE file for
more details.
ToDo
- Fix docker container (ubuntu, ca-certificates)
- Fix the bug of matching https and http on the same port
- Support global configuration
- Support certificate with password
- Daemon for Unix systems and service for Windows