XrayR-doc/za-xiang/wei-shen-me-yao-yin-ru-shadowsocks-v2rayplugin.md
2022-04-27 14:21:41 +10:00

21 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 为什么要引入Shadowsocks - V2Ray-Plugin
## Update on 2021/07/04
我错怪Trojan了通过后端禁用TLS配合Nginx的Stream模块也可以实现Nginx代理处理Trojan的TLS达到隐藏TLS握手信息的效果同时可以fallback到http1.1的站点达到比SS更高的性能水平。
## 原文
很多人觉得有Shadowsocks单端口就够了呀为啥要引入Shadowsocks - V2Ray-Plugin呢
首先针对近日来的国际互联网通讯情况我个人分析认为在特殊时期会针对go的TLS握手行为进行匹配并加以阻断。再加上现有大部分的软件如V2ray-core,Xray-core都是以go实现的并采用go的库进行TLS处理。因此在特殊时期可以对go的TLS握手行为可以进行识别从而导致端口精准阻断。所以大部分直接采用go进行tls处理的协议比如Trojan在近日遭受了严重阻断。同样使用Caddy反代进行伪装的行为也遭受了阻断。
虽然针对go的TLS库进行识别的行为有极大的误报率封杀正常的Caddy反代的网站但是在特殊时期已经被证实是可能实行的了。因我认为需要隐藏go的TLS握手行为从而达到更高的隐蔽性。为此我认为采用C语言编写的NGINX是目前最好的选择。现有情况也表明Vmess+ws+tls+nginx在目前存活性最好。
Vmess+ws+tls+nginx虽然已经成功隐藏了go的TLS握手信息但是Vmess协议由于其本身设计会产生大量的内存占用。同时其基于时间的验证设计增加了其使用难度。~~而Trojan暂时又不支持使用其他软件进行TLS处理~~。此时Shadowsocks - V2Ray-Plugin成为了最好的选择。
Shadowsocks - V2Ray-Plugin首先是基于Shadowsocks的。得益于Shadowsocks协议设计使得Shadowsocks拥有比Vmess更快的速度和不依赖时间的验证。同时V2Ray-Plugin给予Shadowsocks进行websocket混淆和TLS加密的能力。极大增强了Shadowsocks的安全性使得流量可以直接在公网传输不再需要隧道。同时可以把TLS交由NGINX处理隐藏go的相关特征防止被阻断端口。
综上所述为了隐藏特征我强烈建议采用nginx+ws+tls+everything的做法在目前情况下nginx+ws+tls+ss的配置会优于nginx+ws+tls+vmess。同时为了长远考虑我建议所有的协议实现软件采用C语言提供的TLS库进行TLS相关处理或者参考Shadowsocks分离出插件层方便使用第三方软件如nginx进行TLS处理。