Shadowsocks vs V2Ray vs Trojan 都有什么区别?

Cover Image for Shadowsocks vs V2Ray vs Trojan 都有什么区别?

对于新手来说,很多人分不清什么是 Shadowsocks,什么是 V2ray,什么是 Trojan。这些都是国内比较火的,比较有效的翻墙工具。但是对于一般人来说,说出他们的区别和用处还是很难的。而且他们之间的翻墙特性也各有千秋。最近几年开始,SSR 和 V2ray 的服务器经常被断流,端口一日一封,IP 批量被 ban。针对国内复杂的网络环境,你可能需要知道V2Ray 和 SSR 的区别。

V2Ray 和 SSR 的区别

他们两个最大的区别就是,Shadowsocks 是一个简单的SOCKS5代理工具,而 V2Ray 的定位是一个平台,任何人都可以使用 V2Ray 提供的模块来搭配出理想的翻墙策略。

v2ray
v2ray

可能有些同学已经知道了Shadowsocks 的历史,Shadowsocks 是由 clowwindy 开发的开源项目。开发的初衷是为了能让自己简单高效地科学上网,自己使用了很长一段时间后觉得不错才共享出来的。V2Ray 是 clowwindy 被喝茶之后,V2Ray 项目组为表示抗议开发的,一开始就致力于让大家更好更快的科学上网。

简单来说,Shadowsocks 功能单一,但是很好上手。V2Ray 功能强大,支持 WebSocket + TLS 等伪装协议,但是配置复杂难上手。

哪种协议最隐秘

ExpressVPN 和 NordVPN 等VPN供应商使用的 OpenVPN 协议已经非常落后了,OpenVPN 流量太明显,很容易被防火墙识别。当下国内的科学上网方式无非也就加密流量、伪装流量两种。

GFW 现在已经可以通过机器学习、随机预测等算法精准识别 SSR 和 V2ray 的流量,代理服务器和端口集体翻车已经成为日常,科学上网的发展方向还是应该向“正常使用”的方向走,才能正常使用。

封装流量

SSR 和 V2ray 这两种网络协议,都需要将网络流量加密封装成 TCP 数据包(Socket5、VMess)来传输。而且 V2ray 流量识别技术已被申请专利。

缺点:没有特别明显的特征。但是从防火墙的角度来看未知的数据流量就是最明显的特征。使用代理的流量在运营商那里都会显示为 TCP未知流量,如果没有使用 TLS 加密则可以被分析识别流量数据。

加密流量

可以将网络流量加密并伪装成正常的 HTTPS 流量,与平时访问网站的流量形态是一样的。

优点:HTTP 较为大众,海量正常流量如海底涝针,很难找出哪个是正常流量,哪个是代理流量。找到也几乎无法分析流量内容,GFW不会贸然阻断疑似流量。

通俗的比较

假如在一条车流量很大的大路上

  • 用 HTTP 的都是窗户透明型号统一的出租车

  • 用 HTTPS 的都是窗户不透明型号统一的出租车

  • 用 SS/SSR/V2Ray 原协议的都是一些窗户不透明的私家车

  • SS/SSR 用 HTTP/TLS 混淆的都是把私家车染成了出租车的样子

  • 用 VPN 的都是坐的大巴,虽然关着窗但知道这肯定是大巴。

  • 总结来说 V2ray WS + TLS 是最安全隐秘的。

Trojan是什么?

trojan
trojan

根据官网给出的解释,Trojan的设计理念与传统协议的设计理念相反,Trojan不使用强加密和随机模糊,而是直接模仿互联网最常见的协议HTTPS,以此来达到设计的目的。HTTPS协议本身就含有加密,而且TLS 1.3更是强加密,现今无法通过简单方式破解。Trojan本身使用了HTTPS的特性,自带了加密和混淆的属性,只不过这种加密大家都在用而已,因此官网描述是不准确的。

Trojan 和 V2Ray 的对比

前段时间, 有些技术社群爆出论文研究 V2Ray 识别的方法。这让大家开始寻找一些V2Ray可能的替代品。这不,最近Trojan十分火爆,很多技术爱好者都开始着手测试Trojan的性能,制作一键安装Trojan的教程。那么,我们从底层的角度来简单分析一下,V2Ray和Trojan到底有什么区别。

安全性

Trojan(特洛伊木马)不使用强加密、随机模糊,直接模拟网络流量最大的 HTTPS 协议来传输数据,从而不被墙识别。

V2Ray 使用 WebSocket + TLS 时,与 Trojan 本身差异并不大。但是 Trojan 还使用了网站常用服务器 Nginx 特征,从细节上做到“以假乱真”,不过墙应该还没有那么智能吧?这个特征 V2Ray 要实现也不难。

速度比较

根据网友实测效果,同样带宽下 Trojan 的速度比 V2ray 更快。VPS 安装 BBR 之后差距更加明显,导致 V2ray 的速度不如 Trojan 快的原因有两点:

  • V2ray 的 WebSocket+TLS 模式有 TCP TLS 加密与 VMess 协议加密,需要进行更多的处理;

  • V2ray 的 WebSocket 处理性能本身比 Trojan 性能略差。

但由于 Trojan 比较新用的人少,电脑和手机的客户端上 Trojan 的支持都没有 V2ray 好,这个可以先从客户端上看支持情况,再决定要不要上。

稳定性

其实任何协议都有破绽,没有哪个协议在国内的复杂网络环境下是万能的。都会偶尔出现断流,速度突然变慢的情况。

  • 局部阻断会丢包,完全阻断会断网,很少出现使用限速手段阻断 V2ray 流量

  • 可以访问但是速度慢:先相信你的配置没有问题,错误的v2ray配置不会影响性能拖慢上网速度,只会完全不能用了

  • 延迟 400ms 以内都还好,丢包率超过 15% 使用绝对有问题,自行排查,优先看主机商网络稳定性,其次看阻断问题

  • 速度下降的太多请自行排查,重点看主机商网络稳定性

使用域名的自行排查域名 DNS 解析质量,可能你的主机只有 100ms 延迟,但是解析你的接入点域名就需要 2000ms 并且还会丢包,用站长工具可以测试,具体可参考 网站10倍速度优化比较

结尾

光年VPN部署的大部分是ShadowsocksR服务器,和一些V2ray服务器。虽然Shadowsocks这个协议已经比较久了,但是还是相当稳定的,没有出现大范围被封禁的现象。所以对于使用V2ray还是SSR这个问题,其实都一样的。即使某个服务器被封禁了,我们也会第一时间更换IP,保证科学上网畅通无阻。