Question Comment définir le proxy pour Cabal?


J'utilise Ubuntu derrière un proxy (Windows). Je voudrais utiliser le cabal utilitaire.

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

L'URL du proxy a été lue dans l'environnement. Mon proxy requiert une authentification, mais cabal souhaite que l'URL du proxy commence par un nom d'hôte, alors peut-être qu'il me demandera des informations d'identification ...

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

Quel est setAuthorityGen et comment puis-je l'utiliser? Plus important encore, puis-je activer l'accès via le proxy d'authentification? Aurai-je besoin de tunneler?


9
2018-04-18 02:15


origine


J'ai un problème similaire. Si vous trouvez une solution de contournement, faites-le moi savoir. - Dilawar
@Dilawar Un bugtracker est coché hackage.haskell.org/trac/hackage/ticket/855 - Artem Koshelev


Réponses:


Mon approche standard des mandataires ISA consiste à configurer un proxy d’authentification local comme cntlm. Après avoir installé cntlm sur votre machine Ubuntu, configurez-le pour vous authentifier via NTLM sur le proxy ISA avec votre nom d'utilisateur et votre mot de passe Windows. Ensuite, vous définissez le HTTP_PROXY variable à http://localhost:3128 (c’est-à-dire le port que cntlm écoute).

L'avantage de cette approche est qu'un seul programme doit traiter avec le proxy Windows. Tous les autres programmes peuvent passer en utilisant cntlm comme passerelle.


2
2017-12-20 06:03





Réponse de Haskell-cafe pipermail

cabal-install est configuré dans ~/.cabal/config. Ajoutez cette ligne au fichier de configuration:

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

2
2018-05-15 14:44





Je l'ai avec travailler polipo. Mon université utilise http-proxy avec authentification. Dans /etc/polipo/config vous devez ajouter ces lignes

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

Et export http_proxy=http://localhost:8123". Et ça a fonctionné comme un charme.


0
2017-07-08 12:36