借助 AI 用 Rust+Tauri 撸了一个代理管理工具

3 月 10 日
 userff

SSLProxyManager

仓库

一个桌面代理管理工具,提供现代化的基于 Web 的管理界面,用于管理 HTTP/HTTPS 、WebSocket 和 Stream ( TCP/UDP )反向代理。

SSLProxyManager 基于 Tauri 2 + Rust,提供管理界面(前端:Vue 3 + Vite + Element Plus),用于配置与管理:

功能概览

技术栈

程序界面

目录结构

环境要求

本地开发

1) 安装前端依赖

cd frontend
npm install

2) 启动 Tauri 开发模式

在项目根目录执行:

npm run tauri:dev

该命令会根据 tauri.conf.json

构建发布

在项目根目录执行:

npm run tauri:build

该命令会:

配置说明( config.toml )

项目使用 TOML 进行配置。

建议直接参考 config.toml.example

1) HTTP/HTTPS 代理( rules )

2) WS 代理( ws_proxy )

3) Stream ( TCP/UDP )代理( stream )

Stream 用于四层代理:监听一个 TCP/UDP 端口并转发到上游。

Nginx 示例对照

你可以用下面的 Nginx stream 配置理解对应关系:

stream {
    upstream sendimage {
        hash $remote_addr consistent;
        server 59.xx.xx.xx:8089 max_fails=1 fail_timeout=30s;
    }

    server {
        listen 50002;
        proxy_pass sendimage;
        proxy_connect_timeout 300s;
        proxy_timeout 600s;
    }
}

在本项目中等价配置可参考 config.toml.example[stream] 片段。

4) 全局配置

5) 访问控制(白名单)

6) 指标存储

7) 更新配置

界面功能

应用程序提供了全面的基于 Web 的管理界面:

常见问题

免责声明

本项目仅用于学习与合法合规的网络代理/反向代理配置管理场景。使用本软件可能涉及网络访问控制、证书管理、流量转发等操作,存在但不限于数据泄露、服务中断、配置错误导致安全风险等潜在风险。你在使用本项目时需自行评估并承担全部风险与责任。

如果你不同意上述条款,请勿使用、分发或基于本项目进行二次开发。

许可证

本项目采用 MIT 许可证 - 详见 LICENSE 文件。

仓库

贡献

欢迎贡献!请随时提交 Pull Request 。

1368 次点击
所在节点    分享创造
3 条回复
nickfox5880
3 月 16 日
你好 能将某个线上请求代理到本地文件吗 类似抓包花瓶的那种
userff
3 月 17 日
@nickfox5880 你好 是全局拦截某个请求然后修改请求体或响应体吧 目前没有这功能
nickfox5880
3 月 17 日
@userff 对 类似 clarles 的 map local

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1197132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX