youtube-dlなどのターミナルのコマンドにソックスプロキシを使用する方法は?


38

次のコマンドを実行して、リモートsshサーバーに接続します。

ssh -D 12345 bob@myserver.com

これにより、私の国で検閲を回避するためにFirefoxで使用できるソックスプロキシが作成されます。ただし、コマンドラインでそれを利用することはできません。

私の国がyoutubeへのアクセスをブロックしているとしましょう。ssh接続を使用して次のようなコマンドを実行するにはどうすればよいですか?

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

政府に妨害されることなく?すべての端末コマンドにソックスプロキシを設定するにはどうすればよいですか?


1
一時的な解決策を見つけました。私はtsocksを使用しました。インストールが完了したら、ssh接続が確立されたら、次のようにtsocksで必要なアプリケーションを起動します。tsocks gnome-terminal
user1098135

1
tsocks youtube-dl ...-tsocksは、リポジトリで一般的に利用できる巧妙なアプリケーションであり、LD_PRELOADアプリケーションが指定されたSOCKS接続を介してトラフィックをルーティングするように強制するために使用します(で指定~/.tsocks.conf)。
ザズ

回答:


17

Youtube-dlはSOCKSプロキシをサポートしていません。いくつかの実用的な提案へのリンクを含む、それに対する機能要求があります。

Youtube-dlは、そのままHTTPプロキシをサポートします。このサポートを利用するには、でプロキシを実行する必要がありますmyserver.comtinyproxyなど、ほとんどすべての軽量プロキシが対応します。プロキシは、ローカル接続のみ(に耳を傾ける必要Listen 127.0.0.1tinyproxy.conf)。HTTPプロキシがポート8035(Port 8035)でリッスンしている場合、次のsshコマンドを実行します。

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

環境変数を設定するhttp_proxyhttps_proxy

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

彼らがSSHを使用する場合、なぜ彼らはtinyproxyが必要なのですか?SSHトンネルを使用しますが、正常に機能します。
Umair A.

@Neutralizer SSHは、ローカルマシンからプロキシマシンにのみリレーします。プロキシマシン上の何かは、HTTP要求をデコードし、サーバーマシンのIPアドレスを把握する必要があります。クライアントがSOCKSをサポートしている場合、SSHはジョブを実行できますが、youtube-dlはSOCKSをサポートしていません。特定のサーバーにプロキシを使用している場合、SSHのみを使用して、そのサーバーに直接転送するように指示することができますが、すべての要求を同じIPアドレスとポートに転送する必要がある場合にのみ機能します。
ジル「SO-悪であるのをやめる」

デバッグのために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

次に、接続先のsshサーバーではなく、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

あなたは使用することができます委任を

HTTPプロキシとしてリッスンできるSOCKSサーバーまたはクライアント、あるいはその両方です。

デリゲートの最新バージョンをダウンロードして抽出します。

まず、sshコマンドを実行します。

ssh -D 9150 me@myserver.com

次に、これらのオプションを使用してバイナリデリゲートファイルを実行し、SOCKSクライアントとしてHTTPプロキシを使用します。

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

次に、リッスンされたHTTPプロキシに接続するオプションを使用して実行youtube-dl--proxyます。

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

1

youtube-dlバージョン2016.05.10以降、--proxySOCKSプロキシの指定に使用できます。たとえば

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。これはプロキシをサポートしているようです。また、他のストリーミングサイトも実行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.