BTPanel & X-UI 搭建 Vless 代理
此文章不知道是什么时候写的了。因为都是几年前的记录了,所以请根据自身情况调整。仅作为入手的初步参照吧。
相关说明
相关资产
域名(可在海外注册域名或国内注册域名、也可以去使用免费的域名。)
CDN(并非强制需求。)
服务器(根据自身需求选配,1H1G配置便可带得动此教程,网络带宽根据需求进行选择。)
前端部分
作用:隐藏被代理流量,防止被拦截窃取信息。
后端部分
作用:将代理流量转发发送。建立流量中转通道。
相关安装
使用面板:BTPanel、X-UI
运行环境:NGINX、PHP
扩展插件:Linux工具箱
操作流程
安装面板
以Ubuntu为例:
## 安装宝塔面板
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
## 安装X-UI
bash <(curl -Ls https://raw.githubusercontent.com/sprov065/x-ui/master/install.sh)
注:通过SSH输入安装脚本命令进行安装,安装完成后可视情况对其进行修改。
调试前端
打开BTPanel,输入账号密码进行登录面板,进入后还会要求登录BT面板官网的账号密码(可通过修改代码永久绕过或者浏览器开发者模式临时绕过),然后在弹出的推荐安装软件中选择NGINX、PHP、两项进行安装,也可直接去左边的侧边栏的软件商店进行安装。这里因为习惯的原因开启了首页显示。NGING选择的是1.18.0版本。PHP选择的是5.6版本。(前端网站根据爱好随意搭建,具体的NGINX版本根据需求随意选择即可。此次用的网站程序源码需要的是PHP5.6+,故此安装PHP5.6版本,如果是纯静态页面则无需安装其他环境。)
打开BT面板侧边栏的安全选项。将54321(刚才的X-ui的面板端口)放行。为了安全可以后续为其进行反代。
按照如图所示进行选择。(其实PHP可以不用安装、这里是为了和我的一个程序配套所以安装的。)
点击一下网站名栏目下的绿色域名字段,打开网站管理窗口。在SSL选项里申请一下Let's Encrypt证书。
然后在反向代理里面添加一个反向代理。
代理名称、代理目录、目标URL的端口均可自定义。其中代理目录、目标URL的端口在后端部分需要用到。
提交后点击配置文件。需要修改一下配置文件。
### 视情况修改代理目录、目标URL的端口。
location /link {
proxy_redirect off;
proxy_pass http://127.0.0.1:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 300s;
# Show realip in v2ray access.log
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
通过BT面板侧边栏或者直接点击绿色的根目录字串直接跳转到网站根目录。
把前端部分的网站文件上传到根目录下。解压源码压缩包。
这里使用MoeMiniproxy程序作为伪装网站。
即将代理流量伪装成为MoeMiniproxy网站link目录下的HTTPS流量。
服务器会将访问link目录的流量反代到代理程序中。其他的目录则是正常的页面访问。
这里前端部分就完成了,如果是用Typecho或Wordpress这样的CMS程序作为前端伪装网站,这时还需要继续进行安装等等流程。
调试后端
打开X-UI管理面板。记得端口要在BT面板安全界面放行。
在侧边栏入站列表页面里添加一个代理。
备注自定义填写。协议这里使用的是Vless作为案例。端口部分填入反代中的目标URL的端口(这个端口不需要安全组放行)。id是随机的,也可以使用自己指定的,注意格式就行。传输选择WS。路径部分填入反代中的代理目录。
监听IP与fallbacks不懂的话不要填写。请求头与tls不需要写。
总流量与到期时间可视情况自行填写。
为了安全,后续可以在防火墙上将X-Ui的端口关闭掉,在X-Ui中设置访问目录,然后通过NGINX进行代理转发到前端网站的二级目录下。
调试客户端
这里使用的是v2rayN的客户端。
地址部分填写域名,id按照X-ui里面的id进行填写。别名自定义。伪装域名部分和地址同样填写域名。路径按照反代中的代理目录进行填写。其他的如图所示。
此教程颇为简洁,很多部分并不完善,仅供参考使用。具体调整请结合自身需求。