我通过运行以下命令连接到远程 ssh 服务器:
ssh -D 12345 [email protected]
这将创建一个袜子代理,我可以将其与 Firefox 一起使用来绕过我所在国家/地区的审查制度。但是,我无法在命令行中利用它。
假设我的国家/地区阻止访问 YouTube。如何使用 ssh 连接来运行命令,例如:
youtube-dl "youtube.com/watch?v=3XjwiV-6_CA"
不被政府封杀?如何为所有终端命令设置袜子代理?
答案1
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"
答案2
Youtube-dl 不支持 SOCKS 代理。有一个功能要求为此,附有几个工作提案的链接。
Youtube-dl 开箱即用地支持 HTTP 代理。要受益于此支持,您需要在 上运行代理myserver.com
。例如,几乎任何轻量级代理都可以小代理。代理只需要监听本地连接(Listen 127.0.0.1
in tinyproxy.conf
)。如果 HTTP 代理正在侦听端口 8035 ( Port 8035
),请运行以下 ssh 命令:
ssh -L 8035:localhost:8035 [email protected]
并设置环境变量http_proxy
和https_proxy
:
export http_proxy=http://localhost:8035/ https_proxy=http://localhost:8035/
youtube-dl youtube.com/watch?V=3XjwiV-6_CA
答案3
youtube-dl 与 ubuntu 上的代理链配合良好。确保通过命令行进行隧道传输。
ssh -D 8081 ubuntu@yourSSHserver
接下来在您的本地主机上安装 proxychains,而不是您连接的 ssh 服务器。
sudo apt-get install proxychains
编辑你的 proxychains 配置文件
sudo nano /etc/proxychains.conf
编辑最后一行的端口号
socks4 127.0.0.1 8081
注意:我在端口 8081 上使用代理链
然后在使用 youtube-dl 时将 proxychains 添加到命令的开头
proxychains ./youtube-dl http://thesite.com/yourvideo.hmtl
答案4
自从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/
。