3x-ui 式共享节点改造:nodes 状态机 + nodeClients 各自凭据
- 移除 VMess 协议 - VLESS/SS2022 按用户流量统计(AnyTLS 日志解析,SS 节点级) - sing-box v2ray_api stats 支持 - 内存优化:面板 128M,agent 64M,sing-box 64M
This commit is contained in:
@@ -10,7 +10,7 @@
|
||||
|
||||
**v0.6.6 修复:** 控制面记住入口进程最近退出的计量周期,忽略重载后才到达的旧上报,避免双向流量重复扣额。Agent 在解析入口计数失败时会阻止配置重载,并保留正在运行的资源供排查;证书安装和自动续签触发核心重启前,也先尝试上报当前计数。过期的节点 IP 观察记录会随后台清理删除,避免长期堆积。Clash 线路名与内置策略组或 `DIRECT` 撞名时才添加“(节点)”区分,其余线路保持原名。
|
||||
|
||||
**升级到 AnyTLS:** 面板机运行 `ng update`,入口设备运行 `ng-agent update && ng-agent engine install`。尚无有效证书时再在入口机运行 `ng-agent cert`,按提示输入域名与验证方式;已有有效证书无需重新申请。sing-box 仅在 AnyTLS 入口安装,普通入口和出口不构建 Go 引擎;Agent 更新不会重复编译 sing-box。执行 `ng-agent doctor` 确认引擎和证书已就绪,然后部署 AnyTLS 线路并开放入口 TCP 端口。AnyTLS → VLESS TCP 可以部署,但第二段未加密;跨公网推荐选择 SS2022 出口传输。
|
||||
**升级到 sing-box 全协议:** 面板机运行 `ng update`,入口/出口设备运行 `ng-agent update`。sing-box(含统计组件)现在是唯一的入口/出口引擎,安装和更新时自动构建,不再区分 AnyTLS 入口。尚无有效证书时在入口机运行 `ng-agent cert`,按提示输入域名与验证方式;已有有效证书无需重新申请。执行 `ng-agent doctor` 确认引擎和证书已就绪,然后部署线路并开放入口 TCP/UDP 端口。AnyTLS → VLESS TCP 可以部署,但第二段未加密;跨公网推荐选择 SS2022 出口传输。
|
||||
|
||||
**v0.6.5 修复:** HY2 加入同一客户的 Clash 订阅时,`alpn` 列表现在生成为合法 YAML;旧订阅链接无需重置,面板更新后客户端重新拉取即可。节点显示线路名称;已有链接在订阅返回时也会改成当前线路名,多入口重名时仅附加序号。部署列表显示实际已应用协议及每个入口自新版计量开始的上行、下行,用来区分已保存但未应用的协议编辑。流量仍按客户端入口的上行+下行累计;新增节点或重载前,Agent 先上报旧进程的最终计数,同一进程周期的迟到旧样本不再重复扣额。Speedtest 的结果不能单独证明该流量经过了指定代理节点。侧边栏“安装与命令”按面板、入口、出口分类提供复制命令;AnyTLS 独占机器会停止空闲 Xray,logrotate 每日保留最多 7 份、每次检查时按 20 MB 轮转,sing-box 构建缓存会在结束时删除。`ng update` 的自动回滚备份保留最近 5 份,手工备份不受影响。
|
||||
|
||||
@@ -46,15 +46,15 @@ flowchart TB
|
||||
- 设备、客户、线路均可创建后编辑;运行中线路修改后进入“待重新部署”。列表操作按行收纳,长列表不再因按钮换行变高。
|
||||
- 线路表单中的入口设备和客户可搜索后多选,长列表在固定高度内滚动。
|
||||
- 支持完整重建失败线路,以及只重试失败部署项。
|
||||
- Agent 重装后自动撤销旧密钥、重新对账并恢复已有资源;首次心跳成功才提示安装完成。Xray 配置错误不会再让 Agent 控制通道退出;引擎状态和错误会显示在设备行。
|
||||
- Agent 重装后自动撤销旧密钥、重新对账并恢复已有资源;首次心跳成功才提示安装完成。sing-box 配置错误不会再让 Agent 控制通道退出;引擎状态和错误会显示在设备行。
|
||||
- 部署前检查目标 Agent 最近心跳;即使核心服务报错,仍可下发修复资源,具体失败由任务日志返回。面板机可以兼任出口/单机节点,`ng update` 会同步升级本机已安装的 Agent。
|
||||
- 任务 5 分钟租约、超时自动重试,连续 3 次失败才标记异常。
|
||||
- 客户到期使用日期选择器、常用期限下拉和时间下拉,不要求手写日期格式。
|
||||
- 客户独立凭据、流量额度、到期、滚动 IP 上限、用量清零及启停。
|
||||
- 流量、到期或节点 IP 上限触发暂停后,会移除入口和出口资源以阻断已导入的节点。调整额度、续期或提高 IP 上限后,控制面自动按原端口和原凭据恢复;清理已开始时先等待清理完成,再下发恢复任务。客户手动停用后需要手动启用。旧版已被移除而变为草稿的线路,可在“转发与节点”点“恢复原节点”一次性找回原部署;若原端口已被别的线路占用,须全新部署并更新客户端。
|
||||
- 流量额度为入口节点上行+下行之和,转发出口不重复计费。Agent 分别查询 Xray 和 sing-box 的 JSON 双向累计计数;Xray 省略的零值字段按 0 处理;控制面按各部署的进程周期计算增量,重复请求不重复计费。Agent 升级后若配置相同且核心正常运行,不重启核心丢失内存计数。客户表显示上行、下行及最后计量时间,设备表显示统计错误;订阅头使用独立的 `upload` / `download` 字段。
|
||||
- 流量额度为入口节点上行+下行之和,转发出口不重复计费。Agent 查询 sing-box 的 JSON 双向累计计数(入口级与用户级);控制面按各部署的进程周期计算增量,重复请求不重复计费。Agent 升级后若配置相同且核心正常运行,不重启核心丢失内存计数。客户表显示上行、下行及最后计量时间,设备表显示统计错误;订阅头使用独立的 `upload` / `download` 字段。
|
||||
- 客户列表显示滚动节点 IP 数与最近 24 小时的订阅客户端估计数;“访问”可查看节点 IP 首末上报时间和最近 100 条订阅请求(结果、来源 IP、User-Agent、格式、返回大小)。日志最多保留 30 天 / 全局 10000 条,可为单个客户清空订阅访问窗口。
|
||||
- 订阅客户端估计上限会在订阅下载时按 `X-Device-ID` / `X-Client-ID` 或 User-Agent 限制新客户端。节点 IP 超限则由入口 Agent 访问日志上报后停用客户,出口收到的入口机 IP 不计为客户 IP。Agent 现在只有在观察记录成功送达控制面后才推进日志游标,临时网络失败可重试。
|
||||
- 订阅客户端估计上限会在订阅下载时按 `X-Device-ID` / `X-Client-ID` 或 User-Agent 限制新客户端。节点 IP 超限则由入口 Agent 的 sing-box 已认证连接日志上报后停用客户,出口收到的入口机 IP 不计为客户 IP。Agent 现在只有在观察记录成功送达控制面后才推进日志游标,临时网络失败可重试。
|
||||
- Reality 私钥只在节点机生成;控制面只接收客户端公钥。升级时旧部署错误中的误报私钥会从历史记录中脱敏。
|
||||
- Tesla、Amazon、Apple、Intel、AMD Reality 目标预设,也可自定义。
|
||||
- IPv4、IPv6 和双栈监听;IPv6 客户端链接会自动使用方括号格式。
|
||||
@@ -69,7 +69,7 @@ flowchart TB
|
||||
- Agent 支持 Debian/Ubuntu、RHEL 系 systemd,以及 Alpine OpenRC。
|
||||
- Agent 访问与错误日志由 logrotate 每日检查、最多保留 7 份,达到 20 MB 也会轮转;订阅访问记录仍按控制面 30 天/全局 10000 条清理。
|
||||
- 节点证书一键申请:入口机运行 `ng-agent cert`,输入域名(邮箱可选);优先选 CF DNS 验证或有公网 80 端口时选 HTTP,设置续签、检查证书并把域名同步到该设备。CF Token 在安装 Certbot DNS 插件前验证,仅 root 可读;面板部署前确认入口 Agent 已上报证书状态。
|
||||
- 轻量节点安装只装 Xray 和 Node Agent;需要 AnyTLS 时在对应入口机按需安装 sing-box。临时 Go 编译缓存随安装结束清理,证书心跳复用未变化证书的验证结果。已有运行中的 AnyTLS 不受按需安装规则影响。
|
||||
- 所有节点(入口/出口/单机)统一安装 sing-box 和 Node Agent;临时 Go 编译缓存随安装结束清理,证书心跳复用未变化证书的验证结果。
|
||||
|
||||
## 协议矩阵
|
||||
|
||||
@@ -79,9 +79,8 @@ flowchart TB
|
||||
| 客户入口 / 单机节点 | VLESS + Reality | 可部署 |
|
||||
| 客户入口 / 单机节点 | VLESS + WebSocket(无 TLS) | 可部署,建议仅配合可信网络或外层 TLS |
|
||||
| 客户入口 / 单机节点 | VLESS + WebSocket + TLS | 可部署;入口设备需填写 TLS 域名并安装有效证书 |
|
||||
| 客户入口 / 单机节点 | Hysteria 2 | 可部署(测试阶段);入口证书、UDP 入站端口和新版 Xray 必需 |
|
||||
| 客户入口 / 单机节点 | Hysteria 2 | 可部署(测试阶段);入口证书、UDP 入站端口和 sing-box 必需 |
|
||||
| 客户入口 / 单机节点 | AnyTLS | 可部署(测试阶段);入口证书、TCP 端口和带统计接口的 sing-box 必需 |
|
||||
| 客户入口 / 单机节点 | VMess + WebSocket(无 TLS) | 可部署,兼容模式 |
|
||||
| 客户入口 / 单机节点 | Shadowsocks 2022 AES-128 / AES-256 | 可部署 |
|
||||
| 客户入口 / 单机节点 | Shadowsocks AES-128-GCM / AES-256-GCM | 可部署 |
|
||||
| 客户入口 / 单机节点 | SOCKS5 用户密码 | 可部署,仅建议可信网络或外层隧道 |
|
||||
@@ -89,7 +88,7 @@ flowchart TB
|
||||
| 入口 → 出口 | VLESS TCP | 可部署,建议可信网络或外层隧道 |
|
||||
| 入口 → 出口 | SOCKS5 用户密码 | 可部署,仅建议可信网络或外层隧道 |
|
||||
|
||||
Hysteria 2 复用当前 Xray Agent 的任务、统计及出口路由。AnyTLS 由单独的 sing-box 服务承载,使用自己的统计接口及经认证连接日志;两者与 VLESS WS TLS 均需入口证书。Hysteria 2 使用所选端口的 **UDP**,AnyTLS 和 VLESS WS TLS 使用 **TCP**。AnyTLS 是独立协议,不是 VLESS 的扩展。
|
||||
全部协议均由 sing-box 承载:入口 Agent 管理 sing-box 服务、证书、统计、已认证来源 IP、失败回滚与清理。Hysteria 2 使用所选端口的 **UDP**,其余使用 **TCP**。AnyTLS 是独立协议,不是 VLESS 的扩展。
|
||||
|
||||
### Cloudflare 域名和节点证书
|
||||
|
||||
@@ -110,17 +109,17 @@ Hysteria 2 复用当前 Xray Agent 的任务、统计及出口路由。AnyTLS
|
||||
|
||||
Reality 默认目标/SNI 为 `www.tesla.com:443`,也可选 Amazon、Apple、Intel、AMD 或自定义。目标必须实际接受所选 SNI,预设本身不是防共享或防盗用手段;访问控制依赖每客户随机 UUID、shortId 等凭据。
|
||||
|
||||
> “订阅客户端估计上限”只限制新的订阅下载:同一 User-Agent 可能是多台设备,同一设备也可能换 User-Agent,`X-Device-ID` 可以被客户端自行更改。无法凭共享节点链接可靠限制物理设备,必须另做每设备凭据签发与撤销。节点 IP 统计来自 Xray 访问日志或 sing-box 已认证连接日志,约每分钟上报一次、滚动 10 分钟;部分 UDP-only 流量可能不出现在访问日志,故不能保证精确实时 IP 上限。超限后目前是停用整个客户并排队移除其部署。订阅令牌重置只阻止再下载;已导入的节点凭据须停用或重建线路后才能撤销。
|
||||
> “订阅客户端估计上限”只限制新的订阅下载:同一 User-Agent 可能是多台设备,同一设备也可能换 User-Agent,`X-Device-ID` 可以被客户端自行更改。无法凭共享节点链接可靠限制物理设备,必须另做每设备凭据签发与撤销。节点 IP 统计来自 sing-box 已认证连接日志,约每分钟上报一次、滚动 10 分钟;部分 UDP-only 流量可能不出现在日志,故不能保证精确实时 IP 上限。超限后目前是停用整个客户并排队移除其部署。订阅令牌重置只阻止再下载;已导入的节点凭据须停用或重建线路后才能撤销。
|
||||
|
||||
Hysteria 2、VLESS WS TLS 和 AnyTLS 都依赖 TLS。可以不用公网 CA 而改用自签证书,但服务端仍须有证书,客户端须导入或固定证书指纹;NexusGate 当前只自动配置受信任证书路径,不会生成自签节点订阅。无需节点证书时可使用已支持的 VLESS Reality。
|
||||
|
||||
“AnyTLS + VLESS”表示两段链路:客户端以 AnyTLS 接入入口机,再由入口机以 VLESS TCP 连到出口机。入口 Agent 管理 sing-box 服务、证书、统计、已认证来源 IP、失败回滚与清理;出口仍由 Xray 管理。自建 sing-box 使用固定的 1.12.23 版本和 `with_v2ray_api` 编译标签。节点 URI 被复制后仍可被使用,协议本身不会阻止共享;每设备凭据与单设备撤销尚未实现。
|
||||
“AnyTLS + VLESS”表示两段链路:客户端以 AnyTLS 接入入口机,再由入口机以 VLESS TCP 连到出口机。入口与出口 Agent 均管理 sing-box 服务、证书、统计、已认证来源 IP、失败回滚与清理。自建 sing-box 使用固定的 1.12.23 版本和 `with_v2ray_api` 编译标签。节点 URI 被复制后仍可被使用,协议本身不会阻止共享;每设备凭据与单设备撤销尚未实现。
|
||||
|
||||
**引擎取舍:** 保留 Xray 现有部署并增加 sing-box AnyTLS 入口,避免替换旧资源导致端口和 Reality 密钥变化。AnyTLS 可转发到 SS2022、SS、VLESS TCP 和 SOCKS5 出口;跨公网优先使用加密的 SS2022。新节点仍须在目标 VPS 上进行真实客户端连接与双向计数验证,自动化配置测试不能替代真实网络测试。
|
||||
**引擎取舍:** 全面弃用 Xray,只用 sing-box。入口与出口统一走 sing-box 配置,流量统计走 v2ray_api 用户级计数 + AnyTLS 已认证连接日志。AnyTLS 可转发到 SS2022、SS、VLESS TCP 和 SOCKS5 出口;跨公网优先使用加密的 SS2022。新节点仍须在目标 VPS 上进行真实客户端连接与双向计数验证,自动化配置测试不能替代真实网络测试。
|
||||
|
||||
如果 Clash Verge 显示“系统代理已关闭”,普通浏览器测速和播放视频可能走本机直连,节点统计仍为 0 B。测试时开启系统代理或 TUN,手动选定节点并确认客户端连接日志,再等待 Agent 一次上报(约 60 秒),刷新客户列表与客户端订阅。入口机 `ng-agent doctor` 会显示 Xray 原始入站双向计数和查询错误;若节点有连接而计数仍为空,请先检查当前设备的统计状态和 Xray 配置。Clash 智能分流模板提供 Meta 服务独立策略组,可针对 Facebook、Instagram 和 WhatsApp 选择同一出口的不同节点对比;分流规则本身不能保证速度提升。
|
||||
如果 Clash Verge 显示“系统代理已关闭”,普通浏览器测速和播放视频可能走本机直连,节点统计仍为 0 B。测试时开启系统代理或 TUN,手动选定节点并确认客户端连接日志,再等待 Agent 一次上报(约 60 秒),刷新客户列表与客户端订阅。入口机 `ng-agent doctor` 会显示 sing-box 原始入站双向计数和查询错误;若节点有连接而计数仍为空,请先检查当前设备的统计状态和 sing-box 配置。Clash 智能分流模板提供 Meta 服务独立策略组,可针对 Facebook、Instagram 和 WhatsApp 选择同一出口的不同节点对比;分流规则本身不能保证速度提升。
|
||||
|
||||
额度停用在下一次上报与后台巡检后执行,测速或短时大流量可能暂时超过额度;Xray 异常重启、节点下线或删除前尚未上报的内存计数也可能丢失。本版统计适合运营额度,不是实时硬限速或精确计费账本。若客户此前始终显示 0 B,旧流量不会在升级后自动补算;从新版 Agent 首次成功上报开始核对。
|
||||
额度停用在下一次上报与后台巡检后执行,测速或短时大流量可能暂时超过额度;sing-box 异常重启、节点下线或删除前尚未上报的内存计数也可能丢失。本版统计适合运营额度,不是实时硬限速或精确计费账本。若客户此前始终显示 0 B,旧流量不会在升级后自动补算;从新版 Agent 首次成功上报开始核对。
|
||||
|
||||
## 安装控制面
|
||||
|
||||
@@ -147,7 +146,7 @@ bash <(curl -fsSL https://raw.githubusercontent.com/a2899882/NexusGate/main/scri
|
||||
4. 在“转发与节点”选择转发线路或单机直连,选择协议、设备、客户和端口策略。
|
||||
5. 点击部署,在“部署与链接”复制单条客户端链接,或在“客户与订阅 → 订阅链接”获取各客户端订阅和二维码。
|
||||
|
||||
订阅 URL 属于凭据;请经 HTTPS 私下交付。自动识别格式根据客户端 User-Agent 返回 Clash/Mihomo 或 Base64;识别不准时使用固定格式。智能分流包含广告拦截、国内直连、AI/流媒体分组和自动延迟选择;客户端需要可用的 Mihomo geodata。Surge 格式只导出它支持的 SS、SOCKS5 和 VMess 节点;若无兼容节点则返回错误。sing-box JSON 是本机 127.0.0.1:2080 混合入站配置,可能与已有监听端口冲突。自定义订阅模板和可靠的一设备一凭据仍待开发。
|
||||
订阅 URL 属于凭据;请经 HTTPS 私下交付。自动识别格式根据客户端 User-Agent 返回 Clash/Mihomo 或 Base64;识别不准时使用固定格式。智能分流包含广告拦截、国内直连、AI/流媒体分组和自动延迟选择;客户端需要可用的 Mihomo geodata。Surge 格式只导出它支持的 SS、SOCKS5 节点;若无兼容节点则返回错误。sing-box JSON 是本机 127.0.0.1:2080 混合入站配置,可能与已有监听端口冲突。自定义订阅模板和可靠的一设备一凭据仍待开发。
|
||||
|
||||
> 云安全组和系统防火墙必须放行实际使用的 TCP/UDP 端口。默认端口池为 `20000–50000`,生产环境建议按设备缩小范围。
|
||||
|
||||
@@ -161,6 +160,18 @@ apk add --no-cache bash curl
|
||||
|
||||
然后运行面板生成的同一条注册命令。安装器会自动使用 OpenRC。
|
||||
|
||||
### OpenWrt 控制面
|
||||
|
||||
控制面可以直接跑在 OpenWrt 路由器上(procd 服务),节点鸡只需要装 Agent。先传安装包到路由器并解压(本地改动未 push 时不要用 GitHub 一键脚本),然后:
|
||||
|
||||
```sh
|
||||
opkg update && opkg install bash curl ca-certificates
|
||||
tar -xzf nexusgate-*.tar.gz -C /tmp/nexusgate-release
|
||||
NG_LOCAL_SRC=/tmp/nexusgate-release/NexusGate bash /tmp/nexusgate-release/NexusGate/scripts/install.sh
|
||||
```
|
||||
|
||||
域名可留空:留空则不配置 Caddy,面板直接监听内网 `http://<路由器 LAN IP>:8787`(OpenWrt 防火墙默认拦截 WAN 入站);填域名则走 Caddy 反代 + 自动 HTTPS。OpenWrt 上数据文件放在 `/etc/nexusgate/data/`(`/var` 是内存盘,重启会丢数据),`ng` 管理命令用法不变(状态/日志走 `logread`)。
|
||||
|
||||
## 升级
|
||||
|
||||
控制面一键升级会先自动备份,再下载 GitHub `main` 分支并执行健康检查:
|
||||
@@ -180,7 +191,7 @@ curl -fsSL https://raw.githubusercontent.com/a2899882/NexusGate/main/scripts/age
|
||||
```bash
|
||||
ng-agent-update
|
||||
ng-agent uninstall # 新版 Agent 在目标机交互卸载
|
||||
ng-agent doctor # 检查心跳、Xray 配置、服务及最近错误
|
||||
ng-agent doctor # 检查心跳、sing-box 配置、服务及最近错误
|
||||
ng-agent cert # 交互式申请、续签并同步面板
|
||||
ng-agent cert issue node.example.com admin@example.com
|
||||
ng-agent cert issue-cloudflare node.example.com admin@example.com /root/cloudflare.ini
|
||||
@@ -188,7 +199,7 @@ ng-agent cert import node.example.com /path/fullchain.pem /path/privkey.pem
|
||||
ng-agent cert status node.example.com
|
||||
```
|
||||
|
||||
如果某台设备已出现“上线后又离线”,先在该机运行 `ng-agent doctor`,核对控制面连通性、Xray 配置错误和服务日志。然后更新 Agent;必要时在控制面重新生成“注册 / 重装”命令并执行。注册后首次心跳失败会明确报错。
|
||||
如果某台设备已出现“上线后又离线”,先在该机运行 `ng-agent doctor`,核对控制面连通性、sing-box 配置错误和服务日志。然后更新 Agent;必要时在控制面重新生成“注册 / 重装”命令并执行。注册后首次心跳失败会明确报错。
|
||||
|
||||
老 Agent 没有 `ng-agent` 命令时,先运行 `ng-agent-update`,或在目标机运行:
|
||||
|
||||
@@ -196,7 +207,7 @@ ng-agent cert status node.example.com
|
||||
curl -fsSL https://raw.githubusercontent.com/a2899882/NexusGate/main/scripts/agent-uninstall.sh | bash
|
||||
```
|
||||
|
||||
卸载仅删除 NexusGate 专属的 Agent/Xray 服务、`/etc/nexusgate` 配置与密钥、Agent 程序和日志。共用的 Node.js 和 `/usr/local/bin/xray` 不会被自动删除。卸载后回控制台删除设备;如果之前的清理任务尚未确认且设备已离线,用“遗忘离线设备”撤销登记。控制台遗忘不能远程删除旧机器资源。
|
||||
卸载仅删除 NexusGate 专属的 Agent/sing-box 服务、`/etc/nexusgate` 配置与密钥、Agent 程序和日志。共用的 Node.js 和其他服务不会被自动删除。卸载后回控制台删除设备;如果之前的清理任务尚未确认且设备已离线,用“遗忘离线设备”撤销登记。控制台遗忘不能远程删除旧机器资源。
|
||||
|
||||
## `ng` 管理菜单
|
||||
|
||||
@@ -246,11 +257,11 @@ NexusGate 当前是单控制面、冷备恢复模型,不支持两台控制面
|
||||
| 机器 | 可先试用 | 更稳妥的生产起点 | 注意 |
|
||||
| --- | --- | --- | --- |
|
||||
| 入口/中转 | 1 vCPU / 1 GB / 10 GB | 2 vCPU / 2 GB / 20 GB | 1 GB 仅限低并发试运行;HY2 UDP、AnyTLS、测速峰值和多协议并存时优先升级 |
|
||||
| 落地/出口 | 1 vCPU / 1 GB / 10 GB | 2 vCPU / 2 GB / 20 GB | 合并多条线路时看同时连接数和出口总带宽;只需 Xray 的节点不安装 sing-box |
|
||||
| 落地/出口 | 1 vCPU / 1 GB / 10 GB | 2 vCPU / 2 GB / 20 GB | 合并多条线路时看同时连接数和出口总带宽 |
|
||||
|
||||
这些是部署起点,不是“每台保证 30 人同时在线”的容量承诺。实际瓶颈常是 VPS 的共享 CPU、出入站带宽、服务商连接数限制、UDP 质量或端口安全组;应按最忙的时段观察服务器页面的可用内存/磁盘和负载,实测并发与吞吐后逐台扩容。若剩余内存持续低于 200 MB、系统盘低于 1 GB、1 分钟负载持续高于 vCPU 数,或出现 OOM、丢包与超时,就应分散线路或升级。面板不转发客户数据,40 台 Agent 空闲时约每秒 5 次任务轮询、每秒 1.3 次心跳;v0.6.8 的空轮询不再写盘,真实流量报告和客户订阅访问仍会持久化。
|
||||
|
||||
节点日志每小时检查一次,超过 20 MB 提前轮转并保留 7 份;系统的 journald 有独立配额,仍需按发行版检查。`ng-agent doctor` 查看引擎/统计,`systemctl status nexusgate-agent-logrotate.timer` 查看轮转定时器。首次安装 AnyTLS 的 sing-box 统计构建需要 Go 编译资源和临时磁盘;1 GB 机器建议在有临时 swap 或更大内存的维护窗口进行,构建缓存完成后删除。控制面更新前自动备份保留最近 5 份,手动备份和恢复前快照由管理员自行归档清理。
|
||||
节点日志每小时检查一次,超过 20 MB 提前轮转并保留 7 份;系统的 journald 有独立配额,仍需按发行版检查。`ng-agent doctor` 查看引擎/统计,`systemctl status nexusgate-agent-logrotate.timer` 查看轮转定时器。首次安装的 sing-box 统计构建需要 Go 编译资源和临时磁盘;1 GB 机器建议在有临时 swap 或更大内存的维护窗口进行,构建缓存完成后删除。控制面更新前自动备份保留最近 5 份,手动备份和恢复前快照由管理员自行归档清理。
|
||||
|
||||
## 轻量与安全设计
|
||||
|
||||
@@ -258,8 +269,8 @@ NexusGate 当前是单控制面、冷备恢复模型,不支持两台控制面
|
||||
- Agent API Key 使用指纹快速定位,再用 scrypt 校验,避免大量心跳反复全表执行慢哈希。
|
||||
- 数据文件、备份和 Agent 环境文件默认权限为 `0600`。
|
||||
- 登录 Cookie 为 HttpOnly、SameSite=Strict,HTTPS 下启用 Secure;写操作需要 CSRF Token。
|
||||
- Xray 配置先执行 `run -test`,通过后才原子切换;失败会回滚资源文件。
|
||||
- Agent 重启会从持久化资源目录重建完整 Xray 配置。
|
||||
- sing-box 配置先执行 `check`,通过后才原子切换;失败会回滚资源文件。
|
||||
- Agent 重启会从持久化资源目录重建完整 sing-box 配置。
|
||||
- 仅在你有权管理的服务器和网络上使用,并遵守所在地法律和服务商政策。
|
||||
|
||||
更完整的说明见 [架构](docs/ARCHITECTURE.md)、[安全模型](docs/SECURITY.md) 和 [路线图](docs/ROADMAP.md)。
|
||||
@@ -277,4 +288,4 @@ npm start
|
||||
|
||||
## 许可
|
||||
|
||||
[MIT](LICENSE)。NexusGate 不打包或重新许可 Xray-core;Agent 安装器从 Xray 官方 Release 下载独立二进制。
|
||||
[MIT](LICENSE)。
|
||||
|
||||
Reference in New Issue
Block a user