声明:本文章仅为互联网安全以及网络工程学习作用,请勿用于非法违规用途,务必遵守当地的法律法规!!!

X-UI,是一款基于 Go 语言 开发、用于管理 Xray 代理服务 的开源可视化 Web 面板,核心是让代理节点配置、监控、管理更简单直观。

开源地址:GitHub - vaxilu/x-ui: 支持多协议多用户的 xray 面板

一、核心定位与技术栈

  • 定位:Xray 代理服务的可视化管理面板,替代命令行配置,支持多用户、多协议、流量管控。

  • 技术栈:后端 Go、前端 Vue.js,轻量高效,内存占用低。

  • 项目地址https://github.com/vaxilu/x-ui

二、核心功能

  1. 多协议支持

    支持主流代理协议:VMess、VLESS、Trojan、Shadowsocks、Socks、HTTP、dokodemo-door

  2. 多用户与流量管理

    • 多用户独立配置、独立流量统计

    • 流量限制、到期时间限制、流量预警

  3. 可视化操作

    • Web 界面一键添加 / 编辑 / 删除节点

    • 实时查看系统负载、CPU / 内存 / 带宽、各用户流量

  4. 安全与证书

    • 支持 HTTPS 访问面板

    • 一键申请 / 自动续签 SSL 证书(Let’s Encrypt)

  5. 高级配置

    • 自定义 Xray 配置模板

    • 传输方式(TCP、mKCP、WebSocket、gRPC 等)与伪装设置

  6. 运维辅助

    • 一键安装 / 升级 / 重启 / 卸载

    • 日志查看、配置备份 / 恢复

三、支持的协议

1. VMess

  • 早期 V2Ray 官方标准协议,非常成熟、兼容性好。

  • 特点:加密稳定、客户端全支持。

  • 缺点:特征相对明显,现在容易被识别。

  • 适合:老客户端、兼容性优先。


2. VLESS

  • VMess 的轻量化升级版,更快、开销更低。

  • 特点:极简、高效、性能好。

  • 通常配合 XTLS 用,速度接近直连。

  • 适合:追求速度 + 低消耗


3. Trojan

  • 设计思路:假装是 HTTPS 网站

  • 流量特征和正常网站几乎一样,伪装极强

  • 必须配域名 + 证书。

  • 适合:最看重安全性、防探测


4. Shadowsocks(SS)

  • 老牌经典代理,简单、稳定、快。

  • 全平台客户端都支持。

  • 缺点:无强伪装,高严格网络环境容易受限。

  • 适合:简单使用、速度优先、环境不严格。


5. Socks5 / HTTP

  • 标准通用代理协议。

  • 不加密、不伪装,只做转发

  • 一般用于本地转发、内网代理,不适合直接对外。


6. WebSocket(WS)

  • WebSocket 协议,像网站聊天一样。

  • 可以套 Nginx、CDN,伪装性强

  • 适合:需要过 CDN、过严格防火墙


dokodemo-door(任意门)

  • 属于 Xray 里的入站协议,专门做端口转发

  • 特点:不加密、不认证、不混淆,只做纯流量转发

  • 名字来自日语「どこでもドア」,意思是通向任意地址的门

四、搭建前准备

1. 必备条件

  • 一台云服务器(VPS):推荐 Ubuntu 20.04+/Debian 10+/CentOS 8+(Ubuntu 22.04最优,兼容性最好),最低配置1核1G内存、1M带宽(个人自用足够),需拥有服务器root权限(核心,否则无法安装)。

sudo -i(切换为root账户)
  • 服务器公网IP:确保IP可正常访问外网(可通过ping谷歌、百度测试),无运营商封锁(若后续节点无法连接,可更换IP或端口)。

  • 远程连接工具:Windows用Xshell、FinalShell(推荐,国产友好),Mac用自带终端或Termius,用于连接服务器执行命令。

  • 可选准备:域名(推荐,用于配置HTTPS、提升Trojan/VLESS伪装性,阿里云、腾讯云可免费申请二级域名)。

2. 前置检查

连接服务器后,先执行以下命令,检查系统环境并更新依赖(复制命令直接粘贴回车即可,全程自动执行):

# 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

重启后,执行 sysctl net.ipv4.tcp_congestion_control,返回包含“bbr”即开启成功。

3. 端口设置

需确保以下端口未被占用,后续会用到(可提前检查,占用则更换):

  • 面板端口:默认54321(可自定义,推荐10000-65535之间,如12345),用于访问X-UI网页面板。

  • 节点端口:自定义(如443、8080,推荐443端口,伪装性强,与HTTPS端口一致),用于代理连接。

  • 基础端口:22端口(SSH连接端口,务必保留,禁止关闭,否则会断开服务器连接)。

检查端口占用命令(替换“端口号”为需检查的端口,如54321):

sudo netstat -tuln | 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常用管理命令(必记,后续运维用)

安装完成后,可通过以下命令管理X-UI服务(复制命令直接执行):

# 查看X-UI运行状态(排查无法访问问题)
x-ui status

# 启动X-UI面板
x-ui start

# 停止X-UI面板
x-ui stop

# 面板自启动(重启自动启动)
x-ui enable

# 重启X-UI面板(修改配置后需执行)
x-ui restart

# 查看X-UI运行日志(节点无法连接时排查错误)
x-ui log

# 卸载X-UI面板(无需时执行)
x-ui uninstall

# 修改面板端口、账号密码(交互式,按提示操作)
x-ui setting

