Bazen trafiğimi bir vekil sunucuya göndermem gerekiyor, bazen istemiyorum.
Şu anda, tıklamak için her seferinde ayarlara gitmem gerekiyor.
Bunu değiştirmem için basit bir yol var mı? Örneğin, bunu yapmak için bir kabuk komutu kullanın.
Bazen trafiğimi bir vekil sunucuya göndermem gerekiyor, bazen istemiyorum.
Şu anda, tıklamak için her seferinde ayarlara gitmem gerekiyor.
Bunu değiştirmem için basit bir yol var mı? Örneğin, bunu yapmak için bir kabuk komutu kullanın.
Yanıtlar:
Bu ile yapılabilir networksetup
.
Tüm hizmetleri alın:
networksetup -listallnetworkservices
Ardından uygun servisle (örn. Ethernet veya USB 10/100/1000 LAN adaptörünüzün adı) girin
sudo networksetup -setsocksfirewallproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
veya
sudo networksetup -setwebproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
yapılandırmak için (bu durumda gerekli değildir, çünkü gerekli tüm değerleri zaten girmişsinizdir).
Örneğin
sudo networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 18080
sudo networksetup -setwebproxy Ethernet 127.0.0.1 18080
Sadece açmak veya kapatmak için şunu kullanın:
sudo networksetup -setsocksfirewallproxystate networkservice on | off
sudo networksetup -setwebproxystate networkservice on | off
Örneğin
sudo networksetup -setsocksfirewallproxystate Ethernet off
sudo networksetup -setwebproxystate Ethernet off
man networksetup
diğer proxy seçeneklerini (gopher, ftp vb.)
Terminal komutu hakkında YourMacGuy adresindeki bu sayfaya bakın networksetup
. Sayfa 2008'den kalma olsa da, komut var ve macOS Sierra'da çalışıyor. Belki proxy ile ilgili komutlardan biri sizin için çalışacaktır. Sistem Tercihleri> Ağ'da, proxy'yi etkinleştirebilecek veya devre dışı bırakabilecek her zaman birden çok Konum oluşturabilirsiniz. Yine de Sistem Tercihlerini açmanız gerekecektir.
Bunu Hammerspoon'daki kısayolları tanımlayarak yapıyorum . Şimdi sistem proxy'sini sadece kısayol ile değiştirebilirim CommandOptionControlP.
Kaynak kodu GitHub'da mevcut .
Kurulum adımları:
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
harika çalışıyor.