¿Cómo configuro el proxy para Cabal?

9

Estoy usando Ubuntu detrás de un proxy (Windows). Me gustaría usar la cabalutilidad.

jem@Respect:~$ cabal update
Config file path source is default config file.
Config file /home/jem/.cabal/config not found.
Writing default configuration to /home/jem/.cabal/config
Downloading the latest package list from hackage.haskell.org
Warning: invalid http proxy uri:
"http://domain\\user:pass@internetproxy:3128/"
Warning: proxy uri must be http with a hostname
Warning: ignoring http proxy, trying a direct connection
^C

La URL del proxy se ha leído desde el entorno. Mi proxy requiere autenticación, pero Cabal quiere que la URL del proxy comience con un nombre de host, por lo que tal vez me solicite credenciales ...

jem@Respect:~$ http_proxy=http://internetproxy:3128/ cabal update
Downloading the latest package list from hackage.haskell.org
No action for prompting/generating user+password credentials  provided (use: setAuthorityGen); returning Nothing
cabal: Failed to download index 'ErrorMisc "Unsucessful HTTP code: (4,0,7)"'

¿Qué es setAuthorityGeny cómo lo uso? Más importante aún, ¿puedo habilitar el acceso a través del proxy de autenticación? ¿Necesitaré hacer un túnel?

Synesso
fuente
Estoy teniendo un problema similar Si encuentra una solución alternativa, hágamelo saber.
Dilawar
@Dilawar Hay un tictac en bugtracker hackage.haskell.org/trac/hackage/ticket/855
Artem Koshelev

Respuestas:

2

Mi enfoque estándar para los proxys ISA es configurar un proxy de autenticación local como cntlm . Después de instalar cntlm en su máquina Ubuntu, lo configura para autenticarse a través de NTLM en el proxy ISA con su nombre de usuario y contraseña de Windows. Luego establece la HTTP_PROXYvariable en http://localhost:3128(es decir, el puerto que escucha cntlm).

La ventaja de este enfoque es que solo un programa tiene que lidiar con el proxy de Windows. Todos los demás programas pueden pasar usando cntlm como su puerta de enlace.

rekado
fuente
2

Respuesta de Haskell-cafe pipermail

cabal-installestá configurado en ~/.cabal/config. Agregue esta línea al archivo de configuración:

export http_proxy=http://${username}:${password}@${proxy_address}
andrybak
fuente
0

Lo tengo trabajando con polipo . Mi universidad usa http-proxycon autenticación. En /etc/polipo/confignecesita agregar estas líneas

parentProxy = "proxy.server.com:80"
parentAuthCredentials = "myusername:mypassword"

Y exportar http_proxy=http://localhost:8123". Y funcionó como un encanto.

Dilawar
fuente