六、X-UI面板初始化

安装成功后,通过本地浏览器访问面板,完成初始化配置(提升安全性,避免被他人盗用)。

1. 访问面板

打开浏览器,输入地址:http://服务器公网IP:54321(若自定义了面板端口,替换54321为自定义端口)。

若无法访问,优先排查2点:① 服务器防火墙/安全组放行面板端口(54321);② 执行x-ui status检查面板是否正常运行。

2. 首次登录与密码修改

  • 输入默认账号:admin,默认密码:admin,点击登录。

  • 登录后会弹出“修改密码”提示(若未弹出,点击左侧「设置」→「账号设置」),填写新账号、新密码(建议复杂一点,包含字母+数字+符号),点击「保存」,立即重新登录(避免默认账号被盗)。

3. 面板基础设置

  • 修改面板端口(推荐):左侧「设置」→「面板设置」,找到「面板端口」,替换为自定义端口(如12345),保存后重启X-UI(执行x-ui restart),后续访问面板需用新端口。

  • 设置语言(可选):若面板为英文,点击右上角「Language」,选择「中文」,刷新页面即可。

  • 开启HTTPS访问(可选,提升安全性):若有域名,在「面板设置」中找到「HTTPS设置」,上传SSL证书(可通过面板一键申请Let's Encrypt证书),保存后访问地址变为https://服务器IP:面板端口

七、添加代理节点(核心功能,适配所有协议)

X-UI的核心作用是管理Xray节点,下面以「VLESS+XTLS」(最快)、「Trojan」(最安全)、「dokodemo-door」(中转)为例,讲解添加步骤,其他协议(VMess、Shadowsocks等)操作逻辑一致。

示例1:添加VLESS+XTLS节点(推荐,速度最快)

  1. 登录X-UI面板,点击左侧「入站列表」→「添加入站」。

  2. 填写基础信息(重点配置,其余默认):

    1. 备注:自定义(如“个人VLESS节点”,方便区分)。

    2. 协议:选择「VLESS」。

    3. 端口:自定义(如443,推荐,伪装性强,需确保未被占用)。

    4. UUID:点击右侧「生成」,自动生成(无需修改,相当于节点密码)。

    5. 传输设置:网络选择「tcp」,传输类型选择「xtls-rprx-vision」(XTLS加速核心,速度接近直连)。

    6. TLS设置:开启「TLS」,域名填写你的域名(无域名则留空,不影响使用,但伪装性下降),证书可选择「自动申请」(需有域名)或「上传证书」。

  3. 点击页面底部「保存」,返回入站列表,看到节点状态为「运行中」,即添加成功。

示例2:添加Trojan节点(推荐,伪装最强)

  1. 左侧「入站列表」→「添加入站」,备注填写「个人Trojan节点」。

  2. 协议:选择「Trojan」。

  3. 端口:自定义(如443,与HTTPS端口一致,伪装性拉满)。

  4. 密码:点击「生成」,自动生成(节点连接时需填写,妥善保存)。

  5. TLS设置:必须开启TLS(Trojan核心依赖TLS伪装),填写域名,申请/上传SSL证书。

  6. 保存后,重启X-UI(执行x-ui restart),节点即可正常使用。

示例3:添加dokodemo-door节点(中转/端口转发)

  1. 左侧「入站列表」→「添加入站」,备注填写「中转节点」。

  2. 协议:选择「dokodemo-door」。

  3. 监听端口:自定义(如1234,服务器上开放的中转端口)。

  4. 目标地址:填写需要转发到的IP(如另一台服务器的公网IP)。

  5. 目标端口:填写需要转发到的端口(如另一台服务器的代理端口)。

  6. 网络:选择「tcp,udp」(支持两种协议转发)。

  7. 保存后,无需重启即可生效,本地连接「服务器IP:1234」,即可实现流量中转。

补充:节点配置导出(用于客户端连接)

添加节点后,点击入站列表中节点右侧的「操作」→「导出」,可选择「链接」「二维码」两种方式,用于后续客户端导入配置,无需手动填写复杂参数。

八、客户端连接(电脑/手机,全程可视化)

节点搭建完成后,需在电脑、手机安装对应客户端,导入节点配置,即可使用代理服务。

1. 电脑端(Windows/Mac)

  • 推荐客户端:V2RayN(Windows,免费)、V2RayU(Mac,免费)、Clash(全平台,功能强大)。

  • 连接步骤:

    • 安装客户端,打开后点击「导入配置」。

    • 选择「从剪贴板导入」(复制X-UI导出的节点链接),或「扫描二维码」(适合近距离操作)。

    • 导入成功后,选择该节点,点击「启动代理」,即可正常访问外网(浏览器搜索“IP查询”,显示服务器IP即成功)。

2. 手机端(Android/iOS)

  • Android:推荐「V2RayNG」(应用商店可搜,免费),导入方式与电脑端一致,导入后启动代理即可。

  • iOS:需在App Store搜索「Shadowrocket」「Quantumult X」等(部分需付费),导入节点链接/二维码,开启代理即可。

九、常见问题排查

1. 面板无法访问

  • 排查1:执行x-ui status,若显示“not running”,执行x-ui start启动面板。

  • 排查2:服务器防火墙/安全组未放行面板端口(如54321),放行命令(以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面板,执行x-ui update命令,修复安全漏洞,提升稳定性。

  • 本教程仅用于学习研究,请勿用于非法用途,遵守国家网络安全相关法律法规。

十一、补充说明

若需安装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一致。