Jak używać Socks proxy do poleceń w terminalu, takich jak youtube-dl?

37

Łączę się ze zdalnym serwerem ssh, uruchamiając następujące polecenie:

ssh -D 12345 [email protected]

To tworzy proxy proxy, którego mogę używać z Firefoksem, aby ominąć cenzurę w moim kraju. Jednak nie mogę tego wykorzystać w wierszu poleceń.

Powiedzmy, że mój kraj blokuje dostęp do youtube. Jak mogę użyć połączenia ssh do uruchomienia polecenia takiego jak:

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

Bez blokowania przez rząd? Jak ustawić proxy skarpet dla wszystkich poleceń terminalu?

użytkownik1098135
źródło
1
Znalazłem tymczasowe rozwiązanie. Użyłem skarpet. Po zainstalowaniu, po ustanowieniu połączenia ssh, uruchamiam żądaną aplikację za pomocą tsocks w następujący sposób: tsocks gnome-terminal
użytkownik1098135
1
tsocks youtube-dl ...- tsocks to sprytna aplikacja, powszechnie dostępna w repozytoriach, która służy LD_PRELOADdo wymuszania na aplikacjach kierowania ruchu przez wyznaczone połączenie SOCKS (określ, które w ~/.tsocks.conf).
Zaz

Odpowiedzi:

17

Youtube-dl nie obsługuje proxy SOCKS. Jest prośba o udostępnienie funkcji wraz z linkami do kilku działających propozycji.

Youtube-dl obsługuje proxy HTTP po wyjęciu z pudełka. Aby skorzystać z tego wsparcia, musisz uruchomić serwer proxy myserver.com. Zrobi to prawie każdy lekki serwer proxy, na przykład tinyproxy . Serwer proxy musi tylko nasłuchiwać połączeń lokalnych ( Listen 127.0.0.1in tinyproxy.conf). Jeśli serwer proxy HTTP nasłuchuje na porcie 8035 ( Port 8035), uruchom następującą komendę ssh:

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

i ustaw zmienne środowiskowe http_proxyoraz https_proxy:

export http_proxy=http://localhost:8035/ https_proxy=http://localhost:8035/
youtube-dl youtube.com/watch?V=3XjwiV-6_CA
Gilles „SO- przestań być zły”
źródło
jeśli zamierzają korzystać z SSH, to po co potrzebują malutkiegoproxy lub odwrotnie? Używam tunelu SSH i działa dobrze.
Umair A.
@Neutralizer SSH przekazuje tylko z komputera lokalnego do komputera proxy. Coś na maszynie proxy musi odkodować żądanie HTTP i ustalić adres IP serwera. Jeśli klient obsługuje SOCKS, SSH może wykonać zadanie, ale youtube-dl nie obsługuje SOCKS. Jeśli korzystasz z serwera proxy dla określonego serwera, możesz użyć samego SSH i nakazać mu przekazywanie bezpośrednio do tego serwera, ale działa to tylko wtedy, gdy wszystkie żądania muszą być przekazywane na ten sam adres IP i port.
Gilles „SO- przestań być zły”
Do debugowania dobrze jest uruchomić polecenie ssh -vi pominąć sesję interaktywną, którą można również dodać -N.
fikovnik
48
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"
amidevous
źródło
proste i działa dla mnie.
Kevin Tong,
5
dodaj, -Naby pominąć interaktywną sesję ssh
fikovnik
5

youtube-dl działa dobrze z serwerami proxy na Ubuntu. Upewnij się, że Twoje tunelowanie odbywa się za pomocą wiersza polecenia.

ssh -D 8081 ubuntu@yourSSHserver

następnie zainstaluj proxy na swoim lokalnym hoście, a nie na serwerze ssh, z którym jesteś podłączony.

sudo apt-get install proxychains

edytuj plik konfiguracyjny proxy

sudo nano /etc/proxychains.conf

edytuj numer portu w ostatnim wierszu

socks4  127.0.0.1 8081

Uwaga: używam serwerów proxy na porcie 8081

następnie po prostu dodaj proxy na początku polecenia, używając youtube-dl

proxychains ./youtube-dl http://thesite.com/yourvideo.hmtl 
Saeed AlFalasi
źródło
proxy jest świetnym narzędziem
2 8
2

Możesz użyć Delegata ,

Jest to serwer i / lub klient SOCKS, który może nasłuchiwać jako serwer proxy HTTP.

Pobierz najnowszą wersję delegata i rozpakuj ją.

Najpierw uruchom polecenie ssh:

ssh -D 9150 [email protected]

Następnie uruchom plik binarny delegata z tymi opcjami, aby mieć serwer proxy HTTP jako klient SOCKS:

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

Następnie uruchom youtube-dlz --proxyopcją połączenia ze słuchanym proxy HTTP:

$ youtube-dl -v --proxy "http://127.0.0.1:8080" https://www.youtube.com/watch?v=VID
Omid Raha
źródło
1

Od youtube-dlwersji 2016.05.10 można używać --proxydo określania proxy SOCKS, np

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

--proxy URLUżyj określonego proxy HTTP / HTTPS / SOCKS. Aby włączyć eksperymentalne proxy SOCKS, określ odpowiedni schemat. Na przykład socks5://127.0.0.1:1080/.

kenorb
źródło
0

Jeśli szukasz filmów z YouTube'a, możesz spróbować cclive, co wydaje się wspierać proxy. I może to robić także inne strony streamingowe.

Peter
źródło