8

Git 使用 socks5 代理

 3 years ago
source link: https://mritd.com/2017/01/12/git-uses-the-socks5-proxy/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

最近伟大的墙又开始搞事情,导致 gayhub 访问奇慢,没办法研究一下 socks5 代理 git,效果还不错

一、Mac & Ubuntu 下代理 git

git 目前支持 4 种协议: httpssshgit、本地文件;其中 git协议与 ssh 协议及其类似,暂不清楚底层实现,不过目前发现只需要成功代理 ssh 协议就可以实现代理 git;不清楚两者有什么基情,根据官方描述,git 协议传输非常快,验证基于 ssh 协议,详见 服务器上的 Git - 协议

代理 ssh 协议在 Mac 和 Ubuntu 上可以使用 netcat-openbsd 包中的 nc 命令,这里由于梯子工具问题,所以仅讨论如何使用 nc 代理 ssh 协议到 socks5

Mac 默认就有 nc 命令, Ubuntu 新版本也有,如果较老版本可使用 apt-get install -y netcat-openbsd 安装

1.1、创建代理命令工具

首先创建一个代理脚本即可,socks5 地址根据需要更改

tee /usr/local/bin/proxy-wrapper <<EOF
#!/bin/bash
nc -x127.0.0.1:1080 -X5 \$*
EOF
chmod +x /usr/local/bin/proxy-wrapper

1.2、增加 ssh 配置

代理 git 协议只需要代理 ssh 即可,其中 Host 后可以跟多个想要被代理的域名,由于代理的是 ssh 协议,所以 使用 ssh 连接服务器也会根据域名选择是否走代理

tee ~/.ssh/config <<EOF
Host github github.com mritd.me
#Hostname github.com
#User git
ProxyCommand /usr/local/bin/proxy-wrapper '%h %p'
EOF

1.3、测试

配置好以后,保证你得 socks5 代理无问题的情况下,使用 git clone [email protected]:xxxxx/xxxxx.git 克隆一个项目即可验证是否成功

二、CentOS 下代理 git

默认的 CentOS 下是没有 netcat-openbsd 的,CentOS 下的 netcat 并非 openbsd 版本,所以会出现 nc: invalid option -- 'X' 错误;so,用不了 nc 了,不过 Linux 下还有另一款软件可以实现代理 ssh 协议到 socks5

2.1、安装 connect-proxy

没有 netcat-openbsd 可以安装 connect-proxy

yum install connect-proxy -y

2.2、创建代理脚本

同上面一样,也最好搞一个脚本

tee /usr/local/bin/proxy-wrapper <<EOF
#!/bin/bash
connect-proxy -S 192.168.1.120:1083 $*
EOF
chmod +x /usr/local/bin/proxy-wrapper

2.3、增加 ssh 配置

ssh 配置同上面一样

tee ~/.ssh/config <<EOF
Host github github.com mritd.me
#Hostname github.com
#User git
ProxyCommand /usr/local/bin/proxy-wrapper '%h %p'
EOF

2.3、测试

测试掠过……

对于 https 协议的代理可以参考 Linux 命令行下使用 Shadowsocks 代理


Recommend

  • 14

    Subsocks: 用 Go 实现一个 Socks5 安全代理  笔者最近读完了 The Go Programming Language, 想写点东西练练手. Go 比较适合写服务器软件, 之前又学习了下

  • 21
    • chenjiehua.me 4 years ago
    • Cache

    Socks5 透明代理

    Socks5 透明代理 由于国内特殊的网络环境,想要使用谷歌搜索引擎真是困难重重,虽然电脑上可以使用 Chrome+SwitchyOmega+socks5 代理来轻松解决,然而对于移动设备来说却几...

  • 12
    • windard.com 3 years ago
    • Cache

    实现 socks5 代理

    实现 socks5 代理 2018-09-16 socks5 协议继承自 socks 协议。 竟然是两年前的旧文,终于要来填坑了。 正向代理和反向代理...

  • 8

    存在即是合理,SOCKS5的出现是为了解决SOCKS4中不支持身份认证的大问题而出现的,毕竟大家对网络中的安全越来越重视了。没有认证的网络就好像是生活在摄像头下的人生,毫无隐私可言,实在是太可怕了。 今天给大家深入讲解一下SOCKS5和它的应用。

  • 7
    • allenwind.github.io 3 years ago
    • Cache

    让Go的HTTP客户端走socks5代理

    让Go的HTTP客户端走socks5代理让Go的HTTP客户端走socks5代理 现在通常使用Socks5协议的实现shadowsocks翻墙,再配合Privoxy HTTP代理把HTTP转化成Socks5协议。具体过程如下...

  • 8

    V2EX  ›  程序员 服务端能发现使用 Socks5 代理请求的源 IP 么?   hujnnn · 4 小时 25 分钟前...

  • 4
    • gist.github.com 2 years ago
    • Cache

    为 windows wsl 配置 socks5 代理

    windows代理软件需要开启允许LAN连接 1. 安装 polipo sudo apt install polipo 2. 配置 polipo vim /etc/polipo/config 在文件中写入如下内容: socksPar...

  • 4

    socks5代理服务器的配置 浏览:2537次  出处信息       1。先在北大天网搜索一下socks5的安装包,...

  • 6

    首页出海Chrome 手动设置 Socks5 代理Chrome 手动设置 Socks5 代理Google Chrome 浏览器手动设置 Socks5...

  • 7

    HTTP(s) 反向代理、TCP 代理、Socks5 代理三者之间有何区别? 似乎很多人都会对HTTP(s)反向代理、TCP代理和Socks5代理这三个专有名词有所疑问,它们分别指的是什么?三者之间有什么区别?在具体的使用方面有什么不同呢?本文就来对这...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK