3x-ui - Xray面板支持多协议多用户到期日&流量&IP限制(Vmess & Vless & Trojan & ShadowSocks & Wireguard

Created at: 2023-02-10 03:16:57
Language: JavaScript
License: GPL-3.0

3X-用户界面

先进的 Web 面板 • 基于 Xray Core 构建

GO版本 下载 许可证

免責聲明:本项目仅供个人学习和交流,请勿用于非法目的,请勿在生产环境中使用

如果这个项目对你有帮助,你不妨给它一个🌟

图像
  • USDT (TRC20):
    TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC

安装和升级

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

安装自定义版本

要安装所需的版本,请将该版本添加到安装命令的末尾。例如,ver :

v2.2.0

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

SSL证书

点击查看SSL证书

Cloudflare的

管理脚本具有用于 Cloudflare 的内置 SSL 证书应用程序。若要使用此脚本申请证书,需要满足以下条件:

  • Cloudflare 注册电子邮件
  • Cloudflare 全球 API 密钥
  • 域名已通过 cloudflare 解析到当前服务器

1:在终端上运行命令,然后选择 。

x-ui
Cloudflare SSL Certificate

Certbot (英语)

apt-get install certbot -y
certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
certbot renew --dry-run

提示:Certbot 也内置于管理脚本中。你可以运行 x-ui 命令,然后选择 SSL 证书管理。

手动安装和升级

点击查看手动安装详情

用法

  1. 若要将最新版本的压缩包直接下载到服务器,请运行以下命令:
ARCH=$(uname -m)
case "${ARCH}" in
  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
  i*86 | x86) XUI_ARCH="386" ;;
  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
  armv7* | armv7) XUI_ARCH="armv7" ;;
  armv6* | armv6) XUI_ARCH="armv6" ;;
  armv5* | armv5) XUI_ARCH="armv5" ;;
  *) XUI_ARCH="amd64" ;;
esac


wget https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz
  1. 下载压缩包后,执行以下命令安装或升级 x-ui:
ARCH=$(uname -m)
case "${ARCH}" in
  x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
  i*86 | x86) XUI_ARCH="386" ;;
  armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
  armv7* | armv7) XUI_ARCH="armv7" ;;
  armv6* | armv6) XUI_ARCH="armv6" ;;
  armv5* | armv5) XUI_ARCH="armv5" ;;
  *) XUI_ARCH="amd64" ;;
esac

cd /root/
rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
cp x-ui/x-ui.sh /usr/bin/x-ui
cp -f x-ui/x-ui.service /etc/systemd/system/
mv x-ui/ /usr/local/
systemctl daemon-reload
systemctl enable x-ui
systemctl restart x-ui

使用 Docker 安装

点击查看 Docker 详细信息

