3X-UI面板

3X-UI面板
落魄君子【零基础】一键搭建3X-UI面板,目前最简单、最安全、最稳定的专属节点搭建方法
为了应对 TLS in TLS 和指纹识别等阻断或封禁的风险,Xray-core 团队推出了 VLESS Vision 和 VLESS Reality 两种新颖的技术方案。它们能够有效地隐藏和保护流量的特征,提高安全性和稳定性。
免责声明
仅供交流学习使用!使用者在使用时,必须遵守当地法律和规定。使用者有责任确保他们的行为符合其所在地区的法律、规章以及其他适用的规定。
一、准备工作
1.一台境外VPS主流系统,例如:Debian/Ubuntu/CentOS
- 自行购买,目前便宜的VPS是:CC家的VPS (暂时不推荐购买)
- 注意:注册好账号的话,可以先不购买,每周CC会发优惠信息到邮箱里,那里买更实惠
- Vultr VPS 购买地址:官网地址
- 好处:Vultr是按时计费,不用了可以随时删除服务器就停止收费了(一般都是测试使用),最低5$/月。
- 想买好的VPS的话,建议搜索搬瓦工CN2 GIA线路(49.99$/年),长期处于售馨状态(贵有贵的道理)
- 搬瓦工官网:https://bandwagonhost.com
2. 下载并安装FinalShell SSH工具
3. 解析到Cloudflare域名一个(必须)
- 大家自行注册域名
- 国内域名注册商:腾讯云、阿里云、华为云等
- 优缺点:便宜,但需要实名
- 国外域名注册商:name、GoDaddy、Spaceship、Porkbun等
- 优缺点:注册简单、无需实名,支付方式可能麻烦
- 可以去这个网站比较所有顶级域名的价格
4. V2ray相关链接
- v2rayN 软件:windows客户端
二、搭建步骤
1. 安装更新运行环境
下面环境的安装方式,大家根据自己的系统选择命令安装就好了。
1.1. Debian/Ubuntu系统(二选一)
1 | apt update -y && apt install -y curl && apt install -y socat |
1 | apt update -y && apt install curl wget -y |
1.2. CentOS系统(二选一)
1 | yum update -y && yum update -y && yum install -y socat |
1 | yum update -y && yum install curl wget -y |
2. 安装 3X-UI 面板
安装 3X-UI 面板(项目地址)
1 | bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) |
3. 设置用户名和密码,还有端口号
- 3XUI会自动生成“用户名”、密码和登录面板路径
4. 3X-UI 管理面板设置
3X-UI 管理面板设置
- 申请证书,输入命令“x-ui”,选择申请“SSL 证书(18)”
- 选择一个已经在Cloudflare解析的域名,输入进去“你的域名”
三、官方文档
SSL证书
点击查看SSL证书详情
ACME
使用ACME管理SSL证书:
确保您的域名正确解析到服务器。
在终端中运行
x-ui
命令,然后选择SSL证书管理
。您将看到以下选项:
- Get SSL: 获取SSL证书。
- Revoke: 吊销现有的SSL证书。
- Force Renew: 强制更新SSL证书。
- Show Existing Domains: 显示服务器上所有可用的域证书。
- Set Certificate Paths for the Panel: 指定用于面板的域证书。
Certbot
安装并使用Certbot:
1 | apt-get install certbot -y |
Cloudflare
管理脚本内置了Cloudflare的SSL证书申请。要使用此脚本申请证书,您需要以下信息:
- Cloudflare注册的电子邮件
- Cloudflare全局API密钥
- 域名必须通过Cloudflare解析到当前服务器
如何获取Cloudflare全局API密钥:
- 在终端中运行
x-ui
命令,然后选择Cloudflare SSL证书
。 - 访问链接:Cloudflare API Tokens。
- 点击“查看全局API密钥”(参见下图):
- 您可能需要重新验证您的账户。之后将显示API密钥(参见下图):
使用时,只需输入您的 域名
、电子邮件
和 API密钥
。如下图所示:
手动安装 & 升级
点击查看 手动安装 & 升级
使用
- 若要将最新版本的压缩包直接下载到服务器,请运行以下命令:
1 | ARCH=$(uname -m) |
- 下载压缩包后,执行以下命令安装或升级 x-ui:
1 | ARCH=$(uname -m) |
通过Docker安装
点击查看 通过Docker安装
使用
安装Docker:
1
bash <(curl -sSL https://get.docker.com)
克隆仓库:
1
2git clone https://github.com/MHSanaei/3x-ui.git
cd 3x-ui运行服务:
1
docker compose up -d
或
1
2
3
4
5
6
7
8docker run -itd \
-e XRAY_VMESS_AEAD_FORCED=false \
-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
--network=host \
--restart=unless-stopped \
--name 3x-ui \
ghcr.io/mhsanaei/3x-ui:latest
更新至最新版本
1 | cd 3x-ui |
从Docker中删除3x-ui
1 | docker stop 3x-ui |
Nginx 设置
点击查看 反向代理配置
Nginx反向代理
1 | location / { |
Nginx子路径
- 确保
/sub
面板设置中的”面板url根路径”一致 - 面板设置中的
url
需要以/
结尾
1 | location /sub { |
Features
- 系统状态监控
- 在所有入站和客户端中搜索
- 深色/浅色主题
- 支持多用户和多协议
- 支持多种协议,包括 VMess、VLESS、Trojan、Shadowsocks、Dokodemo-door、Socks、HTTP、wireguard
- 支持 XTLS 原生协议,包括 RPRX-Direct、Vision、REALITY
- 流量统计、流量限制、过期时间限制
- 可自定义的 Xray配置模板
- 支持HTTPS访问面板(自建域名+SSL证书)
- 支持一键式SSL证书申请和自动续费
- 更多高级配置项目请参考面板
- 修复了 API 路由(用户设置将使用 API 创建)
- 支持通过面板中提供的不同项目更改配置。
- 支持从面板导出/导入数据库
默认面板设置
点击查看默认设置详情
用户名、密码、端口和 Web Base Path
如果您选择不修改这些设置,它们将随机生成(不适用于 Docker)。
Docker 的默认设置:
- 用户名: admin
- 密码: admin
- 端口: 2053
数据库管理:
您可以直接在面板中方便地进行数据库备份和还原。
- 数据库路径:
/etc/x-ui/x-ui.db
Web 基础路径
重置 Web 基础路径:
- 打开终端。
- 运行
x-ui
命令。 - 选择
重置 Web 基础路径
选项。
生成或自定义路径:
- 路径将会随机生成,或者您可以输入自定义路径。
查看当前设置:
- 要查看当前设置,请在终端中使用
x-ui settings
命令,或在x-ui
面板中点击查看当前设置
。
- 要查看当前设置,请在终端中使用
安全建议:
- 为了提高安全性,建议在URL结构中使用一个长的随机词。
示例:
http://ip:port/*webbasepath*/panel
http://domain:port/*webbasepath*/panel
WARP 配置
IP 限制
点击查看 IP 限制详情
使用方法
注意: 当使用 IP 隧道时,IP 限制将无法正常工作。
- 对于
v1.6.1
及之前的版本:- IP 限制功能已内置于面板中。
对于 v1.7.0
及更新的版本:
要启用 IP 限制功能,您需要安装 fail2ban
及其所需的文件,步骤如下:
在终端中运行
x-ui
命令,然后选择IP 限制管理
。您将看到以下选项:
- 更改封禁时长: 调整封禁时长。
- 解除所有封禁: 解除当前的所有封禁。
- 查看日志: 查看日志。
- Fail2ban 状态: 检查
fail2ban
的状态。 - 重启 Fail2ban: 重启
fail2ban
服务。 - 卸载 Fail2ban: 卸载带有配置的 Fail2ban。
在面板中通过设置
Xray 配置/log/访问日志
为./access.log
添加访问日志路径,然后保存并重启 Xray。
对于
v2.1.3
之前的版本:您需要在 Xray 配置中手动设置访问日志路径:
1
2
3
4
5"log": {
"access": "./access.log",
"dnsLog": false,
"loglevel": "warning"
},
对于
v2.1.3
及之后的版本:- 面板中直接提供了配置
access.log
的选项。
- 面板中直接提供了配置
Telegram 机器人
点击查看 Telegram 机器人
使用
Web 面板通过 Telegram Bot 支持每日流量、面板登录、数据库备份、系统状态、客户端信息等通知和功能。要使用机器人,您需要在面板中设置机器人相关参数,包括:
- 电报令牌
- 管理员聊天 ID
- 通知时间(cron 语法)
- 到期日期通知
- 流量上限通知
- 数据库备份
- CPU 负载通知
参考:
30 \* \* \* \* \*
- 在每个点的 30 秒处通知0 \*/10 \* \* \* \*
- 每 10 分钟的第一秒通知@hourly
- 每小时通知@daily
- 每天通知 (00:00)@weekly
- 每周通知@every 8h
- 每8小时通知
Telegram Bot 功能
- 定期报告
- 登录通知
- CPU 阈值通知
- 提前报告的过期时间和流量阈值
- 如果将客户的电报用户名添加到用户的配置中,则支持客户端报告菜单
- 支持使用UUID(VMESS/VLESS)或密码(TROJAN)搜索报文流量报告 - 匿名
- 基于菜单的机器人
- 通过电子邮件搜索客户端(仅限管理员)
- 检查所有入库
- 检查服务器状态
- 检查耗尽的用户
- 根据请求和定期报告接收备份
- 多语言机器人
注册 Telegram bot
与 Botfather 对话:
使用 /newbot 创建新机器人:你需要提供机器人名称以及用户名,注意名称中末尾要包含“bot”
启动您刚刚创建的机器人。可以在此处找到机器人的链接。
输入您的面板并配置 Telegram 机器人设置,如下所示:
在输入字段编号 3 中输入机器人令牌。
在输入字段编号 4 中输入用户 ID。具有此 id 的 Telegram 帐户将是机器人管理员。 (您可以输入多个,只需将它们用“ ,”分开即可)
- 如何获取TG ID? 使用 bot, 启动机器人,它会给你 Telegram 用户 ID。
API 路由
点击查看 API 路由
使用
- API 文档
/login
使用POST
用户名称 & 密码:{username: '', password: ''}
登录/panel/api/inbounds
以下操作的基础:
方法 | 路径 | 操作 |
---|---|---|
GET |
"/list" |
获取所有入站 |
GET |
"/get/:id" |
获取所有入站以及inbound.id |
GET |
"/getClientTraffics/:email" |
通过电子邮件获取客户端流量 |
GET |
"/createbackup" |
Telegram 机器人向管理员发送备份 |
POST |
"/add" |
添加入站 |
POST |
"/del/:id" |
删除入站 |
POST |
"/update/:id" |
更新入站 |
POST |
"/clientIps/:email" |
客户端 IP 地址 |
POST |
"/clearClientIps/:email" |
清除客户端 IP 地址 |
POST |
"/addClient" |
将客户端添加到入站 |
POST |
"/:id/delClient/:clientId" |
通过 clientId* 删除客户端 |
POST |
"/updateClient/:clientId" |
通过 clientId* 更新客户端 |
POST |
"/:id/resetClientTraffic/:email" |
重置客户端的流量 |
POST |
"/resetAllTraffics" |
重置所有入站的流量 |
POST |
"/resetAllClientTraffics/:id" |
重置入站中所有客户端的流量 |
POST |
"/delDepletedClients/:id" |
删除入站耗尽的客户端 (-1: all) |
POST |
"/onlines" |
获取在线用户 ( 电子邮件列表 ) |
*- clientId
项应该使用下列数据
环境变量
点击查看 环境变量
Usage
变量 | Type | 默认 |
---|---|---|
XUI_LOG_LEVEL | "debug" | "info" | "warn" | "error" |
"info" |
XUI_DEBUG | boolean |
false |
XUI_BIN_FOLDER | string |
"bin" |
XUI_DB_FOLDER | string |
"/etc/x-ui" |
XUI_LOG_FOLDER | string |
"/var/log" |
例子:
1 | XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go |
v2rayNG各平台客户端
Windows(v2rayN):地址
Android(v2rayNG):地址
IOS小火箭(shadowrocket):地址