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>
.SOCKS_SERVER
, bien que de nombreux programmes populaires aiment lessh
faire. En outre,wget
ne semble pas du tout prendre en charge SOCKS. Vous pouvez cependant utilisercurl
. J'ajouterai des informations à ma réponse à ce sujet.youtube-dl
ne lit pasSOCKS_SERVER
, il lit à lahttp_proxy
place. Et il ne prend pas en charge le proxy de chaussettes. Umm ... Une liste de programmes et de leurs environnements proxy pris en charge peut être très utile.socksify
utilitaire du package security / dante .wget(1)
peut prendre en charge le proxy SOCKS depuis la version 1.4.0 (vers 1999) s'il est construit avec--with-socks
ce qui n'est presque jamais le cas dans les versions packagées.Essayez les proxychains .
Il peut être installé avec
apt-get
. Ensuite, vous devrez créer un fichier de configuration dans l'un deset vous pourrez invoquer d'autres commandes comme
proxychains wget google.com
- les connexions passeront par un proxy. Vous pouvez spécifier plusieurs proxys utilisés simultanément ou dans un ordre aléatoire.Par exemple:
J'ai supprimé certaines balises HTML et IP, mais comme vous pouvez le voir, le proxy a été utilisé et l'adresse IP a changé.
la source
wget ne prend pas en charge les chaussettes, curl fonctionne comme le disait Patches :
Si vous avez besoin de wget, vous pouvez l'installer
tsocks
.Installer
sudo aptitude install tsocks
et configurer:Usage:
la source