Jak ustawić proxy dla Cabal?

9

Używam Ubuntu za proxy (Windows). Chciałbym skorzystać z cabalnarzędzia.

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

Adres URL proxy został odczytany ze środowiska. Mój serwer proxy wymaga uwierzytelnienia, ale cabal chce, aby adres URL serwera proxy zaczynał się od nazwy hosta, więc może poprosi mnie o podanie poświadczeń ...

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

Co to jest setAuthorityGeni jak go używać? Co ważniejsze, czy mogę umożliwić dostęp za pośrednictwem uwierzytelniającego serwera proxy? Czy będę musiał tunelować?

Synesso
źródło
Mam podobny problem. Jeśli znajdziesz obejście, daj mi znać.
Dilawar
@Dilawar Jest zaznaczony w bugtracker hackage.haskell.org/trac/hackage/ticket/855
Artem Koshelev

Odpowiedzi:

2

Moje standardowe podejście do serwerów proxy ISA polega na skonfigurowaniu lokalnego proxy uwierzytelniającego, takiego jak cntlm . Po zainstalowaniu cntlm na komputerze z systemem Ubuntu skonfigurujesz go tak, aby uwierzytelniał się za pośrednictwem NTLM na serwerze proxy ISA przy użyciu nazwy użytkownika i hasła systemu Windows. Następnie ustaw HTTP_PROXYzmienną na http://localhost:3128(tj. Port, którego nasłuchuje cntlm).

Zaletą tego podejścia jest to, że tylko jeden program ma do czynienia z serwerem proxy Windows. Wszystkie inne programy mogą przejść, używając cntlm jako bramy.

rekado
źródło
2

Odpowiedź od pipermaila Haskell-cafe

cabal-installjest skonfigurowany w ~/.cabal/config. Dodaj ten wiersz do pliku konfiguracyjnego:

export http_proxy=http://${username}:${password}@${proxy_address}
Andrybak
źródło
0

Mam to działa z polipo . Mój uniwersytet używa http-proxyuwierzytelniania. W /etc/polipo/configmusisz dodać te linie

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

I eksport http_proxy=http://localhost:8123". I działało jak urok.

Dilawar
źródło