博主经常需要使用终端 git clone Github 上的库,然而 macOS 的终端从来都不会自动走代理,即使已经开启了全局代理,很是无语。
今天在网上看到了一个项目 proxychains,安装后只要在需要代理的命令前加上 proxychains4 就可以了,然而自从 Mac OS X 10.11 开始,那个坑爹的 SIP 功能导致这个程序已经无法正常使用了,于是只能放弃,继续寻找。
偶然间在简书上看到了一篇文章,试了试果然有效果~
只需要在 .bash_profile
中加上这几行代码,需要代理的时候先执行输入 setproxy
不需要代理的时候输入 unsetproxy
。
注意 socks5://127.0.0.1:1080
中的 127.0.0.1
是本地socks5监听地址,1080
需要设置为你的本地socks5监听端口
function setproxy() { # export {HTTP,HTTPS,FTP}_PROXY="http://127.0.0.1:3128" 也可以设置http代理 export ALL_PROXY=socks5://127.0.0.1:1080 } function unsetproxy() { # unset {HTTP,HTTPS,FTP}_PROXY unset ALL_PROXY }
效果测试:curl -i http://ip.cn
对于需要使用 sudo 的命令,以上方法就不能使用了,需要将
export ALL_PROXY=socks5://127.0.0.1:1080
直接添加在当前用户的 .bash_profile 下,并 sudo visudo 增加一行
Defaults env_keep="ALL_PROXY"
以保持环境变量,但是这样就会导致一打开终端的时候就自动进入代理,暂时没想着去找更好的方案,用的时候就加吧。
参考文章:http://www.jianshu.com/p/16d7275ec736
评论 (0)