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:
+7
-11
@@ -21,8 +21,8 @@ curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/scripts/
|
||||
curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/scripts/agent-logrotate-setup.sh" -o "$tmp_dir/logrotate-setup.sh"
|
||||
[[ -s "$tmp_dir/update.sh" ]] || die 'Agent 升级脚本下载不完整'
|
||||
node --check "$tmp_dir/agent.js"
|
||||
# Updating can rewrite an older HY2 configuration and restart Xray. Persist
|
||||
# its current bidirectional counters before the running process is replaced.
|
||||
# Updating restarts sing-box. Persist its current bidirectional counters
|
||||
# before the running process is replaced.
|
||||
if [[ -f /opt/nexusgate-agent/agent.js ]]; then
|
||||
( set -a; source /etc/nexusgate/agent.env; set +a; node /opt/nexusgate-agent/agent.js flush-usage ) \
|
||||
|| die '更新前流量统计上报失败,保留原 Agent;检查控制面连接和 ng-agent doctor 后重试'
|
||||
@@ -50,16 +50,13 @@ case "${1:-}" in
|
||||
esac
|
||||
EOF
|
||||
chmod 0755 /usr/local/sbin/ng-agent
|
||||
if [[ "${NG_INSTALL_ANYTLS:-0}" == 1 ]]; then
|
||||
if ! NG_REPO="$REPO" NG_BRANCH="$BRANCH" ng-agent-singbox install; then
|
||||
info 'sing-box 构建未完成;现有 Xray 节点正常。修复后运行 ng-agent engine install 重试。'
|
||||
fi
|
||||
elif [[ -x /usr/local/bin/nexusgate-sing-box && ! -x /usr/local/bin/nexusgate-sing-box-stats ]]; then
|
||||
info '发现未完成的 sing-box 安装;更新 Agent 不会再次编译,请在需要 AnyTLS 的入口机运行 ng-agent engine install。'
|
||||
# sing-box 是唯一的入口引擎;缺失时直接安装。
|
||||
if [[ ! -x /usr/local/bin/nexusgate-sing-box || ! -x /usr/local/bin/nexusgate-sing-box-stats ]]; then
|
||||
NG_REPO="$REPO" NG_BRANCH="$BRANCH" ng-agent-singbox install \
|
||||
|| die 'sing-box 引擎安装失败;修复后运行 ng-agent engine install 重试'
|
||||
fi
|
||||
if command -v systemctl >/dev/null && [[ -d /run/systemd/system ]]; then
|
||||
curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/systemd/nexusgate-agent.service" -o /etc/systemd/system/nexusgate-agent.service
|
||||
curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/systemd/nexusgate-xray.service" -o /etc/systemd/system/nexusgate-xray.service
|
||||
curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/systemd/nexusgate-sing-box.service" -o /etc/systemd/system/nexusgate-sing-box.service
|
||||
systemctl daemon-reload
|
||||
rm -f -- /etc/nexusgate/last-heartbeat.json
|
||||
@@ -67,9 +64,8 @@ if command -v systemctl >/dev/null && [[ -d /run/systemd/system ]]; then
|
||||
systemctl is-active --quiet nexusgate-agent.service || die "Agent 重启失败"
|
||||
elif command -v rc-service >/dev/null; then
|
||||
curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/openrc/nexusgate-agent" -o /etc/init.d/nexusgate-agent
|
||||
curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/openrc/nexusgate-xray" -o /etc/init.d/nexusgate-xray
|
||||
curl -fL --retry 3 "https://raw.githubusercontent.com/${REPO}/${BRANCH}/openrc/nexusgate-sing-box" -o /etc/init.d/nexusgate-sing-box
|
||||
chmod 0755 /etc/init.d/nexusgate-agent /etc/init.d/nexusgate-xray /etc/init.d/nexusgate-sing-box
|
||||
chmod 0755 /etc/init.d/nexusgate-agent /etc/init.d/nexusgate-sing-box
|
||||
if [[ -e /etc/init.d/crond ]]; then
|
||||
rc-update add crond default >/dev/null 2>&1 || true
|
||||
rc-service crond start >/dev/null 2>&1 || true
|
||||
|
||||
Reference in New Issue
Block a user