【更新服务器部署脚本】由近期GFW疯狂禁IP而催生的CDN翻墙方法

由于近期GFW的大肆封锁IP,想必不少人想开始寻找下一代翻墙方法了吧。



以我个人经历来说,6.1 使用shadowsocks的搬瓦工ip被墙,6.2更换新的ip,开始使用无防护版v2ray。结果没一天,新的ip又被墙。 无奈之下本人开始寻求下一代翻墙方法。

6.4成功利用cloudflare的免费cdn服务,完成了翻墙升级,现把简略步骤发于品葱,自由必胜。



前提条件:

1.拥有境外vps

2.拥有个人域名(免费或付费均可)

3.注册cloudflare免费账号(当然,如果有不差钱的小伙伴,可以考虑cloudflare的付费服务)



域名操作方面:

1.把个人域名的dns解析更改为 你注册cloudflare的dns服务器。

2.在cloudflare上面添加自己vps的ip地址记录

3.开启cloudflare的dns解析和http解析,并在crypto里面把加密方式设置为full(strict)



vps操作方面:

1.开放防火墙https 443端口

2.配置https守护进程服务(Apache  nginx  caddy均可)

3.将cloudflare生成的免费https证书配置到vps

可参考 https://devanswers.co/configure-cloudflare-origin-ca-apache/

4.配置https守护进程的proxy web socket代理



v2ray方面:

1.在vps上面安装v2ray

2.设置web socket代理转发

可参考

https://ferrummagnus.com/2017/12/22/v2ray-websocket-tls-apache/



自由万岁



########################################

6.5更新



域名管理

1.注册免费域名

https://www.vpscn.net/197.html



2.注册cloudflare账号并修改域名解析

cloudflare入门三部曲

https://support.cloudflare.com/hc/zh-cn/categories/200275218-%E5%85%A5%E9%97%A8



3.开启cloudflare dns和http解析代理

在DNS选项里面填写自己域名对应的VPS地址

https://ibb.co/qMsZnkv



在Crypto选项里选择full(strict)

https://ibb.co/fGQ0qgL



4.将cloudflare生成的CA证书保存至VPS服务器

https://ibb.co/dpTtt2c

Create Certificate



Next



https://ibb.co/ws5nmPK

将Origin Certificate里面的内容复制 保存到VPS的/etc/cloudflare/example.com.pem文件(example.com为你自己的域名)



将Private Key里面的内容复制 保存到VPS的/etc/cloudflare/example.com.key文件(example.com为你自己的域名)



使用VPS apache服务器
登录到自己的VPS服务器(以CentOS 7为例)

1.

安装apache服务器

yum install httpd -y



设置开机启动apache

systemctl enable httpd 



安装Apache ssl模块

yum install mod_ssl -y



将以下配置信息复制到VPS的/etc/httpd/conf.d/example.com(你的域名).conf文件

<VirtualHost *:80>

        Servername example.com(你自己的域名)

        RewriteEngine on

        RewriteCond %{SERVER_NAME} =example.com(你自己的域名)

        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URL} [END,NE,R=permanent]

</VirtualHost>

<VirtualHost *:443>

        Servername example.com(你自己的域名)

        SSLEngine on

        SSLCertificateFile /etc/cloudflare/example.com(你自己的域名).pem

        SSLCertificateKeyFile /etc/cloudflare/example.com(你自己的域名).key

        RewriteEngine On

        RewriteCond %{HTTP:Upgrade} =websocket [NC]

        RewriteRule /(.*)      ws://localhost:12345/$1 [P,L]

        RewriteCond %{HTTP:Upgrade} !=websocket [NC]

        RewriteRule /(.*)      http://localhost:12345/$1 [P,L]

        SSLProxyEngine On

        ProxyPass /ws http://localhost:12345

        ProxyPassReverse /ws http://127.0.0.1:12345

</VirtualHost>





重启apache daemon

systemctl restart httpd





2.

配置防火墙规则

firewall-cmd --permanent --add-service=https
firewall-cmd --reload



3.

安装curl工具

yum install curl -y



安装v2ray

