45 个版本
0.3.30 | 2024 年 8 月 14 日 |
---|---|
0.3.29 | 2024 年 5 月 7 日 |
0.3.28 | 2024 年 4 月 20 日 |
0.3.26 | 2024 年 3 月 29 日 |
0.3.11 | 2023 年 7 月 31 日 |
#46 in WebSocket
243 每月下载次数
720KB
7.5K SLoC
🚧 注意
税制目前处于早期开发阶段。请注意,频繁的破坏性更改可能会发生,尤其是在升级到小版本(例如,从 0.3.x 到 0.4.x)时。
概述
- 使用 Rust 构建,以实现最佳性能和安全,由 tokio 和 hyper 提供动力
- 支持 TCP、TLS、HTTP1 和 HTTP2,包括 HTTP 升级和 WebSocket 功能
- 易于部署的单个二进制文件,具有内置的 WebUI
- 允许通过 REST API 在不重启服务的情况下进行实时配置更新
- 可以从 GUI 导入 TLS 证书或生成自签名证书
- 提供 Let's Encrypt 支持(ACME v2,仅 HTTP 挑战)以实现无缝证书提供
- 支持自动 HTTP Brotli 压缩
截图
Web UI 示例
访问 https://taxy.onrender.com/。(用户名: admin
,密码: admin
)
请注意,您可以自由更改配置,但由于实例位于防火墙后面,配置的代理不可从外部访问。
安装
有几种方法可以安装税制。
Docker
运行以下命令以使用 Docker 启动税制
docker run -d \
-v taxy-config:/root/.config/taxy \
-p 80:80 \
-p 443:443 \
-p 127.0.0.1:46492:46492 \
--restart unless-stopped \
--name taxy \
ghcr.io/picohz/taxy:latest
要登录到管理面板,您首先需要创建一个用户。按照以下步骤创建管理员用户
docker exec -t -i taxy taxy add-user admin
password?: ******
Docker Compose
创建一个名为 docker-compose.yml
的文件,内容如下
version: "3"
services:
taxy:
image: ghcr.io/picohz/taxy:latest
container_name: taxy
volumes:
- taxy-config:/root/.config/taxy
ports:
# Add ports here if you want to expose them to the host
- 80:80
- 443:443
- 127.0.0.1:46492:46492 # Admin panel
restart: unless-stopped
volumes:
taxy-config:
运行以下命令以启动税制
$ docker-compose up -d
要登录到管理面板,您首先需要创建一个用户。按照以下步骤创建管理员用户
$ docker-compose exec taxy taxy add-user admin
password?: ******
然后,您可以通过 https://127.0.0.1:46492/ 访问管理面板。
Cargo binstall
cargo-binstall 会自动下载和安装您平台上的预构建二进制文件。如果没有可用的预构建二进制文件,它将回退到 cargo install
。
您需要先安装 cargo-binstall。
然后,您可以使用以下命令安装 Taxy:
$ cargo binstall taxy
Cargo install
您需要安装 Rust 工具链。如果没有安装,请按照 rustup.rs 上的说明进行操作。
crates.io 上的软件包已经将 WebUI 作为静态资源捆绑在一起。因此,您无需自己构建它(这将需要 trunk 和 wasm 工具链)。
$ cargo install taxy
Github 发布
或者,您可以直接从 发布页面 下载最新的预构建的二进制文件。
您只需将提取的二进制文件放在您的 $PATH
中的某个位置即可。
启动服务器
首先,您需要创建一个用户来访问管理员面板。系统将提示您输入密码。
# Create a user
$ taxy add-user admin
$ password?: ******
然后,您可以启动服务器。
$ taxy start
一旦服务器启动,您就可以在 https://127.0.0.1:46492/ 访问管理员面板。
开发
要为 Taxy 做出贡献或开发它,请按照以下步骤操作
# Clone the repository
git clone https://github.com/picoHz/taxy
# Start the server
cd taxy
cargo run
# In a separate terminal, start `trunk serve` for the WebUI
cd taxy-webui
trunk serve
Gitpod
您可以使用 Gitpod 在浏览器中即时开始开发 Taxy。
类似项目
Rust 编写的 HTTP 反向代理
致谢
依赖项
~79MB
~1.5M SLoC