The READMEs had not moved since 2026-07-07, 341 commits ago, and had drifted far enough to misdescribe the panel: AmneziaWG and MTProto inbounds were missing from the protocol list entirely, the outbound list predated PIA, and the API section still advertised Swagger rather than scoped, optionally expiring tokens. Add the two missing protocols plus a bullet each for what makes them notable — AmneziaWG runs on the embedded userspace netstack, so unlike the DKMS/awg-quick shape it originally shipped with there is nothing to install, and MTProto client edits hot-apply through the mtg-multi management API instead of bouncing the process. Fold the smaller additions into the bullets they belong to (HWID device limits, IP-limit exemptions, renewal cycles, inbound cloning, balancer-to-balancer fallback, geosite/geoip browsing, named subscription formats) and add one for PWA installability. Point documentation at docs.sanaei.dev, which the panel sidebar already links to and which supersedes the wiki, using each README's own locale where the docs site has one (fa/ru/zh). Bump the pinned install example to the current stable tag, note the .sha256 verification install.sh and update.sh now perform, and document XUI_NODE_TOKEN_KEY_FILE / XUI_NODE_TOKEN_KEY, which no markdown in the repo covered. All seven files move together so the language picker keeps pointing at equivalent documents.
12 KiB
English | فارسی | العربية | 中文 | Español | Русский | Türkçe
3X-UI 是一个先进的开源 Web 控制面板,用于管理 Xray-core 服务器。它提供简洁、多语言的界面,用于部署、配置和监控各种代理与 VPN 协议——从单台 VPS 到多节点部署。
3X-UI 作为原始 X-UI 项目的增强分支(fork),增加了更广泛的协议支持、更好的稳定性、按客户端的流量统计以及许多提升使用体验的功能。
Important
本项目仅供个人使用。请勿将其用于非法目的,也请勿在生产环境中使用。
功能特性
- 多协议入站 — VLESS、VMess、Trojan、Shadowsocks、WireGuard、AmneziaWG、Hysteria2、MTProto、HTTP、SOCKS (Mixed)、Dokodemo-door / Tunnel 和 TUN。
- 现代传输与安全 — TCP (Raw)、mKCP、WebSocket、gRPC、HTTPUpgrade 和 XHTTP,并通过 TLS、XTLS 和 REALITY 加密。
- 内置 AmneziaWG — 抗 DPI 的 WireGuard 直接在面板内的用户态网络栈上运行,无需内核模块、DKMS 或额外软件包。
- MTProto 代理 — 按客户端配置 FakeTLS 密钥、广告标签和配额,实时生效且不会断开已有连接。
- 回落 (Fallback) — 通过 Xray 的 fallback 功能在单个端口上提供多种协议(例如在 443 端口上同时使用 VLESS 和 Trojan)。
- 按客户端管理 — 流量配额、到期日期、可豁免受信任地址的 IP 限制、HWID 设备数限制、定时续期周期、实时在线状态,以及一键分享链接、二维码和订阅。
- 流量统计 — 按入站、按客户端、按出站统计,并支持重置控制。
- 多节点支持 — 从单一面板管理并扩展到多台服务器,并可将入站克隆到其他节点。
- 出站与路由 — WARP、NordVPN、PIA、自定义路由规则、支持均衡器间回退的负载均衡器,以及出站代理链。内置的 geosite 与 geoip 分类可直接在规则编辑器中浏览。
- 内置订阅服务器 — 提供 raw、JSON 和 Clash 输出,可依据客户端 User-Agent 自动选择,并支持自定义页面模板。
- Telegram 机器人,用于远程监控和管理。
- RESTful API,支持带作用域、可设置有效期的令牌,并提供面板内置的 API 参考文档。
- 可安装面板 (PWA) — 将 3X-UI 固定到桌面或手机主屏幕。
- 灵活的存储 — SQLite(默认)或 PostgreSQL。
- 13 种界面语言,支持深色和浅色主题。
- Fail2ban 集成,用于强制执行按客户端的 IP 限制。
截图
快速开始
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
若要安装特定版本,请在命令后附加对应的标签(例如 v3.7.0):
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) v3.7.0
若要安装滚动更新的 dev 版本(来自 main 的最新逐次提交预发布版本,而非稳定版本),请传入 dev-latest:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh) dev-latest
安装过程中会生成随机的用户名、密码和访问路径。安装完成后,运行 x-ui 打开管理菜单,您可以在其中启动/停止服务、查看或重置登录凭据、管理 SSL 证书等。
每个发布资源都会在其旁边附带一个 .sha256 校验和。install.sh 和更新程序都会据此校验压缩包,不匹配时中止。
完整文档(安装、配置、运维以及完整的 API 参考)请访问 docs.sanaei.dev。
无人值守安装
安装程序也可以非交互式运行,适用于 cloud-init。
设置 XUI_NONINTERACTIVE=1(或在无 TTY 的情况下通过管道传入),它就会全程
零提示地完成端到端安装,生成随机凭据并写入
/etc/x-ui/install-result.env。请参阅 deploy/:
- Cloud-init user-data — 在任意云平台上无人值守安装(Hetzner/AWS/DO/Vultr/GCP/Azure/Oracle)
- Hetzner Cloud 说明 — 在 Hetzner 上基于 cloud-init 的部署
支持的平台
操作系统: Ubuntu、Debian、Armbian、Fedora、CentOS、RHEL、AlmaLinux、Rocky Linux、Oracle Linux、Amazon Linux、Virtuozzo、Arch、Manjaro、Parch、openSUSE (Tumbleweed / Leap)、Alpine 和 Windows。
架构: amd64 · 386 · arm64 (aarch64) · armv7 · armv6 · armv5 · s390x。
数据库选项
3X-UI 支持两种后端,可在安装时选择:
- SQLite(默认)— 位于
/etc/x-ui/x-ui.db的单个文件。无需配置,适合中小型部署。 - PostgreSQL — 推荐用于大量客户端或多节点设置。安装程序可以为您在本地安装 PostgreSQL,或接受指向现有服务器的 DSN。
运行时通过环境变量选择后端(安装程序会为您写入 /etc/default/x-ui):
XUI_DB_TYPE=postgres
XUI_DB_DSN=postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable
将现有的 SQLite 安装迁移到 PostgreSQL
x-ui migrate-db --dsn "postgres://xui:password@127.0.0.1:5432/xui?sslmode=disable"
# 然后在 /etc/default/x-ui 中设置 XUI_DB_TYPE 和 XUI_DB_DSN 并重启:
systemctl restart x-ui
源 SQLite 文件保持不变;在确认新后端正常工作后,请手动删除它。
Docker
默认的 docker compose up -d 仍使用 SQLite。若要使用捆绑的 PostgreSQL 服务运行,请取消注释 docker-compose.yml 中的两行 XUI_DB_* 环境变量,并使用该 profile 启动:
docker compose --profile postgres up -d
该镜像捆绑了 Fail2ban(默认启用),用于强制执行按客户端的 IP 限制。Fail2ban 使用 iptables 封禁违规者,这需要 NET_ADMIN 权限。docker-compose.yml 已通过 cap_add 授予该权限;如果您改用 docker run 启动容器,请自行添加这些权限,否则封禁只会被记录而永远不会生效:
docker run -d --cap-add=NET_ADMIN --cap-add=NET_RAW ... ghcr.io/mhsanaei/3x-ui
环境变量
| 变量 | 说明 | 默认值 |
|---|---|---|
XUI_DB_TYPE |
数据库后端:sqlite 或 postgres |
sqlite |
XUI_DB_DSN |
PostgreSQL 连接字符串(当 XUI_DB_TYPE=postgres 时) |
— |
XUI_DB_FOLDER |
SQLite 数据库文件所在目录 | /etc/x-ui |
XUI_DB_MAX_OPEN_CONNS |
最大打开连接数(PostgreSQL 连接池) | — |
XUI_DB_MAX_IDLE_CONNS |
最大空闲连接数(PostgreSQL 连接池) | — |
XUI_INIT_WEB_BASE_PATH |
Web 面板的初始 URI 路径 | / |
XUI_ENABLE_FAIL2BAN |
启用基于 Fail2ban 的 IP 限制 | true |
XUI_LOG_LEVEL |
日志级别(debug、info、warning、error) |
info |
XUI_DEBUG |
启用调试模式 | false |
XUI_TUNNEL_HEALTH_MONITOR |
启用隧道健康监控(探测某个 URL,在连续多次失败后重启 xray;重启会断开所有客户端) | false |
XUI_TUNNEL_HEALTH_PROXY |
探测请求所经过的代理;将其指向本地 xray 入站,使探测能够测试隧道(例如 socks5://127.0.0.1:1080)。留空表示探测仅检查主机连通性 |
— |
XUI_TUNNEL_HEALTH_URL |
用于检测隧道健康状况的探测 URL | https://www.cloudflare.com/cdn-cgi/trace |
XUI_TUNNEL_HEALTH_INTERVAL |
两次探测之间的间隔 | 30s |
XUI_TUNNEL_HEALTH_TIMEOUT |
单次探测的超时时间 | 10s |
XUI_TUNNEL_HEALTH_FAILURES |
触发重启前的连续失败次数 | 3 |
XUI_TUNNEL_HEALTH_COOLDOWN |
两次连续重启之间的最小间隔 | 5m |
NODE_TOKEN_ENCRYPTION |
节点 API 令牌的静态加密:off、migration 或 required(注意:无 XUI_ 前缀) |
off |
XUI_NODE_TOKEN_KEY_FILE |
JSON 密钥环(权限 0600),包含活动密钥 ID 及其 base64 编码的 32 字节密钥 |
/etc/x-ui/node_token_key.json |
XUI_NODE_TOKEN_KEY |
单个 base64 编码的 32 字节密钥,仅在无法加载密钥文件时使用 | — |
完整列表请参阅环境变量参考。
支持的语言
面板界面提供 13 种语言:
English · فارسی · العربية · 中文(简体) · 中文(繁體) · Español · Русский · Українська · Türkçe · Tiếng Việt · 日本語 · Bahasa Indonesia · Português (Brasil)
贡献
欢迎贡献。在提交 issue 或 pull request 之前,请阅读贡献指南。
特别感谢
致谢
- Iran v2ray rules (许可证: GPL-3.0): 增强的 v2ray/xray 和 v2ray/xray-clients 路由规则,内置伊朗域名,专注于安全性和广告拦截。
- Russia v2ray rules (许可证: GPL-3.0): 此仓库包含基于俄罗斯被阻止域名和地址数据自动更新的 V2Ray 路由规则。
社区工具
社区围绕 3x-ui 构建的工具和集成。
- terraform-provider-3x-ui (许可证: MIT): 使用 Terraform / OpenTofu 通过代码管理入站、客户端、面板设置和 Xray 配置。
支持项目
如果这个项目对您有帮助,您可以给它一个🌟




