metroluffy / blog

用于记录平时开发中所遇到问题的解决方法、笔记等
9 stars 1 forks source link

解决Mac终端代理的问题 #23

Open metroluffy opened 5 years ago

metroluffy commented 5 years ago

新拿到Mac,发现Homebrew安装起来简直是。。。。200M网速跑个18.7kb/s,ss开全局代理也没用,终端请求压根没代理到ss上去。 网上搜教程,一般操作是更换镜像(换源),先把官网的安装脚本curl下来,然后修改如下两句:

BREW_REPO = “https://github.com/Homebrew/brew“.freeze 
CORE_TAP_REPO = “https://github.com/Homebrew/homebrew-core“.freeze 

更改为这两句

BREW_REPO = "https://mirrors.ustc.edu.cn/brew.git".freeze 
CORE_TAP_REPO = "https://mirrors.ustc.edu.cn/homebrew-core.git".freeze

也可以换成别家的。这样就可以顺利安装了。完成之后需要将其资源库也进行类似的操作。 可以注意到,上述操作,上述的换源操作是更换了不同的版本库地址(git),原生是从github上拿取的, 同时在本地checkgithub上的项目时也会比较慢,这个时候可以设置http_proxy来设置代理。 ok,问题解决了,有更好的解决办法吗? 个人看来这些需要增加的配置,不需要的时候修改起来会很麻烦,部分设置http.proxy的方式也是代理到本地ss服务。 如果可以通过一个软件来设置代理,这样不需要的时候关闭这个软件就可以了。 这里推荐一个代理神器,proxifier,之前也有用他代理idm啥的下载一些下不动的资源。。。 使用方法这里就不多说了,基本就是设置代理服务器,设置规则了,如下图: image

规则名称不限,被代理的应用,你可以指定终端(iterm等),也可以不指定,第三个是代理的目标地址等等,如果不知道代理的目标地址,可以设置代理软件,请求一下即可在proxifier的log里看到。 下面列一些代理规则,如过有其他的,也欢迎补充。

规则Name::github
Target Host:github.com;api.github.com
Target Ports:443;80,
Action(代理方式):本地ss服务地址

规则Name::node 
Target Host:registry.npmjs.org
Target Ports:443;80
...

规则Name::brew 
Target Host:203.208.39.200;homebrew.bintray.com;akamai.bintray.com
Target Ports:443;80
...

// 注: 这里都没有设置指定程序,因为比如像WebStorm下的 Git GUI也会使用git服务等,无需限定

设置完成以后即可将服务代理到本地ss,不用的时候不开启proxifier,速度完全依赖ss的速度。