Bagaimana cara mengatur proxy untuk Cabal?

9

Saya menggunakan Ubuntu di belakang proksi (Windows). Saya ingin menggunakan cabalutilitas.

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 proxy telah dibaca dari lingkungan. Proxy saya memerlukan autentikasi, tetapi komplotan rahasia ingin URL proxy untuk memulai dengan nama host, jadi mungkin akan meminta saya untuk kredensial ...

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

Apa itu setAuthorityGendan bagaimana cara menggunakannya? Lebih penting lagi, dapatkah saya mengaktifkan akses melalui proksi otentikasi? Apakah saya perlu terowongan?

Synesso
sumber
Saya mengalami masalah serupa. Jika Anda menemukan solusinya, beri tahu saya.
Dilawar
@Dilawar Ada yang ditandai dalam bugtracker hackage.haskell.org/trac/hackage/ticket/855
Artem Koshelev

Jawaban:

2

Pendekatan standar saya untuk proksi ISA adalah mengkonfigurasi proxy autentikasi lokal seperti cntlm . Setelah menginstal cntlm pada mesin Ubuntu Anda, Anda mengkonfigurasinya untuk mengautentikasi melalui NTLM di proksi ISA dengan nama pengguna dan kata sandi Windows Anda. Kemudian Anda mengatur HTTP_PROXYvariabel ke http://localhost:3128(yaitu port yang mendengarkan cntlm).

Keuntungan dari pendekatan ini adalah bahwa hanya satu program yang harus berurusan dengan proksi Windows. Semua program lain dapat melewati dengan menggunakan cntlm sebagai gateway mereka.

rekado
sumber
2

Jawaban dari Haskell-cafe pipermail

cabal-installdikonfigurasi dalam ~/.cabal/config. Tambahkan baris ini ke file konfigurasi:

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

Saya sudah membuatnya bekerja dengan polipo . Universitas saya gunakan http-proxydengan otentikasi. Dalam /etc/polipo/configAnda perlu menambahkan garis-garis ini

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

Dan ekspor http_proxy=http://localhost:8123". Dan itu bekerja seperti pesona.

Dilawar
sumber