Risposte:
Una possibile soluzione può essere l'uso tsocks
, un'applicazione in grado di reindirizzare il traffico di rete attraverso un proxy di calzini. Installa il tsocks
pacchetto, modifica /etc/tsocks.conf
per impostare l'indirizzo e il numero di porta del proxy socks ed esegui:
$ sudo -s
# tsocks apt-get update
# tsocks apt-get dist-upgrade
# exit
$
o
$ sudo -s
# . tsocks -on
# apt-get update
# apt-get dist-upgrade
# . tsocks -off # not really necessary, given the exit
# exit
$
Puoi pensare a una serie di opzioni, per semplificare e automatizzare il suo utilizzo.
Non dimenticare il punto iniziale, la Manpage ha più dettagli su questo.
Modifica : un modo più breve per usarlo:
$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade
tsocks
, installarlo e poi usare :)
Acquire::http::Proxy "socks5h://hostname:port/"
. Guarda il log delle modifiche
apt-get something
!
Acquire::socks::Proxy "socks5h://hostname:port/";
fa il trucco. Http no - provalo con Tor e vedrai una risposta standard "Tor non è un proxy http", quindi il http
rimpiazzo è sostituito da socks
- e funziona!
Acquire::http::proxy "socks5h://server:port";
Questo funziona per me su Ubuntu 18.04. Come dice la pagina man, socks5h, non socks5, è supportato da apt, il che significa proxy socks5 con capacità di risoluzione DNS.
Acquire::https::proxy "socks5h://server:port";
a un apt.conf.d
file (come /etc/apt/apt.conf.d/12proxy
) funziona perfettamente. Vorrei suggerire di attenersi a HTTPS se non diversamente necessario.
Acquire::http::proxy "socks5h://user:pass@server:port";
. La regola sopra funziona perfettamente in Ubuntu 18.04. Qui socks5h
applica la risoluzione DNS sul server proxy.
L'uso della riga di configurazione successiva funziona per me:
Acquire::socks::proxy "socks5://server:port";
Per mantenere apt.conf
pulito ed evitare problemi durante l'aggiornamento di Linux ho creato un nuovo file ( /etc/apt/apt.conf.d/12proxy
) e aggiunto il file di configurazione ad esso.
Non sono riuscito a trovare nulla su Acquire :: socks :: proxy nel manuale apt.conf di Ubuntu Xenial. È possibile risolvere questo problema eseguendo un proxy http locale che supporta il proxy dei calzini a monte, ad esempio Polipo. Devi configurare Polipo come segue:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5
e quindi impostare il proxy http nel file apt.conf:
Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";
Oppure puoi inserire nel tuo /etc/apt/apt.conf qualcosa del genere:
Acquire::socks::proxy "socks://user:pass@host:port/";
Acquire::http::proxy "socks://user:pass@host:port/";
Acquire::socks
serve per impostare il proxy per gli URL che iniziano con socks://
. Quindi, questo significa che non è necessario un proxy per accedere a Internet, e apt
non utilizza alcuna proxy per ftp://
, http://
o https://
.. apt
supporta solo HTTP proxy, vale a dire Acquire::http::proxy "http://localhost:8118
.
In Debian, puoi leggere la manpage apt-transport-http(1)
e cercare schemi URI supportati. Come è stato risposto prima, mettere
Acquire::http::proxy "socks5h://server:port";
nel
/etc/apt/apt.conf.d/12proxy
Puoi leggere ulteriori informazioni sulla configurazione APT in generale apt.conf(5)
e leggere gli esempi /usr/share/doc/apt/examples/configure-index.gz
citati alla fine della manpage.
Questo può essere combinato con ssh -D <LOCAL PORT> <USER>@<HOST>
per creare un proxy SOCKS su un sistema diverso in modo tale che apt possa usare il proxy come se tutto fosse originato <HOST>
.
Se si utilizza ssh -D 0.0.0.0:<LOCAL PORT> <USER>@<HOST>
o ssh -D [::]:<LOCAL PORT> <USER>@<HOST>
(per IPv6) per consentire ad altri sistemi di utilizzare il proxy SOCKS su tutte le interfacce. Questo può essere un rischio per la sicurezza o una violazione della politica (aziendale). Assicurati di sapere cosa stai facendo.
sudo tsocks apt-get install tsocks
. Hahahahahaha ...