git://通过代理

我在阻止端口9418(git)的防火墙后面,并且正在尝试安装一些显式地执行git://github.com/...结帐的工具,所以我无法切换到https查看。

所以我想知道是否有可能通过代理将所有流量重定向到端口9418,如果有的话如何:)


看看Git配置中的core.gitproxy设置。

快速谷歌搜索显示这个脚本可能是有用的(或者可能不 - 我没有尝试它):https://gist.github.com/49288


如果你在谈论git submodules,试试这个:

git config --global url.https://github.com/.insteadOf git://github.com/

...从这里带走。

这样,您不需要设置任何代理,也不需要运行任何脚本。


你有没有尝试过基于SSH的TCP隧道? 如果您的ssh服务器(a)位于防火墙之外并且(b)允许IP转发,则可以执行以下操作:

ssh -L localhost:9418:<remote>:9418 me@remote-ssh-server

或者,如果您必须在端口443上运行sshd以绕过防火墙,

ssh -P 443 -L localhost:9418:<remote-host>:9418 me@remote-ssh-server

然后,在本地:

git checkout git://localhost/...

显然,这不是透明的,而且有点复杂 - 毫无疑问,这些工具更专门针对问题。 不过,我通常使用这种方法,因为它使用了我必须使用的工具(ssh和我租用的廉价虚拟服务器)。

(我从来没有尝试过使用git连接,但我没有看到为什么它不起作用的原因,我已经将它用于许多其他单TCP端口协议,没有任何问题。)

链接地址: http://www.djcxy.com/p/96455.html

上一篇: git:// through proxy

下一篇: Using a socks proxy with git for the http transport