때로는 트래픽을 프록시로 보내야하지만 때로는 그렇지 않습니다.
현재는 클릭 할 때마다 설정으로 이동해야합니다.
이것을 전환하는 간단한 방법이 있습니까? 예를 들어, 쉘 명령을 사용하여이를 수행하십시오.
때로는 트래픽을 프록시로 보내야하지만 때로는 그렇지 않습니다.
현재는 클릭 할 때마다 설정으로 이동해야합니다.
이것을 전환하는 간단한 방법이 있습니까? 예를 들어, 쉘 명령을 사용하여이를 수행하십시오.
답변:
이 작업을 수행 할 수 있습니다 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에서 작동합니다. 아마도 프록시 관련 명령 중 하나가 당신을 위해 일할 것입니다. 시스템 환경 설정> 네트워크에서 프록시를 활성화 또는 비활성화 할 수있는 여러 위치를 항상 만들 수 있습니다. 그래도 시스템 환경 설정을 열어야합니다.
Hammerspoon 에서 단축키를 정의하여 수행합니다 . 이제 바로 가기만으로 시스템 프록시를 토글 할 수 있습니다 CommandOptionControlP.
설정 단계는 다음과 같습니다.
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
작동합니다.