sintassi per il proxy SOCKS in apt.conf


23

Voglio aggiungere le impostazioni del proxy SOCKS a /etc/apt/apt.conf. Qual è la sintassi per questo? È uguale alla sintassi http e ftp?

Grazie.

Risposte:


31

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 tsockspacchetto, modifica /etc/tsocks.confper 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

11
Sembra che tsocks non sia installato di default, quindi devo eseguirlo sudo tsocks apt-get install tsocks. Hahahahahaha ...
— fikr4n,

1
Puoi usare curl per scaricare tsocks, installarlo e poi usare :)
— neutrinus

3
Inoltre: A partire da apt 1.3 ~ rc1 (versione Debian, non sono sicuro di quale versione di Ubuntu, anche se la mia ipotesi non è fino a Zesty), è possibile utilizzare Acquire::http::Proxy "socks5h://hostname:port/". Guarda il log delle modifiche
— derobert

1
Beh ... è divertente. Per far funzionare apt-get devi ... apt-get something!
— Equidamoide,

2
una piccola correzione alla linea @derobert: 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 httprimpiazzo è sostituito da socks- e funziona!
— Alexey Vesnin,

17
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.


1
Questo è corretto e sembra funzionare su Ubuntu 18.04. Anche se si potrebbe voler includere anche Acquire :: https :: proxy e Acquire :: ftp :: proxy (con lo stesso valore).
— Hamy

1
l'aggiunta della regola proxy Acquire::https::proxy "socks5h://server:port";a un apt.conf.dfile (come /etc/apt/apt.conf.d/12proxy) funziona perfettamente. Vorrei suggerire di attenersi a HTTPS se non diversamente necessario.
— codegenki

Anche per un server proxy che richiede l'autenticazione, questa riga viene modificata come Acquire::http::proxy "socks5h://user:pass@server:port";. La regola sopra funziona perfettamente in Ubuntu 18.04. Qui socks5happlica la risoluzione DNS sul server proxy.
— codegenki

Qualcuno sa se questo funziona in Ubuntu 16.04?
— becko,

non funziona il 14.04
— razieh babaee il

8

L'uso della riga di configurazione successiva funziona per me:

Acquire::socks::proxy "socks5://server:port";

Per mantenere apt.confpulito 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.


qual è il numero iniziale significa nel foler
— Kris Roofe,

È solo l'ordine di esecuzione dello script
— Bit-Man il

Questo è sbagliato. Questo non funziona
— dedunumax,

Cosa ti è sfuggito @dedunumax? Qualche errore? Qualche idea?
— Bit-Man

1
Dovrebbe essere Acquire :: http :: proxy e anche socks5 h per la risoluzione DNS sul lato proxy
— ZAB

4

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/";

3

Oppure puoi inserire nel tuo /etc/apt/apt.conf qualcosa del genere:

Acquire::socks::proxy "socks://user:pass@host:port/";

2
Questo non sembra funzionare in Ubuntu 12.04
— Shnatsel,

Funziona nel 13.10.
— Isaaclw,

4
Sono abbastanza sicuro che questa sia sintassi sbagliata, significa "proxy tutti gli URL che iniziano con socks: // through socks: // user: pass @ host: port /". Davvero, dovrebbe essere questo:Acquire::http::proxy "socks://user:pass@host:port/";
— Hans-Christoph Steiner,

@ Hans-ChristophSteiner: crea una connessione all'host e alla porta indicati, ma la connessione non utilizza il protocollo socks. Sembra un protocollo proxy HTTP, ma non ho verificato con un proxy http reale.
— Seth Robertson,

A questo punto, sono sicuro che Acquire::socksserve per impostare il proxy per gli URL che iniziano con socks://. Quindi, questo significa che non è necessario un proxy per accedere a Internet, e aptnon utilizza alcuna proxy per ftp://, http://o https://.. aptsupporta solo HTTP proxy, vale a dire Acquire::http::proxy "http://localhost:8118.
— Hans-Christoph Steiner,

0

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.gzcitati 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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.