安装节点
源代码
面板 — xray-panel/backend · 节点 — xray-panel/node · 订阅页面 — xray-panel/subscription-page
节点是代理服务器上的容器。它不会主动连接任何地方:面板通过 HTTPS 以 mutual TLS 和 JWT 访问它。
1. 获取 SECRET_KEY
在面板中:Nodes → 创建节点。面板会显示 SECRET_KEY —— 一长串
base64 字符串。请完整复制:它只能使用一次。
其中包含证书和密钥:CA、节点证书、私钥和 JWT 公钥。节点在启动时会校验它们, 如果对不上就拒绝运行。
2. 启动
docker run -d \
--name xpanel-node \
--restart unless-stopped \
--network host \
--cap-add NET_ADMIN \
--ulimit nofile=1048576:1048576 \
-e NODE_PORT=2222 \
-e SECRET_KEY="<粘贴 SECRET_KEY>" \
ghcr.io/xray-panel/node:latest
同样的配置写成 compose:
docker-compose.yml
services:
xpanelnode:
image: ghcr.io/xray-panel/node:latest
container_name: xpanel-node
restart: unless-stopped
network_mode: host
cap_add:
- NET_ADMIN
ulimits:
nofile:
soft: 1048576
hard: 1048576
environment:
- NODE_PORT=2222
- SECRET_KEY=${SECRET_KEY}
| 选项 | 作用 |
|---|---|
--network host | Xray 自行监听端口;端口转发会破坏真实客户端 IP 的识别 |
--cap-add NET_ADMIN | 插件需要(通过 nftables 屏蔽种子下载);不用插件时可以去掉 |
--ulimit nofile | 为大量连接设置较高的文件描述符上限 |
3. 检查
节点启动时会在日志中打印 SECRET_KEY 校验报告和内核版本:
docker logs -f xpanel-node
Xray version: Xray 26.9.9
面板应在一分钟内将节点显示为已连接。如果节点没有出现:
- 检查
NODE_PORT是否能从面板服务器访问 (nc -vz <节点 IP> 2222),而不是从你的浏览器访问; - 确认
SECRET_KEY已完整复制,没有换行; - 查看容器日志 —— 密钥错误时节点会写出拒绝原因。
4. 插件
节点插件(例如 torrent-blocker)在面板的节点页面中安装。
使用 nftables 的插件需要 NET_ADMIN 和带 nftables 模块的内核。
如果不使用插件,可以不添加该参数。
5. Xray 日志
docker exec -it xpanel-node xlogs
清理在面板的 Logs 页面中进行:在「Node system logs」区域点击 「Clear logs」按钮。节点会轮转文件,Xray 不会重启,流量也不会中断。 手动执行:
docker exec -it xpanel-node cli --clear-logs
多个节点
请逐个添加节点:每个节点都有各自的 SECRET_KEY 和各自的证书。
不支持在多台服务器之间共用同一个密钥 —— 一旦其中一台被攻破,
就必须重新签发全部证书。