折腾了一晚上,真的有好多话不吐不快。
事情起因是最近校园网访问github特别不稳定,几乎完全不能用,所以想自己搞个代理加速一下。中间遇到了好多问题,更让人头疼的是,国内的博客环境太差了,搜索引擎能搜到的解决方案主要来源为CSDN(狗屎),博客园(勉强),简书(垃圾),知乎(勉强)等,这些地方的内容大部分要么是复制粘贴,要么是似是而非不懂装懂,复制粘贴导致的一个严重问题就是原先的解决方案的时效性被模糊了,00年的答案你20年复制一下,别人还以为你是最新的方案呢!
比较优质的博客很多都是自建的,但是一方面搜索引擎不容易检索到,另一方面这些自建的博客访问速度堪忧啊,大部分甚至国内直接访问不了。
使用 Clash 在各平台的客户端,配置方面不需要操心,一般你的服务提供商会提供详细的教程或者一键配置方案。
需要提的一点就是最好不要使用系统代理,一来大部分访问需求都可以直连,流量省一点是一点;二来所有连接走代理总感觉不安全。
所以针对访问 github 的需求,单独配置浏览器和 git 的代理就可以了。
浏览器。我用的是 Microsoft Edge。这里多说几句,之前犹豫了好久最后还是从 chrome 转到 edge 了,过程也非常简单,书签密码之类的也可以一键转移,edge 可以用微软的账户在各个平台同步,还有自己的拓展应用商店,都不需要FQ,体验真的很好。只不过目前 Linux 平台的版本还没发布正式版,以后肯定能全面替代 chrome。
安装 SwitchyOmega 拓展,在选项中先配置 proxy 代理服务器这一项,比如我的设置:
注意左下角选择“应用选项”保存修改。
完成上一步修改后,我们在访问 github 网站时,需要手动切换到 proxy 模式。有点麻烦,所以配置一下 auto switch 策略,比如我的配置:
然后我们选择 SwitchyOmega 为 auto switch 模式,以后上网的时候除了 github 和 google 都可以自动选择直连了。
这里推荐一个非常好的教程:一文让你了解如何为 Git 设置代理
文中讲到了我们使用 git 有两种需求:https 和 ssh 协议,这两种需求如何配置代理,上文都给出了答案。
git config --global http.proxy http://127.0.0.1:7890 # or git config --global http.https://github.com.proxy http://127.0.0.1:7890
第二种是只针对 github 进行代理。
配置完成之后,我们 clone 别人仓库的时候使用 https 协议就会非常快了。
之前网上的 git 教程在讲到配置自己项目的 github 远程仓库时,都是让大家用 ssh 协议,似乎 push/pull 只能用 ssh 协议似的,但其实不是,用 HTTPS 协议同样可以完成所有的任务,尤其 ssh 又搞不定的时候!所以这里我直接放弃 ssh 的方案了,这样反而简单了。
具体方法再给一个教程:把你的github操作从ssh转成https
修改自己远程仓库的地址:
git remote set-url origin https://xxxxx #your https repo url
配置 HTTPS 免输入密码:
git config --global credential.helper store
希望自己以后也能成为大佬,多看官方文档,少查低可信度的博客。