MoeShinX/relay-panel

GitHub: MoeShinX/relay-panel

一款基于 Rust 的自托管 TCP/UDP 端口转发管理面板,通过 Web UI 实现转发规则编排、流量计费、节点监控与多用户分组管理。

Stars: 130 | Forks: 22

RelayPanel Logo

RelayPanel

⚡ 自托管 TCP/UDP 端口转发管理面板 ⚡

English | 中文

Release CI License

用 Rust 编写,通过 Web UI 管理转发规则、设备分组、流量配额和实时节点状态。
轻量:Panel ~7 MB + Node ~4 MB。部署方式:Docker Compose。数据库:SQLite / PostgreSQL。

## ✨ 功能亮点 - 🔀 **转发规则** — TCP/UDP 多目标转发,故障转移 / 轮询负载均衡,目标熔断自动恢复,域名目标跟随 DDNS - 🚦 **连接治理** — 每条规则可设并发连接数上限;支持单条 / 批量 / 定时重启,重启会掐断旧连接并重建监听 - 🛒 **套餐与计费** — 用户自助买套餐、卡密充值余额;按「(上行 + 下行) × 线路倍率」扣额度;一人一个当前套餐,续费叠加、换套餐整体替换 - 📊 **流量可视** — 按规则 / 用户计量,近 1 / 7 / 30 天趋势图按线路分色堆叠,看得出是哪条线路在吃额度 - 🖥️ **节点管理** — 实时 CPU / 内存 / 连接数、地区识别、掉线推送 Telegram 或邮件、面板一键升级节点(免 SSH) - 👤 **用户与分组** — 管理任意用户的规则与套餐、重置流量密码、封禁;设备分组可隐藏,节点卸载不影响规则 - 🗄️ **部署友好** — SQLite(零配置)或 PostgreSQL;面板与节点均支持 amd64 / arm64 - 🔒 **安全** — 首次登录强制改密码,节点 Bearer Token 鉴权 完整功能说明与使用文档:**[relaypanel.dev](https://relaypanel.dev)** ## 🚀 快速开始 **一条命令部署:** curl -fsSL https://raw.githubusercontent.com/MoeShinX/relay-panel/main/install.sh | bash 📖 完整指南:**[docs/DEPLOYMENT.md](docs/DEPLOYMENT.md)** ## 🏗️ 架构 浏览器 (React UI) relay-node (Tokio TCP/UDP) │ ▲ ▼ │ relay-panel ◄─── WebSocket 配置推送 + HTTP 状态上报 (Axum API) │ │ ▼ SQLite / PG 转发流量到真实目标 ## 🔄 更新 **面板**(更新前请备份 `.env` 和数据库): cd /opt/relay-panel && git pull --quiet && ./deploy.sh **节点**:面板 → 节点状态 → 点「升级」,无需 SSH。仅 systemd 节点可用(Docker 节点改为更新镜像);升级会断开该节点上正在进行的转发连接。详见 [转发节点文档](docs/NODE.zh-CN.md#更新)。 ## 🛠️ 本地开发 cargo build && cargo run -p relay-panel & # API 在 :18888 cd frontend && npm install && npm run dev # UI 在 :5173 python3 tests/e2e_test.py # 端到端测试 ## 📦 技术栈 Rust · Axum · Tokio · sqlx · SQLite/PostgreSQL · JWT · React 19 · TypeScript · Ant Design · Docker Compose ## 📄 许可证与免责声明 AGPL-3.0 —— 详见 [LICENSE](LICENSE)。 开源流量转发工具,**仅供个人学习与研究使用**。请在合法合规前提下使用,风险自负。 完整 **[免责声明](docs/DISCLAIMER.md)**
标签:Docker, Docker 部署, Rust, 可视化界面, 安全防御评估, 流量管理, 测试用例, 版权保护, 端口转发, 网络流量审计, 网络运维, 自托管, 通知系统, 面板系统