Bagaimana cara menggunakan kaus kaki proksi untuk perintah di Terminal seperti youtube-dl?

38

Saya terhubung ke server ssh jarak jauh dengan menjalankan perintah ini:

ssh -D 12345 [email protected]

Ini menciptakan proxy kaus kaki yang bisa saya gunakan dengan Firefox untuk memotong sensor di negara saya. Namun, saya tidak dapat memanfaatkannya di baris perintah.

Katakanlah negara saya memblokir akses ke youtube. Bagaimana saya bisa menggunakan koneksi ssh untuk menjalankan perintah seperti:

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

Tanpa dihalangi oleh pemerintah? Bagaimana saya bisa mengatur proxy kaus kaki untuk semua perintah terminal?

pengguna1098135
sumber
1
Saya menemukan solusi sementara. Saya telah menggunakan tsocks. Setelah terinstal, ketika koneksi ssh dibuat, saya meluncurkan aplikasi yang saya inginkan dengan tsocks sebagai berikut: tsocks gnome-terminal
user1098135
1
tsocks youtube-dl ...- tsocks adalah aplikasi pintar, biasanya tersedia di repositori, yang digunakan LD_PRELOADuntuk memaksa aplikasi untuk merutekan traffic mereka melalui koneksi SOCKS yang ditentukan (sebutkan di mana ~/.tsocks.conf).
Zaz

Jawaban:

17

Youtube-dl tidak mendukung proxy SOCKS. Ada permintaan fitur untuk itu, dengan tautan ke beberapa proposal yang berfungsi.

Youtube-dl mendukung proxy HTTP di luar kotak. Untuk mendapat manfaat dari dukungan ini, Anda harus menjalankan proxy myserver.com. Hampir semua proksi ringan akan melakukan, misalnya tinyproxy . Proxy hanya perlu mendengarkan koneksi lokal ( Listen 127.0.0.1dalam tinyproxy.conf). Jika proxy HTTP mendengarkan pada port 8035 ( Port 8035), jalankan perintah ssh berikut:

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

dan mengatur variabel lingkungan http_proxydan https_proxy:

export http_proxy=http://localhost:8035/ https_proxy=http://localhost:8035/
youtube-dl youtube.com/watch?V=3XjwiV-6_CA
Gilles 'SANGAT berhenti menjadi jahat'
sumber
jika mereka akan menggunakan SSH lalu mengapa mereka membutuhkan tinyproxy atau sebaliknya? Saya menggunakan terowongan SSH dan berfungsi dengan baik.
Umair A.
@Neutralizer SSH hanya relay dari mesin lokal ke mesin proxy. Sesuatu pada mesin proxy perlu men-decode permintaan HTTP dan mencari tahu alamat IP mesin server. Jika klien mendukung SOCKS maka SSH dapat melakukan pekerjaan itu, tetapi youtube-dl tidak mendukung SOCKS. Jika Anda menggunakan proksi untuk server tertentu, Anda mungkin dapat menggunakan SSH sendiri dan memintanya untuk meneruskan langsung ke server itu, tetapi itu hanya berfungsi jika semua permintaan perlu diteruskan ke alamat IP dan port yang sama.
Gilles 'SO- stop being evil'
Untuk debugging, itu baik untuk menjalankan perintah ssh dengan -vdan untuk melewatkan sesi interaktif yang juga dapat ditambahkan -N.
fikovnik
49
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
sumber
sederhana dan bekerja untuk saya.
Kevin Tong
5
tambahkan -Nuntuk melewati sesi ssh interaktif
fikovnik
5

youtube-dl berfungsi dengan baik dengan proxychains di ubuntu. Pastikan tunneling Anda melalui baris perintah.

ssh -D 8081 ubuntu@yourSSHserver

selanjutnya instal proxychains di localhost Anda bukan server ssh Anda yang terhubung dengan.

sudo apt-get install proxychains

edit file konfigurasi proxychains Anda

sudo nano /etc/proxychains.conf

edit nomor port pada baris terakhir

socks4  127.0.0.1 8081

Catatan: Saya menggunakan proxy rantai pada port 8081

kemudian tambahkan saja proxychains ke awal perintah ketika menggunakan youtube-dl

proxychains ./youtube-dl http://thesite.com/yourvideo.hmtl 
Saeed AlFalasi
sumber
proxychains adalah alat keren
2 8
2

Anda dapat menggunakan Delegasi ,

Ini adalah server SOCKS dan / atau klien yang dapat mendengarkan sebagai proxy HTTP.

Unduh versi terbaru delegasi dan ekstrak.

Pertama jalankan perintah ssh Anda:

ssh -D 9150 [email protected]

Kemudian, jalankan file delegasi biner dengan opsi-opsi ini untuk memiliki proxy HTTP sebagai klien SOCKS:

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

Kemudian, jalankan youtube-dldengan --proxyopsi untuk terhubung ke proxy HTTP yang didengarkan:

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

Sejak youtube-dlversi 2016.05.10 , Anda dapat menggunakan --proxyuntuk menentukan proksi SOCKS, mis

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

--proxy URLGunakan proksi HTTP / HTTPS / SOCKS yang ditentukan. Untuk mengaktifkan proxy SOCKS eksperimental, tentukan skema yang tepat. Sebagai contoh socks5://127.0.0.1:1080/.

kenorb
sumber
0

Jika video Youtube adalah yang Anda cari, Anda mungkin ingin mencoba cclive, yang tampaknya mendukung proxy. Dan itu bisa dilakukan situs streaming lain juga.

peterph
sumber