用法

  1. 安装 Docker:

    bash <(curl -sSL https://get.docker.com)
  2. 克隆项目存储库:

    git clone https://github.com/MHSanaei/3x-ui.git
    cd 3x-ui
  3. 启动服务

    docker compose up -d

    docker 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

更新到最新版本

 cd 3x-ui
 docker compose down
 docker compose pull 3x-ui
 docker compose up -d

从 Docker 中删除 3x-UI

 docker stop 3x-ui
 docker rm 3x-ui
 cd --
 rm -r 3x-ui

推荐的操作系统

  • Ubuntu的 20.04+
  • Debian 11+
  • CentOS 8+
  • 软呢帽 36+
  • Arch Linux
  • 曼扎罗山
  • 阿姆比安
  • AlmaLinux 9+
  • 洛基林ux 9+

支持的体系结构和设备

单击查看支持的体系结构和设备详细信息

我们的平台提供与各种架构和设备的兼容性,确保在各种计算环境中的灵活性。以下是我们支持的关键架构:

  • amd64:这种流行的架构是个人计算机和服务器的标准,可以无缝地适应大多数现代操作系统。

  • x86 / i386:此体系结构在台式机和笔记本电脑中广泛采用,享有众多操作系统和应用程序的广泛支持,包括但不限于 Windows、macOS 和 Linux 系统。

  • armv8 / arm64 / aarch64:为智能手机和平板电脑等当代移动和嵌入式设备量身定制,Raspberry Pi 4、Raspberry Pi 3、Raspberry Pi Zero 2/Zero 2 W、Orange Pi 3 LTS 等设备就是例证。

  • armv7 / arm / arm32:作为较旧的移动和嵌入式设备的架构,它仍然广泛用于Orange Pi Zero LTS、Orange Pi PC Plus、Raspberry Pi 2等设备。

  • armv6 / arm / arm32:面向非常旧的嵌入式设备,这种架构虽然不太流行,但仍在使用中。Raspberry Pi 1、Raspberry Pi Zero/Zero W 等设备都依赖于这种架构。

  • armv5 / arm / arm32:一种主要与早期嵌入式系统相关的旧架构,目前不太常见,但仍可能出现在早期 Raspberry Pi 版本和一些较旧的智能手机等传统设备中。

语言

  • 英语
  • 波斯语
  • 中文
  • 俄语
  • 越南语
  • 西班牙语
  • 印度尼西亚语

特征

  • 系统状态监控
  • 在所有入站和客户端中搜索
  • “深色/浅色”主题
  • 支持多用户和多协议
  • 支持协议,包括 VMess、VLESS、Trojan、Shadowsocks、Dokodemo-door、Socks、HTTP、wireguard
  • 支持 XTLS 原生协议,包括 RPRX-Direct、Vision、REALITY
  • 流量统计、流量限制、过期时限
  • 可定制的 X 射线配置模板
  • 支持HTTPS访问面板(自建域名+SSL证书)
  • 支持一键式SSL证书申请和自动续费
  • 更高级的配置项目请参考面板
  • 修复 API 路由(将使用 API 创建用户设置)
  • 支持通过面板中提供的不同项目更改配置。
  • 支持从面板导出/导入数据库

默认设置

点击查看默认设置详情

信息

点击查看 WARP 配置详细信息

用法

如果要在 v2.1.0 之前使用 WARP 路由,请按照以下步骤操作:

1.SOCKS 代理模式下安装 WARP:

bash <(curl -sSL https://raw.githubusercontent.com/hamid-gh98/x-ui-scripts/main/install_warp_proxy.sh)

2. 如果你已经安装了warp,则可以使用以下命令进行卸载:

warp u

3.在面板中打开你需要的配置

配置功能:

  • 屏蔽广告
  • 将 Google + Netflix + Spotify + OpenAI (ChatGPT) 路由到 WARP
  • 修复Google 403错误

IP 限制

点击查看 IP 限制详情

用法

注意:使用 IP 隧道时,IP 限制无法正常工作

  • 适用于以下版本:

    v1.6.1

    • 面板内置了 IP 限制。
  • 对于版本及更新版本:

    v1.7.0

    • 要使 IP 限制正常工作,你需要按照以下步骤安装 fail2ban 及其所需的文件:

      1. 在 shell 中使用该命令。
        x-ui
      2. 选择。
        IP Limit Management
      3. 根据你的需要选择合适的选项。
    • 确保你的 Xray 配置上有 ./access.log 在 v2.1.3 之后,我们有一个选项

      "log": {
      "access": "./access.log",
      "dnsLog": false,
      "loglevel": "warning"
      },

电报机器人

点击查看 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 机器人

  • 在你的 Telegram 帐户中启动 BotfatherBotfather(博特父亲)

  • 使用 /newbot 命令创建新的机器人:它会问你 2 个问题,机器人的名称和用户名。请注意,用户名必须以“bot”一词结尾。创建新机器人

  • 启动你刚刚创建的机器人。可以在此处找到机器人的链接。令 牌

  • 输入你的面板并配置 Telegram 机器人设置,如下所示:面板配置

在输入字段编号 3 中输入机器人令牌。 在输入字段编号 4 中输入用户 ID。具有此 id 的 Telegram 帐户将是机器人管理员。 (你可以输入多个,只需将它们分开即可,)

  • 如何获取 Telegram 用户 ID?使用此机器人,启动机器人,它将为你提供 Telegram 用户 ID。用户 ID

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

  • client.id
    适用于 VMESS 和 VLESS

  • client.password
    对于 TROJAN

  • client.email
    用于 Shadowsocks

  • API 文档

  • 跑进 Postman

环境变量

点击查看环境变量详细信息

用法

变量 类型 违约
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"

例:

XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go

预览

1 2 3 4 5 6 7

特别鸣谢

确认

  • 伊朗 v2ray 规则(许可证:GPL-3.0):增强的 v2ray/xray 和 v2ray/xray-clients 路由规则,内置伊朗域,专注于安全和广告拦截。
  • 越南广告拦截规则(许可证:GPL-3.0):托管在越南的托管域名,对越南语效率最高。

随时间推移的观星者

随时间推移的观星者