通过 Docker 搭建 3x-ui 面板

前提条件,一台海外服务器来搭建面板和节点,以及一个域名用来后续 SSL 证书申请和配置,当然域名不是必须但是方便快捷。

部署面板

使用下方提供的 Docker Compose 文件即可一键快速部署面板。

由于容器使用 host 网络模式,直接与宿主机共用一个网络,因此无需映射内部端口至宿主机,即可通服务器 IP 加默认的面板端口 2053,用户名 admin,密码 admin,进入 WEB 面板界面进行配置。

services:
  3xui:
    image: ghcr.io/mhsanaei/3x-ui:latest
    container_name: 3xui_app
    volumes:
      - ./db/:/etc/x-ui/
      - ./cert/:/root/cert/
    environment:
      XRAY_VMESS_AEAD_FORCED: "false"
      XUI_ENABLE_FAIL2BAN: "true"
    tty: true
    network_mode: host
    restart: always

配置面板

在此之前,如果你按照前提条件搞了一个域名准备用来配置这些内容,就需要先给这个域名申请 SSL 证书,请自行寻找教程,推荐 acme.sh 脚本申请或者使用更方便快捷的宝塔面板申请皆可。

请点击左侧菜单栏的“面板设置”,以下是我的常用的设置建议:

我一般不开启面板自带的订阅链接服务功能,面板所提供的订阅文件格式并未兼容 Clash 订阅格式,至于如何订阅下面会提到方法。

而其余的配置基本保持默认。

配置节点

以下是一份节点协议搭配建议,按“抗封锁程度”排行,数据来源于 L 站一个帖子

VLESS+XHTTP+TLS(CDN,上下行分离) >
VLESS+XHTTP+TLS(CDN) =
VLESS+XHTTP(上下行分离) >
VLESS+XHTTP+Reality >
VLESS+XHTTP+TLS =
Naive =
Meek >
VLESS+Vision+Raw+Reality >
VLESS+Vision+Raw+TLS =
AnyTLS >
Hysteria2 =
TUIC >
VLESS+gRPC+Reality >
VLESS+gRPC+TLS >
VLESS+WS+Reality =
VLESS+HTTPUpgrade+Reality >
VLESS+WS+TLS =
VLESS+HTTPUpgrade+TLS >
VLESS+KCP+Reality >
VLESS+KCP+TLS >
VLESS+Raw+Reality >
VLESS+Raw+TLS >
VMESS >
以下均不推荐使用
Shadowsocks =
Trojan >
WireGuard >
Socks >
HTTP

VLESS + TCP + TLS

这个协议搭配比较简单容易配置,流量特征不算太明显,如果 GFW 查的不严基本不会阻断服务器 IP。

请点击左侧菜单栏的“入站列表”,进行添加入站:

创建后,即可自行添加多个客户端即节点了,默认在创建入站列表时已经自带一个客户端即节点了。

一切就绪后,我们在入站列表中点击菜单的“导出链接”,并复制好,来到 v2ray 转 clash 节点 工具站,粘贴刚才复制的节点链接即可在下方得到用于 Clash 订阅的格式文件了。

如果是自己用,点击“预览 Clash”,在弹窗的下方点击“下载”即可得到订阅文件,自行添加到订阅软件中。

如果想分享给朋友用,可以用 Nginx 运行一个静态网站,在网站目录上传订阅文件,再通过链接分发即可。

其余协议正在学习中...