Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Using git clone with a socks5 proxy - mystery

Martin Knoblauch June 10, 2021

I am trying to access a git repository on a remote server that is on the other side of a private-2-private VPN connection using HTTPS protocol. We have no permission due to Firewall rules, therefore I want/need to use a SOCKS5 proxy.

The proxy is established like (names hidden for privacy):

ssh -N -D 8003 user@host1.remote.net

git configuration for proxy looks like:

http.proxy=socks5h://127.0.0.1:8003
https.proxy=socks5h://127.0.0.1:8003

My "git remote" configuration looks like

zzz https://atc.remote.net/bitbucket/scm/yyy/xxx.git (fetch)
zzz https://atc.remote.net/bitbucket/scm/yyy/xxx.git (push)

Now, the following works OK:

git fetch zzz
git push zzz

So, no problems with the proxy. But when I try

git clone https://atc.remote.net/bitbucket/scm/yyy/xxx.git

It either complains that it cannot resolve  "atc.remote.net" or - after adding host and IP to /etc/hosts - it times out after a minute or so. This seems to suggest, that the clone command does not work with the proxy. Am I doing something stupid here ? Btw - the git client is version 2.31.1 on OpenSuse Tubmbleweed Linux.

Cheers

Martin

1 answer

1 accepted

1 vote
Answer accepted
Martin Knoblauch June 11, 2021

Typical case of "make yourself a fool on the Internet and find the answer 5 minutes later". OK, it took a night, but still...

Solution: put the git proxy settings in the "--global" section, not on the "--local". Then "clone" will work like a charm. Thinking about it for a moment it is logical. When I "clone", there is no local git config to look at. I had put them into "--local" in order to be flexible when using several remote repositories. DOH...

Anyway, I believe the best way (for me) is for the "clone" case to specify the proxy on the command line. Something like:

git -c "http.proxy=socks5h://127.0.0.1:8003" clone https://atc.remote.net/bitbucket/scm/yyy/xxx.git

Another insight - one does not need "https.proxy".

Cheers

Martin

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events