Shadowsocks 的优劣及使用建议


ShadowSocks 是由@clowwindy所开发的一个开源 Socks5 代理。如其官网所言 ,它是 “A secure socks5 proxy, designed to protect your Internet traffic” (一个安全的 Socks5 代理)。其作用,亦如该项目主页的 wiki中文版) 中所说,“A fast tunnel proxy that helps you bypass firewalls” (一个可穿透防火墙的快速代理)。


摘录来源: https://we233.cn/archives/31.html

优势

  • 支持远程 DNS 解析,防止 DNS 污染。由于 socks5 代理支持远程 DNS 解析,因此不用另外再去找国外的 DNS 服务器,DNS查询直接递给远程代理服务器,然后通过墙外 DNS 服务器查询得到结果再传回客户端。从而 DNS 污染鞭长莫及。
  • 安全。所有数据流量全部经过加密,加密算法可选并支持自定义算法。另外,远程 DNS 解析也使得本地的 ISP 无法通过 DNS 查询获取你所访问的网站。
  • 隐蔽。 OPENVPN 和 VPNgate 都是死在了特征检测上,通常来说基于证书的身份认证过程和密钥交换过程都会带来独特的协议指纹( OPENVPN 有着一套复杂完善的身份认证机制,估计 GFW 就是识别出了这一机制的协议指纹从而成功干掉 OPENVPN 的),从而使得他们在 handshake 阶段就被 GFW 识别出来并阻断了;但 ShadowSocks 直接放弃了服务器端身份认证,也抛弃了密钥协商过程( TLS 连接就是在 handshake 阶段协商出随机密钥的),而是采取事先在服务器端设置好固定密钥的方式来应对加密连接的(设置shadowsocks客户端和服务器端的时候要填写同一个密码,这就是事先设置好的用于加密和解密的密钥)。这样做就大大减少了协议特征,再加上一般的 ShadowSocks 服务器端都是个人租用的专用服务器,流量很小,从而很难被 GFW 发现和封杀。
  • 速度相对较快。由于其隐蔽性,只会有很少的数据包会被 GFW 丢弃,从而保证了连接速度。
  • 连接稳定。同样由于其隐蔽性,较小的丢包率带来的是稳定的连接。
  • 智能切换。 传统的 VPN 方式,在切换网络时非常不方便, 比如连上国外的 VPN 之后会发现访问国内的网站速度严重下降。 ShadowSocks 支持 PAC 列表,根据 PAC 中的规则,有针对性地选用恰当的网络访问方式,兼顾了访问速度与访问效率。移动客户端还支持针对不同应用设置单独代理。
  • 去中心化。服务器端搭建方便快捷,每个人都可以自己动手搭建属于自己的服务器端。部分人以免费或者收费方式共享自己的服务器,即使不想动手搭建的也有很多的免费账号或购买渠道可以选择。
  • 代码开源。不像某些蜜罐式的翻墙工具,开源的代码保证了无后门,从而为上网的隐私性与安全性提供保障。
  • 客户端配置简单。配置时只需要填写 IP /域名、端口号,密码,然后选择加密方式即可。
  • 客户端绿色小巧。Windows版本的客户端只有200多k,而且免安装,解压即可使用。
  • 省电。在移动端上使用,电量管理中几乎看不到它的身影。
  • 支持开机启动,断网无影响,无需手动重连,方便网络不稳定或者3G&Wi-Fi频繁切换的小伙伴。
  • 跨平台。支持主流系统包括 Windows, Linux, Mac, Android, IOS,都有对应的客户端支持。

劣势

若自己搭建 ShadowSocks 服务,需要一定的:
  • 技术成本。因为大部分服务端是基于运行 Linux 的 VPS(虚拟主机)搭建,因此需要学会使用 putty 等远程管理工具的使用方法,并掌握一定的Linux基本命令行操作。
  • 金钱成本。租用国外的服务器,需要价格不菲的费用。
若使用免费 ShadowSocks 账号,可能有一定的:
  • 时间精力成本。很多免费账号由于使用者众多,人均流量很小,导致网速慢,不稳定,需要不断寻找新的替代,且很多免费账号会定时更新密码,或者是有流量限制,或者是需要定时签到等等,这些都需要花费时间和精力去一一满足需求才能短暂使用。
  • 安全成本。有一些人会将自己的 ShadowSocks 节点免费分享出来,这些人是非常值得肯定和称赞的!但是其中有一小部分人别有居心,例如在 ShadowSocks 的服务器端监听网络流量,进行中间人攻击等,这类钓鱼服务器会严重损害用户的个人信息安全。
若购买收费的 ShadowSocks 账号, 需要一定的:
  • 金钱成本 由于很多 ShadowSocks 卖家都是以盈利为目的,需要花费一定的费用。

建议


那么,自己想要有一个影梭账号的话,到底是选用哪种比较好呢?可以看到网上很多卖 ShadowSocks 账号的,有的价格很便宜,比自己搭服务器划算多了,是不是直接购买一个账号比较好呢?
在这里我建议大家 自己搭服务器,或者找几个人一起租个服务器比较划算

不推荐购买商业出售的 ShadowSocks。商业的出售 ShadowSocks 账号的行为绝大部分都是耍流氓。试着算一下,作为一个 ShadowSocks 出售者,他们的成本是服务器的租用费用,而收入是购买 ShadowSocks 账号人数 × 每人花费的 ShadowSocks 账号购买价格。

我们假设,一台服务器的租用成本,是 10 美元一个月,那么如果要想不亏本,且做到低价,假设现在卖给十个人,那么至少每个人每月要 1 美元。但是,服务器的带宽是有限的,假设是 100M 的带宽,那么平均分下来人均带宽只有 10M,而服务器的流量一般也是有限的,如果一共是 1000 M 的流量,那么每人每月只分到 100M 。如果超出流量,服务器的租用费用会增加,就好像我们手机流量超出后,额外的流量需要交钱一样。因此,购买的流量一般都会受限制。

从上面的例子可以看到,服务器资源是大家共享的,使用的人越多,人均分到的资源就越少。但是, ShadowSocks 的卖家需要赚钱,那么怎么办呢?当然是最小化成本,并最大化收入了。也就是说,尽量租用少量廉价的服务器,然后将它以尽可能高的价格卖给尽可能多的消费者。因此,对于 ShadowSocks 的商家而言,超售(即一台服务器原本最多10个人用的,可能最后卖了100个人)的现象非常严重,消费者最终所能享受到的流量和连接速度显然对不起自己的花费。

不如自己租个服务器,不仅能有一个稳定放心的服务器,还能顺便学习些 Linux 的相关知识。

如果嫌麻烦,可以找那种大家一起租一个服务器的,相对而言,至少有一点可以保证,就是不会有各种奇奇怪怪的限制,比如不能发邮件,不能看视频,不能下载特定的某些资源等等。而且最大的一个好处是,租用的人数一般较少,最重要的是这种一般不用担心超售,各方面性能配置等有保证。
发表评论