Files
J-Board-Lite/agent/jboard-agent/README.md
2026-04-29 18:30:49 +10:00

47 lines
1.9 KiB
Markdown

# jboard-agent
`jboard-agent` 以旁路方式负责节点探测和可选的 Xray access log 风控上报:
- 三网 TCP 延迟:`POST /api/agent/latency`
- 三网路由跟踪:`POST /api/agent/trace`
- Xray access log 聚合:`POST /api/agent/node-access`,安装/升级脚本会自动探测并写入 `XRAY_ACCESS_LOG_PATH`
节点入站、客户端开通、暂停、删除、流量限制等配置均由 3x-ui 面板维护。Agent 只读日志文件,不修改 3x-ui 配置、不重启 Xray。
## 构建
```bash
go test ./...
make build
make build-linux
```
## 运行
```bash
SERVER_URL=https://your-domain.com \
AUTH_TOKEN=后台生成的探测Token \
./jboard-agent
```
可选环境变量:
| 变量 | 默认值 | 说明 |
| --- | --- | --- |
| `LATENCY_INTERVAL` | `5m` | 延迟探测间隔,支持 `30s``5m` 或秒数 |
| `TRACE_INTERVAL` | `30m` | 路由探测间隔,支持 `30m` 或秒数 |
| `XRAY_ACCESS_LOG_PATH` | 自动探测 | Xray access log 路径;安装/升级脚本会优先查找 `/usr/local/x-ui/access.log` 等常见路径,仍为空时禁用节点真实连接风控 |
| `XRAY_LOG_INTERVAL` | `1m` | 日志读取和聚合上报间隔 |
| `XRAY_LOG_STATE_FILE` | `/var/lib/jboard-agent/xray-log-state.json` | 日志 offset 状态文件 |
| `XRAY_LOG_START_AT_END` | `1` | 首次启动从文件末尾开始,避免上传历史巨量日志;设为 `0` 可从头读取 |
路由探测依赖 `nexttrace` 命令;延迟探测无需额外依赖。
## systemd
推荐从 J-Board 后台节点页复制一键安装命令。该命令会下载 release 二进制、安装 `nexttrace`、自动探测 3x-ui/Xray access log、写入 systemd 服务并启动。
## 延迟算法
延迟探测使用三组 zstaticcdn 运营商目标,先解析域名再开始计时,只统计 TCP connect 耗时,避免 DNS 抖动混入延迟;当单次结果超过 1000ms 时会额外重试最多 3 次并采用更低的有效结果。