2006-02-22 15:44:24

by Mark Salyzyn

[permalink] [raw]
Subject: Git via a proxy server?

Rsync protocol for git is not working for some reason when I pick up the
trees; apparently others share my experience. So I switched to the git
protocol. I can pick up the trees via git if I am outside Adaptec's
network, but inside I need to go through the proxy server.

Urls like:

git://proxyserver:8080/?url=git://git.kernel.org/pub/scm/linux/kernel/gi
t/jejb/
git://proxyserver:8080/?url=tcp://git.kernel.org/pub/scm/linux/kernel/gi
t/jejb/
git://proxyserver:8080/?url=git.kernel.org/pub/scm/linux/kernel/git/jejb
/

Doesn't even appear to hit the proxy server. MIS had opened up the port
directly as a test using:

git://git.kernel.org/pub/scm/linux/kernel/git/jejb/

worked fine, but it can not be a permanent arrangement. They have the
same port on the proxy server set up as well, but the logs indicate zero
hits.

Any ideas?

Sincerely -- Mark Salyzyn


2006-02-22 19:22:38

by Anderson Lizardo

[permalink] [raw]
Subject: Re: Git via a proxy server?

On 2/22/06, Salyzyn, Mark <[email protected]> wrote:
> [...]
> Doesn't even appear to hit the proxy server. MIS had opened up the port
> directly as a test using:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jejb/
>
> worked fine, but it can not be a permanent arrangement. They have the
> same port on the proxy server set up as well, but the logs indicate zero
> hits.

Hi,

Try using the HTTP protocol. It's slower but usually works fine under
HTTP proxies:

export http_proxy=proxyserver:8080

git clone http://git.kernel.org/pub/scm/linux/kernel/git/jejb/

Regards,
--
Anderson Lizardo
Embedded Linux Lab - 10LE
Nokia Institute of Technology - INdT
Manaus - Brazil

2006-02-23 14:10:52

by Sergey Vlasov

[permalink] [raw]
Subject: Re: Git via a proxy server?

On Wed, 22 Feb 2006 10:44:23 -0500 Salyzyn, Mark wrote:

> Rsync protocol for git is not working for some reason when I pick up the
> trees; apparently others share my experience. So I switched to the git
> protocol. I can pick up the trees via git if I am outside Adaptec's
> network, but inside I need to go through the proxy server.

I have successfully used transconnect
(http://sourceforge.net/projects/transconnect) for tunnelling git
protocol through a HTTP proxy (squid in my case) supporting the CONNECT
method.

Git also supports the GIT_PROXY_COMMAND environment variable (or
core.gitproxy config option), through which you can specify a program to
be run instead of connecting to a TCP port - then you can use netcat for
connecting through proxy; however, I have not tried this.

Note: most HTTP proxy servers allow CONNECT method to a very limited
range of ports, and administrators will need to enable the git port
(9418) explicitly.


Attachments:
(No filename) (948.00 B)
(No filename) (190.00 B)
Download all attachments

2006-02-26 23:37:28

by Petr Vandrovec

[permalink] [raw]
Subject: [OT] Re: Git via a proxy server?

Sergey Vlasov wrote:
> On Wed, 22 Feb 2006 10:44:23 -0500 Salyzyn, Mark wrote:
>
>
>>Rsync protocol for git is not working for some reason when I pick up the
>>trees; apparently others share my experience. So I switched to the git
>>protocol. I can pick up the trees via git if I am outside Adaptec's
>>network, but inside I need to go through the proxy server.
>
>
> I have successfully used transconnect
> (http://sourceforge.net/projects/transconnect) for tunnelling git
> protocol through a HTTP proxy (squid in my case) supporting the CONNECT
> method.
>
> Git also supports the GIT_PROXY_COMMAND environment variable (or
> core.gitproxy config option), through which you can specify a program to
> be run instead of connecting to a TCP port - then you can use netcat for
> connecting through proxy; however, I have not tried this.

I know I'm comming kinda late, but I'm using:

export GIT_PROXY_COMMAND=/usr/local/bin/proxy-cmd.sh

and proxy-cmd.sh is just single-line command glued from what I found
available in /bin:

#! /bin/bash

(echo "CONNECT $1:$2 HTTP/1.0"; echo; cat ) | socket
proxy.ourcompany.com 3128 | (read a; read a; cat )

Replace socket's arguments 'proxy.ourcompany.com 3128' with your http
proxy. Fortunately our proxy does not see anything wrong with git's port.
Best regards,
Petr Vandrovec