一个后台,管理所有转发节点。
面板下指令,后台存配置和账单,节点负责监听和转发。后台暂时连不上时, 节点继续按最后一次配置工作。
数据库启动时自动建表。开发可以用 SQLite,生产可换 PostgreSQL。 服务器只跑镜像,不用安装 Rust。
功能
从规则下发到收款对账,常用操作都在后台完成。
规则集中管理
入口共享监听配置,出口按连接数挑节点。支持 TCP、UDP、直出和链式出口。
TLS 分流
按域名分流 TLS,子规则共用端口,后台不保存私钥。
多目标与故障转移
支持轮询、加权、最少连接和优先级切换,目标异常可重试。
高级转发参数
UDP over TCP、Host/Path 过滤、IPv6 偏好;规则改动有历史,可回滚。
登记与接入
先登记节点,再签发 10 分钟一次性令牌。重装后节点 ID 不变。
增量下发配置
只发送改动的部分,校验失败就发全量。
配置有效期
节点确认版本才续期。撤权和换凭据立即生效。
灰度与远程命令
按设备组逐步放量,失败自动回滚。远程命令需另一名管理员批准,全程留痕。
套餐与订阅
套餐、订单、订阅、钱包和自动续费。升级按剩余时间折价,退款可回滚。
流量结算不重复
入口、出口分别计费,重复上报自动去重,异常流量单独隔离。
支付与对账
接入 Epay、Epusdt、TokenPay、Cryptomus,含回调校验、发票和流水对账。
用量窗口
按时间窗口限制用量。到软阈值先提醒,窗口用尽停止新规则。
身份与权限
角色加资源归属校验,支持 TOTP、可信设备、登录锁定和代操作审计。
双人审批
支付凭据、远程命令开关等变更,需另一名管理员批准。
密钥加密保存
网关密钥加密存放,读取时只显示“已变更”。
账本可校验
审计和账本逐条串联,可查到第一个断点。导出不含口令和密钥。
管理面板
面板是纯静态网页,可以放到 Cloudflare Pages 或任意静态托管。 截图来自正在运行的实例。
部署
后端用现成镜像,服务器只拉镜像;面板构建成静态文件,单独托管。 节点由后台签发的一次性令牌接入。
后端
脚本会生成数据库密码和主密钥,创建管理员,然后启动数据库和后端。
curl -fsSLo deploy.sh https://mmr-dl.nowhere.best/backend/deploy.sh
bash deploy.sh --version v0.0.1 \
--cors-origin https://panel.example.com
后端默认只监听 127.0.0.1:8080,请放在 HTTPS 反向代理后。节点远程接入需要 TLS 证书。
升级
升级保留数据、密钥和管理员。回滚时换成旧版本号。
curl -fsSLo upgrade.sh https://mmr-dl.nowhere.best/backend/upgrade.sh
bash upgrade.sh --version v0.1.0
面板
把 web 目录构建成静态文件,通过环境变量指向后端 API。
- 构建命令
npm run build- 根目录
web- 产物目录
web/dist- 环境变量
VITE_API_BASE_URL
npm --prefix web run build
npx wrangler pages deploy web/dist \
--project-name miaomiaorelay-panel
节点
在面板新建节点,签发 10 分钟一次性令牌,节点程序用令牌注册。 节点不能自行创建;公网地址要和实际拨号地址一致。
部署脚本与镜像说明发布在
mmr-dl.nowhere.best/backend,
接口契约由 /openapi.json 提供。