V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tyhunter
V2EX  ›  问与答

如何配置才能让 Youtube-dl 走代理呢

  •  
  •   tyhunter · 2016-02-26 15:25:47 +08:00 · 33604 次点击
    这是一个创建于 3199 天前的主题,其中的信息可能已经有所发展或是发生改变。
    不想开全局 VPN ,那如何让 Youtube-dl 走 SS 代理呢,试过加了 proxy 选项,但是没效果(估计是因为只支持 HTTP 代理的原因?)
    23 条回复    2016-08-24 09:00:09 +08:00
    Valyrian
        1
    Valyrian  
       2016-02-26 15:29:28 +08:00   ❤️ 1
    我也遇到过这个问题。。。
    youtube-dl 不支持 socks 代理,可以通过软件再建一个 http 代理转发给 socks
    其实还是在 vps 上下好然后传回来方便点。。
    Valyrian
        2
    Valyrian  
       2016-02-26 15:33:37 +08:00   ❤️ 1
    yylzcom
        3
    yylzcom  
       2016-02-26 15:36:26 +08:00   ❤️ 1
    SS 不是自带 http 代理么, 1080 就是啊,我看到有 ss_privoxy.exe 这个进程...
    mortal
        4
    mortal  
       2016-02-26 15:36:54 +08:00   ❤️ 1
    proxychains 啊
    tyhunter
        5
    tyhunter  
    OP
       2016-02-26 15:37:58 +08:00
    @Valyrian 谢谢,我去试试
    @yylzcom 我是 Mac ,试过 http://127.0.0.1:1080 没用
    @mortal 试过了,没反应....
    yylzcom
        6
    yylzcom  
       2016-02-26 15:40:38 +08:00
    @tyhunter 哦,那个是 win 客户端 = =#
    dangge
        7
    dangge  
       2016-02-26 15:40:43 +08:00
    如果在 win 下
    SocksCap64
    如果在 OS X/Linux 下
    tsocks
    Strikeactor
        8
    Strikeactor  
       2016-02-26 15:41:46 +08:00
    proxifier ,设定规则只让 Youtube-dl 走代理
    mortal
        9
    mortal  
       2016-02-26 15:43:29 +08:00   ❤️ 1
    @tyhunter 为啥会没反应呢?我 brew install 的 youtube-dl 和 proxychains 正常工作啊…
    tyhunter
        10
    tyhunter  
    OP
       2016-02-26 15:48:46 +08:00
    @mortal 咦,那难道是我配置错了,能提供下您的配制方法吗?
    aisk
        11
    aisk  
       2016-02-26 15:52:20 +08:00
    youtube-dl 认 HTTP(S)_PROXY 这个环境变量,走代理直接设置就好了。

    如果想代理到 ss 的 socks5 上,可以用 polipo 把 socks5 转发成 HTTP 。

    其他绝大部分命令行工具也都支持的,不折腾。
    Valyrian
        12
    Valyrian  
       2016-02-26 16:00:43 +08:00
    我刚刚试了下 tinyproxy ,可行。具体方法就是运行 proxychains4 tinyproxy ,然后把 HTTP_PROXY 设成 tinyproxy 的端口。
    mortal
        13
    mortal  
       2016-02-26 18:25:15 +08:00
    @tyhunter

    并没有别的什么配置啊

    brew install proxychains-ng
    brew install youtube-dl
    sudo nano /usr/local/etc/proxychains.conf

    在最后的代理列表改成 SS 的 sock5 端口



    保存后

    proxychains4 youtube-dl URL

    mortal
        14
    mortal  
       2016-02-26 18:27:20 +08:00
    @tyhunter 截图是我在朋友的机器上刚测试的,所以应该没问题
    mortal
        15
    mortal  
       2016-02-26 18:29:43 +08:00
    @tyhunter 忘了加一条

    cp /usr/local/etc/proxychains.conf ~/.proxychais/proxychais.conf
    ooxxcc
        16
    ooxxcc  
       2016-02-26 18:31:16 +08:00
    @mortal
    @tyhunter

    proxychins 在 el capitan 下面需要处理 SIP 的问题

    cmd+r 的模式下面执行
    csrutil enable --without debug
    wbsdty331
        17
    wbsdty331  
       2016-02-26 18:31:33 +08:00
    proxy
    mortal
        18
    mortal  
       2016-02-26 18:31:35 +08:00
    @tyhunter … 妈蛋拼写又错了- - 大概意思明白就好
    tyhunter
        19
    tyhunter  
    OP
       2016-02-26 22:53:06 +08:00
    @mortal 还是不行
    Titan:~ hunter$ proxychains4 youtube-dl -F
    [proxychains] config file found: /Users/hunter/.proxychains/proxychains.conf
    [proxychains] preloading /usr/local/Cellar/proxychains-ng/4.11/lib/libproxychains4.dylib
    [proxychains] DLL init: proxychains-ng 4.11
    [proxychains] DLL init: proxychains-ng 4.11
    [proxychains] DLL init: proxychains-ng 4.11
    [youtube] qHV5jkBe_hs: Downloading webpage
    [proxychains] Dynamic chain ... 127.0.0.1:1080 ... 159.106.121.75:443 ... OK
    然后就卡住了
    tyhunter
        20
    tyhunter  
    OP
       2016-02-26 22:55:37 +08:00
    @mortal 我忘了把文件复制到~/.proxychais/了 现在 OK 了,感谢你
    speedbird
        21
    speedbird  
       2016-06-04 18:38:42 +08:00
    你直接 $ proxychains4 mpv https://www.youtube.com/...... 这样不就行了

    如果出现 youtube-dl 错误,可以尝试 you-get 格式是 proxychains4 you-get -p mpv url 。
    bao3
        22
    bao3  
       2016-07-13 00:44:37 +08:00
    首先, youtube-dl 是默认使用浏览器配置,因此如果你电脑在网络中设置中已经设置过代理,那么 youtube-dl 默认便通过浏览器组件使用这个代理,根本不需要设定。
    其次, youtube-dl 可使用参数:

    ```

    --proxy URL Use the specified HTTP/HTTPS/SOCKS proxy. To enable experimental SOCKS proxy, specify a proper scheme. For example socks5://127.0.0.1:1080/. Pass in an empty string (--proxy "") for direct connection
    ```
    huzhifeng
        23
    huzhifeng  
       2016-08-24 09:00:09 +08:00
    2016.05.10 之后的 youtube-dl 版本都可以支持 socks5 代理了,详见
    [SOCKS proxy support has been added in youtube-dl 2016.05.10]( https://github.com/rg3/youtube-dl/issues/402#issuecomment-218187016)
    使用示例如下:
    youtube-dl --proxy socks5://127.0.0.1:1080
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   937 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:46 · PVG 05:46 · LAX 13:46 · JFK 16:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.