Come usare il proxy socks per i comandi nel Terminale come youtube-dl?


38

Mi collego a un server SSH remoto eseguendo questo comando:

ssh -D 12345 bob@myserver.com

Questo crea un proxy calzini che posso usare con Firefox per aggirare la censura nel mio paese. Tuttavia, non posso approfittarne nella riga di comando.

Supponiamo che il mio Paese blocchi l'accesso a YouTube. Come posso usare la connessione SSH per eseguire un comando come:

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

Senza essere bloccato dal governo? Come posso impostare un proxy socks per tutti i comandi del terminale?


1
Ho trovato una soluzione temporanea. Ho usato tsocks. Una volta installato, quando viene stabilita la connessione ssh, avvio l'applicazione che desidero con tsocks come segue: tsocks gnome-terminal
user1098135

1
tsocks youtube-dl ...- tsocks è un'applicazione intelligente, comunemente disponibile nei repository, che utilizza LD_PRELOADper forzare le applicazioni a instradare il proprio traffico attraverso una connessione SOCKS designata (specificare quale in ~/.tsocks.conf).
Zaz,

Risposte:


17

Youtube-dl non supporta un proxy SOCKS. C'è una richiesta di funzionalità per esso, con collegamenti a un paio di proposte di lavoro.

Youtube-dl supporta immediatamente i proxy HTTP. Per beneficiare di questo supporto, è necessario eseguire un proxy myserver.com. Praticamente qualsiasi proxy leggero farà, ad esempio tinyproxy . Il proxy deve solo ascoltare le connessioni locali ( Listen 127.0.0.1in tinyproxy.conf). Se il proxy HTTP è in ascolto sulla porta 8035 ( Port 8035), eseguire il comando ssh seguente:

ssh -L 8035:localhost:8035 bob@myserver.com

e impostare le variabili di ambiente http_proxye https_proxy:

export http_proxy=http://localhost:8035/ https_proxy=http://localhost:8035/
youtube-dl youtube.com/watch?V=3XjwiV-6_CA

se useranno SSH, allora perché hanno bisogno di tinyproxy o viceversa? Uso il tunnel SSH e funziona benissimo.
Umair A.

@Neutralizer SSH inoltra solo dalla macchina locale alla macchina proxy. Qualcosa sulla macchina proxy deve decodificare la richiesta HTTP e capire l'indirizzo IP della macchina server. Se il client supporta SOCKS, SSH può fare il lavoro, ma youtube-dl non supporta SOCKS. Se stai usando il proxy per un server specifico, potresti essere in grado di usare SSH da solo e dirgli di inoltrare direttamente a quel server, ma questo funziona solo se tutte le richieste devono essere inoltrate allo stesso indirizzo IP e porta.
Gilles 'SO- smetti di essere malvagio' il

Per il debug è bello eseguire il comando ssh con -ve per saltare la sessione interattiva si può anche aggiungere -N.
fikovnik,


49
ssh -D 8080 name@myserver.com
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"

semplice e funziona per me.
Kevin Tong,

5
aggiungi -Nper saltare la sessione interattiva ssh
fikovnik

5

youtube-dl funziona bene con le proxychain su Ubuntu. Assicurati di eseguire il tunneling dalla riga di comando.

ssh -D 8081 ubuntu@yourSSHserver

la prossima installazione di proxychain sul tuo localhost non è il server ssh a cui sei connesso.

sudo apt-get install proxychains

modifica il tuo file di configurazione proxychains

sudo nano /etc/proxychains.conf

modifica il numero di porta sull'ultima riga

socks4  127.0.0.1 8081

Nota: sto usando proxychains sulla porta 8081

quindi aggiungi semplicemente proxychains all'inizio del comando quando usi youtube-dl

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

proxychains è uno strumento interessante
2 8

2

Puoi usare Delegato ,

È un server SOCKS e / o client che può ascoltare come proxy HTTP.

Scarica l' ultima versione di delegate ed estraila.

Innanzitutto esegui il comando ssh:

ssh -D 9150 me@myserver.com

Quindi, esegui il file delegato binario con queste opzioni per avere un proxy HTTP come client SOCKS:

$ ./dg9_9_13 -P8080 SERVER=http SOCKS=127.0.0.1:9150 ADMIN="local@localhost.com"

Quindi, esegui youtube-dlcon l' --proxyopzione per connettersi al proxy HTTP ascoltato:

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

1

Dalla youtube-dlversione 2016.05.10 , è possibile utilizzare --proxyper specificare il proxy SOCKS, ad es

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

--proxy URLUtilizzare il proxy HTTP / HTTPS / SOCKS specificato. Per abilitare il proxy SOCKS sperimentale, specificare uno schema adeguato. Per esempio socks5://127.0.0.1:1080/.


0

Se i video di Youtube sono ciò che stai cercando cclive, potresti provare , il che sembra supportare i proxy. E può fare anche altri siti di streaming.

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.