Как мне установить прокси для Cabal?

9

Я использую Ubuntu за (Windows) прокси. Я хотел бы использовать cabalутилиту.

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

URL прокси был прочитан из среды. Мой прокси-сервер требует аутентификации, но cabal хочет, чтобы URL-адрес прокси начинался с имени хоста, поэтому, возможно, он запросит у меня учетные данные ...

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

Что setAuthorityGenи как мне использовать? Что еще более важно, я могу разрешить доступ через прокси-сервер аутентификации? Мне нужно будет туннель?

Synesso
источник
У меня похожая проблема. Если вы найдете обходной путь, пожалуйста, дайте мне знать.
Dilawar
@Dilawar В багтрекере есть галочка. Hackage.haskell.org/trac/hackage/ticket/855
Артем Кошелев

Ответы:

2

Мой стандартный подход к прокси-серверам ISA заключается в настройке локального прокси-сервера аутентификации, такого как cntlm . После установки cntlm на вашем компьютере с Ubuntu вы настраиваете его для аутентификации через NTLM на прокси-сервере ISA с вашим именем пользователя и паролем Windows. Затем вы устанавливаете HTTP_PROXYпеременную в http://localhost:3128(т.е. порт, который слушает cntlm).

Преимущество этого подхода состоит в том, что только одна программа имеет дело с прокси-сервером Windows. Все остальные программы могут проходить через использование cntlm в качестве шлюза.

rekado
источник
0

У меня это работает с полипо . Мой университет использует http-proxyаутентификацию. В /etc/polipo/configвам нужно добавить эти строки

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

И экспорт http_proxy=http://localhost:8123". И это сработало как шарм.

Дилавар
источник