X-UI 是一个基于 Web 的图形化用户界面,主要用于管理和配置 Xray 代理服务器。Xray 是一个高性能的网络代理工具,支持多种协议(如 VMess、VLESS、Trojan 等),常用于科学上网和网络流量转发。

功能介绍

  • 系统状态监控
  • 支持多用户多协议,网页可视化操作
  • 支持的协议:vmess、vless、trojan、shadowsocks、dokodemo-door、socks、http
  • 支持配置更多传输配置
  • 流量统计,限制流量,限制到期时间
  • 可自定义 xray 配置模板
  • 支持 https 访问面板(自备域名 + ssl 证书)
  • 更多高级配置项,详见该项目的 GitHub:点击访问 x-ui

准备工作

VPS 一台重置好主流的操作系统 (Almalinux 8+、Ubuntu 16+、Debian 8+)作者使用:Racknerd VPS

域名一个,做好相关的解析,若是需要套用 CDN,请托管域名到 cloudflare, 不会请点击。

获取一个海外 vps

这是使用的是Racknerd VPS

本教教程使用的操作系统为: Almalinux 8

登陆到 vps

1
2
3

ssh root@ip

安装 X-ui 面板

1
2
3
4
5
6
7
8

apt install -y curl socat #Debian/Ubuntu 命令
# 或者
dnf install -y curl socat #CentOS 命令

# 这个是原创版本,但是已经三年没有更新了,不建议安装这个版本
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

x-ui 有多个版本,将其列举如下以供参考:
bash <(curl -Ls https://raw.githubusercontent.com/sprov065/x-ui/master/install.sh)
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install_en.sh)
bash <(wget -qO- https://raw.githubusercontent.com/sing-web/x-ui/main/install_CN.sh)

安装过程中会询问是否修改端口与账户密码,按照要求修改即可

1
2
3
4
5
6
7
8
9
10

出于安全考虑,安装/更新完成后需要强制修改端口与账户密码
确认是否继续?[y/n]:y
请设置您的账户名:test
您的账户名将设定为:test
请设置您的账户密码:********
您的账户密码将设定为:********
请设置面板访问端口:80
您的面板访问端口将设定为:80

开启端口,以 80 端口为例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 开启80端口即http服务所需端口
sudo firewall-cmd --add-port=80/tcp --permanent

# 开启https服务所需端口, 为后续配置SSL证书做准备
sudo firewall-cmd --add-port=443/tcp --permanent

# 或者

# 开启http服务所需端口
sudo firewall-cmd --permanent --zone=public --add-service=http

# 开启https服务所需端口, 为后续配置SSL证书做准备
sudo firewall-cmd --permanent --zone=public --add-service=https

# 重新加载
sudo firewall-cmd --reload

# 查看80是否已经开启
sudo firewall-cmd --list-all

申请 SSL 证书

申请证书前需要注册 Cloudflare,并获取到 Cloudflare Global API Key

1
2
3
4

# 显示管理菜单
x-ui

选择 16. 一键申请 SSL 证书(acme 申请)

中间会被要求输入域名,Cloudflare Global API Key 以及邮箱

1
2
3
4
5
6
7
8
9
10
11
12
13

[Sat Mar 8 19:22:30 EST 2025] Install success!
[DEG] 请设置域名:
Input your domain here:your_domain
[DEG] 你的域名设置为:your_domain
[DEG] 请设置API密钥:
Input your key here:your_cloudflare_global_API_Key
[DEG] 你的API密钥为:your_cloudflare_global_API_Key
[DEG] 请设置注册邮箱:
Input your email here:your_email_address
[DEG] 你的注册邮箱为:your_email_address


配置证书

浏览器打开 x-ui 面板 => 导航到面板设置

面板监听端口: 443

面板证书公钥文件路径: /root/cert/your_domain.cer

面板证书密钥文件路径: /root/cert/your_domain.key

保存配置,重启面板

如果不出异常应该能 https 访问面板了

如果出现异常, 无法登入 x-ui 面板,可以登陆 vps 使用x-ui log查看异常, 并使用x-ui管理菜单如下功能重置面板设置或端口 4. 重置用户名密码 5. 重置面板设置 6. 设置面板端口 7. 查看当前面板设置

节点配置

使用 x-ui 部署一个 vmess 节点测试一下。

导航到 x-ui 面板 => 入站列表

点击添加按钮(+)

输入节点参数

1
2
3
4
5
6
7
8
9
10
11
12
13
备注: vmess_node 1 启用
协议: vmess
监听 IP: 留空 ---留空表示监听所有ip
端口: 44550
总流量(GB): 0
到期时间:2025-12-31
id:694ad56f-6a72-43b4-d442-bdde2a5e8ea6
额外 ID:0
禁用不安全加密:不开启
传输:tcp
http 伪装: 不开启
tls: 不开启
sniffing: 开启

输入好参数后点击添加,此时入站列表会多一条记录

防火墙放行节点的监听端口

1
2
3
4
5

sudo firewall-cmd --add-port=44550/tcp --permanent

sudo firewall-cmd --reload

再次导航到入站列表,点击对应节点的查看按钮,在打开的窗口中点击复制链接,此时即获得 vmess 节点的 url, 此时将节点 url 导入到 v2ray/clash/hiddify app 等客户端进行测速,连接。

配置更多类型节点

配置 vmess(ws)类型节点

1
2
3
4
5
6
7
8
9
10
11
12
13
备注: vmess_node 1 启用
协议: vmess
监听 IP: 留空 ---留空表示监听所有ip
端口: 44550
总流量(GB): 0
到期时间:2025-12-31
id:694ad56f-6a72-43b4-d442-bdde2a5e8ea6
额外 ID:0
禁用不安全加密:不开启
传输:ws
路径: /path
tls: 不开启
sniffing: 开启

配置 vmess(ws)类型节点

1
2
3
4
5
6
7
8
9
10
11
12
13
备注: vmess_node 1 启用
协议: vmess
监听 IP: 留空 ---留空表示监听所有ip
端口: 44550
总流量(GB): 0
到期时间:2025-12-31
id:694ad56f-6a72-43b4-d442-bdde2a5e8ea6
额外 ID:0
禁用不安全加密:不开启
传输:ws
路径: /path
tls: 不开启
sniffing: 开启

配置 Trojan 类型节点

1
2
3
4
5
6
7
8
9
10
11
12
13
备注: trojan_node 启用
协议: vmess
监听 IP: 留空 ---留空表示监听所有ip
端口: 44550
总流量(GB): 0
到期时间:2025-12-31
id:694ad56f-6a72-43b4-d442-bdde2a5e8ea6
额外 ID:0
禁用不安全加密:不开启
传输:ws
路径: /path
tls: 不开启
sniffing: 开启

参考文档

X-ui,支持多协议多用户的 Xray 面板!V2-ui 全面停止更新,后续逐渐用 X-ui 面板取代 V2-ui 面板!