feat: 接入 AnyTLS 节点托管和用户流量同步
This commit is contained in:
@@ -203,3 +203,25 @@ sudo bash install-jp1.sh --domain jp1.p.xn--876a.net \
|
||||
重复执行仅允许同一安装记录、同一域名和端口,不覆盖其他已有 HY2 配置。失败后修复问题,在凭据有效期内重试;已启用的节点不因删除安装记录而删除。凭据过期且已有部分安装时,请先检查并清理对应的禁用节点和服务器配置,再生成新的安装记录。
|
||||
|
||||
平台 `APP_URL` 必须是服务器能访问的公网 HTTPS 地址(本地测试允许 localhost HTTP)。新迁移使用数据库版本 5,只新增 `managed_certificates` / `node_installations` 表,兼容现有 v4 节点、用户和订阅数据。部署前仍应备份数据库;不要用旧版本程序打开已升级的数据库。
|
||||
|
||||
## 托管 AnyTLS / sing-box
|
||||
|
||||
「证书与安装」选择 **AnyTLS · TCP / sing-box**,下载脚本后运行:
|
||||
|
||||
```bash
|
||||
sudo bash install-jp2-anytls.sh --domain jp2 --port 51046 --listen-port 51046
|
||||
```
|
||||
|
||||
只需映射代理 TCP 端口。sing-box 与管理程序使用独立目录和 systemd 单元,不覆盖已有 HY2。管理 API 自动分配本机端口,节点每 15 秒通过 HTTPS 主动向面板同步,无需开放公网管理端口。支持 Debian/Ubuntu、dnf 系发行版的 x86_64 / ARM64。
|
||||
|
||||
- 每用户派生独立的 AnyTLS 密码,订阅自动生成对应节点。更改用户密码会更新 AnyTLS 凭据。
|
||||
- 用户禁用、到期、额度耗尽及节点禁用在下次同步时生效。当前通过重启 sing-box 应用配置,所有已有连接会断开;配额为周期检查,可能产生一个同步周期的超额。
|
||||
- 连续无法同步超过 90 秒,或本地已到租约到期时间时停止代理;重新连接面板后自动恢复。管理程序异常退出也会停止代理。
|
||||
- 从 V2Ray API 读取累计用户流量,以进程启动标识和累计值去重;待发送报告落盘,网络重试不重复计费。流量为应用层统计,异常掉电/崩溃可能丢失最后一次采样之后的数据,不能当作精确的计费凭证。在线用户数暂不展示,连接数来自 Clash API。
|
||||
- 数据库迁移 v6 只增加安装协议字段和累计采样表,原 HY2 / 自定义节点保持兼容。
|
||||
|
||||
官方 sing-box 默认发行包未启用 `with_v2ray_api`。部署面板前运行 `bash scripts/build-sing-box.sh`,构建**未经修改的** sing-box v1.14.2(固定源码 commit `af6e64c3b69e6132ebaee0e1a3d24e93903f6709`),启用 `with_v2ray_api,with_clash_api,with_utls`。需要 Go 1.25.5 或更新版本。将生成的 `data/artifacts/` 作为部署产物保存到面板同一路径;程序不会把二进制或任何凭据提交到 Git。安装脚本从面板 HTTPS 下载二进制并核对 SHA-256;没有产物时下载端点返回 503。
|
||||
|
||||
上游源码与许可:https://github.com/SagerNet/sing-box/tree/v1.14.2 ,GPL-3.0-or-later。`lib/templates/stats.proto` 来自该版本,许可说明见同目录 `sing-box-LICENSE`。构建脚本提供可复现的源码获取与编译步骤。
|
||||
|
||||
真实协议回归可运行:`SING_BOX_TEST_BINARY=/path/to/sing-box AGENT_TEST_PYTHON=/path/to/python npx tsx tests/anytls-runtime.ts`(Python 环境需 grpcio 和 grpcio-tools)。它验证 TLS 校验、实际转发、按用户统计及停用后的拒绝连接。
|
||||
|
||||
Reference in New Issue
Block a user