为 git 和 ssh 设置 socks5 协议的代理
362 字约 1 分钟
2024-12-01
由于某魔法结界的存在,我们在从某全球最大同性社交网站下载项目源码或者提交代码到该罪恶的社交网站时, 经常会出现各种异常。那么,我们能不能施展魔法,让我们的 git/ssh 通过魔法上网呢?
(本文的配置并不是给浏览器用的,不适合用来给浏览器魔法上网。本文重点在 git/ssh,需要魔法上网的请绕道。)
一、HTTP 形式
走 HTTP 代理
git config --global http.proxy "http://127.0.0.1:8080"
git config --global https.proxy "http://127.0.0.1:8080"
走 socks5 代理(如 Shadowsocks)
git config --global http.proxy "socks5://127.0.0.1:1080"
git config --global https.proxy "socks5://127.0.0.1:1080"
取消设置
git config --global --unset http.proxy
git config --global --unset https.proxy
二、SSH 形式
修改 ~/.ssh/config 文件(不存在则新建):
此设置需要connect命令,最新版下载地址:connect-1.104-win32-msvc.zip,更多关于connect的信息可访问 https://bitbucket.org/gotoh/connect/wiki/Home 。Windows下可将下载下来的压缩包中的connect.exe放到git安装目录下的bin文件夹下(或者其他环境变量路径下)。linux下需要自行编译并添加环境变量。
必须是 *.github.com
socks
Host *.github.com
ProxyCommand connect -S 127.0.0.1:1080 -5 %h %p # -S为socks
HostName %h
Port 22
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
HTTP
Host *.github.com
ProxyCommand connect -H 127.0.0.1:1080 %h %p # -H为http
HostName %h
Port 22
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes