Як використовувати проксі-шкарпетки для команд у терміналі, таких як youtube-dl?


38

Я підключаюсь до віддаленого сервера ssh за допомогою цієї команди:

ssh -D 12345 bob@myserver.com

Це створює проксі-носок, який я можу використовувати з Firefox, щоб обійти цензуру в моїй країні. Однак я не можу цим скористатися в командному рядку.

Скажімо, моя країна блокує доступ до youtube. Як я можу використовувати ssh-з'єднання для запуску такої команди, як:

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

Без блокування уряду? Як я можу встановити проксі-носок для всіх термінальних команд?


1
Я знайшов тимчасове рішення. Я використовував носочки. Після встановлення, коли встановлено ssh-з'єднання, я запускаю потрібну програму з tsocks наступним чином: tsocks gnome-terminal
user1098135

1
tsocks youtube-dl ...- tsocks - це розумне додаток, зазвичай доступне в сховищах, яке використовує LD_PRELOADдля примушування додатків для маршрутизації свого трафіку через призначене з'єднання SOCKS (вкажіть, яке в ~/.tsocks.conf).
Заз

Відповіді:


17

Youtube-dl не підтримує проксі-сервер SOCKS. Для цього є запит на функцію із посиланням на пару робочих пропозицій.

Youtube-dl підтримує проксі-сервери HTTP поза коробкою. Щоб скористатися цією підтримкою, потрібно запустити проксі myserver.com. Практично будь-який легкий проксі буде робити, наприклад, tinyproxy . Проксі-сервер повинен слухати лише локальні з'єднання ( Listen 127.0.0.1в tinyproxy.conf). Якщо проксі-сервер HTTP прослуховує порт 8035 ( Port 8035), запустіть таку команду ssh:

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

і встановити змінні середовища http_proxyі https_proxy:

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

якщо вони збираються використовувати SSH, то навіщо їм потрібно tinyproxy чи навпаки? Я використовую тунель SSH, і він чудово працює.
Умаїр А.

@Neutralizer SSH реле лише від локальної машини до проксі-машини. Щось на проксі-машині потрібно декодувати HTTP-запит та визначити IP-адресу серверної машини. Якщо клієнт підтримує SOCKS, то SSH може виконати цю роботу, але youtube-dl не підтримує SOCKS. Якщо ви використовуєте проксі-сервер для певного сервера, можливо, ви зможете використовувати SSH поодинці і сказати йому переслати безпосередньо на цей сервер, але це працює лише в тому випадку, якщо всі запити потрібно переадресувати на один і той же IP-адресу та порт.
Жил 'ТАК - перестань бути злим'

Для налагодження приємно запустити команду ssh -vі пропустити інтерактивний сеанс, який можна також додати -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"

просто і працює для мене.
Кевін Тонг

5
додати, -Nщоб пропустити інтерактивний сеанс ssh
fikovnik

5

youtube-dl добре працює з проксі-ланцюгами на ubuntu. Переконайтеся, що ур тунелювання за допомогою командного рядка

ssh -D 8081 ubuntu@yourSSHserver

наступна установка проксі-ланцюгів на ваш localhost, а не на ур.

sudo apt-get install proxychains

відредагуйте конфігураційний файл проксі-ланцюгів

sudo nano /etc/proxychains.conf

редагуйте номер порту в останньому рядку

socks4  127.0.0.1 8081

Примітка: я використовую проксі-ланцюги на порту 8081

тоді просто додайте проксі-ланцюги до початку команди при використанні youtube-dl

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

proxychains - класний інструмент
2 8

2

Ви можете використовувати Delegate ,

Це сервер SOCKS та / або клієнт, який може прослуховувати як HTTP-проксі.

Завантажте останню версію делегата та витягніть її.

Спочатку запустіть команду ssh:

ssh -D 9150 me@myserver.com

Потім запустіть файл двійкового делегата з цими параметрами, щоб HTTP-проксі був клієнтом SOCKS:

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

Потім запустіть youtube-dlз --proxyопцією підключення до прослуханого проксі HTTP:

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

1

Починаючи з youtube-dlверсії 2016.05.10 , ви можете використовувати --proxyдля вказівки проксі-сервера SOCKS, наприклад

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

--proxy URLВикористовуйте вказаний проксі-сервер HTTP / HTTPS / SOCKS. Щоб увімкнути експериментальний проксі-сервер SOCKS, вкажіть правильну схему. Наприклад socks5://127.0.0.1:1080/.


0

Якщо відео з Youtube - це те, що ви хочете, спробуйте спробувати cclive, який, здається, підтримує проксі. І це можуть робити і інші потокові сайти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.