“SS:服务端(插件)”的版本间差异
跳到导航
跳到搜索
(: →V2Ray-Plugin) |
|||
第27行: | 第27行: | ||
参考: | 参考: | ||
1、[ | 1、[http://snlcw.com/460.html 使用一键脚本轻松给 shadowsocks v2ray插件, v2ray,trojan申请免费证书] | ||
2、[http://snlcw.com/479.html 原版shadowsocks v2ray插件安装,支持tls1.3和谷歌quic udp协议,配套客户端windows、macos、android使用详解] | |||
3、[https://gist.github.com/Shuanghua/c9c448f9bd12ebbfd720b34f4e1dd5c6 ss-libev 插件 v2ray-plugin 的安装使用] | |||
建议配置为工作在 TLS 模式下。 | 建议配置为工作在 TLS 模式下。 | ||
=== | === 域名证书 === | ||
见:'''[[Acme.sh 使用#DNS认证方式(推荐)]]''' | |||
acme. | # 安装 acme.sh: | ||
#: <syntaxhighlight lang="bash" highlight=""> | #: <syntaxhighlight lang="bash" highlight=""> | ||
curl https://get.acme.sh | sh | curl https://get.acme.sh | sh | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # 更改默认 CA: | ||
#: <syntaxhighlight lang="bash" highlight=""> | |||
# | acme.sh --set-default-ca --server letsencrypt | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# | # 安装证书: | ||
#: <syntaxhighlight lang="bash" highlight=""> | #: <syntaxhighlight lang="bash" highlight=""> | ||
# | # 以下 CF_Key、CF_Email和域名,需要在实际环境中用你自己的配置替换掉 | ||
acme.sh -- | export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" | ||
export CF_Email="xxxx@sss.com" | |||
acme.sh --issue --dns dns_cf -d example.com -d www.example.com | |||
</syntaxhighlight> | |||
#: 证书安装完成如下: | |||
#: [[File:acme.sh 安装证书完成.png|600px]] | |||
<!-- | |||
安装证书: | |||
export CF_Key="3181299d78c989ff313ee006b8084fa10cf10" | |||
export CF_Email="chen@eijux.com" | |||
acme.sh --issue --dns dns_cf -d ss.chenjx.cc | |||
安装完成: | |||
-----END CERTIFICATE----- | |||
[Tue Nov 30 23:53:50 UTC 2021] Your cert is in: /root/.acme.sh/ss.chenjx.cc/ss.chenjx.cc.cer | |||
[Tue Nov 30 23:53:50 UTC 2021] Your cert key is in: /root/.acme.sh/ss.chenjx.cc/ss.chenjx.cc.key | |||
[Tue Nov 30 23:53:50 UTC 2021] The intermediate CA cert is in: /root/.acme.sh/ss.chenjx.cc/ca.cer | |||
[Tue Nov 30 23:53:50 UTC 2021] And the full chain certs is there: /root/.acme.sh/ss.chenjx.cc/fullchain.cer | |||
--> | |||
* v2ray-plugin 会自动识别并且引用 acme 申请的证书文件;当然你也可以把证书链接放到指定的具体目录下,然后设置只读权限(推荐) | |||
*: <syntaxhighlight lang="bash" highlight=""> | |||
ln -s ~/.acme.sh/xxxx.com /etc/ssl/xxxx.com | |||
</syntaxhighlight> | |||
* 如果需要 Andriod 客户端连接,那么服务器端证书需要用 fullchain,否则可能会遇到“Connection reset by peer”错误。 (服务器 v2ray 错误是 “failed to read request header > websocket: close 1000 (normal)”)。 | |||
# | === V2Ray-Plugin 安装 === | ||
(两种方式) | |||
# 编译 v2ray-plugin、golang 源码:(编译安装 V2Ray-Plugin 需要 '''golang''') | |||
## 安装 golang: | |||
##: <syntaxhighlight lang="bash" highlight=""> | |||
# 下载安装 (root 下安装) | |||
cd ~ && curl -O https://dl.google.com/go/go1.16.10.linux-amd64.tar.gz | |||
# | # 解压 | ||
tar -C /usr/local -xzf go1.16.10.linux-amd64.tar.gz | |||
# | # 添加到环境变量 | ||
export | vim ~/.bash_profile | ||
# 添加以下两行内容到文末: | |||
export GOPATH=$HOME/work | |||
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin | |||
# 使环境变量生效 | |||
source ~/.bash_profile | |||
# | # 检查版本 | ||
go version | |||
</syntaxhighlight> | </syntaxhighlight> | ||
### | ## 安装 v2ray-plugin: | ||
## | ##: <syntaxhighlight lang="bash" highlight=""> | ||
git clone https://github.com/shadowsocks/v2ray-plugin.git | |||
cd v2ray-plugin | |||
go mod download | |||
go build | |||
cp v2ray-plugin /usr/bin/v2ray-plugin | |||
cd .. | |||
</syntaxhighlight> | |||
# 使用编译好的 v2ray-plugin 的可执行二进制文件: | |||
## 在[https://github.com/shadowsocks/v2ray-plugin/releases github release],下载“v2ray-plugin-linux-386-v1.3.1.tar.gz”; | |||
## 上传到服务器,解压<s>到 /usr/bin/</s>(/usr/bin/ 下内容太多,现在还是放到 /root 下吧),并更名为“v2ray-plugin”: | |||
##: <syntaxhighlight lang="bash" highlight=""> | |||
cd /root | |||
tar -zxvf v2ray-plugin-linux-386-v1.3.1.tar.gz | |||
mv v2ray-plugin_linux_386 v2ray-plugin | |||
# mv v2ray-plugin_linux_386 /usr/bin/v2ray-plugin | |||
</syntaxhighlight> | |||
## 为 v2ray-plugin 增加可执行权限: | |||
##: <syntaxhighlight lang="bash" highlight=""> | |||
chmod +x v2ray-plugin | |||
# chmod +x /usr/bin/v2ray-plugin | |||
</syntaxhighlight> | </syntaxhighlight> | ||
=== 配置 === | === 配置 === | ||
v2ray-plugin 支持两种模式: | |||
1、https(websocket + tls) | |||
2、quic(quic + tls) | |||
quic 核心是 '''udp''',而大部分运营商对 udp 的支持不友好, udp 丢包严重,有时候不使用 quic 更好。(目前 v2ray-core 的 quic 还没有升级到最新的 http3 标准, 也就是说还没有支持 http3 的插件可以用,你可以通过 caddy2 启用 http3,但是本地没有支持 http3 的代理客户端可用) | |||
# '''服务端''':(设置 ss 配置文件) | |||
#: <syntaxhighlight lang="bash" highlight="4,9,10,11"> | |||
{ | |||
"server": "0.0.0.0", | |||
"nameserver": "8.8.8.8", | |||
"server_port": 443, | |||
"password": "你的密码", | |||
"method": "chacha20-ietf-poly1305", | |||
"timeout": 400 | |||
"no_delay": true, | |||
"mode": "tcp_and_udp", | |||
open;host= | "plugin": "v2ray-plugin", | ||
"plugin_opts": "server;tls;fast-open;host=xxxxxxxxx.com;cert=/证书目录/fullchain.cer;key=/证书目录/xxxxxxxxx.com.key;loglevel=none" | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
* | <!-- | ||
"server_port": 443, | |||
"plugin": "v2ray-plugin", | |||
"mode": "tcp_and_udp"【或者:"mode": "tcp_only"】 | |||
"plugin_opts": "server;tls;fast-open;host=ss.chenjx.cc;cert=/root/.acme.sh/ss.chenjx.cc/fullchain.cer;key=/root/.acme.sh/ss.chenjx.cc/ss.chenjx.cc.key;loglevel=none" | |||
--> | |||
#* “server_port”:必须使用 443 端口;【记得防火墙打开该端口】 | |||
#* “no_delay”:修改为“"true"”;(在网络带宽很好的情况下,让服务器端能更快的把数据发往客户端) | |||
#* “mode”: | |||
#*# https 模式:使用“"tcp_only"”; | |||
#*# quic 模式:修改为“"tcp_and_udp"”;(关闭 ss 的 udp,让 quic 模块去处理 udp) | |||
#* “plugin”:使用的插件;(可以设置为全路径???) | |||
#* “plugin_opts”:插件选项; | |||
# '''客户端''': | |||
## 在[https://github.com/shadowsocks/v2ray-plugin/releases github release 页面下载“v2ray-plugin-windows-386-v1.3.1.tar.gz”],解压该文件并放到 shadowsocks 可执行文件的同级目录; | |||
## 设置 shadowsocks 界面: | |||
##* “服务器端口”:443; | |||
##* “插件程序”:<code>v2ray-plugin_windows_386</code>(其名称与 shadowsocks 的“插件程序”一致) | |||
##* “插件选项”: | |||
##*# https 模式:<code>tls;host=xxx.com</code>; | |||
##*# quic 模式:<code>mode=quic;host=xxx.com</code>; | |||
<!-- | |||
tls;host=ss.chenjx.cc【或者:mode=quic;host=ss.chenjx.cc】 | |||
--> |
2021年12月1日 (三) 10:55的版本
关于
可以尝试使用使用协议混淆插件,目前插件汇总: 1、Kcptun 2、Simple-obfs 3、V2Ray-Plugin 4、GoQuite 5、Cloak 6、simple-tls 7、gost-plugin
Kcptun
【??????】
simple-obfs
参考: 1、添加混淆: simple-obfs + shadowsocks for Windows
V2Ray-Plugin
v2ray-plugin:基于v2ray原理,工作在 shadowsocks 上的流量混淆插件:将流量伪装为某域名下(所以需要为域名设置解析、证书申请)站点的 tls、quic 协议的流量。 支持 tls1.3 和谷歌 quic udp 协议。 v2ray-plugin 项目 acme.sh 项目(中文说明) 参考: 1、使用一键脚本轻松给 shadowsocks v2ray插件, v2ray,trojan申请免费证书 2、原版shadowsocks v2ray插件安装,支持tls1.3和谷歌quic udp协议,配套客户端windows、macos、android使用详解 3、ss-libev 插件 v2ray-plugin 的安装使用 建议配置为工作在 TLS 模式下。
域名证书
见:Acme.sh 使用#DNS认证方式(推荐)
- 安装 acme.sh:
curl https://get.acme.sh | sh
- 更改默认 CA:
acme.sh --set-default-ca --server letsencrypt
- 安装证书:
- v2ray-plugin 会自动识别并且引用 acme 申请的证书文件;当然你也可以把证书链接放到指定的具体目录下,然后设置只读权限(推荐)
ln -s ~/.acme.sh/xxxx.com /etc/ssl/xxxx.com
- 如果需要 Andriod 客户端连接,那么服务器端证书需要用 fullchain,否则可能会遇到“Connection reset by peer”错误。 (服务器 v2ray 错误是 “failed to read request header > websocket: close 1000 (normal)”)。
V2Ray-Plugin 安装
(两种方式)
- 编译 v2ray-plugin、golang 源码:(编译安装 V2Ray-Plugin 需要 golang)
- 安装 golang:
# 下载安装 (root 下安装) cd ~ && curl -O https://dl.google.com/go/go1.16.10.linux-amd64.tar.gz # 解压 tar -C /usr/local -xzf go1.16.10.linux-amd64.tar.gz # 添加到环境变量 vim ~/.bash_profile # 添加以下两行内容到文末: export GOPATH=$HOME/work export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin # 使环境变量生效 source ~/.bash_profile # 检查版本 go version
- 安装 v2ray-plugin:
git clone https://github.com/shadowsocks/v2ray-plugin.git cd v2ray-plugin go mod download go build cp v2ray-plugin /usr/bin/v2ray-plugin cd ..
- 安装 golang:
- 使用编译好的 v2ray-plugin 的可执行二进制文件:
- 在github release,下载“v2ray-plugin-linux-386-v1.3.1.tar.gz”;
- 上传到服务器,解压
到 /usr/bin/(/usr/bin/ 下内容太多,现在还是放到 /root 下吧),并更名为“v2ray-plugin”:cd /root tar -zxvf v2ray-plugin-linux-386-v1.3.1.tar.gz mv v2ray-plugin_linux_386 v2ray-plugin # mv v2ray-plugin_linux_386 /usr/bin/v2ray-plugin
- 为 v2ray-plugin 增加可执行权限:
chmod +x v2ray-plugin # chmod +x /usr/bin/v2ray-plugin
配置
v2ray-plugin 支持两种模式: 1、https(websocket + tls) 2、quic(quic + tls) quic 核心是 udp,而大部分运营商对 udp 的支持不友好, udp 丢包严重,有时候不使用 quic 更好。(目前 v2ray-core 的 quic 还没有升级到最新的 http3 标准, 也就是说还没有支持 http3 的插件可以用,你可以通过 caddy2 启用 http3,但是本地没有支持 http3 的代理客户端可用)
- 服务端:(设置 ss 配置文件)
{ "server": "0.0.0.0", "nameserver": "8.8.8.8", "server_port": 443, "password": "你的密码", "method": "chacha20-ietf-poly1305", "timeout": 400 "no_delay": true, "mode": "tcp_and_udp", "plugin": "v2ray-plugin", "plugin_opts": "server;tls;fast-open;host=xxxxxxxxx.com;cert=/证书目录/fullchain.cer;key=/证书目录/xxxxxxxxx.com.key;loglevel=none" }
- “server_port”:必须使用 443 端口;【记得防火墙打开该端口】
- “no_delay”:修改为“"true"”;(在网络带宽很好的情况下,让服务器端能更快的把数据发往客户端)
- “mode”:
- https 模式:使用“"tcp_only"”;
- quic 模式:修改为“"tcp_and_udp"”;(关闭 ss 的 udp,让 quic 模块去处理 udp)
- “plugin”:使用的插件;(可以设置为全路径???)
- “plugin_opts”:插件选项;
- 客户端:
- 在github release 页面下载“v2ray-plugin-windows-386-v1.3.1.tar.gz”,解压该文件并放到 shadowsocks 可执行文件的同级目录;
- 设置 shadowsocks 界面:
- “服务器端口”:443;
- “插件程序”:
v2ray-plugin_windows_386
(其名称与 shadowsocks 的“插件程序”一致) - “插件选项”:
- https 模式:
tls;host=xxx.com
; - quic 模式:
mode=quic;host=xxx.com
;
- https 模式: