mirror of
https://github.com/JetSprow/J-Board-Lite.git
synced 2026-05-01 01:14:10 +05:30
47 lines
1.9 KiB
Markdown
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 次并采用更低的有效结果。
|