diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index dfe0770..0000000 --- a/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -# Auto detect text files and perform LF normalization -* text=auto diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e7bcaed..0000000 --- a/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk diff --git a/README.md b/README.md new file mode 100644 index 0000000..816a21b --- /dev/null +++ b/README.md @@ -0,0 +1,495 @@ +# Shadowsocks 笔记 + +![AUTHOR](https://img.shields.io/badge/AUTHOR-JingX-green.svg) + +![LICENSE](https://img.shields.io/badge/LICENSE-CC--BY--SA--4.0-9cf.svg) + +> 时间会遗忘的。 + +* [前言](#前言) + + [经典思路](#经典思路) + + [新思路](#新思路) +* [Shadowsocks 大事件](#shadowsocks-大事件) + + [一些历史事件](#一些历史事件) + - [风云突变](#风云突变) + - [一些话](#一些话) + - [ShadowsocksR 之死](#shadowsocksr-之死) +* [传承](#传承) +* [变数](#变数) + + [收紧的手](#收紧的手) + + [小心翼翼](#小心翼翼) + + [时间线](#时间线) +* [新生代](#新生代) + + [Surge—— 破局者](#surge破局者) + - [题外话](#题外话) + + [Shadowrocket—— 穿云箭](#shadowrocket穿云箭) + + [Others](#others) + + [Android](#android) + - [Postern](#postern) +* [总结](#总结) +* [后记](#后记) + +* [个人搭建指南](#个人搭建指南) + + [服务器选择](#服务器选择) + + [服务器系统](#服务器系统) + + [Shadowsocks-libev](#shadowsocks-libev) + - [obfs 混淆](#obfs-混淆) + - [Shadowsocks-libev 安装与配置](#shadowsocks-libev-安装与配置) + + [Shadowsocks 客户端](#Shadowsocks-客户端) + - [Windows](#windows) + - [下载地址](#下载地址) + - [本地配置](#本地配置) + + [macOS](#macos) + - [ShadowsocksX-NG](#shadowsocksx-ng) + - [ClashX](#clashx) + - [Surge](#surge) + + [iOS](#ios) + - [Surge](#surge-1) + - [Shadowrocket](#shadowrocket) + + [Android](#android) + - [Shadowsocks](#shadowsocks) + - [Postern](#postern) + +## 前言 + +翻越 GFW 有很多种方法,大浪淘沙,很多的方法都已经消失了,在我能够想起来的过去的,现在的,做一简单的记录。 + +### 经典思路 + +1. 修改电脑内部的 `host` 文件,通过自主指定相关网站的 IP 地址的方式实现,即避开 DNS,简单粗暴,这种方式现在依然存在。 +2. GFW 主要攻击手段之一是 DNS 污染,于是便有了强制指定 DNS 的方式以避免 IP 被污染的方法,这种方法经常会结合 `1.` 使用。 +3. 原本用来作为一种匿名,安全,保密的 VPN 服务也被发掘出翻墙的潜力,其原理比较简单,选择一个没有被 GFW 封杀的服务器,通过该服务器将相关网站的流量转发到自己的设备,而设备与 VPN 服务器之间的通信并不在 GFW 的屏蔽范围之内,于是便达成了翻墙的目的。VPN 最初的目的是用于企业服务,方便员工远程登录企业内网进行操作,主要协议有 PPTP、L2TP、IPsec、IKEv2、OpenVPN 等。 +4. GoAgent、自由门和 fqrouter 等网络服务。 + +### 新思路 + +1. Shadowsocks 类:主要包括各类 Shadowsocks 衍生版本,Shadowsocks-libev 和 ShadowsocksR 等,特点是加密了通信过程中的数据以及流量分流。 +2. 内网穿透:比较典型的是 [ZeroTier](https://www.zerotier.com),简单解释就是假装自己在国外上网,这么说的主要原因是因为当两台设备同时加入到 ZeroTier 的服务器之后,两台设备会拥有同一 IP 段内的 IP 地址,此时两台电脑相当于处于一个虚拟局域网之中,可以用 iPad 连接电脑远程运行 MATLAB。 +3. V2Ray:是 Project V 下的一个工具。Project V 是一个包含一系列构建特定网络环境工具的项目,而 V2Ray 属于最核心的一个。官方介绍 Project V 提供了单一的内核和多种界面操作方式。内核(V2Ray)用于实际的网络交互、路由等针对网络数据的处理,而外围的用户界面程序提供了方便直接的操作流程。不过从时间上来说,先有 V2Ray 才有 Project V。 +4. 大杀器:奇怪的名字,似乎是一个有趣的人开发的,个人没有关注过。 + +## Shadowsocks + +### 一些历史事件 + +2012 年 4 月 22 日,V2EX 用户 clowwindy 分享了一个自己自用一年多的翻墙工具:**Shadowsocks** + +![](image/cwpostss.png) + +相对于以前的 VPN 技术,Shadowsocks 的一个大特点就是网络分流技术,配置文件中的网站走代理通道,配置文件之外的地址全部走直连通道,相较于以前所有的流量只能走代理通道,不需要代理的网站上网速度会因为流量需要通过远程服务器转发至设备而受到影响,极大地提升了上网体验。 + +之后的 Shadowsocks 的发展比较顺利,各个平台的客户端也如雨后春笋逐渐建立起来,最初的 Shadowsocks 客户端都内置了节点信息,虽然速度略慢,但丰俭由人,普通用户安装后无需配置即可食用,有需求有技术的群体也可以使用自己的服务器。唯一遗憾的是当年的 iOS 上并没有网络通道的权限,要么使用 Shadowsocks 浏览器有限翻墙,要么越狱安装客户端实现 Shadowsocks 代理。 + +#### 风云突变 + +**2015 年 8 月 20 日**,clowwindy 在 GitHub 发出如下一段话: + +> 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. +> +> I hope one day I’ll live in a country where I have freedom to write any code I like without fearing. +> I believe you guys will make great stuff with Network Extensions. + +> Cheers! + +当晚,clowwindy 把他所维护的几个 Shadowsocks 实现的代码仓库内的 Issues 关闭,所有帮助信息全部删除,所有的描述都改成了 Something happened。另外,他还清空了该组织的 membership,或者将所有成员全部转入隐私状态,不对外公开。 + +**2015 年 8 月 21 日** 传出 clowwindy 被请去喝茶的消息,他在 Shadowsocks-windows 的 Issue#305 下回复道: + +> I was invited for some tea yesterday. I won’t be able to continue developing this project. + +同时开启了 Twitter 的隐私保护,除先前关注者外无法查看动态。 + +当晚 clowwindy 发布了 `thanks.` 后的推文,证明人没事。 + +![](image/cw.png) + +至此,Shadowsocks 原作者退出。 + +#### 一些话 + +后续工作并未停止,前前后后也着实发生了很多的事情,前因后果在此不计。 + +ShadowsocksR 的作者 breakwa11 是一个极富争议性的人,她接手了后续 Shadowsocks 的开发工作,却违反开源协议封闭源代码,同时发布的过程中暗示自己是原作者,在 [Shadosocks-windows Issue#293](https://github.com/shadowsocks/shadowsocks-windows/issues/293#issuecomment-132253168) 中 clowwindy 做出了一些回应: + +> 那是自然的咯。这边加了什么功能,它(ShadowsocksR)马上扒过去合并了。它那边加了什么却不会贡献出来给其他人用,久而久之,不就是它那边功能更多了吗。 + +> 一直以来我什么都没说是因为我对他还有点希望,所以得给他一点面子不是。一开始我还只是纳闷他为什么不发 Pull request,过了一段时间我才明白,这个世界上也有这一类的人。不尊重 GPL 就算了,把作者名字换成自己的,还在主页上加上官方的字样。为什么我们这边反而不说官方呢?因为我希望这个项目是没有官方的,人人都是贡献者。想不到这个社会人人都围着官转,人人都巴不得当官。 + +> 既然他没有尊重别人劳动成果的意愿,那他那些不开源的理由想必也只是借口。说因为加了一些试验性功能会不兼容所以暂不开源。他弄了一个混淆 TCP 协议头功能,在界面上标注提升安全性,吸引用户打开,然后安装他自己的不兼容服务端。然而我分析了一下之后发现这个功能的设计就是想当然,用得多了以后反而会增加特征。如果你真有什么试验性功能,不是更应该开放出来让所有人帮你分析么,大家一起讨论么?在加密算法领域,只有经过足够多人和机构的审视的算法,才能视作是安全的,闭门造出来的怎么能用。 + +> 当然啦,大部分用户才不会管这些,他们不会分析你是不是真的安全,也不会做道德判断,只要他们觉得好用就行。所以可以看到,这种环境下开源其实并没有什么优势,只不过为一些人抄袭提供了便利。这种环境下最后留下来的都是这些人。 + +> 我一直想象的那种大家一起来维护一个项目的景象始终没有出现,也没有出现的迹象。维护这个项目的过程中,遇到 @chenshaoju 这样主动分享的同学并不多。很多来汇报问题的人是以一种小白求大大解决问题,解决完就走人的方式来的,然而既不愿提供足够的信息,也不愿写一些自己尝试的过程供后人参考。互帮互助的气氛就是搞不起来。对比下国外的社区差好远。 + +> 最适合这个民族的其实是一群小白围着大大转,大大通过小白的夸奖获得自我满足,然后小白的吃喝拉撒都包给大大解决的模式。通过这个项目我感觉我已经彻底认识到这个民族的前面为什么会有一堵墙了。没有墙哪来的大大。所以到处都是什么附件回帖可见,等级多少用户组可见,一个论坛一个大大供小白跪舔,不需要政府造墙,网民也会自发造墙。这尼玛连做个翻墙软件都要造墙,真是令人叹为观止。这是一个造了几千年墙的保守的农耕民族,缺乏对别人的基本尊重,不愿意分享,喜欢遮遮掩掩,喜欢小圈子抱团,大概这些传统是改不掉了吧。 + +> 现在维护这些项目已经越来越让我感到无趣。我还是努力工作,好好养家,早日肉翻吧。 + +值得反思。 + +#### ShadowsocksR 之死 + +紧接着 breakwa11 的遭遇不论真假,同样令人胆寒。 + +2017 年 7 月 19 日,breakwa11 在 Telegram 频道 ShadowsocksR news 里转发了深圳市启用 Shadowsocks 协议检测结果,被大量用户转发,引发恐慌。 + +2017 年 7 月 27 日,breakwa11 遭到自称「ESU.TV」的不明身份人士人身攻击,对方宣称如果不停止开发并阻止用户讨论此事件将发布更多包含个人隐私的资料,随后 breakwa11 表示遭到对方人肉搜索并公开的个人资料属于完全无关人士,是自己当时随便填写的信息,为了防止对方继续伤害无关人士,breakwa11 删除 GitHub 上的所有代码、解散相关交流群组,停止 ShadowsocksR 项目。 + +> 这次的人肉事件,让我严重怀疑我自己做 ShadowsocksR 是不是对的,首先不管资料对不对,从行为上看,就是有人希望我死,希望这个项目死,恨一个人能恨到如此程度。我知道我很做作,因此得罪了很多人,尤其最近公开 Shadowsocks 可被检测的问题,更是让很多人义愤填膺,非要干掉我不可。尽管从我的角度看,我只是希望通过引起关注然后促进 Shadowsocks 那边进行修改,这并不是希望 Shadowsocks 死掉的意思,我每次提出的问题之后不是都得到了改进了吗,包括 OTA 和 AEAD,AEAD 我也是有参与设计的,你们可以问 Syrone Wong,以及 NoisyFox 证实,而且 Shadowsocks-windows 有一部分也是我参与修改的。但如今,人肉的资料我也稍微看了一下,真是太令人心寒,连对方的支付宝流水都拉出来了,这样真的好吗?我并不希望因为我自己的问题而害了另一个人。我期望和那些反对我的人来一笔交易,我可以以停止开发 ShadowsocksR 作为交换,删除项目及相关的东西,以后不再出现,ShadowsocksR 群从此解散,账号注销,删除代码。对于我来说,这个项目不过是我用来证实自己的想法的一个东西,可有可无,制作也只是兴趣,扔掉也没有什么可惜的,反正替代品非常多,根本就不缺我这一个。你们老说我圈粉,你们真想太多了,真没这个必要。如果可以以这个换取另一人免受网络暴力,我也觉得这是值得的。相反的,如果人肉的结果仍然公开了,那就是我的行为已经救不了了,那我就可以继续开发 ShadowsocksR。不过也不会太久,估计最多只多坚持一年到我毕业之前。谢谢这两年来大家的支持,这次应该是真正的和大家再见,看结果吧,今天晚上 12 点以 ShadowsocksR 群解散作为标志,如果解散了那就正式和大家说一声再见。 + +至此,ShadowsocksR 作者退出。 + +## 传承 + +得益于 clowwindy 最初开源 Shadowsocks 的决定,大量的 Fork 使得 Shadowsocks 依然在更新之中,从 GitHub 现有结果来看,各个平台(甚至是路由器)的 Shadowsocks 仍然不断的在更新,在提交 Issue,也有大功能更新,每一滴微小的力量都推动着项目的前进,只是前途在何处仍然是未知数。 + +## 变数 + +### 收紧的手 + +2017 年 7 月底,中国区 App Store 多款 VPN 相关应用在无任何说明与通知的情况下,突然集体被下架,与正常下架流程不同的是,过去苹果官方下架的应用一般可以在用户的已购项目中仍然可以下载,这是对已经购买了该应用的用户权益的保障,而这次的下架直接封杀了国行 App Store 所有渠道的下载,性质显然不同于以往,苹果给出的回应是: + +> 我们已经收到要求,在中国移除一些不符合规范的 VPN App。这些 App 在其他市场的运营则不受影响。 + +此次下架中所谓的规范即指 2017 年 1 月工业和信息化部印发的《关于清理规范互联网网络接入服务市场的通知》,《通知》中明确表明: + +> 规范的对象是未经电信主管部门批准,无国际通信业务经营资质的企业或个人,租用国际专线或 VPN,私自开展跨境的电信业务经营活动。外贸企业、跨国企业因办公自用等原因,需要通过专线等方式跨境联网时,可以向依法设置国际通信出入口局的电信业务经营者租用,《通知》的相关规定不会对其正常运转造成影响。 + +受此影响,大量的用户只能与开发者联系,不少开发者只能通过 TestFlight 对用户分发更新,但是由于 TestFlight 分发的 App 90 天后就会失效,开发者一旦弃更,用户便无法再使用该软件,此种风险也使得不少用户注册了外区的 Apple ID 并重新购买应用。由于工信部要求备案,且个人无备案资格,基本上表明了此次被下架的应用无法再上架,此次的风波也受到了国际社会的广泛关注与批评,唯一算作欣慰的是,苹果在下架软件的同时,倒逼政府出台了相应的明确细则。 + +2017 年 10 月,伴随着十九大的开幕,大量线路被封杀,尤其以 ShadowsocksR 为甚,各大机场与 Telegram 群组一片哀嚎,所幸大会闭幕后不少 IP 被解封,不清楚具体的比例。 + +2018 年 1 月,以及接下来的两会期间,执行了更大规模的 IP 封杀,涉及范围更广,基于各种算法的翻墙方法均有涉及,Shadowsocks 的 Issues 中有人反映刚刚搭好十几分钟即被封杀。 + +2018 年 9 月 30 日,公安部下发 [通知](http://www.mps.gov.cn/n2254314/n2254409/n4904353/c6263180/content.html): + +> 《公安机关互联网安全监督检查规定》已经 2018 年 9 月 5 日公安部部长办公会议通过,现予发布,自 **2018 年 11 月 1 日 ** 起施行。 + +### 时间线 + +#### 2019-04-25 + +2019 年 4 月 25 日,河南省新密市人民检察院发出 [公告](http://www.ajxxgk.jcy.gov.cn/html/20190425/1/9344870.html ): + +> 2019 年 3 月 25 日,新密市人民检察院依法以提供侵入计算机系统工具罪对孙东洋提起公诉,案件正在进一步办理当中。 + +*孙东洋即逗比根据地网站主创办人,长期以来,提供了各类 Shadowsocks 相关知识和安装使用教程,并编写与维护了大量的一键脚本,2018 年 11 月失联。* + +#### 2019-05-14 + +Shadowsocks 一键安装脚本先驱秋水逸冰在 Twitter 上发推: + +> 斟酌再三,还是觉得已经没有继续坚持下去的必要了。 不如就此告别,后会有期。 + +[https://teddysun.com/548.html ](https://t.co/AfkNolQGgd) + +长期关注无线路由器相关固件的恩山论坛上,lean、hiboy、荒野无灯和 abccba94 等多名重要维护者宣布退出。 + +#### 2019-09-16 - 2019-09-xx + +国家网络安全宣传周,大量的机场出现大规模节点被封的情况,个别机场的 IP 甚至全数被封。推特上有人反应甚至出现平常仅使用 SSH 进行网络学习的服务器被封的情况。 + +### 小心翼翼 + +网传的一份联通客户端对于各个协议的识别情况: + +| 软件和协议 | 联通检测类型 | 访问网址 | +| ----------------------------------- | ---------------------------------------------------- | ------------- | +| Shadowsocks | TCP 业务 | 显示服务器 IP | +| Shadowsocks + http_simple(80 端口)| 上网(Web 方式 get) | 显示混淆域名 | +| ShadowsocksR | TCP 业务 | 显示服务器 IP | +| ShadowsocksR + http_simple | 上网(Web 方式 get) | 显示混淆域名 | +| ShadowsocksR + TLS(443) | * 安全类网页浏览 (HTTPS VPN) 流量
* HTTPS 链接 | 显示混淆域名 | +| ShadowsocksR + TLS(995) | 安全协议的收邮件流量 | 显示 IP | +| ShadowsocksR + TLS(非 443) | * 网络连接(网页)
* HTTPS 链接 | 显示混淆域名 | +| OpenConnect | UDP 业务 | 显示服务器 IP | +| IPSec VPN | UDP 业务 | 显示服务器 IP | +| V2Ray | TCP 业务 | 显示服务器 IP | +| V2Ray + TLS | HTTPS 网络连接 | 显示证书域名 | +| nghttpx + TLS | HTTPS 网络连接 | 显示证书域名 | +| kcptun | UDP 业务 | 显示服务器 IP | + +*注:由于这份资料真假未知,仅做分享,请勿有不必要的恐慌。* + +## 新生代 + +所有的主流平台中,iOS 是比较特殊的,因为其权限管理相当的严格,直到 iOS 9 时代才对开发者开放 VPN 相关的 Network Extension 权限,在此之前,iOS 用户只能在越狱环境下才能获得相对完整的 Shadowsocks 体验,因此 Shadowsocks 相关软件在 iOS 上不温不火,直到 Surge 的出现。 + +#### Surge——破局者 + +Surge,虽然出生于 iOS 平台,但其思路打破了之前 Shadowsocks 圈内的桎梏,再次促进了 Shadowsocks 生态的发展。 + +最初的 Surge 定位于网络调试工具,作者本人写了一个 Shadowsocks module 实现了 Shadowsocks,也许作者本人的想法并不是翻墙,所以该 module 从开始就是一个黑箱,且长时间没有支持 V2Ray 等新型协议,直至 2019 年和 2020 年才分别加入了对 V2Ray 与 Trojan 的支持。另外,Surge 于 2019 年起添加了对其自研闭源协议 Snell 的支持,并于 2020 年发布了该协议的 V2Ray 版本。无心栽柳柳成荫,Surge 可以在 iOS 端实现全局代理,并且自开始稳定性就非常好,¥68 的售价并没有挡住人们热情的购买力,但此时的 Surge 仍然是相对小众的。 + +Surge 的模式非常具有开创性: + +1. 以文本 config 设置软件,非常的 Linux; +2. 因为 Surge 定位为网络调试工具,因为配置文件中可以单独设置面对某网址或某 IP 时,网络对其的响应,主要包含 proxy、direct、reject 3 种核心模式,同时,Surge 可以观测到网络的连接情况,实现重发等操作,实现抓包。于是,一个网络调试软件,得益于优异的思路,经由网友们的一番探索,使其可以指定代理地址,屏蔽广告,解析视频地址,抓取网络流量,堪称完美。 + +![](image/surge1.png) + +##### 题外话 + +Surge 固然好,但是其开发者 Yachen Liu 却着实是一个富有争议的人,整理的 Surge 时间线如下: + +* 2015 年 10 月 26 日 Surge 以 68 元的售价上架 App Store。 + +* 2015 年 11 月 29 日 Yachen Liu 自称被喝茶(注:无法被证实)。 + +* 2015 年 12 月 4 日 ,Surge App Store **全区下架**,之后又以 648 元的高价短期上线,作者解释为方便已购买用户更新。 + +* 2016 年 3 月,Surge iOS 2.0 版本发布,承诺 648 元 **永不降价**,同时启用反盗版策略,180 天内仅能激活十台设备。 + +* 2016 年 8 月,Surge Mac 2.0 版本发布,iOS 版本价格调整为 328 元,作者解释 648 元为 Mac 与 iOS 双版本价格,价格调整是售卖策略发生变化。 + +* 2017 年 5 月,Surge 限时 8 折。 + +* 2018 年 1 月,iOS Surge 3 发布,根据老用户购买时间提供免费升级和优惠升级,同时提升反盗版策略,仅能激活 3 台设备。 + +* 2018 年 10 月,作者发推表示: + +> 计划给 Surge iOS 加一个新功能,可以选择将自己的授权与 iCloud 账号绑定,绑定后最多可激活 6 个设备,但是仅可以在自己的 iCloud 登录的设备上使用。 + +作者确实是网络技术大牛,截至目前,Surge 仍然是 iOS 端最优秀的 Shadowsocks 客户端,但是其营销策略极富争议性,喝茶事件至今无法证实,且之后全区下架客户端也毫无道理,之后长期上架 App Store 也不能很好的自圆其说,因此被称为喝茶营销。 + +作者对高价的解释是 Surge 是面向国际的网络调试设备,主要竞品是老牌应用 Charles,但是这几年的发展下来,调试功能这种核心并没有实质的长进,反盗版能力,UI 设计倒是提升不少,口嫌体直般升级了 Shadowsocks 的最新版本,~~却死活不肯添加 V2ray 等新协议,~~面向国际的软件,核心用户却是国内用户,可以说是相当的傲娇。 + +#### Shadowrocket——穿云箭 + +Surge 下架上架来回折腾的时候,不少开发者也看到了机遇,Shadowrocket 便是当时的 Surge 追随者,最初上架性能虽然不佳,但是 6 元的售价并且兼容 Surge 规则还是吸引了不少人下载,一时间风头无两,被称为小火箭。 + +小火箭的作者 Guangming Li 似乎是个奶爸,最初小火箭比较简陋,随着快速的迭代更新,小火箭功能逐渐完善起来,稳定性也提高了不少,在摆脱 Surge 的同时,小火箭也开发出了不少让人眼前一亮的新功能。 + +与 Surge 不同,小火箭的初衷就是为了翻墙,所以作者直接就内置了各种翻墙协议,通过 UI 界面非常容易添加和修改,作者也针对国内的环境开发出了场景模式,按需求连接,服务器订阅等模式,同时作者在 [Telegram](https://t.me/ShadowrocketApp) 上创建了群组,用户之间的交流以及开发者的反馈速度很快。 + +![shadowrocket](image/shadowrocket.png) + +现在的小火箭可以说已经尽善尽美了,作者更新的频率大大降低,但仅仅 ¥18 元的售价显得非常的亲民。 + +#### Others + +iOS 上还有 A.BIG.T 和 Potatso 等 VPN 软件,16 年、17 年与小火箭战的难舍难分,无奈后劲不足,现在大概是明日黄花了。 + +[Quantumult](https://itunes.apple.com/us/app/quantumult/id1252015438#?platform=iphone) 是新近崛起的一款代理软件,$4.99 的售价可以实现 Surge 的大部分功能,支持多种协议,相较于小火箭又多出了抓包功能,测试规则更方便,同时,Quantumult 扩展了规则中的屏蔽性能,使得屏蔽广告更有针对性。 + +(2019/09)Quantumult 的更新已经陷入停滞,目前作者似乎在 Testflight 上开发了全新的 Quantumult X,基本特性与 Surge 4 相似。 + +![Quantumult](image/Quantumult.png) + +#### Android + +Android 理应有更多的选择,然而事实却完全相反,在 Android 上实现分流代理的软件反倒非常的稀少,且质量良莠不齐。 + +##### Postern + +Postern 是在 Android 上最接近于 Surge 模式的软件,其可以兼容 Surge 规则,直接将 Surge 的配置文件导入即可使用,整体功能也算中规中矩,但是 Postern 的 UI 相对简陋,作者对此的解释是: + +> 很多 Postern 用户抱怨软件 UI 的问题,确实 UI 比较简陋。主要是 Postern 是从 Linux 下一堆 C 代码演化过来的,刚开始并没有任何 UI 只有命令行,开发者只求运行稳定快速。我也希望能强化 UI,不过无奈主业实在太忙,最近更是几乎没有时间维护。仅就今后尽量改进吧。 + +截止目前(2019/03/12),Postern Android 版仍未支持混淆,ShadowsocksR 之后兴起的新型加密格式也未获得支持,如果有相关的需求可以尝试,对于一般人来说也许 Shadowsocks 更为合适些。Postern 可以在 Google Play Store 获取,同时 Postern 的 GitHub 中包含了 [说明手册](https://github.com/postern-overwal/postern-stuff),从 GitHub 的文件来看,作者同时也放出了 Mac 版的安装包,在 iOS 美区也可以购买 iOS 版。 + +![postern](image/postern.png) + +#### 总结 + +总体来看,得益于 Surge 的开创性思路,iOS 端的代理软件一度诸侯林立,逐鹿中原,相关软件的讨论也是层出不穷,是一段相当甜美的蜜月期。随着政策的逐渐收紧,潮水退去,国区内基本上已经没有太多的选择,蛰伏至外区的软件们随着各类原因或离开或留下,如今天下大势已定,或许很难比较各自的用户数量,但几大软件已经有了稳定的核心用户群,Surge 还在稳扎稳打走着自己的路,Shadowrocket 与 Quantumult 的开发已经陷入停滞,新入门的代理软件仍需在夹缝中找寻自己的位置。 + +喧闹过后,一片白茫茫大地。 + +## 后记 + +并未经历过墙垒砌的时间段,那段时间的我并不足以对世界产生认知,当高墙矗立,互联网缩小成了局域网,我慢慢才明白所有的一切都陷入了疯狂。得益于各个开发者孜孜不倦的努力与付出,像我这种普通人才真正接触到了互联网,感叹于各个网站,各个博客之间的信息分散,内容相互交叉重叠,大多数人在实现目标后也就弃之而去,再加上这些年自己也尝试了不少的软件与上网方法,一点一点拼凑了这篇文章,并未有他想,只是希望作为一个小传留存下来,随着时间的推移,这篇文章迟早会成为历史的尘埃。 + +这篇文章洋洋洒洒写了很多,圄于个人知识,能力所限,难免有所遗漏与错误,还望大家海涵。 + +# 个人搭建指南 + +## 服务器选择 + +一般来说,VPS 的虚拟化技术主流为 OpenVZ 与 KVM 架构,从各种资源以及 Shadowsocks 服务支持上,建议选择 KVM 架构的机器,以下所有的说明都是基于搬瓦工 KVM 建构的机器。 + +## 服务器系统 + +服务器建议安装带有 BBR 技术的 Linux 系统,TCP BBR 拥塞控制算法由 Google 开发,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外。根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提升好几个数量级。 + +搬瓦工的机器可以在控制面板 -> install new os -> centos-7-x86_64-bbr,快速更换系统,注意备份服务器上的数据。 + +![](image/newOS.png) + +## Shadowsocks-libev + +随着技术发展,Shadowsocks 与墙之间的交锋也是一次比一次激烈,据传说,即使是 Shadowsocks 的 256 位加密,运营商可以做到解密,监视 Shadowsocks 使用者的上网流量,真实性未知,但小心点总不会错。 + +目前有 4 个衍生版本的 Shadowsocks: + +1. Shadowsocks-go:二进制编译,轻量,快速 +2. Shadowsocks-python:无功无过,也是最原始的版本,近年来更新速度略慢 +3. Shadowsocks-libev:一直处于更新之中,最大的特点是支持 obfs 混淆 +4. ShadowsocksR:从作者到产品都极负争议性,obfs 混淆模式开创者,但是前一段时间 ShadowsocksR 服务器普遍遭到 GFW 的封杀 + +现阶段为了能在安全与速度之间取得平衡,我个人更加推荐使用 Shadowsocks-libev + obfs 混淆。 + +#### obfs 混淆 + +obfs 混淆最大的作用是对 Shadowsocks 流量进行伪装,在不添加 obfs 的情况下,运营商服务器通过的流量为未知的加密流量,据说 GFW 已经有一定的包检测的能力,仅仅加密流量具有一定的风险,添加 obfs HTTP 模式之后,通过运营商的流量会被识别为设定好的网址的流量,假设你设定的是 Bing,那么你的 Shadowsocks 流量会被判别为你当前正在访问 Bing,减少了被封杀的可能性,**TLS 模式安全性高于 HTTP 模式 **。 + +之前流量不是无限的时代,因为只有运营商的 APP 可以无限使用流量,比如什么天翼视讯,利用 obfs 混淆,可以将你的手机流量伪装为天翼视讯的流量,从而达到无限使用使用流量,这种操作太骚,实测可以成功,不过还是低调的好. + +### Shadowsocks-libev 安装与配置 + +请注意,随着时间流逝,以下教程必然会过时,因此仅作为个人服务器搭建的参考。 + +安装图省心推荐秋水逸冰的 [一键安装脚本](https://teddysun.com/357.html) + +**请注意,秋水逸冰已经宣布放弃继续维护该脚本,因此该脚本可能随时会失效** + +1. 使用 root 用户 SSH 登录 + +``` +$ wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh +chmod +x shadowsocks-all.sh +# ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log +``` + +2. 跟随提示选择相对应的模式即可 + + 1. 加密方式推荐 **chacha20-itef-poly1305** + 2. 端口可以尽量设置高一点,避免 443 和 1080 等常用端口 + 3. **安装 simple-obfs,选择 HTTP 模式** + + 安装成功后会有如下提示: + + ```shell + Congratulations, your_shadowsocks_version install completed! + Your Server IP :your_server_ip + Your Server Port :your_server_port + Your Password :your_password + Your Encryption Method:your_encryption_method + + Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients) + ss://your_encryption_method:your_password@your_server_ip:your_server_port + Your QR Code has been saved as a PNG file path: + your_path.png + + Welcome to visit:https://teddysun.com/486.html + Enjoy it! + ``` + + ![Snipaste_2018-09-12_09-12-18](image/Snipaste_2018-09-12_09-12-18.png) + +3. 卸载 + +使用 root 用户登录 + +``` +# ./shadowsocks-all.sh uninstall +``` + +4. 常用命令 + +启动: + +``` +# /etc/init.d/shadowsocks-libev start +``` + +停止: + +``` +# /etc/init.d/shadowsocks-libev stop +``` + +重启: + +``` +# /etc/init.d/shadowsocks-libev restart +``` + +查看状态: + +``` +# /etc/init.d/shadowsocks-libev status +``` + +## Shadowsocks 客户端 + +Shadowsocks 客户端已经全平台覆盖了,GitHub 上有专门的开源客户端项目。 + +### Windows + +#### 下载地址 + +* [Windows 的 Shadowsocks 客户端下载地址](https://github.com/shadowsocks/shadowsocks-windows/releases) +* [Shadowsocks obfs-local 插件下载地址](https://github.com/shadowsocks/simple-obfs/releases) + +#### 本地配置 + +服务器端已将安装了 obfs,本地端直接下载 obfs-local 插件,解压后 **将插件 obfs-local 与 Shdowsocks.exe 同一路径下** 即可。 + +![](image/Snipaste_2018-09-12_09-22-01.png) + +obfs 可以直接在 Shadowsocks 的服务器编辑页面修改参数 + +![](image/Snipaste_2018-09-12_09-24-32.png) + +插件选项为 **obfs=http;obfs-host=www.bing.com**,实际上可以将 www.bing.com 更换为任意的一个网址,只要不是被 GFW 封杀的就可以,推荐像腾讯视频,优酷,Bing 这种流量较大的网站,~~如果填写是 Google 或者 YouTube,活着不好么······~~ + +### macOS + +~~macOS 上的 Shadowsocks 客户端目前似乎还是不支持 obfs 混淆。~~ + +#### Shadowsocks-NG + +GitHub 上存在好几种 Mac 客户端,使用最广的是 Shadowsocks-NG,目前的版本中已经支持 obfs 混淆,并且已经直接集成于客户端之中,无需额外下载,按照 Windows 的设置填写参数即可。 + +![](image/macOsNG.png) + +* [Shadowsocks-NG 下载地址](https://github.com/shadowsocks/ShadowsocksX-NG/releases) + +#### ClashX + +最近出现了一个新的类 Surge 软件,ClashX,目前还在快速迭代期之中,兼容 Surge 的 config 文件,基本上对其稍作修改便可以导入 ClashX 中使用。可以去官方 [Telegram 群组](t.me/clash_discuss) 参与讨论 + +类 Surge 软件的核心都在于 config 文件,在 Shadowsocks 网络分流的基础上,对不同的流量产生不同的行为,可以实现指定网址代理,广告屏蔽等效果,自由度更高。 + +![](image/clashX.png) + +* [ClashX 下载地址](https://github.com/yichengchen/clashX/releases) + +#### Surge + +支持 obfs 混淆,在 3.0 版本中加入了全新的 rule-set 模式,config 的管理从本地可以完全移至云端,不同的 rule-set 对应不同的应用规则,更容易管理,只可惜没钱截图。 + +### iOS + +iOS 上推荐的客户端为 Shadowrocket 与 Surge,首推 Shadowrocket,因为便宜够用,唯一遗憾的是国区下架了,只能用非国区的 Apple ID 购买与下载,Surge3 目前可以在国区下载,虽然 Surge 是配置文件类开创者,UI 更好看,功能更强大,颇高的上手难度与 328 的价格会吓退不少人,但一句话,Surge 贵在稳定。 + +两款客户端均支持 obfs,Surge 2 与 Surge 3 均支持 HTTP 与 TLS 两种模式;Shadowrocket 支持 HTTP 与 TLS 两种模式。 + +2018 年 10 月 8 日更新:Quantumult 最近热度也上来了,在小火箭与 Quantumult 任选其一既可。 + +#### Surge + +Surge 在编辑服务器的 Advance 设置中可以配置混淆 + +![surge](image/surge.png) + +#### Shadowrocket + +shadowrocket 在服务器的编辑页面中即可设置混淆 + +![sr](image/sr.png) + +### Android + +#### Shadowsocks + +推荐在 Google Play 上下载 Shadowsocks APP, 同时下载 obfs 插件,开发者均为 Max Lv。 + +也可以前往 [Shadowsocks-Android](https://github.com/shadowsocks/shadowsocks-android/releases) 的 GitHub 仓库下载。 + +![](image/ass.png) + +#### Postern + +Postern 目前尚不支持混淆模式。 diff --git a/image/CfA.png b/image/CfA.png deleted file mode 100644 index e9cf801a691ea119bd3dfd0da0b2730ce0ca2e8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219694 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