当前位置:   article > 正文

GIT Proxy 一键设置代理 让你的 git clone Github 再也不像百度云一样内行

git proxy

这几天 git clone Github 是真的爆炸啊,永远都是 10kb/s 左右,也不是私有仓库啊?百度云都要直呼内行了。

由于我用的是 ssh 方式拉取代码的,于是乎终端 http proxy 也只能起到玄学(心理自我安慰)作用了。

到底如何设置 ssh 协议的 proxy 呢?

查看git配置(两种)

git config  --list

git config --global --list

分辨需要设置的代理

一、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 代理(如 小飞机 or V2xxxx)

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 文件(不存在则新建):

  1. # 必须是 github.com
  2. Host github.com
  3. HostName github.com
  4. User git
  5. # 走 HTTP 代理
  6. # ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8080
  7. # 走 socks5 代理(如小飞机 or V2xxx)
  8. # ProxyCommand nc -v -x 127.0.0.1:1080 %h %p

对于 Windows 用户,要使用 socks5 代理却没有 nc 的,可以将

  1. ProxyCommand nc -v -x 127.0.0.1:1080 %h %p
  2. 换成
  3. ProxyCommand connect -S 127.0.0.1:1080 %h %p

配合上面的修改,我这里分享一个我的自用 Linux 一键切换脚本,将下面代码写入 ~/.bash_profile(其他 bash 程序或电脑系统可能路径不太一样)

  1. function github_on() {
  2. cat "${HOME}/.ssh/config" >"${HOME}/.ssh/config_back" # 先备份
  3. config=$(cat ${HOME}/.ssh/config_back | sed 's/\# ProxyCommand/ProxyCommand/g')
  4. echo -e "${config}" >"${HOME}/.ssh/config" && echo -e "\033[36mGithub 已上代理!\033[0m"
  5. }
  6. function github_off() {
  7. cat "${HOME}/.ssh/config" >"${HOME}/.ssh/config_back" # 先备份
  8. config=$(cat ${HOME}/.ssh/config_back | sed 's/ ProxyCommand/ \# ProxyCommand/g')
  9. echo -e "${config}" >"${HOME}/.ssh/config" && echo -e "\033[33mGithub 停止代理!\033[0m"
  10. }

写完之后运行  source ~/.bash_profile 使配置文件生效,使用下面的指令就可以很爽的用啦

  1. github_on
  2. # 启动
  3. github_off
  4. # 关闭
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号