¿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
.proxy
ACTUALIZACIÓN 2018-11-27:
Para deshabilitar el proxy, ejecute el comando:
git config --global --unset http.proxy
EDITAR 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
socks5h
lugar desocks5
fuente
~/.gitconfig
y elimina[https.proxy]
y[http.proxy]
secciones, es unini
archivo, no dudes en editarlo.git -c http.proxy=socks5://127.0.0.1:7070
, o algo así. Tal vez usted podría hacer un aliasgitsocks
de 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
--config
opció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.proxy
Para confirmar que se ha eliminado, enumere la configuración actual utilizando
git config --list
fuente
Ninguno de los métodos sugeridos funcionó para mí, así que encontré otro enfoque como la siguiente instrucción:
SOCKS5
protocolo usandossh
:ssh -ND 9994 user@YourSshServer
proxychains
en su localhost, no en el servidor ssh al que está conectado:apt-get
:sudo apt-get install proxychains
Verifique la sección Instalación en su archivo Léame.
Cómo configurar el proxy socks5 en firefox
proxychains
archivo de configuración:sudo nano /etc/proxychains.conf
luego agregue la siguiente línea al final del archivo:socks5 127.0.0.1 9994
git
comando (proxychains
debe colocarse antes del comando):proxychains git push origin develop
fuente