How to make git use a socks proxy for HTTP transport?
I succeed in configuring git with GIT_PROXY_COMMAND to use a socks proxy for GIT transport.
Also, I have configured my .curlrc file to defined the socks proxy and I can fetch information directly with curl command like:
curl http://git.kernel.org/pub/scm/git/git.git/info/refs?service=git-upload-pack
But how to use a socks proxy with git to retrieve data using the HTTP transport protocol like:
git clone http://git.kernel.org/pub/scm/git
I tested with Git 1.8.2 and SOCKS v5 proxy, following setting works for me:
git config --global http.proxy 'socks5://127.0.0.1:7070'
UPDATE 2017-3-31:
According to the document, despite the name http
.proxy
, it should work for both HTTP and HTTPS repository urls. Thanks @user for pointing out this.
UPDATE 2018-11-27:
To disable the proxy, run command:
git config --global --unset http.proxy
EDIT 2019-03-04:
If you also want the host name to be resolved using the proxy, use thuzhf's solution below, which uses socks5h
instead of socks5