Làm cách nào để sử dụng vớ proxy cho các lệnh trong Terminal như youtube-dl?


38

Tôi kết nối với một máy chủ ssh từ xa bằng cách chạy lệnh này:

ssh -D 12345 bob@myserver.com

Điều này tạo ra một proxy vớ mà tôi có thể sử dụng với Firefox để vượt qua kiểm duyệt ở quốc gia của tôi. Tuy nhiên, tôi không thể tận dụng lợi thế của nó trong dòng lệnh.

Giả sử đất nước tôi chặn truy cập vào youtube. Làm cách nào để sử dụng kết nối ssh để chạy lệnh như:

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

Mà không bị chính quyền chặn? Làm thế nào tôi có thể đặt proxy vớ cho tất cả các lệnh đầu cuối?


1
Tôi tìm thấy một giải pháp tạm thời. Tôi đã sử dụng tsocks. Sau khi cài đặt, khi kết nối ssh được thiết lập, tôi khởi chạy ứng dụng tôi muốn với tsocks như sau: tsocks gnome-terminal
user1098135

1
tsocks youtube-dl ...- tsocks là một ứng dụng thông minh, thường có sẵn trong các kho lưu trữ, sử dụng LD_PRELOADđể buộc các ứng dụng định tuyến lưu lượng truy cập của chúng thông qua kết nối SOCKS được chỉ định (chỉ định trong đó ~/.tsocks.conf).
Zaz

Câu trả lời:


17

Youtube-dl không hỗ trợ proxy SOCKS. Có một yêu cầu tính năng cho nó, với các liên kết đến một vài đề xuất làm việc.

Youtube-dl hỗ trợ proxy HTTP ra khỏi hộp. Để hưởng lợi từ sự hỗ trợ này, bạn sẽ cần chạy proxy myserver.com. Khá nhiều proxy nhẹ sẽ làm, ví dụ tinyproxy . Proxy chỉ cần nghe các kết nối cục bộ ( Listen 127.0.0.1trong tinyproxy.conf). Nếu proxy HTTP đang nghe trên cổng 8035 ( Port 8035), hãy chạy lệnh ssh sau:

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

và đặt các biến môi trường http_proxyhttps_proxy:

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

Nếu họ sẽ sử dụng SSH thì tại sao họ lại cần tinyproxy hoặc ngược lại? Tôi sử dụng SSH đường hầm và nó hoạt động tốt.
Umair A.

@Neutralizer SSH chỉ chuyển tiếp từ máy cục bộ sang máy proxy. Một cái gì đó trên máy proxy cần giải mã yêu cầu HTTP và tìm ra địa chỉ IP của máy chủ. Nếu ứng dụng khách hỗ trợ SOCKS thì SSH có thể thực hiện công việc, nhưng youtube-dl không hỗ trợ SOCKS. Nếu bạn đang sử dụng proxy cho một máy chủ cụ thể, bạn có thể sử dụng SSH một mình và bảo nó chuyển tiếp trực tiếp đến máy chủ đó, nhưng điều đó chỉ hoạt động nếu tất cả các yêu cầu cần được chuyển tiếp đến cùng một địa chỉ IP và cổng.
Gilles 'SO- ngừng trở thành ác quỷ'

Để gỡ lỗi, thật tuyệt khi chạy lệnh ssh -vvà bỏ qua phiên tương tác người ta cũng có thể thêm -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"

đơn giản và làm việc cho tôi.
Kevin Tong

5
thêm -Nđể bỏ qua phiên ssh tương tác
fikovnik

5

youtube-dl hoạt động tốt với proxychains trên Ubuntu. Hãy chắc chắn rằng đường hầm ur thông qua dòng lệnh.

ssh -D 8081 ubuntu@yourSSHserver

cài đặt proxy tiếp theo trên localhost của bạn chứ không phải máy chủ ssh mà bạn đã kết nối.

sudo apt-get install proxychains

chỉnh sửa tập tin cấu hình proxy của bạn

sudo nano /etc/proxychains.conf

chỉnh sửa số cổng trên dòng cuối cùng

socks4  127.0.0.1 8081

Lưu ý: Tôi đang sử dụng proxy trên cổng 8081

sau đó chỉ cần thêm proxy vào đầu lệnh khi sử dụng youtube-dl

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

proxychains là một công cụ tuyệt vời
2 8

2

Bạn có thể sử dụng Đại biểu ,

Đó là máy chủ SOCKS và / hoặc máy khách có thể nghe dưới dạng proxy HTTP.

Tải về phiên bản mới nhất của đại biểu và giải nén nó.

Đầu tiên chạy lệnh ssh của bạn:

ssh -D 9150 me@myserver.com

Sau đó, chạy tệp ủy nhiệm nhị phân với các tùy chọn này để có proxy HTTP dưới dạng máy khách SOCKS:

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

Sau đó, chạy youtube-dlvới --proxytùy chọn để kết nối với proxy HTTP được nghe:

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

1

Kể từ youtube-dlphiên bản 2016.05.10 , bạn có thể sử dụng --proxyđể chỉ định proxy SOCKS, ví dụ:

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

--proxy URLSử dụng proxy HTTP / HTTPS / SOCKS được chỉ định. Để bật proxy SOCKS thử nghiệm, chỉ định sơ đồ phù hợp. Ví dụ socks5://127.0.0.1:1080/.


0

Nếu video Youtube là những gì bạn đang theo đuổi, bạn có thể muốn thử cclive, có vẻ như hỗ trợ proxy. Và nó có thể làm các trang web phát trực tuyến khác là tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.