准备工作
- VPS一台(没有的话,可以参阅我们整理的翻墙VPS推荐),本文我们以香港 VmShell. CMI 为例,重置安装主流的操作系统,此处以Debian 10为例。
- 域名一个,没有域名请到Namesilo购买域名,每年也就几美元。
- 托管域名到CloudFlare,不会的参考这里。
- SSH工具,可以使用纯绿色版的Nxshell,终端模式请改为VT100。
更新系统开启BBR加速
有防火墙的 VPS ,请关闭防火墙。
CentOS 防火墙相关命令
- firewall-cmd --state # 查看防火墙状态
- systemctl stop firewalld.service # 停止防火墙
- systemctl disable firewalld.service # 禁止防火墙开机自启
Debian 更新命令
- apt update -y
- apt install curl wget socat tar -y
CentOS 更新命令
- yum update -y
- yum install curl wget socat tar -y
VPS上搭建Xray可视化面板
面板安装代码
bash <(curl -Ls https://blog.sprov.xyz/v2-ui.sh)
为域名申请证书
- curl https://get.acme.sh | sh #安装 Acme 脚本
- ~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com #替换mydomain.com为您解析的域名,xxx@xxxx.com为您的邮箱
- ~/.acme.sh/acme.sh --issue -d mydomain.com --standalone
- ~/.acme.sh/acme.sh --installcert -d mydomain.com --key-file /root/private.key --fullchain-file /root/cert.crt
默认证书会创建到 /root 文件夹 ,文件分别是/root/private.key 和 /root/cert.crt
创建Xray的WS + TLS节点
用浏览器访问我们刚创建的Xray的后台,地址是:xxxx.xxxx.xxxx.xxxx:65432(xxxx就是您的VPS服务器地址)
默认的登陆用户名和密码都是:admin
请参照上图设置Xray+WS+TLS的节点,其中证书和密钥文件路径只要是按照本文的【为域名申请证书】方法,那么路径都是一样的。
证书文件路径:/root/cert.crt
密钥文件路径:/root/private.key
将节点导入软路由的PASSWALL
用浏览器连接至本地软路由,登陆OpenWrt,选择“服务”~“PassWall”。
导入成功后,新添加的节点会出现在【节点列表】的最下面,请点击节点后面的【置顶】,方便后面的工作。记得按【保存并应用】。
点击【修改】,进入新建的节点,确认最低部的路径名如下图所示。因为导入节点信息时,路径名会出现乱码。
该路径名应该与图2里的路径名一致。修改后记得【保存并应用】。
至此,我们已经在搬瓦工上部署了Xray,当我们的软路由使用此节点时,看Youtube大概也是20000Bps的样子。我们的测试环境是移动100M的带宽。
在软路由上部署Cloudflare自动优选IP
开启 CloudFlare 橙色的 “小云朵”,开启我们的 CDN。
关于 vi 的相关操作:
按键盘上面的 PgUp 和 PgDn 进行翻页,按 i 键进行编辑,按 :q 退出编辑,按 :wq 保存并退出 vi 命令
用SSH软件登陆软路由查看PassWall的自定义节点字符串。
vi /etc/config/passwall
由于我们已将新增的Xray节点置顶,所以该节点信息第一个就会显示,把红色框内的节点绑定字符串copy下来。
在软路由里面下载 cf-auto-passwall 脚本
wget https://raw.githubusercontent.com/V2RaySSR/cf-auto-passwall/main/cf-auto-passwall.sh
下载后,脚本的绝对地址为 /root/cf-auto-passwall.sh
vi cf-auto-passwall.sh
找到最后,将倒数第5行红色框内的字符串,改为图6获取的字符串。:wq保存退出。
运行一下脚本,看是否有出错。
chmod +x cf-auto-passwall.sh && bash cf-auto-passwall.sh
运行几分钟后,脚本将自动优选50Mbps的最优IP地址,然后自动替换软路由里的节点IP。
如果我们在PassWall里查看节点信息,发现已自动修改了IP地址,证明脚本已运行成功。
将脚本运行加入软路由的计划任务里,以它自动每天自动运行。
时程表的格式如下:
f1 f2 f3 f4 f5 Program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。Program 表示要执行的命令。
0 03 * * * 表示每天的凌晨三点
0 04 * * * bash /root/cf-auto-passwall.sh > /dev/null
如果您没有软路由,只需要客户端,请查阅以下文章: