Wie setze ich den Proxy für Cabal?

9

Ich benutze Ubuntu hinter einem (Windows) Proxy. Ich möchte das cabalDienstprogramm verwenden.

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

Die Proxy-URL wurde aus der Umgebung gelesen. Mein Proxy erfordert eine Authentifizierung, aber cabal möchte, dass die Proxy-URL mit einem Hostnamen beginnt, sodass ich möglicherweise zur Eingabe von Anmeldeinformationen aufgefordert werde ...

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

Was ist setAuthorityGenund wie benutze ich es? Kann ich den Zugriff über den authentifizierenden Proxy aktivieren? Muss ich tunneln?

Synesso
quelle
Ich habe ein ähnliches Problem. Wenn Sie eine Problemumgehung finden, lassen Sie es mich bitte wissen.
Dilawar
@ Dilawar Es gibt ein Häkchen in Bugtracker hackage.haskell.org/trac/hackage/ticket/855
Artem

Antworten:

2

Mein Standardansatz für ISA-Proxys besteht darin, einen lokalen Authentifizierungs-Proxy wie cntlm zu konfigurieren . Nach der Installation von cntlm auf Ihrem Ubuntu-Computer konfigurieren Sie es so, dass es sich über NTLM am ISA-Proxy mit Ihrem Windows-Benutzernamen und -Kennwort authentifiziert. Dann setzen Sie die HTTP_PROXYVariable auf http://localhost:3128(dh den Port, den cntlm abhört).

Der Vorteil dieses Ansatzes besteht darin, dass nur ein Programm mit dem Windows-Proxy umgehen muss. Alle anderen Programme können cntlm als Gateway verwenden.

rekado
quelle
2

Antwort von Haskell-Cafe Pipermail

cabal-installist in konfiguriert ~/.cabal/config. Fügen Sie diese Zeile zur Konfigurationsdatei hinzu:

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

Ich habe es mit Polipo arbeiten . Meine Universität verwendet http-proxymit Authentifizierung. In /etc/polipo/configmüssen Sie diese Zeilen hinzufügen

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

Und exportieren http_proxy=http://localhost:8123". Und es hat wie ein Zauber funktioniert.

Dilawar
quelle