什么是 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” (一个可穿透防火墙的快速代理)。Qoz免费翻墙网
不过,在中国,由于GFW的存在,更多的网友用它来进行科学上网。2014 年底的一项调查显示(图一),“最受欢迎的翻墙方案前五名是: fqrouter 、goagent、shadowsocks、自由门、VPN;最坚挺的翻墙方案前五名是:shadowsocks、fqrouter、自由门、VPN、路由器翻墙”。对比2013年的调查结果,可以看到,Shadowsocks的流行度正日益上升,而其稳定性也获得了广泛的认可。 Qoz免费翻墙网
ShadowSocks 的原理
这里推荐“写给非专业人士看的 Shadowsocks 简介”,讲的非常清楚。为防止有同学无法访问该文章,这里摘抄出来:Qoz免费翻墙网
long long ago…
在很久很久以前,我们访问各种网站都是简单而直接的,用户的请求通过互联网发送到服务提供方,服务提供方直接将信息反馈给用户 Qoz免费翻墙网
when evil comes
然后有一天,GFW 就出现了,他像一个收过路费的强盗一样夹在了在用户和服务之间,每当用户需要获取信息,都经过了 GFW,GFW将它不喜欢的内容统统过滤掉,于是客户当触发 GFW 的过滤规则的时候,就会收到 Connection Reset 这样的响应内容,而无法接收到正常的内容
Qoz免费翻墙网
ssh tunnelQoz免费翻墙网
聪明的人们想到了利用境外服务器代理的方法来绕过 GFW 的过滤,其中包含了各种HTTP代理服务、Socks服务、VPN服务… 其中以 ssh tunnel 的方法比较有代表性Qoz免费翻墙网
1) 首先用户和境外服务器基于 ssh 建立起一条加密的通道
2-3) 用户通过建立起的隧道进行代理,通过 ssh server 向真实的服务发起请求
4-5) 服务通过 ssh server,再通过创建好的隧道返回给用户
Qoz免费翻墙网
由于 ssh 本身就是基于 RSA 加密技术,所以 GFW 无法从数据传输的过程中的加密数据内容进行关键词分析,避免了被重置链接的问题,但由于创建隧道和数据传输的过程中,ssh 本身的特征是明显的,所以 GFW 一度通过分析连接的特征进行干扰,导致 ssh
存在被定向进行干扰的问题Qoz免费翻墙网
shadowsocks
于是 clowwindy 同学分享并开源了他的解决方案Qoz免费翻墙网
简单理解的话,shadowsocks 是将原来 ssh 创建的 Socks5 协议拆开成 server 端和 client 端,所以下面这个原理图基本上和利用 ssh tunnel 大致类似Qoz免费翻墙网
1、6) 客户端发出的请求基于 Socks5 协议跟 ss-local 端进行通讯,由于这个 ss-local 一般是本机或路由器或局域网的其他机器,不经过 GFW,所以解决了上面被 GFW 通过特征分析进行干扰的问题
2、5) ss-local 和 ss-server 两端通过多种可选的加密方法进行通讯,经过 GFW 的时候是常规的TCP包,没有明显的特征码而且 GFW 也无法对通讯数据进行解密
3、4) ss-server 将收到的加密数据进行解密,还原原来的请求,再发送到用户需要访问的服务,获取响应原路返回
Qoz免费翻墙网
Shadowsocks 的优劣
优势
- 支持远程 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 服务,需要一定的Qoz免费翻墙网
- 技术成本。因为大部分服务端是基于运行 Linux 的 VPS(虚拟主机)搭建,因此需要学会使用 putty 等远程管理工具的使用方法,并掌握一定的Linux基本命令行操作。
- 金钱成本。租用国外的服务器,需要价格不菲的费用。
若使用免费 ShadowSocks 账号,可能有一定的Qoz免费翻墙网
- 时间精力成本。很多免费账号由于使用者众多,人均流量很小,导致网速慢,不稳定,需要不断寻找新的替代,且很多免费账号会定时更新密码,或者是有流量限制,或者是需要定时签到等等,这些都需要花费时间和精力去一一满足需求才能短暂使用。
- 安全成本。有一些人会将自己的 ShadowSocks 节点免费分享出来,这些人是非常值得肯定和称赞的!但是其中有一小部分人别有居心,例如在 ShadowSocks 的服务器端监听网络流量,进行中间人攻击等,这类钓鱼服务器会严重损害用户的个人信息安全。
若购买收费的 ShadowSocks 账号, 需要一定的Qoz免费翻墙网
- 金钱成本 由于很多 ShadowSocks 卖家都是以盈利为目的,需要花费一定的费用。
那么,自己想要有一个影梭账号的话,到底是选用哪种比较好呢?可以看到网上很多卖 ShadowSocks 账号的,有的价格很便宜,比自己搭服务器划算多了,是不是直接购买一个账号比较好呢?Qoz免费翻墙网
在这里我建议大家自己搭服务器,或者找几个人一起租个服务器比较划算。不推荐购买商业出售的 ShadowSocks。
商业的出售 ShadowSocks 账号的行为绝大部分都是耍流氓。试着算一下,作为一个 ShadowSocks 出售者,他们的成本是服务器的租用费用,而收入是购买 ShadowSocks 账号人数 × 每人花费的 ShadowSocks 账号购买价格。
我们假设,一台服务器的租用成本,是 10 美元一个月,那么如果要想不亏本,且做到低价,假设现在卖给十个人,那么至少每个人每月要 1 美元。但是,服务器的带宽是有限的,假设是 100M 的带宽,那么平均分下来人均带宽只有 10M,而服务器的流量一般也是有限的,如果一共是 1000 M 的流量,那么每人每月只分到 100M 。如果超出流量,服务器的租用费用会增加,就好像我们手机流量超出后,额外的流量需要交钱一样。因此,购买的流量一般都会受限制。
从上面的例子可以看到,服务器资源是大家共享的,使用的人越多,人均分到的资源就越少。但是, ShadowSocks 的卖家需要赚钱,那么怎么办呢?当然是最小化成本,并最大化收入了。也就是说,尽量租用少量廉价的服务器,然后将它以尽可能高的价格卖给尽可能多的消费者。因此,对于 ShadowSocks 的商家而言,超售(即一台服务器原本最多10个人用的,可能最后卖了100个人)的现象非常严重,消费者最终所能享受到的流量和连接速度显然对不起自己的花费。
不如自己租个服务器,不仅能有一个稳定放心的服务器,还能顺便学习些 Linux 的相关知识。
如果嫌麻烦,可以找那种大家一起租一个服务器的,相对而言,至少有一点可以保证,就是不会有各种奇奇怪怪的限制,比如不能发邮件,不能看视频,不能下载特定的某些资源等等。而且最大的一个好处是,租用的人数一般较少,最重要的是这种一般不用担心超售,各方面性能配置等有保证。Qoz免费翻墙网
ShadowSocks 配置
服务器端配置
服务器的选择
首先是选择一款合适的国外主机作为服务器,一般而言,用来作 ShadowSocks 的服务器的话,并不需要一台独立的国外主机,只需要选择一款虚拟主机(Virtual Private Server,简称 VPS)即可满足需要。这里推荐几家较常用的VPS。Qoz免费翻墙网
隶属于美国IT7旗下的VPS服务品牌,VPS采用OpenVZ架构,主要针对低端VPS市场。目前拥有洛杉矶、凤凰城、佛罗里达、荷兰4个数据中心。Qoz免费翻墙网
具体节点的选择,可以在浏览器中输入以下IP进行实际测试(测试地址由www.banwagong.com提供):
美国洛杉矶 US West Coast-Los Angeles:104.224.162.217
美国佛罗里达 US West Coast-Florida:104.224.141.127
欧洲 荷兰 EU-Netherlands:104.224.145.203
美国 凤凰城 US, Arizona :45.62.112.117
一般而言,中国用户使用洛杉矶和凤凰城的机房会有较好的网络体验。Qoz免费翻墙网
具体套餐如下:Qoz免费翻墙网
OpenVZ架构 1GB内存 20GB硬盘 2TB流量/月 18.99美元/年(折合人民币9.5元/月)
(低成本大流量首选)
https://bandwagonhost.com/aff.php?aff=3420&pid=28
(温馨小提示:此款VPS的年付选项在Billing Cycle的下拉菜单里)Qoz免费翻墙网
OpenVZ架构 512MB内存 10GB硬盘 1TB流量/月 11.99美元/年
(强力推荐,性价比非常高)
https://bandwagonhost.com/aff.php?aff=3420&pid=27
(温馨小提示:此款VPS的年付选项在Billing Cycle的下拉菜单里)Qoz免费翻墙网
OpenVZ架构 512MB内存 5GB硬盘 500GB流量/月 9.99美元/年
https://bandwagonhost.com/aff.php?aff=3420&pid=22
(温馨小提示:此款VPS的年付选项在Billing Cycle的下拉菜单里)Qoz免费翻墙网
OpenVZ架构 128MB内存 3GB硬盘 300GB流量/月 5.99美元/年
1/4 1 2 3 4 下一页 尾页
|