使用X-UI面板快速搭建多协议
2022.04.09更新:
由于原作者开发进度已经放慢,我自己也在学习go语言,于是将原作者的仓库进行了fork并进行了功能上的更新,目前拓展的功能包括
- 面板设置查询(已实现)
- 流量使用每日提醒(已实现)
- 面板登录提醒(待实现)
- 节点到期提醒(待实现)
- 更多证书申请方式(待实现)
- 面板登录白名单设定(待实现)
同时也开放了issue区,希望大家可以进行使用并给我反馈,我会不定期向原仓库进行PR,一起改善X-UI,项目地址请点击此处
使用代理服务进行科学上网,重要的是代理服务端的搭建。在我们搭建过程中,往往需要依照自身情况选择适合自己的搭建方式。如采用官方推荐的脚本进行安装,但官方推荐的脚本一般都对新手不够友好,常常需要自行拓展方可安装成功。也有各路大神实现的多合一一键安装脚本,这些脚本在一定程度上降低了新手搭建服务端的难度。此外还有一类搭建方法,那就是通过面板来搭建。
使用面板来搭建,好处在于:由于拥有UI界面,信息展示相当直观,更便于我们新手操作(无需命令行)。那么今天我们就来介绍一下使用X-UI来搭建我们的代理服务。
使用X-UI搭建代理服务,具有以下优点:
- 支持系统状态监控:如CPU、内存、硬盘等状态
- 支持多用户多协议,网页可视化操作
- 支持流量统计
- 支持自定义Xray配置模板
- 支持HTTPS访问面板
- 支持面板自定义端口,账号与密码
- 快速生成分享连接或二维码
- 支持CDN套用
- 支持Fallback分流设置
前期准备
- VPS
- domain
- Cloudfare Account
- Acme
这里需要注意的是,我们注册好的域名必须要先在Cloudfare内增加A记录,方便我们申请SSL证书。
如果不知道如何添加A记录,请各位自行Google。
开始搭建
- 使用Github进入X-UI官方仓库:https://github.com/sprov065/x-ui
复制官方推荐的脚本:
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)
- 将上述代码复制到你的VPS内执行,如果提示未安装curl工具,请先安装curl工具
执行完成后,我们应该能看到以下输出内容

面板安装完成后我们在/usr/local/x-ui内可以找到关于面板的配置内容。
- 进入Cloudflare官方网站,新增A记录(子域名),指向VPS的IP地址

请注意,添加后先不要开启代理,仅限DNS解析。怎样判断是否开启CDN代理呢?很简单,代理状态下方有一片云朵,橙色云朵代表开启CDN,灰色云朵代表仅限DNS解析。
添加完成后,我们打开新的网页,在网址输入栏内输入你的域名:54321(面板初始端口),回车后即可进入到我们的登录界面。
登录界面是这个样子的:

我们使用默认的用户名与密码登录,即可进入X-UI的设置界面:

强烈建议登录之后在立即在面板设置内重置面板端口与用户名、登录密码,然后重启面板。否则会被人以默认账户密码进行尝试登录。
- 新建节点
点击“入站列表”,新增入站节点:

进行节点设置:

如果没有套CDN或其他需求,可以不做其他设置,点击“添加”完成添加节点。
- 获取链接或者二维码
添加节点后,我们点击查看,点击右下方复制连接获取连接。在V2rayN客户端内添加即可。

获取二维码,点击二维码图标即可

至此,使用X-UI搭建的流程就完成了。
需要说明的是,以上步骤搭建完成后并不支持CDN套用。如果想支持CDN套用,则继续参考以下步骤
CDN套用
如果需要支持CDN套用,还需要申请一套SSL证书。这一套证书实际上是用于你的子域名的认证的,请不要与主域名的证书混淆!
在这里我们使用ACME来申请证书。在本教程中使用的申请模式为DNS API模式,简单来说就是利用你域名的nameserver商提供的API完成证书签发,使用这种模式不依赖于端口开放等,成功率目前来看是最高的。
这里为了帮助大家简化整个操作流程,我写了一个脚本,方便大家快速申请证书,如果大家不想看那么多,直接使用整个脚本即可,具体使用方式如下:
bash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/BashScripts/main/SSLAutoInstall/SSLAutoInstall.sh)
如果大家想了解更多的细节,还是跟着我下面的步骤一起来仔细看看吧~
- 安装ACME工具:
curl https://get.acme.sh | sh
安装后,会在root目录下生成.acme.sh这样的文件夹,使用ls -la命令可以查看。
- 设置Cloudflare API:
登录Cloudflare官网,在左下角的API区域,点击“获取您的API令牌”

