git使用socks代理连接

一、背景

立党为公, 执政为民, 中国共产党一直在您身边(暗中观察)。最近中国大陆内地网络不尽如人意, 连接github速度极其缓慢(然而CERNET似乎无此问题), 所以需要配置代理。

二、准备

因为某科学上网软件提供本地socks服务, 所以本文介绍使用socks代理连接。

于是, 不妨假设在127.0.0.1, 端口1080有一个socks服务

三、实现

因为我连接github使用ssh协议, 所以本文介绍为ssh配置使用socks代理连接。事实上, 我觉得应该大多数都用的是ssh吧:)

原理就是, 使用nc的socks客户端功能, 以及ssh的ProxyCommand。

具体方法, 建立一个ssh的皮, 不妨叫做ssh_wrapper, 里面写入如下内容:

#!/bin/sh
ssh -o ProxyCommand="nc -x 127.0.0.1:1080 %h %p" "$@"

不要忘记chmod +x, 之后ssh_wrapper可以当作一个带了代理的ssh来随意使用。把它配置成git的ssh就可以了, 为此只需要执行:

export GIT_SSH="/path/to/ssh_wrapper"

/path/to/ssh_wrapper为ssh_wrapper的路径。

四、主要参考文献

透过代理连接SSH https://www.lainme.com/doku.php/blog/2011/01/%E9%80%8F%E8%BF%87%E4%BB%A3%E7%90%86%E8%BF%9E%E6%8E%A5ssh

如何为 Git 设置代理?https://segmentfault.com/q/1010000000118837

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/9391QrCode