最近在国内remote,奈何单位是外企,中国都没几个员工,所以用的是国外的developer全家桶,比如Gmail,Google Doc,Slack,Atlassian,AWS,brew,nvm之类。。。好多都是在国内404的。
单位虽然给我们提供了三藩市的一个VPN,但那个速度实在超慢,基本处于没法用的状态,所以我就直接放弃这个了。
本人其实早有准备,所以早就买了一个VPN。但是,这个VPN,竟然有一些问题没法解决。
首先,这个公司自己的网站可以登录,但是这个登录,我不知道他们怎么做的,能够检测你是不是开了VPN或者SS,V2Ray之类的代理。只要开了,那么就无法访问了。
第二,AWS自己的库访问AWS,需要开AWS自己给我们的另一个VPN,我没法开2个VPN,不然就不work了。然而一关我买的VPN,我就没法访问Google全家桶。切来切去很麻烦,开关次数太多,还会造成Chrome上不了网没响应。
第三,开了我买的VPN,某些程序会死掉,比如./pants,一开我买的VPN它就会hang死。
对于上面的第一个问题,最好是设定路由规则,连公司自己网站的时候走直连。但是由于VPN工作在数据链路层,这一层还没有IP这个概念,所以无法设定路由规则。
我买的VPN,只能按照程序,选择哪些程序走VPN,哪些程序不走VPN。然而即使是这个功能,也只在windows上有,在最新的mac M1上也没有了,我搜了一下说是因为最新的macOS改了底层实现,这功能已经没有了。
由此可见,虽然VPN买了只要下个客户端就可以用,什么都不用搭建,价格也还说的过去,也不限流量,网速就是自己本地的网速,但是因为它的原理,它是作用在网络协议栈的低层,所以导致它打开网页寻址比较慢,也缺乏一些高级功能(比如一般梯子都提供的绕开大陆路由,不然我开着VPN看阿尼亚,它认为我是美国IP,告诉我版权问题不让我看),用来娱乐自用是可以的,但没法胜任工作需要。
所以最后迫不得已我又花了点钱上了bandwagon。
这种VPS自己搭梯子,其实也不是特别麻烦,现在都有一键xRay脚本,也是比较方便的。为了搞伪装,不得不又去买了个域名。这里就按下不表了。
以前我也用过Linode,但那时候还是SS主流,没有伪装技术,而且Linode又贵,速度又慢,又容易被封IP。
bandwagon速度还是很不错的,不过bandwagon不提供IP被封以后的换IP服务,这就很让人担心了,先用着吧。
这种VPS和VPN的区别就在于VPS有流量限制,VPN流量无限制,所以用VPS看片要节制。。。
好了我现在用上了自建的梯子,又碰到了一个大麻烦,mac下面竟然没有好用的VLESS客户端。
当初搭建的时候,有3个协议可选择,VMESS, VLESS, Trojan。我对这块完全不懂,我只能认为VMESS出来的最早,VLESS性能好于VMESS,而Trojan是最新的,但是我搜了一下说Trojan的客户端支持很差劲,我也不敢尝试,所以就用了VLESS。
而mac下竟然没有好用的VLESS客户端。虽然你们说不用GUI客户端也可以,但是我这个人就是不喜欢纯命令行。有限的脑力,不想用在记那些命令上面。所以你看我git命令其实也不会,全靠GUI客户端。偶尔用下vi,一进去肯定是立马按i,进入Insert模式,vi我只知道按d和怎么退出。
最后我找到了一个叫V2RayXS的mac客户端,这客户端完全不好用,虽然号称支持VLESS,但对此完全没有GUI支持。或许我该用V2RayU,但是V2RayU去年就停止开发了,所以我没用。
我要自定路由规则,但这个GUI,完全没法用。最后我想了个办法,把windows上的V2RayN的配置导出来,再在mac的V2RayXS里面导入,只有这样才能work。然而这样也不顺利,V2RayN导出的json里的路由规则,缺少name字段,导致V2RayXS导入后会名字变成"some rule set"并且丢失里面的规则,只能又再manual加上名字再导入。
虽然折腾了一番,但最后还是在5小时内完成了整个的工作。
当然,无论是VPS还是VPN,都有被封的风险,也不是每次都能稳定连上的,有时候连不上也不得不等个几分钟,不过总体上已经可以很好work了。
最后,我上面说的所有这些,如果你不是已经可以绿色上网,那么上面的所有东西都是用国内网络办不到的,上面的所有东西都是被封掉的。
就像种庄稼一样,你首先要有种子,然后庄稼成熟了才能有更多的种子。又比如你要写C语言必须要先有一个C语言的编译器,而这个编译器可能是汇编写的。
总之,你得先有个种子。你得先借一个现有的梯子能翻出去才能搭出你自己的梯子或者买外面的VPN。像我的种子就是在上家提供的免费azure,但是我刚走它就把我的停掉了。