声明:本文章仅为互联网安全以及网络工程学习作用,请勿用于非法违规用途,务必遵守当地的法律法规。
X-UI 是一款基于 Go 语言开发、用于管理 Xray 代理服务的开源可视化 Web 面板。它把原本需要手写配置文件的工作变成了「点几下鼠标」,让节点配置、流量监控和日常运维都直观很多。
项目开源地址:github.com/vaxilu/x-ui

一、核心定位与技术栈
- 定位:Xray 代理服务的可视化管理面板,替代命令行配置方式,支持多用户、多协议与流量管控
- 技术栈:后端 Go、前端 Vue.js,轻量高效,资源占用低
- 项目地址:github.com/vaxilu/x-ui
二、核心功能一览
多协议支持
覆盖主流代理协议:VMess、VLESS、Trojan、Shadowsocks、Socks、HTTP、dokodemo-door。
多用户与流量管理
- 多用户独立配置、独立流量统计
- 支持流量限额、到期时间限制、流量预警
可视化操作
- Web 界面一键添加 / 编辑 / 删除节点
- 实时查看系统负载、CPU / 内存 / 带宽占用与各用户流量
安全与证书
- 支持 HTTPS 访问面板
- 一键申请 / 自动续签 Let's Encrypt SSL 证书
高级配置
- 支持自定义 Xray 配置模板
- 可配置传输方式(TCP、mKCP、WebSocket、gRPC 等)与流量伪装
运维辅助
- 一键安装 / 升级 / 重启 / 卸载
- 日志查看、配置备份与恢复
三、七种协议怎么选
1. VMess
早期 V2Ray 的官方标准协议,非常成熟、兼容性最好。
- 优点:加密稳定,客户端支持全面
- 缺点:流量特征相对明显,现在比较容易被识别
- 适合:老客户端、以兼容性优先的场景
2. VLESS
VMess 的轻量化升级版,更快、开销更低。
- 特点:协议极简、效率高、性能好
- 通常配合 XTLS 使用,速度可以接近直连
- 适合:追求速度与低资源消耗
3. Trojan
设计思路是「假装自己是一个正常的 HTTPS 网站」。
- 流量特征与正常网站几乎一致,伪装性极强
- 必须搭配域名 + 证书使用
- 适合:最看重安全性、需要防探测的场景
4. Shadowsocks(SS)
老牌经典代理协议,简单、稳定、速度快,全平台客户端都支持。
- 缺点:没有强伪装,在严格的网络环境下容易受限
- 适合:简单使用、速度优先、环境不严苛
5. Socks5 / HTTP
标准通用代理协议。
- 不加密、不伪装,只做转发
- 一般用于本地转发或内网代理,不适合直接对外暴露
6. WebSocket(WS)
走 WebSocket 协议,流量看起来像网页聊天。
- 可以套 Nginx 或 CDN,伪装性强
- 适合:需要过 CDN、过严格防火墙
7. dokodemo-door(任意门)
这是 Xray 里的入站协议,专门做端口转发。
- 不加密、不认证、不混淆,只做纯流量转发
- 名字来自日语「どこでもドア」,意为「通向任意地址的门」
四、搭建前的准备
1. 必备条件
一台云服务器(VPS):推荐 Ubuntu 20.04+ / Debian 10+ / CentOS 8+,其中 Ubuntu 22.04 兼容性最好。最低配置 1 核 1G 内存、1M 带宽即可满足个人自用。
必须拥有 root 权限,否则无法安装:
sudo -i # 切换到 root 账户
服务器公网 IP:确认能正常访问外网,且没有被运营商封锁(若后续节点无法连接,可以尝试更换 IP 或端口)。
远程连接工具:Windows 可用 Xshell、FinalShell(国产友好,推荐);macOS 可用自带终端或 Termius。
可选:域名。推荐准备一个,用于配置 HTTPS、提升 Trojan / VLESS 的伪装性。
2. 系统更新与 BBR 加速
连上服务器后先更新系统依赖:
# Ubuntu / Debian(推荐)
sudo apt update && sudo apt upgrade -y && sudo apt install -y curl wget
# CentOS
sudo dnf update -y && sudo dnf install -y curl wget
可选但强烈建议:开启 BBR 拥塞控制算法,能明显改善网络吞吐。
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo reboot
重启后执行下面这条命令,输出里包含 bbr 就说明开启成功:
sysctl net.ipv4.tcp_congestion_control
3. 端口规划
提前确认以下端口没有被占用:
- 面板端口:默认
54321,建议自定义为 10000–65535 之间的数字(例如 12345),用于访问 X-UI 网页后台 - 节点端口:自定义,例如
443或8080,推荐用 443(与 HTTPS 同端口,伪装性最好) - SSH 端口:
22或你自定义的 SSH 端口,务必保留,千万不要关闭,否则会直接断连
检查端口占用(把「端口号」替换成你要查的数字):
sudo netstat -tuln | grep 端口号
# 或(netstat 已过时,推荐用 ss)
sudo ss -tulnp | grep 端口号
五、一键安装 X-UI
推荐使用官方一键脚本,适配绝大多数 Linux 发行版,无需手动装依赖。
1. 执行安装命令
# 官方原版脚本(推荐,稳定无篡改)
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
# 国内镜像(GitHub 访问失败时使用,速度更快)
bash <(curl -Ls https://cdn.jsdelivr.net/gh/vaxilu/x-ui@master/install.sh)
2. 安装过程说明
- 脚本会自动检测系统环境,安装 Go 语言、Xray 核心、X-UI 面板等依赖,全程无需干预
- 耗时约 3–5 分钟(取决于服务器带宽),中途不要中断
- 安装完成后终端会输出关键信息,务必记下来:
==================================================
x-ui 面板安装成功!
==================================================
面板访问地址: http://你的服务器IP:54321
默认用户名: admin
默认密码: admin
请妥善保管您的登录信息,首次登录请立即修改密码!
==================================================
3. 常用管理命令(建议收藏)
x-ui status # 查看运行状态(排查无法访问)
x-ui start # 启动面板
x-ui stop # 停止面板
x-ui restart # 重启面板(改配置后执行)
x-ui enable # 设置开机自启
x-ui log # 查看运行日志(节点连不上时排查)
x-ui update # 升级面板
x-ui uninstall # 卸载面板
六、面板初始化
安装成功后,用浏览器访问面板,先完成初始化配置,把默认值改掉。
1. 访问面板
浏览器打开:http://服务器公网IP:54321(如果你自定义了面板端口,把 54321 换成你的端口)。
2. 首次登录并修改密码
- 输入默认账号
admin、默认密码admin,点击登录 - 登录后第一件事就是改密码:左侧「设置」→「面板设置」→ 修改用户名和密码
3. 面板基础设置
- 修改面板端口(推荐):左侧「设置」→「面板设置」→「面板端口」→ 换成自定义端口(如 12345)→ 保存后重启 X-UI
- 建议同时开启 HTTPS(需要域名),避免面板密码明文传输
七、添加代理节点(核心功能)
X-UI 的核心作用就是管理 Xray 节点。下面以「VLESS + XTLS」(最快)、「Trojan」(最安全)、「dokodemo-door」(中转)为例讲解添加步骤,其他协议(VMess、Shadowsocks 等)操作逻辑完全一致。
示例 1:添加 VLESS + XTLS 节点(推荐,速度最快)
- 登录 X-UI 面板,点击左侧「入站列表」→「添加入站」
- 填写基础信息(重点是下面几项,其余保持默认):
- 备注:自定义,例如「个人 VLESS 节点」,方便区分
- 协议:选择
VLESS - 端口:自定义,例如
443(推荐,伪装性强,需确认未被占用) - UUID:点击右侧「生成」自动生成,无需修改(相当于节点密码)
- 传输设置:网络选
tcp,传输类型选xtls-rprx-vision(XTLS 加速核心,速度接近直连) - TLS 设置:开启
TLS,域名填你自己的域名(没有可留空,不影响使用但伪装性下降),证书可选「自动申请」(需有域名)或「上传证书」
- 点击页面底部「保存」,返回入站列表,看到节点状态是「运行中」即成功
示例 2:添加 Trojan 节点(推荐,伪装最强)
- 左侧「入站列表」→「添加入站」,备注填「个人 Trojan 节点」
- 协议:选择
Trojan - 端口:自定义,例如
443(与 HTTPS 端口一致,伪装性拉满) - 密码:点击「生成」,妥善保存(客户端连接时要用)
- TLS 设置:必须开启 TLS(Trojan 的核心就是靠 TLS 伪装),填写域名并申请 / 上传 SSL 证书
- 保存后执行
x-ui restart,节点即可正常使用
示例 3:添加 dokodemo-door 节点(中转 / 端口转发)
- 左侧「入站列表」→「添加入站」,备注填「中转节点」
- 协议:选择
dokodemo-door - 监听端口:自定义,例如
1234(服务器上开放的中转端口) - 目标地址:填需要转发到的 IP,例如另一台服务器的公网 IP
- 目标端口:填需要转发到的端口,例如另一台服务器的代理端口
- 网络:选
tcp,udp(同时支持两种协议转发) - 保存后无需重启即生效,本地连接「服务器IP:1234」就能实现流量中转
补充:导出节点配置
添加节点后,点击入站列表里节点右侧的「操作」→「导出」,可以选「链接」或「二维码」两种格式,用于客户端导入,不用手动填一堆复杂参数。
八、客户端连接(电脑 / 手机)
1. 电脑端(Windows / Mac)
- 推荐客户端:V2RayN(Windows,免费)、V2RayU(Mac,免费)、Clash(全平台,功能强大)
- 连接步骤:
- 安装客户端并打开,点击「导入配置」
- 选择「从剪贴板导入」(粘贴 X-UI 导出的节点链接),或「扫描二维码」
- 导入成功后选中该节点,点击「启动代理」
- 浏览器搜索「IP 查询」,显示的 IP 是服务器 IP 就说明成功了
2. 手机端(Android / iOS)
- Android:推荐「V2RayNG」(应用商店可搜,免费),导入方式与电脑端一致,导入后启动代理即可
- iOS:在 App Store 搜索「Shadowrocket」「Quantumult X」等(部分需付费),导入节点链接 / 二维码后开启代理
九、常见问题排查
1. 面板无法访问
- 排查 1:执行
x-ui status,若显示「not running」就执行x-ui start启动 - 排查 2:服务器防火墙 / 安全组没放行面板端口。以 Ubuntu 为例(把端口号换成你的):
sudo ufw allow 54321/tcp sudo ufw reload - 排查 3:换浏览器或清缓存,避免缓存导致打不开
2. 节点无法连接
- 排查 1:看入站列表里节点状态是不是「运行中」,不是就点「启动」
- 排查 2:服务器防火墙 / 安全组没放行节点端口(如 443),执行上面的放行命令
- 排查 3:执行
x-ui log看日志,若提示「端口被占用」,改节点端口并保存重启 - 排查 4:Trojan 节点必须开启 TLS 且域名 / 证书配置正确;没有域名就换成 VLESS 协议
3. 安装失败
- 排查 1:确认有 root 权限,命令前加
sudo(例如sudo bash ...) - 排查 2:换国内镜像脚本(上文提供的第二个),避免 GitHub 访问超时
- 排查 3:检查系统版本,需为 Ubuntu 20.04+ / Debian 10+ / CentOS 8+,太老要先升级系统
十、安全提醒与注意事项
- 务必修改默认账号密码和面板端口,避免被扫描器发现后盗用;节点密码也建议定期更换
- dokodemo-door 协议无加密、无认证,绝对不要直接暴露在公网,建议配合防火墙只允许自己的 IP 访问
- 节点端口优先选 443、80 等常用端口,伪装性更强,被封锁的概率更低
- 定期升级:执行
x-ui update修复安全漏洞、提升稳定性 - 合规使用:本教程仅用于学习研究,请遵守国家网络安全相关法律法规
十一、补充说明:3x-UI
如果你需要 3x-UI(X-UI 的增强版,支持多语言、订阅生成等功能),可以执行下面的一键安装命令,操作逻辑与本教程完全一致:
# 3x-UI 中文优化版(推荐)
bash <(curl -Ls https://raw.githubusercontent.com/gm-cx/3x-ui-cn/master/install.sh)
# 3x-UI 原版(英文)
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
3x-UI 默认面板端口是 2053,默认账号密码是 admin/admin123,其余配置步骤与 X-UI 相同。

Comments NOTHING