开发过程中有时候需要更新repo仓库和代码,但是GitHub上的仓库和代码的下载速度感人。
翻墙倒是可以解决这个问题,但是终端默认不走翻墙代理,这个时候就需要我们做一些配置了。
我们可以终端当中输入以下命令使终端的请求走相应的代理
//设置http和https请求代理
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
//sock5协议请使用
export http_proxy=socks5://127.0.0.1:1080
export https_proxy=socks5://127.0.0.1:1080
//移除配置
unset http_proxy
unset https_proxy
我们拉取的时候有的时候可能会用到ssh,我们可以这样配置
//设置所有协议代理
export ALL_PROXY=socks5://127.0.0.1:1080
//移除配置
unset ALL_PROXY
改进
以上方式虽然解决了我们的需求,但是每次输入这些命令不免有些麻烦,所以我们进行了以下改进。
改进方案大致有以下两种:
- 编写shell脚本,需要时运行脚本
- 自定义shell命令,简化输入
相比1需要保存脚本文件来说,2是一个不错的选择
自定义shell命令需要你打开~/.bashrc文件(如果使用的是zsh,对应文件为.zshrc)
//终端打开文件
open ~/.zshrc
然后在文件末尾以以下形式添加命令
alias {自定义指令名}='{具体指令}'
以上所有协议代理的命令就可以写作
//末尾的echo是为了在命令执行完毕输出一个字符串作为提醒,可删除
alias openproxy="export ALL_PROXY=socks5://127.0.0.1:1080; echo 'HTTP Proxy on';"
alias closeproxy="unset ALL_PROXY; echo 'HTTP Proxy off';"
这样我们就可以使用openproxy和closeproxy方便的在终端打开和关闭代理了
其他解决方案
我们最初的目的是为了更快的从GitHub上拿到文件,同事给我提供了另外一个解决方案。
即对git进行相关配置,使其在请求时走代理。
配置需要你打开~/.gitconfig文件,在文件末尾添加
[http "https://github.com"]
proxy = socks5://127.0.0.1:1080
这样在Git发起向GitHub上的请求时就会默认走代理了。