“SS:服务端(插件)”的版本间差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
| (未显示同一用户的7个中间版本) | |||
| 第18行: | 第18行: | ||
  1、[https://cokebar.info/archives/1988 添加混淆: simple-obfs + shadowsocks for Windows]  |   1、[https://cokebar.info/archives/1988 添加混淆: simple-obfs + shadowsocks for Windows]  | ||
== V2Ray-Plugin ==  | == '''V2Ray-Plugin''' ==  | ||
  v2ray-plugin:基于v2ray原理,工作在 shadowsocks 上的流量混淆插件:将流量伪装为某域名下(所以需要为域名设置解析、证书申请)站点的 tls、quic 协议的流量。  |   v2ray-plugin:基于v2ray原理,工作在 shadowsocks 上的流量混淆插件:将流量伪装为某域名下(所以需要为域名设置解析、证书申请)站点的 tls、quic 协议的流量。  | ||
  支持 '''tls'''1.3 和谷歌 '''quic''' udp 协议。  |   支持 '''tls'''1.3 和谷歌 '''quic''' udp 协议。  | ||
  项目地址:  | |||
  1、[  |   1、[https://github.com/shadowsocks/v2ray-plugin v2ray-plugin 项目]  | ||
  2、[  |   2、[https://github.com/acmesh-official/acme.sh acme.sh 项目]([https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E 中文说明])  | ||
参考:  | |||
# [https://gist.github.com/Shuanghua/c9c448f9bd12ebbfd720b34f4e1dd5c6 ss-libev 插件 v2ray-plugin 的安装使用]  | |||
# [https://funnyjs.com/shadowsocks-v2ray/ shadowsocks+v2ray配置笔记]  | |||
# [http://snlcw.com/460.html 使用一键脚本轻松给 shadowsocks v2ray插件, v2ray,trojan申请免费证书]  | |||
# [http://snlcw.com/479.html 原版shadowsocks v2ray插件安装,支持tls1.3和谷歌quic udp协议,配套客户端windows、macos、android使用详解]  | |||
=== 域名证书 ===  | === 域名证书 ===  | ||
| 第47行: | 第47行: | ||
acme.sh --set-default-ca --server letsencrypt  | acme.sh --set-default-ca --server letsencrypt  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
#* 即,使用 letsencrypt 签发证书;  | |||
# 安装证书:  | # 安装证书:  | ||
#: <syntaxhighlight lang="bash" highlight="">  | #: <syntaxhighlight lang="bash" highlight="">  | ||
| 第54行: | 第55行: | ||
acme.sh --issue --dns dns_cf -d example.com -d www.example.com  | acme.sh --issue --dns dns_cf -d example.com -d www.example.com  | ||
</syntaxhighlight>  | </syntaxhighlight>  | ||
#* 使用了 cloudflare 作为 DNS 提供商(cloudflare 的 CDN 没有必要开启——除非 ip 被锁,否则国外的 CDN 反而可能导致降速);  | |||
#: 证书安装完成如下:  | #: 证书安装完成如下:  | ||
#: [[File:acme.sh 安装证书完成.png|600px]]  | #: [[File:acme.sh 安装证书完成.png|600px]]  | ||
| 第71行: | 第73行: | ||
其他注意:(???)  | |||
* v2ray-plugin 会自动识别并且引用 acme 申请的证书文件;当然你也可以把证书链接放到指定的具体目录下,然后设置只读权限(推荐)  | * v2ray-plugin 会自动识别并且引用 acme 申请的证书文件;当然你也可以把证书链接放到指定的具体目录下,然后设置只读权限(推荐)  | ||
*: <syntaxhighlight lang="bash" highlight="">  | *: <syntaxhighlight lang="bash" highlight="">  | ||
| 第110行: | 第113行: | ||
# 使用编译好的 v2ray-plugin 的可执行二进制文件:  | # 使用编译好的 v2ray-plugin 的可执行二进制文件:  | ||
## [https://github.com/shadowsocks/v2ray-plugin/releases github release 页面下载“v2ray-plugin-linux-amd64-v1.3.1.tar.gz”];  | ## [https://github.com/shadowsocks/v2ray-plugin/releases github release 页面下载“v2ray-plugin-linux-amd64-v1.3.1.tar.gz”];  | ||
## 上传到服务器,解压到 /usr/bin/,并更名为“v2ray-plugin”:  | ## 上传到服务器,解压到 '''/usr/bin/''',并更名为“v2ray-plugin”:  | ||
##: <syntaxhighlight lang="bash" highlight="">  | ##: <syntaxhighlight lang="bash" highlight="">  | ||
cd /root  | cd /root  | ||
| 第165行: | 第168行: | ||
"mode": "tcp_and_udp"【或者:"mode": "tcp_only"】  | "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"    | "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"    | ||
或者:  | |||
"plugin_opts": "server;tls;fast-open;host=ss.chenjx.cc;loglevel=none"  | |||
-->  | -->  | ||
#* “server_port”:推荐使用 443 端口;(这样看起来更像普通的 https 网站)  | #* “server_port”:推荐使用 443 端口;(这样看起来更像普通的 https 网站)  | ||
| 第170行: | 第175行: | ||
#* “no_delay”:修改为“"true"”;(在网络带宽很好的情况下,让服务器端能更快的把数据发往客户端)  | #* “no_delay”:修改为“"true"”;(在网络带宽很好的情况下,让服务器端能更快的把数据发往客户端)  | ||
#* “mode”:  | #* “mode”:  | ||
#*# https 模式:使用“"  | #*# https 模式:使用“"tcp_and_udp"”;  | ||
#*# quic 模式:修改为“"  | #*# quic 模式:修改为“"tcp_only"”;(关闭 ss 的 udp,让 quic 模块去处理 udp)  | ||
#* “plugin”:使用的插件;(可以设置为全路径???)  | #* “plugin”:使用的插件;(可以设置为全路径???)  | ||
#* “plugin_opts”:插件选项;  | #* “plugin_opts”:插件选项;  | ||
| 第189行: | 第194行: | ||
tls;host=ss.chenjx.cc【或者:mode=quic;host=ss.chenjx.cc】  | tls;host=ss.chenjx.cc【或者:mode=quic;host=ss.chenjx.cc】  | ||
-->  | -->  | ||
=== 验证 ===  | |||
# 验证 ss:(使用了一键脚本的安装,仓库安装遇到了“修改配置文件之后服务重启失败的问题”)  | |||
#: <syntaxhighlight lang="bash" line highlight="11,17">  | |||
[root@newjersey ~]# systemctl restart shadowsocks  | |||
[root@newjersey ~]# systemctl status shadowsocks  | |||
● shadowsocks.service - LSB: Fast tunnel proxy that helps you bypass firewalls  | |||
   Loaded: loaded (/etc/rc.d/init.d/shadowsocks; bad; vendor preset: disabled)  | |||
   Active: active (running) since Wed 2021-12-01 20:47:02 UTC; 10s ago  | |||
     Docs: man:systemd-sysv-generator(8)  | |||
  Process: 7817 ExecStop=/etc/rc.d/init.d/shadowsocks stop (code=exited, status=0/SUCCESS)  | |||
  Process: 7820 ExecStart=/etc/rc.d/init.d/shadowsocks start (code=exited, status=0/SUCCESS)  | |||
   CGroup: /system.slice/shadowsocks.service  | |||
           ├─7822 /usr/local/bin/ss-server -v -c /etc/shadowsocks-libev/config.json -f /var/run/shadowsocks-libev...  | |||
           └─7825 v2ray-plugin  | |||
Dec 01 20:47:02 newjersey systemd[1]: Stopped LSB: Fast tunnel proxy that helps you bypass firewalls.  | |||
Dec 01 20:47:02 newjersey systemd[1]: Starting LSB: Fast tunnel proxy that helps you bypass firewalls...  | |||
Dec 01 20:47:02 newjersey shadowsocks[7820]: Starting Shadowsocks-libev success  | |||
Dec 01 20:47:02 newjersey systemd[1]: Started LSB: Fast tunnel proxy that helps you bypass firewalls.  | |||
Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: plugin "v2ray-plugin" enabled  | |||
Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: UDP relay enabled  | |||
Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: initializing ciphers... chacha20-ietf-poly1305  | |||
Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: using nameserver: 8.8.8.8  | |||
Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: tcp server listening at 127.0.0.1:51975  | |||
Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: udp server listening at 0.0.0.0:443  | |||
[root@newjersey ~]#   | |||
</syntaxhighlight>  | |||
#* 配置的 v2ray-plugin 插件应该要被识别启动;  | |||
# 验证 v2ray-plugin:  | |||
#: <syntaxhighlight lang="bash" line highlight="6,9,15">  | |||
[root@newjersey ~]# netstat -lptn  | |||
Active Internet connections (only servers)  | |||
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name      | |||
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1035/sshd             | |||
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1278/master           | |||
tcp        0      0 127.0.0.1:51975         0.0.0.0:*               LISTEN      7822/ss-server        | |||
tcp6       0      0 :::22                   :::*                    LISTEN      1035/sshd             | |||
tcp6       0      0 ::1:25                  :::*                    LISTEN      1278/master           | |||
tcp6       0      0 :::443                  :::*                    LISTEN      7825/v2ray-plugin     | |||
[root@newjersey ~]# netstat -lpun  | |||
Active Internet connections (only servers)  | |||
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name      | |||
udp        0      0 127.0.0.1:323           0.0.0.0:*                           511/chronyd           | |||
udp        0      0 0.0.0.0:68              0.0.0.0:*                           980/dhclient          | |||
udp        0      0 0.0.0.0:443             0.0.0.0:*                           7822/ss-server        | |||
udp6       0      0 ::1:323                 :::*                                511/chronyd           | |||
[root@newjersey ~]#   | |||
</syntaxhighlight>  | |||
#* tcp 端口应该有 ss 和 v2ray 在使用,udp 端口应该有 ss 在使用;  | |||
2021年12月3日 (五) 07:56的最新版本
关于
可以尝试使用使用协议混淆插件,目前插件汇总: 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 协议。 项目地址: 1、v2ray-plugin 项目 2、acme.sh 项目(中文说明)
参考:
- ss-libev 插件 v2ray-plugin 的安装使用
 - shadowsocks+v2ray配置笔记
 - 使用一键脚本轻松给 shadowsocks v2ray插件, v2ray,trojan申请免费证书
 - 原版shadowsocks v2ray插件安装,支持tls1.3和谷歌quic udp协议,配套客户端windows、macos、android使用详解
 
域名证书
理论上来说,证书不是必须的。但没有 tls 加持或不做加密,防火墙直接能看出来流量真实意图从而进行干扰,这也是为什么不建议伪装 http 流量的原因。 见:Acme.sh 使用#DNS认证方式(推荐)
- 安装 acme.sh:
curl https://get.acme.sh | sh
 - 更改默认 CA:
acme.sh --set-default-ca --server letsencrypt
- 即,使用 letsencrypt 签发证书;
 
 - 安装证书:
# 以下 CF_Key、CF_Email和域名,需要在实际环境中用你自己的配置替换掉 export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje" export CF_Email="xxxx@sss.com" acme.sh --issue --dns dns_cf -d example.com -d www.example.com
- 使用了 cloudflare 作为 DNS 提供商(cloudflare 的 CDN 没有必要开启——除非 ip 被锁,否则国外的 CDN 反而可能导致降速);
 
 
其他注意:(???)
- 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-amd64-v1.3.1.tar.gz”;
 - 上传到服务器,解压到 /usr/bin/,并更名为“v2ray-plugin”:
cd /root tar -zxvf v2ray-plugin-linux-amd64-v1.3.1.tar.gz mv v2ray-plugin_linux_amd64 /usr/bin/v2ray-plugin
 - 为 v2ray-plugin 增加可执行权限:
# 修改文件所属组为 root chgrp -R root /usr/bin/v2ray-plugin # 修改文件所有者为 root chown -R root /usr/bin/v2ray-plugin # 为文件添加“可执行权限” chmod +x /usr/bin/v2ray-plugin
 
 
验证安装:
- 执行以下命令,能够执行并有返回结果即可:
[root@newjersey ~]# v2ray-plugin 2021/12/01 15:45:37 V2Ray 4.23.2 (V2Fly, a community-driven edition of V2Ray.) Custom (go1.14.3 linux/amd64) 2021/12/01 15:45:37 A unified platform for anti-censorship. 2021/12/01 15:45:37 [Warning] v2ray.com/core: V2Ray 4.23.2 started
 
配置
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 端口;(这样看起来更像普通的 https 网站)
- 【记得防火墙打开该端口】
 
 - “no_delay”:修改为“"true"”;(在网络带宽很好的情况下,让服务器端能更快的把数据发往客户端)
 - “mode”:
- https 模式:使用“"tcp_and_udp"”;
 - quic 模式:修改为“"tcp_only"”;(关闭 ss 的 udp,让 quic 模块去处理 udp)
 
 - “plugin”:使用的插件;(可以设置为全路径???)
 - “plugin_opts”:插件选项;
 
 - 客户端:
- 在github release 页面下载“v2ray-plugin-windows-amd64-v1.3.1.tar.gz”,解压该文件并放到 shadowsocks 可执行文件的同级目录;
 - 设置 shadowsocks 界面:
- “服务器地址”:xxx.com;
 - “服务器端口”:443;
 - “插件程序”:
v2ray-plugin_windows_amd64(shadowsocks 同级目录的插件名) - “插件选项”:
- https 模式:
tls;host=xxx.com; - quic 模式:
mode=quic;host=xxx.com; 
 - https 模式:
 
 
 
验证
- 验证 ss:(使用了一键脚本的安装,仓库安装遇到了“修改配置文件之后服务重启失败的问题”)
[root@newjersey ~]# systemctl restart shadowsocks [root@newjersey ~]# systemctl status shadowsocks ● shadowsocks.service - LSB: Fast tunnel proxy that helps you bypass firewalls Loaded: loaded (/etc/rc.d/init.d/shadowsocks; bad; vendor preset: disabled) Active: active (running) since Wed 2021-12-01 20:47:02 UTC; 10s ago Docs: man:systemd-sysv-generator(8) Process: 7817 ExecStop=/etc/rc.d/init.d/shadowsocks stop (code=exited, status=0/SUCCESS) Process: 7820 ExecStart=/etc/rc.d/init.d/shadowsocks start (code=exited, status=0/SUCCESS) CGroup: /system.slice/shadowsocks.service ├─7822 /usr/local/bin/ss-server -v -c /etc/shadowsocks-libev/config.json -f /var/run/shadowsocks-libev... └─7825 v2ray-plugin Dec 01 20:47:02 newjersey systemd[1]: Stopped LSB: Fast tunnel proxy that helps you bypass firewalls. Dec 01 20:47:02 newjersey systemd[1]: Starting LSB: Fast tunnel proxy that helps you bypass firewalls... Dec 01 20:47:02 newjersey shadowsocks[7820]: Starting Shadowsocks-libev success Dec 01 20:47:02 newjersey systemd[1]: Started LSB: Fast tunnel proxy that helps you bypass firewalls. Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: plugin "v2ray-plugin" enabled Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: UDP relay enabled Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: initializing ciphers... chacha20-ietf-poly1305 Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: using nameserver: 8.8.8.8 Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: tcp server listening at 127.0.0.1:51975 Dec 01 20:47:02 newjersey /usr/local/bin/ss-server[7822]: udp server listening at 0.0.0.0:443 [root@newjersey ~]#
- 配置的 v2ray-plugin 插件应该要被识别启动;
 
 - 验证 v2ray-plugin:
[root@newjersey ~]# netstat -lptn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1035/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1278/master tcp 0 0 127.0.0.1:51975 0.0.0.0:* LISTEN 7822/ss-server tcp6 0 0 :::22 :::* LISTEN 1035/sshd tcp6 0 0 ::1:25 :::* LISTEN 1278/master tcp6 0 0 :::443 :::* LISTEN 7825/v2ray-plugin [root@newjersey ~]# netstat -lpun Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 127.0.0.1:323 0.0.0.0:* 511/chronyd udp 0 0 0.0.0.0:68 0.0.0.0:* 980/dhclient udp 0 0 0.0.0.0:443 0.0.0.0:* 7822/ss-server udp6 0 0 ::1:323 :::* 511/chronyd [root@newjersey ~]#
- tcp 端口应该有 ss 和 v2ray 在使用,udp 端口应该有 ss 在使用;