Git 使用 ss 代理和 Ubuntu 使用 ss 全局代理
背景
这一段时间 GitHub 在国内的访问又出问题,代码提交不上去,需要在 Git 上走代理了
Git 使用 ss 代理配置
- 需要全局 git 都走代理
1 | git config --global http.proxy 'socks5://127.0.0.1:1080' |
取消
1 | git config --global --unset http.proxy |
但是有时候我们并不需要所有的 git 仓库都走代理,可以去掉上述的命令中的 --global
,然后到你需要走代理的那个 git 仓库下执行命令,或者添加配置:
- 单独配置 git 走代理
在 .git => config 文件中加入配置
1 | [https] |
其实,也就是上述命令执行后添加的配置.配置后就可以愉快的 clone push 了.
Ubuntu 使用全局代理
Windows 和 MacOS 下的 ss 全局代理很方便,点击切换下就可以了,而 Ubuntu 下需要多点操作:
- 启动 shadowsocks-qt5,并连接上
- 生成 pac 文件,如果有现成的 pac 文件,直接进入第四步
- 生成 pac 文件
安装 pip
1 | sudo pip install genpac |
创建 user-rules.txt 文件
1 | mkdir vpnPAC |
生成 autoproxy.pac 文件
1 | genpac --format=pac --pac-proxy="SOCKS5 127.0.0.1:1080" --output="autoproxy2.pac" --gfwlist-url="https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt" --user-rule-from="user-rules.txt" |
github 上的 gfwlist.txt 文件可能读取不到,多试几次
- 配置使用