学习CM13的编译,一直卡在repo sync这一步。git通过ssh协议,在伟大的GFW面前瑟瑟发抖,速度只有几KB/S,实在是慢的感人。 本地倒是有个ss代理,可是ss走的是socks5协议,虽说能把git配置成http和https转发,但是repo中的manifest.xml写了
- <remote name="private"
- fetch="ssh://git@github.com" />
google了好久,终于到找了一个神器socat。
首先,安装神器socat
- $ sudo apt-get install socat
- $ vim /usr/bin/gitproxy #放在这里的意思是不用写PATH,能懒点是点
然后编辑如下内容到gitproxy文件中:
- #!/bin/sh
- _proxy=127.0.0.1
- _proxyport=1080
-
- exec socat STDIO PROXY:$_proxy:$1:$2,proxyport=$_proxyport
下面是赋予权限
$ sudo chmod +x /usr/bin/gitproxy
最后是写入git配置
$ git config --global core.gitproxy /usr/bin/gitproxy
测试后,速度上来啦。
ps:这里我其实有个疑问,大神要是能看到,顺便帮帮小弟。
core.gitproxy设置的是git协议,但是manifest.xml文件中的github是ssh协议,所以这里有些奇怪,配置好git协议,ssh协议加速了。