La plupart des commandes Linux qui accèdent au regard Internet dans les HTTP_PROXY
, FTP_PROXY
et les SOCKS_SERVER
variables d'environnement pour les informations de proxy. Donc, pour faire quelque chose comme votre exemple, lancez simplement:
export SOCKS_SERVER=1.2.3.4:8000
wget http://superuser.com/q/262956/66003
La syntaxe de HTTP_PROXY
et FTP_PROXY
est légèrement différente:
export HTTP_PROXY=http://1.2.3.4:3128/
export FTP_PROXY=ftp://1.2.3.4:25/
L'environnement de bureau GNOME par défaut inclus avec les paramètres de proxy d'Ubuntu possède un bouton Appliquer à l'échelle du système , qui définira automatiquement ces variables d'environnement pour vous. Sinon, vous pouvez ajouter les export
lignes à votre ~/.bashrc
fichier pour qu'elles prennent effet à chaque connexion.
Malheureusement, wget
ne prend pas du tout en charge SOCKS. Vous pouvez utiliser curl
, qui est inclus avec Ubuntu, pour accomplir beaucoup de choses wget
. Malheureusement, il ne vérifie pas SOCKS_SERVER
, alors qu'il vérifie HTTP_PROXY
(tout comme wget
). Pour utiliser curl pour télécharger cette page avec un serveur SOCKS5 (en exécutant la résolution DNS avec ce serveur) et l'enregistrer sous superuser.html
, exécutez ceci:
curl --socks5-hostname 1.2.3.4:8000 http://superuser.com/q/262956/66003 > superuser.html
Si vous souhaitez curl
toujours utiliser ce proxy SOCKS, vous pouvez créer un alias de shell. Ajoutez simplement la ligne suivante à votre ~/.bashrc
:
alias curl='curl --socks5-hostname 1.2.3.4:8000'
Vous devrez redémarrer votre terminal ou exécuter cette ligne comme s'il s'agissait d'une commande pour que les modifications prennent effet.
wget
avecSOCKS_SERVER
, mais ça ne marche pas.wget
lire uniquement les paramètres du proxy à partir de/etc/wgetrc
. J'ai essayélinks
aussi, c'est correct de le préciserlinks -socks-proxy 127.0.0.1:7878 <url>
, mais ça n'a pas pu être utiliséexport SOCKS_SERVER=...; links <url>
.