Réponses:
Une solution possible peut être d'utiliser tsocks
, une application qui peut rediriger le trafic réseau via un proxy de chaussettes. Installez le tsocks
package, modifiez /etc/tsocks.conf
pour définir l'adresse et le numéro de port de votre proxy socks, et exécutez:
$ sudo -s
# tsocks apt-get update
# tsocks apt-get dist-upgrade
# exit
$
ou
$ sudo -s
# . tsocks -on
# apt-get update
# apt-get dist-upgrade
# . tsocks -off # not really necessary, given the exit
# exit
$
Vous pouvez penser à un certain nombre d'options, pour simplifier et automatiser son utilisation.
N'oubliez pas le premier point, la page de manuel contient plus de détails à ce sujet.
Edit : une façon plus courte de l'utiliser:
$ sudo tsocks apt-get update
$ sudo tsocks apt-get dist-upgrade
tsocks
, l'installer puis utiliser :)
Acquire::http::Proxy "socks5h://hostname:port/"
. Voir le changelog sur anonscm.debian.org/gitweb/?p=apt/apt.git;a=blob;f=debian/…
apt-get something
!
Acquire::socks::Proxy "socks5h://hostname:port/";
fait l'affaire. Http ne le fait pas - essayez-le avec Tor et vous verrez une réponse standard "Tor n'est pas un proxy http", donc le http
va remplacé par socks
- et cela fonctionne!
Acquire::http::proxy "socks5h://server:port";
Cela fonctionne pour moi sur Ubuntu 18.04. Comme le dit la page de manuel, socks5h, et non socks5, est pris en charge par apt, ce qui signifie un proxy socks5 avec une capacité de résolution DNS.
Acquire::https::proxy "socks5h://server:port";
d'une règle de proxy à un apt.conf.d
fichier (comme /etc/apt/apt.conf.d/12proxy
) fonctionne très bien. Je suggère de s'en tenir à https, sauf indication contraire.
Acquire::http::proxy "socks5h://user:pass@server:port";
. La règle ci-dessus fonctionne très bien dans Ubuntu 18.04. Ici, la socks5h
résolution DNS est appliquée au serveur proxy.
L'utilisation de la prochaine ligne de configuration fonctionne pour moi:
Acquire::socks::proxy "socks5://server:port";
Pour rester apt.conf
propre et éviter les problèmes lors de la mise à niveau de Linux, j'ai créé un nouveau fichier ( /etc/apt/apt.conf.d/12proxy
) et y ai ajouté le fichier de configuration.
Je n'ai rien trouvé sur Acquire :: socks :: proxy dans le manuel apt.conf d'Ubuntu Xenial. Vous pouvez résoudre ce problème en exécutant un proxy http local qui prend en charge le proxy de chaussettes en amont, par exemple Polipo. Vous devez configurer Polipo comme suit:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "sockshost:socksport"
socksProxyType = socks5
puis définissez le proxy http dans votre fichier apt.conf:
Acquire::http::proxy "http://127.0.0.1:8118/";
Acquire::https::proxy "https://127.0.0.1:8118/";
Ou vous pouvez mettre quelque chose comme ceci dans votre /etc/apt/apt.conf:
Acquire::socks::proxy "socks://user:pass@host:port/";
Acquire::http::proxy "socks://user:pass@host:port/";
Acquire::socks
c'est pour définir le proxy pour les URL qui commencent par socks://
. Donc , cela signifie que vous ne pas besoin d' un proxy pour accéder à Internet, et apt
n'utilise pas de proxy pour ftp://
, http://
ou https://
.. apt
ne supporte que HTTP proxy, par exemple Acquire::http::proxy "http://localhost:8118
.
Dans Debian, vous pouvez lire la page de manuel apt-transport-http(1)
et rechercher les schémas d'URI pris en charge. Comme il a été répondu précédemment, mettez
Acquire::http::proxy "socks5h://server:port";
dans
/etc/apt/apt.conf.d/12proxy
Vous pouvez en savoir plus sur APT-config en général dans apt.conf(5)
et lire les exemples /usr/share/doc/apt/examples/configure-index.gz
mentionnés à la fin de la page de manuel.
Ceci peut être combiné avec ssh -D <LOCAL PORT> <USER>@<HOST>
pour créer un proxy SOCKS vers un système différent afin qu'apt puisse ensuite utiliser le proxy comme si tout était originaire <HOST>
.
Si vous utilisez ssh -D 0.0.0.0:<LOCAL PORT> <USER>@<HOST>
ou ssh -D [::]:<LOCAL PORT> <USER>@<HOST>
(pour IPv6) pour permettre à d'autres systèmes d'utiliser le proxy SOCKS sur toutes les interfaces. Cela peut être un risque pour la sécurité ou une violation de la politique (d'entreprise). Assurez-vous de savoir ce que vous faites.
sudo tsocks apt-get install tsocks
. Hahahahahaha ...