Shadowsocks是什么?

Shadowsocks_logo

以下转至维基百科

Shadowsocks(中文名称:影梭)是使用Python等语言开发的、基于Apache许可证开源的代理软件。Shadowsocks使用Socks5代理,用于保护网络流量。在中国大陆被广泛用于突破防火长城(GFW),以浏览被封锁的内容。

Shadowsocks分为服务器端和客户端。在使用之前,需要先将服务器端部署在支持Python的服务器上面,然后通过客户端连接并创建本地代理。

2015年8月22日,Shadowsocks原作者Clowwindy因受到中国政府的压力,宣布停止维护此项目。[2][3]不过Git仓库的日志显示该项目仍然在有人维护,并且代码实际上并未被真正删除。

运行原理

Shadowsocks的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。

在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。

特点

  • Shadowsocks使用自行设计的协议进行加密通信。[4]加密算法有AESBlowfishIDEARC4等,除创建TCP连接外无需握手,每次请求只转发一个连接,因此使用起来网速较快,在移动设备上也比较省电。
  • 所有的流量都经过算法加密,允许自行选择算法,所以比较安全。
  • Shadowsocks通过异步I/O和事件驱动程序运行,响应速度快。
  • 客户端覆盖多个主流操作系统和平台,包括Windows,OS X,Android和iOS系统和路由器(OpenWrt)等[5]
  • 专为移动设备和无线网络优化。

安全性

然而Shadowsocks自行设计的加密协议对双方的身份验证仅限于预共享密钥,亦无完全前向保密,也未曾有安全专家公开分析或评估协议及其实现。

Shadowsocks不能替代TLS或者VPN,本质上只是设置了密码的网络代理协议,不能用作匿名通信方案,该协议的目标不在于提供完整的通信安全机制,主要是为了协助上网用户在严苛的网络环境中突破封锁。

在某些极端的环境下,通过深度包检测(DPI)也有可能识别出协议特征。为了确保安全,用户应做好额外的加密和验证措施,以免泄露信息,无论使用的服务器来源是否可靠。

停止维护

2015年8月22日,其作者Clowwindy在GitHub上称,警察在两日前要求他停止开发Shadowsocks并删除其所有代码。[6]之后,作者停止维护Shadowsocks,其GitHub页面已被清空。[7][8]消息传出后,许多中国和外国开发商,以及Shadowsocks用户,在GitHub中对作者表示了致谢,对项目加星标,因此在当时Shadowsocks成为了GitHub上的热门项目(Trending)。[9]

8月25日,另一个用于突破网络审查的GoAgent项目也被作者自行删除。删除后几小时之内,GitHub即遭到了来自中国的DDoS攻击。开发者普遍认为此次攻击与中国政府有关。[10]

2015年8月28日,电子前哨基金会针对Shadowsocks和GoAgent被删除一事发表评论,对中国政府针对翻墙软件作者的打击表示了强烈的谴责。[3]

参考资料

  1. ^ GangZhuo. shadowsocks/shadowsocks-windows. Github. 2016-03-02 [2016-04-02] (英文).
  2. ^ 开源翻墙软件Shadowsocks作者宣布停止项目更新 – | IT-eNews. 2015-08-20 [2016-02-03].
  3. ^ 3.0 3.1 O’Brien, Danny. Speech that Enables Speech: China Takes Aim at Its Coders. 电子前哨基金会. [2016-05-28] (英文).中文翻译
  4. ^ Shadowsocks – spec (英文).
  5. ^ Shadowsocks – Clients. [2015-09-05] (英文).
  6. ^ clowwindy. Adopting iOS 9 network extension points · Issue #124 · shadowsocks/shadowsocks-iOS. GitHub. [2015-08-22]. (原始内容存档于2015-08-22) (英文). Two days ago the police came to me and wanted me to stop working on this. Today they asked me to delete all the code from GitHub. I have no choice but to obey.
  7. ^ clowwindy. remove · shadowsocks/shadowsocks@938bba3. GitHub. 2015-08-22 [2015-08-22].
  8. ^ clowwindy. shadowsocks/shadowsocks. GitHub. 2015-08-22 [2015-08-22] (英文).
  9. ^ percy. 中国开发者被警察要求删除软件. 2015-08-26 (中文).
  10. ^ Catalin Cimpanu. Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects. Softpedia. 2015-08-29 (英文).

外部链接