我是从Windows转Linux再转MacOS的。

Windows

近几年Windwos下的代理挺方便的,已经基本抛弃了之前的SSR之类的软件了,主用一个clash for windows就能无脑的解决大部分问题,它还提供TUN模式着实是挺好用的。

Archlinux

后来看着Archlinux的自由多彩就转手去了Linux,中间也简单用过一段时间其他的发行版(毕竟当时想找跟得上时代安装教程还是挺费事的,后来才意识到官网的重要性),比如Ubuntu、Manjaro。从这开始我开始逐步接触Linux下的代理,其实同时期由于手上有了一个树莓派,所以也开始接触软路由等内容,但是不深。

Linux下的代理相比于windows就要复杂不少。也有clash,但是我不推荐使用,clash使用的是系统代理的方式,并不能代理所有的情况,比如terminal的代理就不走系统代理。配置terminal的代理也会在某些命令上不好用。

所以Linux下推荐全局代理、或者叫透明代理,软件主要是v2ray(clash也可以,只要你会自己配),之前有一个v2ray的套壳由于核心作者与部分成员闹掰了不再更新了(我甚至忘记了它的名字),我是不推荐使用。我比较推荐v2raya这个软件,方便快捷,也有缺点,支持的加密方式相对少,我之前就是因为机场加密变了导致无法继续使用。

MacOS

现在我使用MacOS,说实在就是馋它的生态,我有iPad、iPhone还办了iCloud,用起来还是非常舒服的。

但是MacOS也有很多不尽如人意的地方,由于我是从Linux转过来的,虽然都是Unix-like系统还是有很多不同的,有很多指令就不再适用,需要时间去适应,而且也不实用,毕竟服务器大多是Linux,Mac就很独树一帜。

MacOS上的代理有很多,之前在Linux上比较难设置的clash也有ClashX以及clash for windows可以使用,配置方式也更加图形化。但是问题也与Linux上的情况一致,无法自动配置全局代理。这时候我又想起来v2raya了,但是很遗憾v2raya在这里也不支持。这样我就没有什么好办法进行全局代理了。

接下来,我还是想了一些办法的,有一些我还没有去尝试过。

  1. 使用proxychain去链clash server,不知道效果会如何。

  2. 最简单的办法就是弄一个软路由插在路由器上,这样非常方便,而且基本上一劳永逸,还可以有很多有趣的功能。

我详细讲讲吧,软路由有两种方式,一个是直接设置成网关,把路由器的网关IP直接指到软路由上,软路由的网关再指回路由器,同时建议关闭路由器的DHCP server,在软路由上开启,这样能进一步降低路由器的工作负担。这种情况所有连接到此wifi下的设备就都可以直接走代理了。

还有一种办法,就是在每台需要走代理的设备上手动配置网关,这样能节省一部分步骤,直接将软路由连接路由器即可,缺点就是每个设备都得手动配置,挺麻烦的。优点就是路由器上不用改太多,登不上路由器应该也可以使用。

但是最近我没有弄成,有两个原因。首先,在自己家里,我办了中国移动的宽带,然而这个玩意的光猫是路由模式,而且工程师都不会改桥接模式,emmm,这导致第一种办法改网关什么的,无了。而且我还不喜欢第二种,嫌麻烦。其次,我现在在外工作,居住的地方的wifi后台轻易无法登陆,这也就直接导致第一种方案作废,但是好处是我在外的设备有限,第二种方案也是不错的选择(但是软路由放家里了)。

  1. 现在手上没有什么能做软路由的设备了,只能研究下一步了。虚拟机、容器。我手上有电脑,如果使用虚拟机来做软路由也是不错的选择呗,但是问题又来了,M1的Mac在虚拟机下是否能运行Openwrt呢?这个我还没有尝试,甚至虚拟机软件我还没想好用什么。之后想到最近自己工作中使用的容器,我想使用Docker是不是能更方便更快捷的实现这个功能呢?我去找了Openwrt的image,也成功找到了,但是运行上有一些问题,Docker的网络大体上有那么4种可以选,符合我预期的需要使用macvlan,虽然macvlan性能相对一般,但至少能用。可惜的是M1的Mac似乎不支持macvlan,或者我没有开这个功能,我还没有想好该如何去继续完成。

今天想到的就这些了。

OpenWRT软路由代理

系统代理

透明代理

技术相关文章

浅谈在代理环境中的 DNS 解析行为