为git设置Shadowsocks代理

日常开发中,我们经常需要和github打交道,但是由于总所周知的原因,我们使用github并没有想象的那么顺畅,所以本文介绍如何通过shadowsocks为git加速。

github提供了两种协议进行远程操作,分别是http(s)git,http有一个缺陷就是:需要将用户名密码暴露在url中,这样在公共使用场合是不够安全的,所以日常使用的是git协议。

假如我们本机已经安装并开启了shadowsocks客户端,并且监听了1080端口。

http(s)协议:

全局代理: git config --global http.proxy socks5://127.0.0.1:1080

只针对github仓库做代理: git config --global http.https://github.com.proxy socks5://127.0.0.1:1080

git协议:

首先安装协议转换工具:connect,可以在 https://bitbucket.org/gotoh/connect/src 下载,主要是里面的connect.c 文件。connect.c文件源码中包含了安装和使用说明。各发行版一般打包为 proxy-connect 或者 connect-proxy。

安装:gcc connect.c -o connect -lresolv && mv connect /usr/local/bin
然后执行 connect 看是否可以执行到。

然后修改 ~/.ssh/config 加入如下内容

全局代理: ProxyCommand connect -S 127.0.0.1:1080 %h %p,这样子所有的命令行里面的请求,将会走代理。

只针对github仓库做代理:

Host github.com
    ProxyCommand connect -S 127.0.0.1:1080 %h %p

这样,只有github的请求会走代理。

标签: none

评论已关闭