代码之家  ›  专栏  ›  技术社区  ›  JAR.JAR.beans

通过SSH代理的curl HTTPS

  •  0
  • JAR.JAR.beans  · 技术社区  · 6 年前

    我希望下面的curl命令从我的机器上运行,但要通过远程代理服务器。

    卷曲“ https://site.fake/ping "

    但是,我希望这始终通过远程代理服务器工作。

    我试着用ssh隧道来设置这个:

    sudo ssh -i ~/.ssh/private_key_file -L 443:site.com:443 username@remote.proxy.com
    

    但这并没有起到作用,在osx下运行。

    有什么建议吗?

    1 回复  |  直到 6 年前
        1
  •  4
  •   nbari    6 年前

    尝试使用 socks5 代理例如:

    $ ssh -D 8080 -f -C -q -N user@remote.host
    
    • -D 8080告诉ssh在本地端口8080上启动SOCKS服务器。
    • -f将进程分叉到后台。
    • -C在发送数据之前压缩数据。
    • -q使用安静模式。
    • -N告诉SSH一旦隧道启动,就不会发送任何命令。

    那你就可以用 curl 这样地:

    curl -x socks5h://0:8080 https://example.com