如何在 Mac OS 中使用命令行更改代理设置?

如何在 Mac OS 中使用命令行更改代理设置?

我使用的是 Mac OS,有时需要使用代理来完成一些工作,因此我需要经常更改代理设置。但在“系统偏好设置”中更改代理设置非常麻烦。

有没有办法使用命令行更改代理设置?使用 shell 命令或某些工具?

答案1

编辑:我假设你实际上指的是 Mac OS X,而不是 Mac OS。

您可以使用命令行工具“networksetup”

有一个它的手册页-networksetup(8)

man networksetup

您将在其中找到许多代理设置选项:

              [-setftpproxy networkservice domain portnumber authenticated username password]
              [-setftpproxystate networkservice on | off] [-getwebproxy networkservice]
              [-setwebproxy networkservice domain portnumber authenticated username  password]
              [-setwebproxystate networkservice on | off] [-getsecurewebproxy networkservice]
              [-setsecurewebproxy networkservice domain portnumber authenticated username password]
              [-setsecurewebproxystate networkservice on | off] [-getstreamingproxy networkservice]
              [-setstreamingproxy networkservice domain portnumber authenticated username password]
              [-setstreamingproxystate networkservice on | off] [-getgopherproxy networkservice]
              [-setgopherproxy networkservice domain portnumber authenticated username password]
              [-setgopherproxystate networkservice on | off] [-getsocksfirewallproxy networkservice]
              [-setsocksfirewallproxy networkservice domain portnumber authenticated username password]
              [-setsocksfirewallproxystate networkservice on | off] [-getproxybypassdomains networkservice]
              [-setproxybypassdomains networkservice domain1 [domain2] [...]] [-getpassiveftp networkservice]

或者,如果您只需要为 wget 或 curl 之类的设置代理,那么您可以使用相当通用的“http_proxy”和“ftp_proxy”环境变量。

例如在bash中:

export http_proxy=http://my.proxy.com:1234

其中“1234”是端口号。

干杯

sc.

答案2

使用 networksetup 设置代理:(在networksetup -listallnetworkservices此之前请检查可用的适配器)

networksetup -setwebproxy "Wi-fi" 127.0.0.1 8080

如果需要,您可以使用以下语法设置身份验证:[-setwebproxy 网络服务 域 端口号 验证用户名 密码]

打开或关闭代理:

networksetup -setwebproxystate "Wi-fi" off

查看代理状态:

networksetup -getwebproxy "Wi-Fi"

答案3

扩展瑞士芝士ssh -D针对SOCKS5代理的具体情况(即用、shadowsocks、v2ray等生成的类型)的回答。

假设您使用例如配置了代理服务器

networksetup -setsocksfirewallproxy wi-fi localhost 1080

答案4

创建无代理网络环境:在“系统偏好设置”的“网络”面板中,单击“配置文件”下拉菜单并选择“管理配置文件…”。复制您的标准设置(通过单击列表底部的齿轮按钮)。为复制的配置文件指定一个唯一的名称(例如“Proxyless”)。在该配置文件的设置中禁用所有代理。

为新配置文件分配键盘快捷键:在“系统偏好设置”的“键盘”面板中,为“所有应用程序”创建一个新的应用程序快捷键。将其命名为您的配置文件的名称(即“Proxyless”),然后添加快捷方式。

一旦您切换应用程序至少一次,快捷方式就会被激活(当您仍处于系统偏好设置中时它不会处于活动状态)。

相关内容