点击之后进入二级页面,点击API令牌,找到API密钥下方的Global API Key,进行查看

请将这份API Key复制到你本地。输入以下命令导入环境变量(复制粘贴时请自行去除掉//及之后的内容,在本教程中仅为了注释,实际使用时不需要//及之后的内容):
export CF_Key=”***********************” //Global API key
export CF_Email=***************.com //Cloudfare 注册邮箱
- 切换CA为Let’s Encrypt
由于Acme脚本默认的证书CA方为ZeroSSL,使用起来不太方便。因此建议大家将CA变更为Let‘s Encrypt,切换命令如下:
~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
- 申请签发证书
使用以下命令进行证书签发:
#创建文件夹
mkdir /root/cert
#签发证书
~/.acme.sh/acme.sh --issue --dns dns_cf -d YourDomain -d *.YourDomain
mkdir /root/cert
#更改权限
chmod -R 755 /root/cert
- 安装证书
~/.acme.sh/acme.sh --installcert -d YourDomain -d *.YourDomain --ca-file /root/cert/ca.cer --cert-file /root/cert/YourDomain.cer --key-file /root/cert/YourDomain.key --fullchain-file /root/cert/fullchain.cer
- 设定自动更新
~/.acme.sh/acme.sh --upgrade --auto-upgrade
安装成功如下图提示:

安装好证书后,我们就可以设置开启TLS套用CDN了。
注意项:
1.YourDomain 代表你自己的域名,请在使用命令时替换为你自己的域名
2.本教程中申请的域名为泛域名证书,该证书可用于无限多个二级域名
3.使用证书公钥时优先使用fullchain.cer,会避免很多奇怪的问题
- 设置TLS
进入面板界面,添加入站节点,设置如下:

设置过程中需要注意的点:
1.端口需要是Cloudflare支持分发的端口,如443等
2.套用CDN需要搭配WebSocket,请在传输设置项呢选择ws
3.ws路径可随意,但最好不要为根路径
4.公钥文件路径与密钥文件路径请根据你证书安装的实际位置进行填写
5.在使用证书与密钥时,除了设置路径也可以通过填入certificate file content的内容达到使用的目的
添加节点后,我们回到Cloudflare,将灰色云朵置为橙色。然后我们回到VPS侧,使用ping +域名查看IP是否变更,如果不再为我们VPS的IP,则表明已经成功套用CDN。
面板套用CDN
除了我们搭建的节点可以套用CDN,我们的X-UI面板也支持套用CDN。如果需要X-UI面板也套用CDN,我们需要在面板内修改面板监听的端口为Cloudflare支持的端口,同时设置SSL证书密钥路径。在这里需要注意,面板的监听端口一定不要与你的节点共用同一端口。

设置完以后记得重启面板,重新输入:https://域名+端口,正常进入面板界面。同时我们会发现我们的网页已经是安装加密的。

至此,面板也支持套用CDN了。
以上就是X-UI使用的整个教程啦,大家可以依照教程自行进行测试使用,如有问题可以在评论区与我沟通。如果大家还有问题,我也上传了视频教程供大家参考学习:
本人在搭建完成后进行了一天的使用,总体使用下来还是非常方便快捷的,很适合新手使用。在这里也要感谢X-UI的开发者们,是他们无私的付出才给我们带来了如此好用的工具,Respect!
Attention:
本篇博客内容仅作为个人知识分享,请不要随意转载、传播该博客内容。请不要借由博客中的知识进行非法活动。 如您需要小范围分享该博客内容,请标明出处。
转载自:https://coderfan.net/how-to-use-x-ui-pannel-to-set-up-proxies-for-bypassing-gfw.html


