Como faço para definir o proxy do Cabal?

9

Estou usando o Ubuntu atrás de um proxy (Windows). Eu gostaria de usar o cabalutilitário.

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

A URL do proxy foi lida no ambiente. Meu proxy requer autenticação, mas o cabal deseja que o URL do proxy comece com um nome de host, portanto, talvez ele me solicite credenciais ...

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)"'

O que é setAuthorityGene como eu o uso? Mais importante, posso habilitar o acesso através do proxy de autenticação? Vou precisar fazer um túnel?

Synesso
fonte
Estou tendo um problema semelhante. Se você encontrar uma solução alternativa, entre em contato.
Dilawar
@Dilawar Há um tiquetaque no bugtracker hackage.haskell.org/trac/hackage/ticket/855 #
Artem Koshelev

Respostas:

2

Minha abordagem padrão para proxies ISA é configurar um proxy de autenticação local como cntlm . Depois de instalar o cntlm na sua máquina Ubuntu, você o configura para autenticar via NTLM no proxy ISA com seu nome de usuário e senha do Windows. Então você define a HTTP_PROXYvariável como http://localhost:3128(ou seja, a porta que o cntlm está ouvindo).

A vantagem dessa abordagem é que apenas um programa precisa lidar com o proxy do Windows. Todos os outros programas podem passar usando cntlm como gateway.

rekado
fonte
2

Resposta de Haskell-cafe pipermail

cabal-installestá configurado em ~/.cabal/config. Adicione esta linha ao arquivo de configuração:

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

Eu tenho que trabalhar com polipo . Minha universidade usa http-proxycom autenticação. Em /etc/polipo/configvocê precisa adicionar essas linhas

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

E exportar http_proxy=http://localhost:8123". E funcionou perfeitamente.

Dilawar
fonte