web-dev-qa-db-fra.com

Comment utiliser le proxy socks pour les commandes dans Terminal telles que YouTube-DL?

Je me connecte à un serveur ssh distant en exécutant cette commande:

ssh -D 12345 [email protected]

Cela crée un proxy de chaussettes que je peux utiliser avec Firefox pour contourner la censure dans mon pays. Cependant, je ne peux pas en profiter dans la ligne de commande.

Disons que mon pays bloque l'accès à YouTube. Comment puis-je utiliser la connexion ssh pour exécuter une commande telle que:

youtube-dl "youtube.com/watch?v=3XjwiV-6_CA"

Sans être bloqué par le gouvernement? Comment puis-je définir un proxy de chaussettes pour toutes les commandes de terminal?

38
user1098135

Youtube-dl ne prend pas en charge un proxy SOCKS. Il y a demande de fonctionnalité pour cela, avec des liens vers quelques propositions de travail.

Youtube-dl prend en charge les proxys HTTP prêts à l'emploi. Pour bénéficier de ce support, vous devrez exécuter un proxy sur myserver.com. À peu près n'importe quel proxy léger fera l'affaire, par exemple tinyproxy . Le proxy n'a besoin que d'écouter les connexions locales (Listen 127.0.0.1 dans tinyproxy.conf). Si le proxy HTTP écoute sur le port 8035 (Port 8035), exécutez la commande ssh suivante:

ssh -L 8035:localhost:8035 [email protected]

et définissez les variables d'environnement http_proxy et https_proxy:

export http_proxy=http://localhost:8035/ https_proxy=http://localhost:8035/
youtube-dl youtube.com/watch?V=3XjwiV-6_CA
ssh -D 8080 [email protected]
export http_proxy=socks5://127.0.0.1:8080 https_proxy=socks5://127.0.0.1:8080
youtube-dl "youtube.com/watch?V=3XjwiV-6_CA"
53
amidevous

youtube-dl fonctionne bien avec les chaînes proxy sur Ubuntu. Assurez-vous que votre tunneling via la ligne de commande.

ssh -D 8081 ubuntu@yourSSHserver

installez ensuite les proxychains sur votre hôte local et non sur le serveur ssh auquel vous êtes connecté.

Sudo apt-get install proxychains

éditez votre fichier de configuration proxychains

Sudo nano /etc/proxychains.conf

modifier le numéro de port sur la dernière ligne

socks4  127.0.0.1 8081

Remarque: j'utilise des chaînes proxy sur le port 8081

puis ajoutez simplement des chaînes proxy au début de la commande lorsque vous utilisez youtube-dl

proxychains ./youtube-dl http://thesite.com/yourvideo.hmtl 
6
Saeed AlFalasi

Vous pouvez utiliser Délégué ,

Il s'agit d'un serveur et/ou d'un client SOCKS qui peut écouter en tant que proxy HTTP.

Téléchargez dernière version du délégué et extrayez-la.

Exécutez d'abord votre commande ssh:

ssh -D 9150 [email protected]

Ensuite, exécutez le fichier délégué binaire avec ces options pour avoir un proxy HTTP en tant que client SOCKS:

$ ./dg9_9_13 -P8080 SERVER=http SOCKS=127.0.0.1:9150 ADMIN="[email protected]"

Ensuite, exécutez youtube-dl avec --proxy option pour se connecter au proxy HTTP écouté:

$ youtube-dl -v --proxy "http://127.0.0.1:8080" https://www.youtube.com/watch?v=VID
2
Omid Raha

Depuis youtube-dl version 2016.05.1 , vous pouvez utiliser --proxy pour spécifier le proxy SOCKS, par exemple.

youtube-dl --proxy "socks5://127.0.0.1/" -v 9bZkp7q19f0

--proxy URL Utilisez le proxy HTTP/HTTPS/SOCKS spécifié. Pour activer le proxy SOCKS expérimental, spécifiez un schéma approprié. Par exemple socks5://127.0.0.1:1080/.

1
kenorb

Si les vidéos Youtube sont ce que vous recherchez, vous pouvez essayer cclive , qui semble prendre en charge les proxys. Et il peut également faire d'autres sites de streaming.

0
peterph