本人的 Shadowsocks 服務非常穩定(就是速度慢一些,只能看 Youtube 1080P)。爲了使代理流量徹底混入服務器 TLS 流量中,我配置了 v2ray-plugin。

大致步驟

  1. 取得對應某一域名的 SSL 證書
  2. 從 circle-ci 下載 v2ray-plugin 二進制文件到服務器
  3. 配置 nginx 反向代理
  4. 修改 shadowsocks 配置文件
  5. 啓動 shadowsocks 服務
  6. (可選)客戶端配置

注意:若服務器上沒有運行 web 服務或者用的不是 nginx,請不要參考本教程。並且前者情況要簡單很多。

反向代理也不必放在域名的根目錄,可以放在子目錄,但需更多處修改。

取得 SSL 證書

這個用一下 acme.sh 或者 certbot 就行,不再贅述。

下載 v2ray-plugin

https://circleci.com/gh/shadowsocks/v2ray-plugin 選擇一個 build,打開頁面在 URL 後綴 #artifacts,ENTER 即彈出二進制文件下載鏈接。

# tar -zxf v2ray-plugin-XXX.tar.gz
# mv v2ray-plugin_XXX /sbin/v2ray-plugin

配置 nginx 反向代理

不要 IPv6 可以去掉第二行 listen
要改的地方就是服務器域名、兩處 SSL 配置以及 shadowsocks 端口。

server
{
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name yourdoma.in;
ssl_certificate /root/.acme.sh/yourdoma.in/fullchain.cer;
ssl_certificate_key /root/.acme.sh/yourdoma.in/yourdoma.in.key;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_timeout  10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

        location / {
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_pass http://localhost:44443;    # port in your shadowsocks config
                proxy_set_header Host $http_host;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }
}

修改 shadowsocks 配置文件

/etc/shadowsocks.json 中需要修改的是:

"server": "127.0.0.1",
...
"plugin": "v2ray-plugin",
"plugin_opts": "server;loglevel=none"

之後用 ss-server -f /tmp/shadowsocks.pid -c /etc/shadowsocks.json 啓動服務端。

客戶端配置

shadowsocks-libev

在 JSON 中編輯:

"plugin": "v2ray-plugin",
"plugin_opts": "tls;host=yourdoma.in;loglevel=none;"

shadowsocks-windows

仿照上面下載 v2ray-plugin 並更改可執行文件名爲 v2ray-plugin.exe,放在主程序同目錄下。同上編輯插件選項。

android

從 Google Play 下載 v2ray-plugin。用圖形界面配置插件選項。

iOS

在 App 中配置,操作各異,莫能詳述。

(完)