近期墙貌似又升级了,虽然我的ip都没被墙,但是长时间用,总会断开一会儿,然后重新连接上,很是不爽。
看到v2ray可以通过WebSocket方式进行翻墙,正好闲置的版瓦工vps拿来试一下。前面的教程已经装了了v2ray和ss。只要再装个caddy就可以了。这种方式可以抗GFW干扰,又可以隐藏vps的IP,捣鼓了一会了,可以顺利通过WebSocket+TLS+Web+CDN进行翻墙上网了。测试下来,白天直接在电脑用客户端速度较快,能达到100Mbps,在路由器上速度较慢,好像只能50Mbps。晚上则速度较慢,电脑客户端也就5-10Mbps的样子。
   下面介绍下我如何搭设的把,我用的工具是putty和winscp。相关软件下载:
一、域名设置
   首先你的有个域名,没有域名 进入https://www.namesilo.com/注册一下,再购买一个域名,找最便宜的域名即可。我注册了个.top的域名,目前0.99美元第一年,还是挺便宜的,到期后再换其他域名。价格超过1美元的域名可以用bandwh或v2ray这个优惠码,可以帮你节省1美元。改变namesilo的解析服务器,这里我自己的域名解析服务是用的cloudflare,指定域名解析到我的版瓦工vps服务器上。登陆cloudflare,https://dash.cloudflare.com/login ,在你的域名下选择DNS增加A纪录解析,name处可以填写123、img、video等等,这样你的域名就是123.xxx.com,然后在Status把该条纪录修改为DNS only。最后将 cloudflare 的 SSL 部分,將原本设定的 Flexible 改为 Full。
VPS服务器安装Caddy教程-LMLPHP

二、安装Caddy
    Caddy服务器(或称Caddy Web)是一个开源的,使用 Go 编写,支持 HTTP/2 的 Web 服务端。自动支持HTTP/2协议,使用 Let’s Encrypt 让你的站点全自动变成全站HTTPS,无需任何配置,当然您可以使用自己的密钥和证书。得益于 Go 的特性,Caddy 只是一个小小的二进制文件,没有依赖,易于部署/使用,配置起来十分简便。Caddy对WebSockets有很好的支持。本来想用wdcp的nginx来配置的,但比较麻烦就不装wdcp了。
1、安装Caddy可执行文件
用putty登陆vps,输入下面命令行
如果新装的vps,先装wget工具

yum install wget net-tools -y

建立Caddy目录

mkdir /etc/caddy
下载 caddy

wget https://github.com/mholt/caddy/releases/download/v0.11.1/caddy_v0.11.1_linux_amd64.tar.gz
解压caddy到/etc/caddy目录
tar zxvf caddy_v0.11.1_linux_amd64.tar.gz -C /etc/caddy caddy
赋予执行权限
chmod +x /etc/caddy/caddy
创建配置文件
touch /etc/caddy/caddy.conf
编辑配置文件

用winscp打开vps,修改/etc/caddy/caddy.conf文件

复制下面内容,粘贴进去。注意把tls 后面的改为你的邮箱,申请ssl证书用的。
123.xxx.com
    {
     tls [email protected]
     log /var/log/caddy.log
     proxy / localhost:10000 {
      websocket
      header_upstream -Origin
      }
    }
VPS服务器安装Caddy教程-LMLPHP

2、安装Caddy管理文件,这里用逗比的一键脚本
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install   
    然后用winscp软件打开你的vps,进入/usr/local/caddy/ 下新建Caddyfile文件,并输入以下文字:
123.xxx.com
   {
    log /var/log/caddy.log
    proxy / localhost:10000 {
     websocket
     header_upstream -Origin
     }
   }
  以上配置文件需要修改成你自己的。
VPS服务器安装Caddy教程-LMLPHP

