Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wyhaya/see
Simple and fast Web server
https://github.com/wyhaya/see
http rust server static-server web
Last synced: 10 days ago
JSON representation
Simple and fast Web server
- Host: GitHub
- URL: https://github.com/wyhaya/see
- Owner: wyhaya
- License: mit
- Created: 2019-03-09T03:54:50.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-03-04T21:35:23.000Z (8 months ago)
- Last Synced: 2024-10-13T13:22:51.754Z (26 days ago)
- Topics: http, rust, server, static-server, web
- Language: Rust
- Homepage:
- Size: 192 KB
- Stars: 208
- Watchers: 9
- Forks: 19
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-rust - wyhaya/see - ci.org/wyhaya/see) (Applications / Web Servers)
- awesome-rust - wyhaya/see
- awesome-rust-cn - wyhaya/see - (应用程序 Applications / Web服务器 Web Servers)
- awesome-rust-zh - wyhaya/see - 静态文件服务器[![Build Status](https://img.shields.io/travis/wyhaya/see.svg)](https://travis-ci.org/wyhaya/see) (应用 / Web 服务器)
- awesome-rust - wyhaya/see - Static HTTP file server (Applications / Web Servers)
- awesome-rust - wyhaya/see - ci.org/wyhaya/see) (应用 Applications / 网络服务端 Web Servers)
- awesome-starred - wyhaya/see - Simple and fast Web server (web)
- fucking-awesome-rust - wyhaya/see - Static HTTP file server (Applications / Web Servers)
- fucking-awesome-rust - wyhaya/see - Static HTTP file server (Applications / Web Servers)
- awesome-rust-cn - wyhaya/see - ci.org/wyhaya/see) (应用 / Web Servers)
README
# see
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/wyhaya/see/ci.yml?style=flat-square&branch=main)](https://github.com/wyhaya/see/actions)
[![Crates.io](https://img.shields.io/crates/v/see.svg?style=flat-square)](https://crates.io/crates/see)
[![LICENSE](https://img.shields.io/crates/l/see.svg?style=flat-square)](LICENSE)
[![Document](https://img.shields.io/badge/config-document-success.svg?style=flat-square)](docs/)## Overview
Simple and fast web server as a single executable with no extra dependencies
required.## Features
- Built with [Tokio](https://github.com/tokio-rs/tokio) and
[Hyper](https://github.com/hyperium/hyper)
- TLS encryption through [Rustls](https://github.com/ctz/rustls)
- `HTTP/1` and `HTTP/2` support
- Content compression `auto`, `gzip`, `deflate` or `br`
- Rewrite rules for redirection
- Allow/deny addresses allowing wildcards
- Location with [regex](https://en.wikipedia.org/wiki/Regular_expression)
matching
- Reverse proxy
- Basic authentication
- Error handling
- Customized logs
- And more## Usage
Quick start in current directory:
```bash
see start
```or specify the port and directory via parameters:
```bash
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:```sh
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/](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](https://github.com/wyhaya/see/releases).### Cargo
```bash
cargo install see
# or
cargo install --git https://github.com/wyhaya/see
```### Docker
```bash
docker pull wyhaya/see
```#### Container
Add the following to `see.conf`:
```sh
server {
listen 80
echo Hello, world!
}
```and run the container:
```bash
docker run -idt --name see -p 80:80 -p 443:443 -v '$PWD'/see:/ wyhaya/see
```lastly, open the link and you should see `Hello, world!`.
## Licensing
`see` is released under MIT license. Check the [LICENSE](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