bash <(curl -L -s https://install.direct/go.sh)




设置开机启动v2ray daemon

systemctl enable v2ray



将/etc/v2ray/config.json文件修改为以下内容(注:ID部分不要修改)

{
  "inbounds": [{
    "port": 12345,
    "listen": "127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "你自己的ID", //此处不要修改
          "level": 1,
          "alterId": 64
        }
      ]
    },
    "streamSettings": {
        "network": "ws",
        "wsSettings": {
            "path": "/ws"
        }
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}



重启v2ray daemon

systemctl restart v2ray



恭喜!到现在我们已经完成了v2ray在服务器端的配置





-----------------客户端配置-------------------

Linux

1.安装v2ray

bash <(curl -L -s https://install.direct/go.sh)





2.修改/etc/v2ray/config.json文件为以下内容

{
  "inbounds": [{
    "port": 1080,
    "listen": "127.0.0.1",
    "protocol": "socks",
    "settings": {
      "udp": true
    }
  }],
  "outbounds": [{
    "protocol": "vmess",
    "settings": {
      "vnext": [{
        "address": "example.com(填写你自己的域名)",
        "port": 443,
        "users": [{ "id": "你自己在VPS服务端的ID",
                        "level": 1, "alterId": 64, "security": "auto"  }]
      }]
    },
    "streamSettings": {
        "network": "ws",
        "security": "tls",
        "tlsSettings": {
            "serverName": "example.com(你自己的域名)",
            "allowInsecure": true
        },
        "wsSettings": {
            "path": "/ws"
        }
    },
    "mux": { "enabled": true }
  }, {
    "protocol": "freedom",
    "tag": "direct",
    "settings": {}
  }],
  "routing": {
    "domainStrategy": "IPOnDemand",
    "rules": [{
      "type": "field",
      "ip": ["geoip:private"],
      "outboundTag": "direct"
    }]
  }
}





3.配置v2ray daemon

systemctl enable v2ray

systemctl start v2ray



4.设置proxy socks 5代理

https://ibb.co/vzXdQ0w





---------------------------------------------------------------------

另外如果不太懂配置的小伙伴急需稳定翻墙方法,我可以代为配置。当然我也会适当收取一点点人工费用。。。感谢了

联系邮箱: [email protected]

######################################
6.11更新
感谢各位葱友对我的支持,谢谢大家!
脚本已经上传到GitHub  https://github.com/KonaisPC/v2ray-apache-ws

使用之前
1.依据前文在cloudflare上配置好域名
2.已经保存好SSL .key 和 .pem文件到VPS服务器(需指定.key和.pem文件的绝对路径)

欢迎大家一起帮助改进脚本
All men are created equal

自由希望不可磨灭


#####################################
6.12更新
脚本现已支持Ubuntu和CentOS,并自动输出对应的客户端配置文件到./client.json
谢谢!
14
分享 2019-06-06

18 个评论

有用。但品葱上没几个人能看懂,建议写得通俗点
好难啊。。。能不能说的详细点。
要是有配图的教程就跟改好了。。。。
好的。待会详细整理一下具体步骤,大概今天晚些时候再把详细步骤补充上来,感谢支持。
我感觉墙内民众即使有耐心学会,也很难按时付起越来越高的费用。
这样的话你的流量都会由cloudflare转发,这样合适么?人家毕竟只是提供DNS解析服务而已
关于VPS费用方面的问题,过几天我会再开一帖专门来说明。一年至多500CNY花费足矣
cloudflare不仅仅提供DNS解析,而且还提供https web socket流量解析,即所谓Content Delivery Network
我觉得配置过程可以做成脚本,一键配置
这个主意不错,也许过几天我会做个脚本发上来,谢谢你的建议
CloudFlare的确是中国人民的好朋友。免费CDN还带WS全球恐怕仅此一家。未来还有ESNI扩展对GFW发起将军。
感谢,可以降低入行门槛。不需要太多的功能和设置,只要要最基础的功能即可。甚至脚本可以直接配置好,先保证能用,再改善功能。再次感谢!
cloudflare被封了怎么办?求问
感谢您的支持!现完成了脚本编写并已补充上来。由于是自己第一次编写shell脚本,不足之处还请多多包涵。如果有小伙伴愿意帮助我一起改进脚本,欢迎到GitHub上push,无比感激!
可以看看我们的cloudflare partner计划合作版的cloudflare pro,价格低功能比官方版多。

https://u.nu/cloudflarepro
多谢分享,不过v2ray不是必须配合nginx/apache, 可以直接开启websocket 到端口80/443经由cloudflare转发的
好早以前就换了,现在搬瓦工一年20刀+cdn已经用了一年半,还没被封过,之前ssr/ss每逢大会64之类的敏感时期,就各种被封,给我造成了一定的笋丝
hi,请问手机客户端的配置呢,用v2rayNG只能手动添加配置信息,但是尝试了几次都有问题,
不知道博主有没有尝试在手机上添加?

要回复文章请先登录注册

联系我们