【问题标题】:How to set up a proxy via bash shell?如何通过 bash shell 设置代理?
【发布时间】:2011-12-29 10:53:03
【问题描述】:

我在 Mac 上通过System Preferences -> Network -> Advanced -> Proxies 设置了代理。

是否可以通过 bash shell 以编程方式执行相同的操作?

【问题讨论】:

    标签: macos bash shell proxy


    【解决方案1】:

    你可以把它放在你的.profile.bash_profile 或者在命令行上手动运行:

    export http_proxy=http://proxy.server.com:@aproxy:portnumber
    export https_proxy=https://proxy.server.com:@aproxy:portnumber
    

    不使用代理进行本地连接也很常见

    export no_proxy=localhost,127.0.0.0/8,*.local
    

    【讨论】:

    • 有些代理自己不接受 https 请求,即使传出请求是 https 请求。所以你可能不得不export https_proxy=http://proxy.server.com:@aproxy:portnumber 代替! (请注意缺少的s!)
    【解决方案2】:

    是的,使用networksetup 命令。有用于设置不同类型代理的单独选项(例如-setwebproxy-setsocksfirewallproxy 等),您需要知道主网络“服务”的名称(例如以太网、机场……基本上,列出的名称在“网络”偏好设置面板的边栏中)。这是一个例子:

    sudo networksetup -setwebproxy "Ethernet" myproxy.example.com 8000
    

    如果你需要找出服务名称,使用networksetup -listnetworkserviceordernetworksetup -listallnetworkservices,然后解析列表得到你想要的服务名称。

    【讨论】:

    • 谢谢!这正是我想要的。
    【解决方案3】:

    我使用这个脚本通过我的 ssh 服务器(不是网络代理)进行代理。

    #!/bin/bash
    disable_proxy(){
        sudo networksetup -setsocksfirewallproxystate Wi-Fi off
        sudo networksetup -setsocksfirewallproxystate Ethernet off
        echo "SOCKS proxy disabled."
    }
    trap disable_proxy INT
    
    sudo networksetup -setsocksfirewallproxy Wi-Fi 127.0.0.1 9999
    sudo networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 9999
    sudo networksetup -setsocksfirewallproxystate Wi-Fi on
    sudo networksetup -setsocksfirewallproxystate Ethernet on
    echo "SOCKS proxy enabled."
    echo "Tunneling..."
    ssh -ND 9999 000.000.000.000 -p 00000
    

    000.000.000.000 更改为您自己服务器的IP,将00000 更改为您自己的端口,您应该可以在您自己的ssh 服务器上重用它。您可以将此脚本保存在名为 say proxy 的主目录中。

    ./proxy 开始(输入您的密码),使用CTRL+C 停止隧道。

    如果您忘记停止隧道并且第二天您想知道为什么您的互联网连接中断,请重新启动并停止 CTRL+C

    如果管道损坏,请重新启动./proxy

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      • 1970-01-01
      • 2016-09-16
      • 2011-07-10
      • 2022-07-24
      • 2020-06-18
      • 2016-08-10
      相关资源
      最近更新 更多