トラフィックをプロキシに送信する必要がある場合とない場合があります。
現在、クリックするたびに設定に移動する必要があります。
これを切り替える簡単な方法はありますか?たとえば、これを行うにはシェルコマンドを使用します。
トラフィックをプロキシに送信する必要がある場合とない場合があります。
現在、クリックするたびに設定に移動する必要があります。
これを切り替える簡単な方法はありますか?たとえば、これを行うにはシェルコマンドを使用します。
回答:
これはで行うことができますnetworksetup
。
すべてのサービスを取得:
networksetup -listallnetworkservices
次に、適切なサービス(イーサネットまたはUSB 10/100/1000 LANアダプターの名前など)を入力します。
sudo networksetup -setsocksfirewallproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
または
sudo networksetup -setwebproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
それを構成します(必要なすべての値をすでに入力しているため、この場合は必要ありません)。
例えば
sudo networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 18080
sudo networksetup -setwebproxy Ethernet 127.0.0.1 18080
単純にオンまたはオフに切り替えるには、次のようにします。
sudo networksetup -setsocksfirewallproxystate networkservice on | off
sudo networksetup -setwebproxystate networkservice on | off
例えば
sudo networksetup -setsocksfirewallproxystate Ethernet off
sudo networksetup -setwebproxystate Ethernet off
man networksetup
他のプロキシオプション(gopher、ftpなど)が表示されます
見てみましょうこのページのターミナルコマンドについてYourMacGuyではnetworksetup
。このページは2008年のものですが、コマンドは存在し、macOS Sierraで機能します。おそらく、プロキシ関連のコマンドの1つが役立ちます。[システム環境設定]> [ネットワーク]で、プロキシを有効または無効にできる複数の場所をいつでも作成できます。ただし、システム環境設定を開く必要があります。
Hammerspoonでショートカットを定義することでそれを行います。これで、ショートカットだけでシステムプロキシを切り替えることができますCommandOptionControlP。
GitHubで入手可能なソースコード。
セットアップ手順は次のとおりです。
networksetup -setwebproxy "Wi-fi" 127.0.0.1 8080
networksetup -setsecurewebproxy "Wi-fi" 127.0.0.1 8080
~/.profile
toggleProxy() {
e=$(networksetup -getwebproxy wi-fi | grep "No")
ns=wi-fi
status=''
if [ -n "$e" ]; then
status=on
else
status=off
fi
echo -n "Turning $status proxy"
networksetup -setstreamingproxystate $ns $status
networksetup -setsocksfirewallproxystate $ns $status
networksetup -setwebproxystate $ns $status
networksetup -setsecurewebproxystate $ns $status
}
~/.hammerspoon/init.lua
hs.hotkey.bind({"cmd", "alt", "ctrl"}, "P", function()
local output = hs.execute("toggleProxy", true)
hs.alert.show(output)
end)
sudo networksetup -setsocksfirewallproxy "USB 10/100/1000 LAN" 127.0.0.1 8888
/sudo networksetup -setsocksfirewallproxystate "USB 10/100/1000 LAN" off
/sudo networksetup -setsocksfirewallproxystate "USB 10/100/1000 LAN" on
素晴らしい作品。