Skip to content

zongwu's blog

Git协议代理配置

Git使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议。

为了能够顺畅使用GitHub ,我们需要为 HTTPS SSH配置代理。

以下是在MacOS环境的配置。

准备

先安装nmap库,macOS下也可以安装netcat,但是该库版本太低而且相对于Linux下的netcat,功能太弱。

brew install nmap

等下会用到nmapncat命令。

一个可用的socks5服务。我这里是 socks5://127.0.0.1:1080

SSH协议代理

vim  ~/.ssh/config

写入以下内容:

Host github.com
    User    git
    Hostname     github.com
    Port    22
    ProxyCommand ncat --proxy-type socks5  --proxy 127.0.0.1:1080 %h %p

User设置是git,不是github上的账号名。

ProxyCommand ncat --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p:

是调用ncat 将传入的%h %p (host 和port) 代理到 --proxy 127.0.0.1:1080 ,代理协议由--proxy-type socks5 指定。

127.0.0.1:1080 可根据实际情况更换成自己的ss服务设置。

HTTPS协议代理

vim ~/.gitconfig

编辑git的全局配置文件,写入以下内容:

[http]
proxy = socks5://127.0.0.1:1080
[https]
proxy = socks5://127.0.0.1:1080

OK了,从GitHub下载再也不是8Kb的速度了。