[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-83944":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":8,"rankLanguage":8,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":8,"pushedAt":8,"updatedAt":24,"readmeContent":25,"aiSummary":8,"trendingCount":14,"starSnapshotCount":14,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},83944,"3x-ui","Teminuosi\u002F3x-ui","Teminuosi",null,"TypeScript",68,35,51,7,0,8,15,31,4.67,"GNU General Public License v3.0",false,"main",true,[],"2026-06-12 02:04:36","[中文](\u002FREADME.md) | [English (上游原版)](https:\u002F\u002Fgithub.com\u002FMHSanaei\u002F3x-ui)\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\".\u002Fmedia\u002F3x-ui-dark.png\">\n    \u003Cimg alt=\"3x-ui\" src=\".\u002Fmedia\u002F3x-ui-light.png\">\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FTeminuosi\u002F3x-ui.svg)](https:\u002F\u002Fgithub.com\u002FTeminuosi\u002F3x-ui\u002Freleases)\n[![Build](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Factions\u002Fworkflow\u002Fstatus\u002FTeminuosi\u002F3x-ui\u002Frelease.yml.svg)](https:\u002F\u002Fgithub.com\u002FTeminuosi\u002F3x-ui\u002Factions)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-GPL%20V3-blue.svg?longCache=true)](https:\u002F\u002Fwww.gnu.org\u002Flicenses\u002Fgpl-3.0.en.html)\n\n**3X-UI** 是一个基于网页的 Xray-core 控制面板，用来配置和监控各种 VPN \u002F 代理协议。\n\n本仓库是在 [MHSanaei\u002F3x-ui](https:\u002F\u002Fgithub.com\u002FMHSanaei\u002F3x-ui) 基础上做的**二次开发分支（fork）**，目标是让\"搭协议\"这件事**点几下就能完成**：内置一键协议模板、中转、多服务器下发、批量管理、扫码导入等功能，界面做了中文化优化。\n\n> [!IMPORTANT]\n> 本项目仅供个人学习与通信使用，请勿用于任何非法用途，也不建议用于生产环境。\n\n---\n\n## 快速开始（一条命令全自动安装）\n\n在你的 VPS（Debian \u002F Ubuntu \u002F CentOS 等）上，以 root 执行下面任一条命令，零交互装完：\n\n```bash\n# 方式一：带域名 —— 自动申请 SSL 证书并把证书配到面板，其余全部用默认值\nXUI_DOMAIN=panel.example.com bash \u003C(curl -Ls https:\u002F\u002Fraw.githubusercontent.com\u002FTeminuosi\u002F3x-ui\u002Fmain\u002Finstall.sh)\n\n# 方式二：不带域名 —— 全部用默认值、随机端口，不申请证书\nXUI_AUTO=1 bash \u003C(curl -Ls https:\u002F\u002Fraw.githubusercontent.com\u002FTeminuosi\u002F3x-ui\u002Fmain\u002Finstall.sh)\n```\n\n装完后，在服务器上输入 `x-ui` 即可打开管理菜单（重启面板、查看账号、改端口、更新\u002F卸载等）。\n\n> - 设了 `XUI_DOMAIN` 会自动开启全自动模式。若你的 shell 下行内变量没生效，可以先下载再执行：\n>   ```bash\n>   curl -Ls https:\u002F\u002Fraw.githubusercontent.com\u002FTeminuosi\u002F3x-ui\u002Fmain\u002Finstall.sh -o \u002Ftmp\u002Fi.sh\n>   XUI_DOMAIN=panel.example.com bash \u002Ftmp\u002Fi.sh\n>   ```\n> - 想自己一步步选（端口、SSL 方式等），去掉环境变量直接运行同一条命令即可进入交互式安装。\n\n### 更新 \u002F 卸载\n\n```bash\nx-ui            # 打开管理菜单，菜单里有\"更新\"\"卸载\"等选项\n```\n\n---\n\n## 本分支相比原版做了哪些改动\n\n下面这些是本 fork 在上游 3x-ui 之上**新增 \u002F 改造**的功能：\n\n### 🚀 一键协议模板（推荐协议）\n- \"添加入站\"弹窗顶部有 **推荐协议** 开关，默认开启：直接出现模板画廊，点一下就填好一整套可用配置。\n- 内置 5 个主流模板：\n  - **VLESS + Reality（Vision）** — 主力首选，免证书、抗封锁强（推荐）\n  - **VLESS + Reality（gRPC）** — Reality 的 gRPC 变体，免证书\n  - **Trojan + TLS** — 经典 TLS 伪装，需域名+证书\n  - **VMess + WS + TLS** — 可走 CDN 中转，需域名+证书\n  - **Hysteria2** — 基于 QUIC，速度快，需域名+证书（注意需 sing-box \u002F NekoBox 客户端，Xray 内核不支持）\n- **一键添加全部推荐**：一次性把所有可用模板都建好。面板已配好域名证书时建全部 5 个；没配证书时只建 2 个免证书的 Reality。\n- 关闭\"推荐协议\"开关即回到完整的手动配置（协议 \u002F 流 \u002F 安全 \u002F 嗅探 \u002F 高级）。\n\n### 🔀 中转（落地分流）\n- \"添加中转\"按钮：入口服务器 → 落地服务器分流。\n- 落地端**粘贴分享链接即可自动识别填入**（支持 vless \u002F vmess \u002F trojan \u002F shadowsocks \u002F socks \u002F http），也可手动填写。\n- 自带**连通性测试**：建完后点测试，能看到入口到落地的延迟，确认链路通不通。\n- 入口默认用免证书的 Reality，自动创建入口入站 + 落地出站 + 路由规则。\n\n### 🖧 多服务器部署（部署到）\n- 在\"服务器\"页注册远程服务器后，添加入站时可选 **部署到** 哪台服务器（含一键模板和\"一键添加全部推荐\"）。\n- 离线服务器会显示但灰掉不可选。\n\n### 📋 入站 \u002F 客户端列表增强\n- **批量删除**：入站列表支持勾选 + 批量删除，并在删除时提示一并清理\"孤儿客户端\"（删除后不再归属任何入站的客户端）。\n- **来源标识**：入站列表给中转入口打\"中转\"标签；客户端列表显示来源（中转 \u002F 入站 \u002F 独立）并支持筛选。\n- **行内二维码**：每条入站直接显示**协议二维码**（多客户端则每个客户端一个），手机用小火箭等客户端直接扫码导入，不再只能复制链接。\n\n### 🔗 共享订阅\n- 推荐模板 \u002F 一键创建的节点共用同一个订阅 ID，**一个订阅链接即可聚合全部节点**，导入客户端一次到位。\n\n### 🈶 中文化\n- \"节点\"统一改称\"**服务器**\"等界面用词优化（仅显示文案）。\n\n> 上游原有的 SQLite \u002F PostgreSQL 双数据库、Docker 部署等能力均保留，见下文。\n\n---\n\n## 常用操作指引\n\n**搭一个协议（最常用）**\n1. 左侧「入站列表」→「添加入站」。\n2. 顶部「推荐协议」保持开启 → 在模板画廊点一个（默认已选中推荐的 VLESS+Reality）。\n3. 只需填：备注、总流量（可留 0 = 不限）、流量重置、到期时间。\n4. 点「创建」→ 回到列表，点该行的二维码图标，手机扫码导入客户端即可。\n\n**搭中转**\n1. 「入站列表」→「添加中转」。\n2. 落地框粘贴落地服务器的分享链接（自动识别），或手动填写。\n3. 点「测试」确认入口到落地连通（有延迟即代表通）。\n4. 点「创建」，会自动建好入口入站、落地出站与路由规则。\n\n**一个订阅管理全部**\n- 用「推荐协议 \u002F 一键添加全部推荐」创建的节点共用一个订阅链接；把该订阅地址导入客户端，即可一次性同步所有节点。\n\n---\n\n## 数据库选项\n\n3X-UI 支持两种数据库后端，安装时选择：\n\n- **SQLite**（默认）—— 单文件 `\u002Fetc\u002Fx-ui\u002Fx-ui.db`，零配置，适合中小规模部署。\n- **PostgreSQL** —— 适合客户端数量大或多服务器场景。安装脚本可帮你本地装好 PostgreSQL，或填入已有数据库的 DSN。\n\n运行时通过环境变量选择后端（安装脚本会写入 `\u002Fetc\u002Fdefault\u002Fx-ui`）：\n\n```\nXUI_DB_TYPE=postgres\nXUI_DB_DSN=postgres:\u002F\u002Fxui:password@127.0.0.1:5432\u002Fxui?sslmode=disable\n```\n\n### 把现有 SQLite 迁移到 PostgreSQL\n\n```bash\nx-ui migrate-db --dsn \"postgres:\u002F\u002Fxui:password@127.0.0.1:5432\u002Fxui?sslmode=disable\"\n# 然后在 \u002Fetc\u002Fdefault\u002Fx-ui 中设置 XUI_DB_TYPE 与 XUI_DB_DSN，重启：\nsystemctl restart x-ui\n```\n\n迁移不会动原 SQLite 文件；确认新后端无误后再手动删除。\n\n### Docker\n\n默认 `docker compose up -d` 仍使用 SQLite。要使用内置的 PostgreSQL 服务，取消 `docker-compose.yml` 中两行 `XUI_DB_*` 环境变量的注释，并以 profile 启动：\n\n```bash\ndocker compose --profile postgres up -d\n```\n\n---\n\n## 致谢与开源协议\n\n- 本项目基于 [MHSanaei\u002F3x-ui](https:\u002F\u002Fgithub.com\u002FMHSanaei\u002F3x-ui)（GPL-3.0）二次开发，遵循 **GPL-3.0** 协议开源。\n- 特别感谢 [alireza0](https:\u002F\u002Fgithub.com\u002Falireza0\u002F)。\n- 路由规则致谢：[Iran v2ray rules](https:\u002F\u002Fgithub.com\u002Fchocolate4u\u002FIran-v2ray-rules)（GPL-3.0）、[Russia v2ray rules](https:\u002F\u002Fgithub.com\u002Frunetfreedom\u002Frussia-v2ray-rules-dat)（GPL-3.0）。\n",2,"2026-06-11 04:11:53","CREATED_QUERY"]