配置说明
123.xxx.com                            //刚才在cloudflare设置的域名
    {
      proxy / localhost:10000     //proxy / 可以为空,也可以写为proxy /ray。此处设置好了,在v2ray服务端和客户端要保持一致。我设置的都是空,localhost:10000 本地端口号默认既可以。
    }
相关Caddy命令
启动:/etc/init.d/caddy start
停止:/etc/init.d/caddy stop
重启:/etc/init.d/caddy restart
查看状态:/etc/init.d/caddy status
查看Caddy启动日志: tail -f /tmp/caddy.log
Caddy管理安装目录:/usr/local/caddy
Caddy配置文件位置:/usr/local/caddy/Caddyfile
Caddy自动申请SSL证书位置:/.caddy/acme/acme-v01.api.letsencrypt.org/sites/xxx.xxx(域名)/      (.caddy是隐藏文件,winscp下用Ctrl+Alt+H即可显示隐藏文件)注意:如果你已经用这个123.xxx.com注册过 Let’s Encrypt ,并且获得了证书,你需要把这个证书复制保存到本地,以供下次使用。不然重装vps后, Let’s Encrypt 将不下发证书,再按上文设置Cloudflare将连不上你的vps。
如果一切正常,那么Caddy会自动帮你申请 SSL证书并配置好,而且会定时续约SSL证书 和 强制 http重定向至https !
Caddy配置好了后,可以在浏览器里面输入你的域名123.xxx.com 看看有没有提示,如果出现很小的一行字502 Bad Gateway或404 Not Found,说明域名正确运作了。如果出现cloudflare 的error521 Web server is down界面,说明安装不正确有问题,需要修改配置。这时候可以进入cloudflare网站,把刚才123.xxx.com 域名解析Status改为DNS and HTTP proxy(CDN)。应用cloudflare的免费cdn服务,更好的隐藏你VPS服务器IP。
三、V2ray服务端设置
上面全部完成后,我们需要对v2ray进行配置,达到进行ws代理的目的。
首先我们先安装或者升级v2ray
bash <(curl -L -s https://install.direct/go.sh)
装不了,可看我上一篇文章。用winscp登陆vps,在/etc/v2ray/config.json 进行修改替换,把下列文字放入到config.json里面。复制下面的文字,请删除//及后面注释文字
{
  "inbound": {
    "port": 10000,                                        //和Caddy中端口一致
    "listen":"127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "xxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxx",     //你自己的
          "alterId": 64
        }
      ]
    },
    "streamSettings": {
      "network": "ws",
      "wsSettings": {
      "path": "/"                                        //和Caddy中端口一致
      }
    }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  }
}
修改好后putty中运行
service v2ray start
全部完成后可以reboot一下系统
四、v2ray客户端配置
1、电脑端配置
   我用的是v2rayN,进入V2rayN,设置和下图一样即可。
VPS服务器安装Caddy教程-LMLPHP

2、路由器中设置,我用的是lean的固件,里面的ShadowsockR plus+可以进行v2ray设置,
具体设置见下图
VPS服务器安装Caddy教程-LMLPHP

按此教程,顺利的通过v2ray+caddy+cloudflare配合一起上网。由于通过cloudflare进行cdn,如果你本地访问cloudflare速度比较慢,那么通过这种方式上网也较慢。如果你直连很快,不怕封ip的话可以直接ip连接,关闭cloudflare的cdn服务。但是tls加密是不能关闭的,否则分分钟你访问的网站被GFW分析出,然后IP被封。
从ipip的ping来看,全程走的163网络,如果你的cn2或cn2-GIA还是直接代理来的快。
VPS服务器安装Caddy教程-LMLPHP

晚上163带宽爆炸,这种方式看youtube只能0-15Mbps左右,一般再5-8Mbps,看个1080p没太大问题。上下2个图可以看出,2地解析出IP地址是不一样的。
VPS服务器安装Caddy教程-LMLPHP

白天速度比较快,最多能到100Mbps
VPS服务器安装Caddy教程-LMLPHP
01-21 21:18