tag github proxy github-for-windows

tag - github desktop linux



El cliente de Windows GitHub detrĂ¡s del proxy (9)

Agregue estas entradas a su archivo ''.gitconfig'' en su directorio de usuario (vaya a% USERPROFILE%):

[http] proxy = http://<proxy address>:<proxy port> [https] proxy = https://<proxy address>:<proxy port>

Y si no quiere almacenar su contraseña en texto plano, usaría un reenviador de proxy local como CNTLM que le permite dirigir todo el tráfico a través de él y puede almacenar las contraseñas hash.

A diferencia de la pregunta original, si no le importa si su contraseña está en texto sin formato, agregue estos:

[http] proxy = http://<username>:<password>@<proxy address>:<proxy port> [https] proxy = https://<username>:<password>@<proxy address>:<proxy port>

Estoy tratando de hacer funcionar el cliente de GitHub para Windows. Estoy en una computadora corporativa Win 7 x64 detrás de un proxy corporativo y un firewall. Después de varias otras publicaciones y de experimentar con múltiples combinaciones de variables de entorno y variables de configuración, he encontrado que la única forma de hacer que clonen y actualicen las actualizaciones es mediante el uso de la variable de entorno HTTPS_PROXY, incluida mi identificación de usuario y contraseña de dominio corporativo completo.

Esto es inaceptable desde el punto de vista de la seguridad. ¿Hay alguna otra forma de hacer que esto funcione?

Notas adicionales:

Lo siguiente funcionó:

  • Agregue una variable de entorno llamada HTTPS_PROXY con el valor http://[domain]/[userid]:[password]@someproxy.mycorp.com:8080

Lo siguiente no funcionó:

  • Omitir identificación de usuario y contraseña de la variable HTTPS_PROXY
  • Usar una variable de entorno llamada HTTP_PROXY (no S )
  • Agregar la variable http.proxy al archivo de configuración global ( .gitconfig )
  • Agregar el https.proxy varaible al archivo de configuración global

En todos los casos, el cliente de GitHub aún no reconoce el proxy: el contenido del archivo TheLog.txt siempre muestra lo siguiente al inicio:

[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Proxy information: (None) [time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Couldn''t fetch creds for proxy

Y es seguido por el resultado de varios intentos fallidos de autenticación del proxy, todos los cuales indican "Faltan las credenciales".


Aquí está la forma de establecer el proxy en github

git config --global http.proxy http://<username>:<pass>@<ip>:<port> git config --global https.proxy http://<username>:<pass>@<ip>:<port>

Aquí en mi universidad no tenemos nombre de usuario y contraseña, así que si nuestra IP de la universidad es 172.16.10.10 y el puerto es 8080

git config --global http.proxy http://172.16.10.10:8080 git config --global https.proxy http://172.16.10.10:8080

PD -> Recomiendo usar este método para configurar el proxy ya que las cosas se pondrán en su lugar ya que aprenderás más
Source


Encontré este blog útil. Describe el proxy ntlmaps . Probablemente sea menos seguro, pero funcionó sin problemas. No pude hacer que Cntlm funcionara.


Intenté todo lo anterior - y no tuve éxito, lo único que me ayudó fue CNTLM - http://cntlm.sourceforge.net/ .

Instálelo y ejecute cntlm -H, luego de autenticar al proxy corp, edite el archivo cntlm.ini con el resultado de cntlm, reinicie el servicio de Windows. Actualiza .gitconfig con:

[https] proxy = localhost:3128 [http] proxy = localhost:3128

Ahora cntlm hará toda la autenticación, y usted podrá usar GitHub (y Dropbox, btw) detrás del proxy corp. Al menos hasta la próxima contraseña cambiar :) (que hacer cntlm -H cosas de nuevo)


No sé acerca de su firewall, pero mi proxy de uso del campus

usas cualquier git gui? EDITAR : acaba de notar que está utilizando el cliente github para Windows

Estoy usando tortoisegit y es muy fácil configurar el proxy. Simplemente haga clic derecho en cualquier lugar, escriba> red, habilite el servidor proxy y configure la dirección del servidor, el nombre de usuario y la contraseña. hecho

por lo que recuerdo, tortoisegit también funcionará de fábrica con github.


Para nosotros, la solución involucró dos cosas diferentes. En primer lugar, como se describe en la respuesta de Sogger, debe agregar las entradas a su archivo .gitconfig , que se encuentra en %USERPROFILE% .

[http] proxy = http://<proxy address>:<proxy port> [https] proxy = https://<proxy address>:<proxy port>

Segundo, (y esta fue la pieza que nos falta), debe configurar una excepción en el servidor proxy para permitir el tráfico de proxy no autenticado a *.github.com

En iPrism, se ve así:

El problema no es tanto el proxy, sino la autenticación . Eludir el requisito de autenticación permite que la comunicación necesaria se clone y funcione con proyectos que utilizan el cliente de escritorio GitHub.

También tenga en cuenta que este enfoque no requiere el almacenamiento de credenciales de proxy en el archivo .gitconfig .


Pude hacer que GitHub Shell trabajara con nuestro proxy corporativo. Estoy comenzando GitHub Shell y ejecuto el siguiente comando:

export http_proxy=http://<username>:<password>@<corporate proxy>:3128

Realmente me gustaría hacer que la GUI también funcione. Pero no quiero configurar la variable de entorno global de Windows que contiene mi información de credenciales corporativas.

Extrañamente, GitHub GUI Client puede conectarse a GitHub para la autenticación de usuarios, pero el único problema es clonar, arrastrar y empujar proyectos desde y hacia GitHub. Parece que el problema es con la implementación de git. Pude configurar git para ejecutar a través de nuestro proxy sin poner mis credenciales en la configuración global de git y estaba pidiendo mis credenciales al realizar solicitudes de extracción o de inserción. Pero eso solo funcionaba en Git Shell.


Si está utilizando GitHub para Windows en una empresa, es muy probable que esté detrás de un gran firewall / proxy corporativo. GitHub para Windows aún no tiene los parámetros de proxy en su GUI para configurar las opciones.

Para configurar GitHub para que Windows use su proxy corporativo, edite el archivo .gitconfig que se encuentra típicamente en C: / Users / .gitconfig o C: / Documents & Settings / .gitconfig

Cierre GitHub para Windows; En .gitconfig, solo agrega

[https] proxy = proxy.yourcompany.com:port


También me encontré con este problema e intenté profundizar un poco en él (desmontó al cliente).

La pieza de código que genera los mensajes de registro que estamos viendo es la siguiente:

private static void LogProxyServerConfiguration() { WebProxy defaultProxy = WebProxy.GetDefaultProxy(); string str = defaultProxy.Address != (Uri)null ? defaultProxy.Address.ToString() : "(None)"; StartupLogger.log.Info((IFormatProvider)CultureInfo.InvariantCulture, "Proxy information: {0}", str); try { if (defaultProxy.Credentials == null) { StartupLogger.log.Info((IFormatProvider)CultureInfo.InvariantCulture, "Couldn''t fetch creds for proxy", new object[0]); } else { NetworkCredential credential = defaultProxy.Credentials.GetCredential(GitHubClient.GitHubDotComUri, "Basic"); StartupLogger.log.Info((IFormatProvider)CultureInfo.InvariantCulture, "Proxy is authenticated: {0}", credential != null && !string.IsNullOrWhiteSpace(credential.UserName)); } } catch (Exception ex) { StartupLogger.log.InfoException("Couldn''t fetch creds for proxy", ex); } }

Entonces este bloque solo registra la información del proxy que está configurada en IE . El mensaje de registro parece no tener relación con lo que hemos configurado en los archivos de configuración o variables de entorno.