Xray panel supporting multi-protocol multi-user expire day & traffic & ip limit (Vmess & Vless & Trojan & ShadowSocks & Wireguard)
Find a file
2026-06-03 00:19:38 +03:30
.github chore: bump bundled Xray-core to v26.6.1 2026-06-01 10:24:42 +02:00
.vscode feat(postgres): in-panel backup/restore and consistent CLI backend 2026-05-31 17:53:34 +02:00
config v3.2.6 2026-06-02 04:20:53 +02:00
database fix(migrate): relax legacy freedom finalRules so reverse egress works on existing installs 2026-06-02 16:07:26 +02:00
frontend fix(hysteria2): emit pinSHA256 as hex in subscriptions, not base64 2026-06-02 18:52:26 +02:00
logger add log rotate to 3xui.log file to avoid disk space consumption (#4277) 2026-05-13 17:03:56 +02:00
media docs(readme): revamp README and sync all translations 2026-06-02 03:03:14 +02:00
sub fix(sub): advertise routable inbound Listen in subscription links 2026-06-02 22:01:43 +02:00
tools/openapigen feat: complete Zod migration of frontend + bulk client batching (#4599) 2026-05-27 04:26:50 +02:00
util fix(db): make password-hash migration idempotent to prevent lock-out (#4612) 2026-06-01 20:48:12 +02:00
web fix(settings): fall back to defaults for empty/NULL setting values 2026-06-02 22:26:22 +02:00
windows_files Update OpenSSL installer to version 3.6.0 2026-01-05 18:49:30 +01:00
xray fix(online): scope online status per node instead of a global union 2026-06-02 18:33:21 +02:00
.dockerignore fix(inbound): re-derive auto tags on edit and keep node tags consistent 2026-06-01 05:08:29 +02:00
.env.example fix: display of outbound traffic (#3604) 2025-12-23 15:43:25 +01:00
.gitattributes fix(inbound): re-derive auto tags on edit and keep node tags consistent 2026-06-01 05:08:29 +02:00
.gitignore Frontend rewrite: React + TypeScript with AntD v6 (#4498) 2026-05-23 15:21:45 +02:00
.nvmrc Security hardening: sessions, SSRF, CSP nonce, CSRF logout, trusted proxies (#4275) 2026-05-13 12:52:52 +02:00
CONTRIBUTING.md Frontend rewrite: React + TypeScript with AntD v6 (#4498) 2026-05-23 15:21:45 +02:00
docker-compose.yml fix(docker): grant NET_ADMIN/NET_RAW so fail2ban IP-limit bans apply 2026-06-01 17:17:49 +02:00
DockerEntrypoint.sh fix(fail2ban): escape percent signs in 3x-ipl datepattern (#4328) 2026-05-13 01:49:09 +02:00
Dockerfile fix(docker): make x-ui CLI menu work inside containers 2026-06-02 21:26:47 +02:00
DockerInit.sh chore: bump bundled Xray-core to v26.6.1 2026-06-01 10:24:42 +02:00
go.mod Update Go module dependency versions 2026-06-01 09:05:42 +02:00
go.sum Update Go module dependency versions 2026-06-01 09:05:42 +02:00
install.sh feat(postgres): in-panel backup/restore and consistent CLI backend 2026-05-31 17:53:34 +02:00
LICENSE 3x-ui 2023-02-09 22:48:06 +03:30
main.go feat(postgres): in-panel backup/restore and consistent CLI backend 2026-05-31 17:53:34 +02:00
README.ar_EG.md Remove .svg extension from shields URLs in READMEs 2026-06-02 03:16:54 +02:00
README.es_ES.md Remove .svg extension from shields URLs in READMEs 2026-06-02 03:16:54 +02:00
README.fa_IR.md Remove .svg extension from shields URLs in READMEs 2026-06-02 03:16:54 +02:00
README.mdAminbarani13 Rename README.md to README.mdAminbarani13 2026-06-03 00:19:38 +03:30
README.ru_RU.md Remove .svg extension from shields URLs in READMEs 2026-06-02 03:16:54 +02:00
README.zh_CN.md Remove .svg extension from shields URLs in READMEs 2026-06-02 03:16:54 +02:00
update.sh feat(bash): prompt for PostgreSQL (#4472) 2026-05-23 19:52:37 +02:00
x-ui.rc fix(alpine): restart_xray uses rc-service; OpenRC reload reads pidfile contents 2026-05-11 09:05:36 +02:00
x-ui.service.arch fix(arch): correct x-ui service path (#4213) 2026-05-10 17:17:33 +02:00
x-ui.service.debian [feat] restart xray-core from cli #3825 2026-02-20 00:03:16 +01:00
x-ui.service.rhel [feat] restart xray-core from cli #3825 2026-02-20 00:03:16 +01:00
x-ui.sh fix(docker): make x-ui CLI menu work inside containers 2026-06-02 21:26:47 +02:00

English | فارسی | العربية | 中文 | Español | Русский

3x-ui

Release Build GO Version Downloads License Go Reference Go Report Card

3X-UI 是一个先进的开源 Web 控制面板,用于管理 Xray-core 服务器。它提供简洁、多语言的界面,用于部署、配置和监控各种代理与 VPN 协议——从单台 VPS 到多节点部署。

3X-UI 作为原始 X-UI 项目的增强分支fork增加了更广泛的协议支持、更好的稳定性、按客户端的流量统计以及许多提升使用体验的功能。

Important

本项目仅供个人使用。请勿将其用于非法目的,也请勿在生产环境中使用。

功能特性

  • 多协议入站 — VLESS、VMess、Trojan、Shadowsocks、WireGuard、Hysteria2、HTTP、SOCKS (Mixed)、Dokodemo-door / Tunnel 和 TUN。
  • 现代传输与安全 — TCP (Raw)、mKCP、WebSocket、gRPC、HTTPUpgrade 和 XHTTP并通过 TLS、XTLS 和 REALITY 加密。
  • 回落 (Fallback) — 通过 Xray 的 fallback 功能在单个端口上提供多种协议(例如在 443 端口上同时使用 VLESS 和 Trojan
  • 按客户端管理 — 流量配额、到期日期、IP 限制、实时在线状态,以及一键分享链接、二维码和订阅。
  • 流量统计 — 按入站、按客户端、按出站统计,并支持重置控制。
  • 多节点支持 — 从单一面板管理并扩展到多台服务器。
  • 出站与路由 — WARP、NordVPN、自定义路由规则、负载均衡器和出站代理链。
  • 内置订阅服务器,支持多种输出格式。
  • Telegram 机器人,用于远程监控和管理。
  • RESTful API,带有面板内置的 Swagger 文档。
  • 灵活的存储 — SQLite默认或 PostgreSQL。
  • 13 种界面语言,支持深色和浅色主题。
  • Fail2ban 集成,用于强制执行按客户端的 IP 限制。

截图

点击展开 Overview Inbounds Add client Configs

快速开始

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

安装过程中会生成随机的用户名、密码和访问路径。安装完成后,运行 x-ui 打开管理菜单,您可以在其中启动/停止服务、查看或重置登录凭据、管理 SSL 证书等。

完整文档请参阅 项目Wiki

支持的平台

操作系统: 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 数据库后端:sqlitepostgres 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_ENABLE_FAIL2BAN 启用基于 Fail2ban 的 IP 限制 true
XUI_LOG_LEVEL 日志级别(debuginfowarningerror info
XUI_DEBUG 启用调试模式 false

支持的语言

面板界面提供 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 配置。

支持项目

如果这个项目对您有帮助,您可以给它一个🌟

Buy Me A Coffee
Crypto donation button by NOWPayments

随时间变化的星标数

Stargazers over time