如何在 Mac OS 中使用命令列更改代理設定?

如何在 Mac OS 中使用命令列更改代理設定?

我使用的是 Mac 作業系統,有時需要使用代理程式完成一些工作,因此我需要經常更改代理設定。但是在系統偏好設定中更改代理設定非常混亂。

有沒有辦法可以使用命令列更改代理設定?使用 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”),並添加快捷方式。

一旦您切換應用程式至少一次,該捷徑將被啟動(當您仍在系統偏好設定中時,該捷徑不會被啟動)。

相關內容