¿Cómo hacer que git use un proxy de calcetines para el transporte HTTP?
Logré configurar git con GIT_PROXY_COMMAND para usar un proxy de calcetines para el transporte GIT.
Además, he configurado mi archivo .curlrc para definir el proxy de calcetines y puedo obtener información directamente con el comando curl como:
curl http://git.kernel.org/pub/scm/git/git.git/info/refs?service=git-upload-pack
Pero cómo usar un proxy de calcetines con git para recuperar datos usando el protocolo de transporte HTTP como:
git clone http://git.kernel.org/pub/scm/git

Respuestas:
Probé con Git 1.8.2 y el proxy SOCKS v5, la siguiente configuración funciona para mí:
git config --global http.proxy 'socks5://127.0.0.1:7070'ACTUALIZACIÓN 2017-3-31:
Según el documento , a pesar del nombre , debería funcionar para las URL del repositorio HTTP y HTTPS. Gracias @usuario por señalar esto.
http.proxyACTUALIZACIÓN 2018-11-27:
Para deshabilitar el proxy, ejecute el comando:
git config --global --unset http.proxyEDITAR 2019-03-04:
Si también desea que el nombre de host se resuelva usando el proxy, use la solución de thuzhf a continuación, que usa en
socks5hlugar desocks5fuente
~/.gitconfigy elimina[https.proxy]y[http.proxy]secciones, es uniniarchivo, no dudes en editarlo.git -c http.proxy=socks5://127.0.0.1:7070, o algo así. Tal vez usted podría hacer un aliasgitsocksde eso, lo que permitiría que llame fácilmente git con y sin calcetines como desired`Si no desea configurar el proxy como configuración global, intente,
ALL_PROXY=por ejemplo:fuente
(Solo un pequeño recordatorio) Si desea que el nombre de host también sea resuelto por el proxy (eso significa pasar todo a través del proxy ), especialmente cuando está clonando una esencia , puede usar la siguiente configuración (la clave es que usa socks5h en su lugar de calcetines5 ):
fuente
Utilizo el siguiente comando para clonar un repositorio específico del proxy socks5. La configuración del proxy se especifica con la
--configopción.fuente
Nota: el parche aquí se aplicó a git en 2015 para la versión 2.4.11. Desde ese momento, puede usar socks: // urls con los ajustes de configuración http.proxy.
Para el protocolo git: // tenemos Using Git con un proxy SOCKS . Sin embargo, parece que git no admite adecuadamente los proxies de calcetines. git en sí está vinculado a libcurl. Entonces, el archivo .curlrc no se usa (eso es solo para el cliente de línea de comando curl). Sin embargo, el siguiente parche proporciona el soporte necesario. Con este parche aplicado a git, simplemente podemos configurar la variable de entorno ALL_PROXY o HTTP_PROXY o HTTPS_PROXY en
socks://hostname:portnum(o socks4 / socks5) o, de hecho, la configuración http.proxy git config y libcurl ahora usará el protocolo socks cuando use el proxy.Por ejemplo, una traza activa:
El parche necesario:
fuente
Solo en referencia a @briankip y eliminando la configuración del proxy http como lo mencionó Yang.Y, puede editar directamente el archivo ini.
También puede hacer esto en la línea de comando usando
git config --global --unset http.proxyPara confirmar que se ha eliminado, enumere la configuración actual utilizando
git config --listfuente
Ninguno de los métodos sugeridos funcionó para mí, así que encontré otro enfoque como la siguiente instrucción:
SOCKS5protocolo usandossh:ssh -ND 9994 user@YourSshServerproxychainsen su localhost, no en el servidor ssh al que está conectado:apt-get:sudo apt-get install proxychainsVerifique la sección Instalación en su archivo Léame.
Cómo configurar el proxy socks5 en firefox
proxychainsarchivo de configuración:sudo nano /etc/proxychains.confluego agregue la siguiente línea al final del archivo:socks5 127.0.0.1 9994gitcomando (proxychainsdebe colocarse antes del comando):proxychains git push origin developfuente