v2ray(02) | 翻墙 | websocket+tls+web 伪装



websocket+tls+caddy 伪装抗干扰强,被GFW墙的几率大大减少。 Caddy Web服务反向代理手把手搭建,比Nginx简单好用。

一、本视频用到的 V2Ray 服务器端配置文件 config.json:
{
  “inbounds”: [{
“port”: 24400,
“protocol”: “vmess”,
“settings”: {
“clients”: [
{
“id”: “ad8f4190-1c15-472e-a177-88d5d6df2076”,
“level”: 1,
“alterId”: 64
}
]
}
  }, {
      “port”: 24500,
      “protocol”: “shadowsocks”,
      “settings”: {
        “method”: “aes-128-gcm”,
        “ota”: true,
        “password”: “sspasswd”
      }
    },{
      “port”: 24600,
      “listen”:”127.0.0.1″,
      “protocol”: “vmess”,
      “settings”: {
        “clients”: [
{
“id”: “ad8f4190-1c15-472e-a177-88d5d6df2076”,
“alterId”: 64
}
]
},
      “streamSettings”: {
        “network”: “ws”,
        “wsSettings”: {
        “path”: “/ray”
        }
      }
    }],
  “outbounds”: [{
“protocol”: “freedom”,
“settings”: {}
},{
“protocol”: “blackhole”,
“settings”: {},
“tag”: “blocked”
}],
  “routing”: {
    “rules”: [
{
“type”: “field”,
“ip”: [“geoip:private”],
        “outboundTag”: “blocked”
      }
    ]}
}

二、本视频搭建 Caddy 服务用到命令及详解:
$ sudo chown -R root:www-data /etc/caddy
==== 除了配置文件,caddy 会自动生成 ssl 证书,需要一个文件夹放置 ssl 证书。因为 ssl 文件夹里会放置私钥,所以权限设置成 770 禁止其他用户访问。 ====
$ sudo mkdir /etc/ssl/caddy
$ sudo chown -R www-data:root /etc/ssl/caddy
$ sudo chmod 0770 /etc/ssl/caddy
==== 再创建一个存储日志的路径 ====
$ sudo mkdir -p /var/log/caddy/
$ sudo chmod 777 /var/log/caddy/
==== Caddyfile 是 Caddy 的配置文件,下面执行 import ./conf/* 命令,表示将 /etc/caddy/conf/ 下的所有文件都导入到配置文件中。 ====
$ sudo su
# cd /etc/caddy
# echo ‘import ./conf/*’ 》》 /etc/caddy/Caddyfile

4. 从官方仓库中下载 caddy 的 systemctl 守护脚本并对其挂载启动。
$ sudo curl -s https://raw.githubusercontent.com/mholt/caddy/master/dist/init/linux-systemd/caddy.service -o /etc/systemd/system/caddy.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable caddy
==== 如果你是自动从 “Let’s Encrypt” 自动获取证书,那么先确认下域名是否已绑定到VPS IP地址了,然后再确认下是否已经按下面的 “5” 小节配置了,
           接着确定VPS 443、80端口是否放通了。
           因为 “Let’s Encrypt” 有速率限制。每个账户每小时每域名有最多验证失败 5 次的限制。连续5次申请证书失败的话,1小时内你无法再申请了。 ====
$ sudo systemctl start caddy
$ sudo systemctl stop caddy
$ sudo systemctl restart caddy
$ sudo systemctl status caddy
注:Caddy启动后,默认端口是 2015。

5. 使用 systemctl 服务启动 caddy,需要注意访问小于1000端口,会报错:Could not start HTTP server for challenge -》 listen tcp :80: bind: permission denied。
必须设置 cap_net_bind_service,否则没权限。解决方法:
$ sudo apt-get install libcap2-bin
$ setcap cap_net_bind_service=+eip /usr/local/bin/caddy
备注:
(1)如果不适用 systemctl,你也可以使用 “caddy -conf /usr/local/caddy/Caddyfile” 这个命令启动 Caddy。
(2)配置文件默认加载路径:/etc/caddy/Caddyfile,最好也放在这里,因为如果使用服务启动,就不会指定 -conf 了。所以会报错:
loading Caddyfile via flag: open /etc/caddy/Caddyfile: no such file

三、本视频用到的 Caddy 配置文件 Caddyfile:
ec2.appletrees.cn
{
    gzip
     tls [email protected]
  log /var/log/caddy/caddy.log
  proxy /ray localhost:24600 {
    websocket
    header_upstream -Origin
  }
}

▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬ ▬
欢迎订阅频道
https://www.youtube.com/channel/UCgo7XWK6MQBgKt0gBI6x3CA?sub_confirmation=1

技术交流互动电报群
t.me/shinianlaocheng .

5 comments

Comments are closed.