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.