凿壁偷光:魔法上网的可持续解决方案
目录
因为众所周知的原因,本文中不会提供任何相关工具的下载链接。
就在不久前,我原来使用的免费魔法道具莫名失效了。一怒之下我决定寻找一种可持续的魔法来访问网络。
服务器端 #
由于酸酸乳的大名早有耳闻,结合我校一位大佬的 这篇文章 中给出的方法,就可以搭建好服务器端。我甚至没有使用 GitHub 提供的学生优惠码,因为我一注册 DO(为此我甚至注册了 PayPal)就送了 60 天有效的 $100(这是因为 DO 有邀请注册的机制,比如点 这里 注册同样能获得 $100)。我现在正发愁怎么用掉它……
期间注册时支付的 $5 第二天才到账,可能 PayPal 是会慢一点?
因为我的蜜汁自信,建服务器的时候随手加了 SSH key,导致我一开始都不能用用户名和密码登录服务器。在详细的官网文档的帮助下解决了问题,实际上即使在 Windows 环境下,PuTTY 也不是必须安装的,可以用 bash 下更方便的 openssh 来连接。之后也可以生成 SSH 密钥部署好以后通过 SSH 登录。
花了一些时间的是远程登陆时提示 Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
的问题。原因有很多,网上的解决方案也各不相同,最后还是在靠谱的 StackOverFlow 上找到了适合我的情况:将 /etc/ssh/sshd_config
里的 PasswordAuthentication
设为 yes
,随后重启 sshd
服务。
费用上,最低配置的 VPS 需要 $5 / 月,可以接受。由于有注册的 $5 + 送的 $100(虽然就两个月)+ GitHub 学生包的 $60 + 邀请用户机制,至少可以免费用一年多。如果可以邀请到同学注册 / 拉同学一起施展魔法 / 拿同学的邮箱注册学生包 的话,免费使用的期限就更长了。所以这个方法还是相当稳定持久的。
客户端 #
客户端配置就容易多了,下载好酸酸乳,填好配置信息其实就能用了。不过一般都会设置系统代理模式为 PAC 模式,使得魔法仅仅在需要的时候施展,优化上网体验。
然而一部分网站(别问,问就是不知道)在 PAC 模式下无法访问或者访问时出现异常,这时我们还是需要开启全局模式。这样不断调整酸酸乳的设置比较麻烦,于是 Chrome 插件 SwitchyOmega / Firefox 插件 AutoProxy 允许我们列一个名单,在访问名单内的网址时自动切换至全局模式,访问其它网址则切回 PAC 模式。
当然酸酸乳好像本来也可以编辑 PAC 列表的。这两个插件提供的最主要的功能在于 “自动切换情景模式”。详细配置方法这里不过多赘述了。
TO-DO #
最近学校又封网了,由于我尚且不清楚的原因,用学校提供的 Cisco AnyConnect 访问学校内网时,我的魔法出了些问题。原因是什么?能不能让两者共存呢?留坑(2019.03.13 更新:已填)。
附录 #
酸酸乳的工作原理居然异常简单。类似 SSH 隧道,在客户端代理和 VPS 之间进行加密通讯来避免流量特征分析,而 VPS 和要访问的网站之间的通讯是畅通的。而这个工具的名字来源于它所基于的5 只袜子
SOCKS5 协议(绑定端口 1080)。幸好计网有认真学,没见过的协议也能举一反三大概明白一点。
最后希望这篇文章不要消失。
2019.03.09 更新 #
使用时发现速度较慢,于是在服务器端配置了 BBR 加速。这个由 Google 推出的 TCP 拥塞控制协议简直就是黑魔法(要求 Linux 内核 4.9 以上),不仅安装简单而且对速度的提升肉眼可见。
顺便参考
酸酸乳的一篇文档 调整了酸酸乳的混淆策略,加密算法、协议和混淆算法采用了 none + auth_chain_a + tls1.2_ticket_auth
的组合,大概是更鲁棒了吧。
2019.03.13 更新 #
今天酸酸乳不知道为什么爆炸了,尝试多种方法无果。IP 地址 + 端口号能 ping 通,服务也重启了几次,VPS 本身和浏览器的 SwitchOmega 并没有什么问题,酸酸乳在两端的配置也没问题,真是奇怪啊。最后通过该端口号解决了,原因不明。
顺便捣鼓了一下 SwitchyOmega 的配置,对于学校网站用直接相连模式就好了,这样同时开学校的 Anyconnect 和酸酸乳完全没有问题。
auto switch 是真的好用。