shadowsocks-libev v2ray-plugin 插件的安装使用


安装shadowsocks-libev
ShadowSocks-libev与BBrPlus

申请域名并配置泛域名证书
Let’s encrypt 通配证书申请
因文章是时效性问题,文章步骤大有不同,仅供参考,建议谷歌ls一键申请泛域名

cloudflare cdn下的配置

服务端配置

下载编译好的适用于服务器架构插件到服务端
shadowsocks/v2ray-plugin

甲骨文默认2个服务器架构amd64

下载构建好的插件到服务器
wget https://github.com/shadowsocks/v2ray-plugin/releases/download/v1.3.2/v2ray-plugin-linux-amd64-v1.3.2.tar.gz
//解压档案
tar -zxvf v2ray-plugin-linux-amd64-v1.3.2.tar.gz
//移动到shadowsocks-libev一键脚本的配置目录
mv v2ray-plugin_linux_amd64 /etc/shadowsocks-libev && cd $_

编辑shadowsocks-libev配置文件

nano config.json
nano 按键
Ctrl+X 退出编辑
Y 保存退出的两种模式//直接按回车保持到当前文件或输入文件名回车保持新文件
N 不保存退出

完整的配置文件

{
    "server":"0.0.0.0",
    "server_port":443,
    "password":"password",
    "timeout":300,
    "user":"nobody",
    "method":"aes-256-gcm",
    "fast_open":false,
    "nameserver":"8.8.8.8",
    "mode":"tcp_and_udp",
    "plugin": "/etc/shadowsocks-libev/v2ray-plugin_linux_amd64",
    "plugin_opts": "server;tls;host=Domain.Name;cert=/etc/shadowsocks-libev/1.pem;key=/etc/shadowsocks-libev/2.pem"
}

相比原来的配置文件,添加两个值

"plugin": "/etc/shadowsocks-libev/v2ray-plugin_linux_arm64"
插件:v2ray-plugin插件绝对目录
"plugin_opts:"server;tls;host=Domain.Name;cert=/etc/shadowsocks-libev/1.pem;key=/etc/shadowsocks-libev/2.pem"
插件配置:server[必要的];tls[必要的];host=Domain.Name[域名必要的];cert=/etc/shadowsocks-libev/1.pem[证书绝对目录];key=/etc/shadowsocks-libev/2.pem[证书密钥绝对目录]

另外端口需要修改成443,这是ssl通讯端口

如果默认的80/443是网站通讯端口,也可以查看cf支持的非标准端口。

非标端口的nat主机正确使用cloudflare

客户端配置

Windows
下载适用于win的插件文件并解压缩将.exe复制本地ss平级目录下v2ray-plugin

  • 服务器地址Domain.Name
  • 端口:443
  • 插件程序:解压缩的.exe文件名,不带.exe
  • 插件选项: tls;host=Domain.Name

Android
下载插件v2ray-plugin-android

  • 配置如Windows相同

iOS
支持的软件Shadowrocket...

  • 插件v2ray-plugin
  • 配置如Windows相同

其它

如果IP/PORT被放出来了,可以直接将服务器地址Domain.Name修改为服务器IP,无需修改配置文件,网络不经过cf回源。

调试命令ss-server -c /etc/shadowsocks-libev/config.json -p 443 --plugin /etc/shadowsocks-libev/v2ray-plugin_linux_amd64 --plugin-opts "server;tls;host=Domain.Name;cert=/etc/shadowsocks-libev/1.pem;key=/etc/shadowsocks-libev/2.pem"

WebSocket + TLS + Web下的配置

服务端配置

编辑shadowsocks-libev配置文件

{
    "server":"0.0.0.0",
    "server_port":10000,
    "password":"password",
    "timeout":300,
    "user":"nobody",
    "method":"aes-256-gcm",
    "fast_open":false,
    "nameserver":"8.8.8.8",
    "mode":"tcp_and_udp",
    "plugin": "/etc/shadowsocks-libev/v2ray-plugin_linux_amd64",
    "plugin_opts": "server;host=Domain.Name;path=/ray"
}

这里无需指定网站SSL证书目录,是因为将代理流量藏在可以正常访问的网站路径/ray下面,看起来似乎是网站流量
这里的/ray流量入口可以设置任意

Nginx配置

需要完整配置的文件如下

server {
  listen 443 ssl;
  listen [::]:443 ssl;
  
  ssl_certificate       /etc/v2ray/v2ray.crt;
  ssl_certificate_key   /etc/v2ray/v2ray.key;
  ssl_session_timeout 1d;
  ssl_session_cache shared:MozSSL:10m;
  ssl_session_tickets off;
  
  ssl_protocols         TLSv1.2 TLSv1.3;
  ssl_ciphers           ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
  ssl_prefer_server_ciphers off;
  
  server_name           Domain.Name;
  location /ray { # 与 V2Ray 配置中的 path 保持一致
    if ($http_upgrade != "websocket") { # WebSocket协商失败时返回404
        return 404;
    }
    proxy_redirect off;
    proxy_pass http://127.0.0.1:10000; # 假设WebSocket监听在环回地址的10000端口上
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    # Show real IP in v2ray access.log
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

如果使用宝塔面板搭建的网站,只需修改网站默认配置文件,将下列这段插入末尾最后的}前面就行

  location /ray { # 与 V2Ray 配置中的 path 保持一致
    if ($http_upgrade != "websocket") { # WebSocket协商失败时返回404
        return 404;
    }
    proxy_redirect off;
    proxy_pass http://127.0.0.1:10000; # 假设WebSocket监听在环回地址的10000端口上
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    # Show real IP in v2ray access.log
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

需要注意的是较低版本的 nginx 的 location 需要写为 /ray/ 才能正常工作

客户端配置

cloudflare cdn客户端配置一样,但只需要修改tls;host=Domain.Name命令为tls;host=Domain.Name;path=/ray即可,需要注意的是一般网站的SSL通讯端口是443,所以客户端也需要为443端口,而不是ss配置文件的端口

Special thanks to:

shadowsocks-libev v2ray-plugin 插件的安装使用
V2Ray 配置指南

声明:吃蛋的小子|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - shadowsocks-libev v2ray-plugin 插件的安装使用


我,俺床,咱手机。