随着我们越来越积极地阻止对网络上各种资源的访问,绕过锁的问题变得越来越重要,这意味着问题“绕开锁的速度如何?”
我们将以效率为主题,在另一种情况下绕过DPI \ whitelist \ blacklist,而只是比较流行的锁旁路工具的性能。
注意:在扰流板下的文章中,会有很多图片。
免责声明:本文在接近“理想”的条件下比较了流行的VPN /代理解决方案的性能。 此处获得和描述的结果不一定与您在该字段中得出的结果一致。 因为速度测试中的数字通常不取决于旁路工具的生产率,而是取决于提供商如何限制\ QoSit \阻止它。
方法论
云提供商(DO)在世界不同国家购买了3个VPS。 荷兰2名,德国1名。 从可用于优惠券贷款的帐户中选择那些生产力最高的IPN(按核心数)。
私有iperf3服务器部署在第一台荷兰服务器上。
在第二台荷兰服务器上,依次部署了各种用于锁定旁路工具的服务器。
在德国,万国邮联部署了带有VNC和虚拟桌面的桌面Linux(xubuntu)映像。 此VPS是有条件的客户端,并且在其上逐个启动/启动了各种代理\ VPN客户端。
速度测量是从三次进行的,我们专注于平均值,我们使用3种工具:通过网速测试中的铬; 通过fast.com在铬中; 从控制台通过iperf3到代理4(需要将iperf3流量放入代理)。
在iperf3中,直接的客户端-服务器连接iperf3的速度为2 Gbps,而在快速/速度测试中,速度稍差一些。
一个好奇的读者可能会问:“为什么不选择speedtest-cli?”他会是对的。
由于我不知道的原因,速度测试只是一种不可靠/不足的测量吞吐量的方法。 三个连续的测量可能会给出三个完全不同的结果,或者例如显示出吞吐量远高于我的IPS的端口速度。 也许问题出在我的斜眼看,但是用这种工具进行研究似乎是不可能的。
至于三种测量方法(速度测试\快速\ iperf)的结果,我认为iperf指标最准确/最可靠\最可靠,并且是快速\速度测试-参考。 但是某些旁路工具不允许通过iperf3完成3次测量,在这种情况下,您可以专注于speedtest / fast。
工具包
总共测试了24种不同的解决方法工具和/或它们的组合,对于它们中的每一个,我都会给出一些简短的解释以及与他们合作的印象。 但实际上,目标是比较openVPN和Wireguard的影子袜子(以及与之混淆的堆)的速度。
在本文中,我不会详细讨论“如何最好地隐藏流量,以使其不会被禁用”这一问题,因为绕过锁是一种被动措施,我们会根据检查器的使用情况进行调整并在此基础上采取行动。
结果
Strongswan \ ipsec
根据我的印象-它非常易于配置,运行稳定。 好处-它实际上是跨平台的,无需为每个平台寻找客户端。
下载-993 mbit \ s; 上传-770 mbit \ s SSH隧道
可能只有懒惰才写关于使用SSH作为隧道工具的文章。 缺点-解决方案的“关键” 从方便,美观的客户端在每个平台上部署它都会失败。 优点是性能好,根本不需要在服务器上安装任何东西。
下载-1270 mbit \ s; 上传-1140 mbit \ s OpenVPN
OpenVPN在4种操作模式下进行了测试:tcp,tcp + sslh,tcp + stunnel,udp。
OpenVPN服务器是通过安装streisand自动配置的。
据人们判断,目前只有通过隧道的操作模式才能抵抗高级DPI。 我不清楚在将包装中的VPN-tcp打开包装时吞吐量异常增加的原因,检查是在几次访问中进行的,在不同的时间和不同的日子进行,结果是相同的。 也许这是由于部署streysand时设置的网络堆栈设置引起的,如果有任何想法请写下原因。
openvpn \ tcp:下载-760 mbit \ s; 上传-659 mbit \ s openvpn \ tcp + sslh:下载-794 mbit \ s; 上传-693 mbit \ s openvpn \ tcp + stunnel:下载-619 mbit \ s; 上传-943 mbit \ s openvpn \ udp:下载-756 mbit \ s; 上传-580 Mbps 开放连接
它不是绕过锁的最流行的工具,它包含在Streisand软件包中,因此决定对其进行测试。
下载-895 mbit \ s; 上传715 mbit \ s 线卫
协议开发人员是一种受西方用户欢迎的高科技工具,甚至从保护基金中获得了一些开发资助。 通过UDP作为Linux内核模块工作。 最近,客户端出现了Windows \ ios。
创建者认为这是一种不在州内观看netflix的简单快捷方法。
因此,利弊。 优点-一种非常快速的协议,相对易于安装/配置。 缺点-开发人员最初并不是为了避开严重的锁而创建它的,因此可以通过最简单的工具轻松地检测到防护措施,包括 Wireshark。
下载-1681 mbit \ s; 上传1638兆比特 有趣的是,wargard协议在第三方tunsafe客户端中使用,当与同一服务器一起使用时,wargard给出的结果要差得多。 wargard的Windows客户端可能会显示相同的结果:
tunsafe \ client:下载-1007 mbit \ s; 上传-1366 mbit \ s VPN
概述是通过Google拼图提供的美观,便捷的gua实现影子服务器和客户端的。 在Windows中,脱机客户端只是shadowsocks-本地二进制文件(shadowsocks-libev客户端)和badvpn(tun2socks二进制文件,将所有计算机流量定向到本地socks代理)的一组包装。
Shadoxox曾经抵制强大的中文防火墙,但从最新评论来看,现在已不再如此。 与shadowbox不同,“开箱即用”不支持通过插件连接混淆功能,但是可以通过用笔修改服务器和客户端来完成。
下载-939 mbit \ s; 上传-930 mbit \ s 影袜
ShadowsocksR是用python编写的原始Shadowbox的分支。 实际上,它是一个影子框,牢牢固定了几种流量混淆方法。
libev和其他东西上有ssR分支。 低带宽可能是由于代码/语言引起的。 python上的原始shadowox速度不快。
shadowsocksR:下载582兆比特\ s; 上载541 Mbps。 影袜
一个中文的阻止绕行工具,可以使流量随机化,并以其他出色的方式干扰自动分析。 直到最近,GFW都没有阻塞,他们说只有在启用UDP中继后它才被阻塞。
跨平台(任何平台都有客户端),支持与PT作为环形混淆器一起使用,快速地有多种自己的或经过改进的混淆器。
有许多使用不同语言的客户端和服务器实现。 在测试中,shadowsocks-libev充当服务器,客户端不同。 最快的Linux客户端竟然是进行中的shadowsocks2,它作为streisand中的默认客户端分发,我不能说shadowsocks-windows的效率要高多少。 在大多数其他测试中,shadowsocks2被用作客户端。 由于此实现存在明显的滞后性,因此未制作测试纯Shadowsocks-libev的屏幕。
shadowsocks2:下载-1876 mbit \ s; 上传-1981 mbit \ s。 shadowsocks-rust:下载-1605 mbit \ s; 上传-1895 mbit \ s。 Shadowsocks-libev:下载-1584 mbit \ s; 上传-1265兆比特\ s。简单对象
Shadowbox的插件,现在处于“已贬值”状态,但仍然有效(尽管并不总是很好)。 它在很大程度上已被v2ray-plugin插件取代。 它在HTTP Web套接字下(并允许您欺骗标头/目标主机,假装您不是在看pornhub,而是在例如俄罗斯宪法网站上)欺骗流量,或者在伪tls(伪造,因为它不使用任何证书,最简单的DPI类型)下进行流量混淆将免费的nDPI检测为“ tls no cert”。在tls模式下,无法再对标头进行欺骗)。
它足够快,可以通过一个命令从repo安装,配置非常简单,它具有feylover的内置功能(当来自非简单Obfs客户端的流量到达侦听简单Obfs的端口时,它将转发到您在设置中指定的地址-这样这样,您可以避免手动检查第80个端口,例如,只需使用https将其重定向到网站,以及通过连接前端进行阻止即可。
shadowsocks \ s-obfs-tls:下载-1618 mbit \ s; 上传1971 mbit \ s。 shadowsocks \ s-obfs-http:下载-1582 mbit \ s; 上传-1965兆比特\ s。 http模式下的简单obf也可以通过反向代理CDN(例如cloudflare)工作,因此对于我们的提供程序,流量看起来像是到cloudflare的http-texttext流量,这使我们可以更好地隐藏隧道,同时将入口点和流量输出-提供商看到您的流量正在流向CDN ip地址,此时图片中的极端分子喜欢从VPS ip地址进行放置。 我必须说,通过CF的c-obfs含糊不清,例如定期不打开一些https资源。 因此,不可能通过shadowsocks \ s-obfs + CF使用iperf测试上传,但是从速度测试的结果来看,带宽处于shadowsocks \ v2ray-plugin-tls + CF的水平。 我不使用iperf3播放屏幕,因为 他们不应该被引导。
下载(speedtest)-887; 上传(速度测试)-1154。 下载(iperf3)-1625; 上传(iperf3)-N \A。v2ray插件
V2ray插件取代了简单的obfs,成为ss lib的主要“官方”混淆器。 与简单的Obfs不同,它尚未在存储库中,您需要下载预构建的二进制文件,或者自己编译。
它支持3种操作模式:默认,http-web套接字(支持欺骗目标主机的标头); tls-web套接字(与c-obfs不同,这是成熟的tls流量,任何web服务器\反向代理都可以识别该流量,例如,允许您在cloudfleur服务器上或nginx中配置tls终止); quic-通过udp运行,但是不幸的是v2中quick的性能非常低。
与简单的Obfs相比,优点是:v2ray插件在https Web套接字模式下可以通过CF在没有任何流量的情况下正常工作,在tls模式下,它代表完整的tls流量,需要证书(例如,通过加密或自签名)。
shadowsocks \ v2ray-plugin-http:下载-1404 mbit \ s; 上传1938 mbit \ s。 shadowsocks \ v2ray-plugin-tls:下载-1214兆位\ s; 上传1898 mbit \ s。 shadowsocks \ v2ray-plugin-quic:下载-183 mbit \ s; 上传384 Mbps。 就像我说的那样,v2rei可以设置标头,因此可以通过反向代理\ CDN(例如cloudfleur)来使用它。 一方面,这使隧道的检测变得复杂,另一方面,它可能会稍微增加(有时会减少)滞后时间,这完全取决于您和服务器的位置。 目前,CF正在测试是否可以使用quic,但到目前为止,该模式不可用(至少对于免费帐户而言)。
shadowsocks \ v2ray-plugin-http + CF:下载-1284 mbit \ s; 上载1785 mbit \ s。 shadowsocks \ v2ray-plugin-tls + CF:下载-1261 mbit \ s; 上传1881 mbit \ s。 披风
切碎是GoQuiet混淆器进一步发展的结果。 模拟TLS流量,并通过TCP相应地工作。 目前,作者已经发布了该插件的第二个版本cloak-2,该版本与原始版本明显不同。
根据开发人员的说法,该插件的第一个版本使用tls 1.2继续会话机制来欺骗tls的目标地址。 在发布新版本(clok-2)之后,github上所有描述此机制的wiki页面均被删除;当前对加密/混淆的描述中未提及此页面。 根据作者的描述,由于存在“加密中的关键漏洞”,因此未使用第一版的shred。 在测试时,只有cesspool的第一个版本,其二进制文件仍在github上,并且除其他外,关键漏洞不是很重要,因为 shadousoks加密流量的方式与不使用切丝方式相同,并且cryptoshadoksok不会影响cryptoshadowsoksa。
shadowsocks \ cloak:下载-1533; 上传-1970 mbit \ s Kcptun
kcptun使用
KCP协议作为传输方式,在某些特殊情况下,可以提高吞吐量。 不幸的是(或幸运的是)这与中国用户密切相关,其中一些中国的移动运营商在大力小跑TCP而没有使用UDP。
Kcptun非常贪吃,当由1个客户端测试时,可以轻松地100%加载100个zion内核。 此外,该插件“运行缓慢”,并且在通过iperf3进行操作时,它并未完成测试。 我们以浏览器中的速度测试为指导。
shadowsocks \ kcptun:下载(速度测试)-546 mbit \ s; 上传(速度测试)854兆比特\ s。 结论
需要一个简单的快速VPN来包装整个计算机的流量吗? 然后,您的选择是后卫。 您是否需要代理(用于选择性隧穿或流与虚拟人的分离),还是使流量免受严重阻塞的影响对您来说更重要? 然后用tls \ http模糊处理看一下阴影盒。 是否想确保您的Internet可以在Internet正常运行的同时运行? 通过重要的CDN选择流量代理,将其阻塞将导致该国一半的Internet丢弃。