A veces necesito enviar mi tráfico a un proxy, a veces no.
Actualmente, tengo que ir a la configuración cada vez que hago clic en él.
¿Hay alguna manera simple de cambiar esto? Por ejemplo, use un comando de shell para hacer esto.
A veces necesito enviar mi tráfico a un proxy, a veces no.
Actualmente, tengo que ir a la configuración cada vez que hago clic en él.
¿Hay alguna manera simple de cambiar esto? Por ejemplo, use un comando de shell para hacer esto.
Respuestas:
Esto se puede hacer con networksetup
.
Obtén todos los servicios:
networksetup -listallnetworkservices
Luego, con el servicio adecuado (por ejemplo, Ethernet o el nombre de su adaptador LAN USB 10/100/1000) ingrese
sudo networksetup -setsocksfirewallproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
o
sudo networksetup -setwebproxy <networkservice> <domain> <port number> <authenticated> <username> <password>
configurarlo (lo cual no es necesario en su caso, porque ya ingresó todos los valores necesarios).
p.ej
sudo networksetup -setsocksfirewallproxy Ethernet 127.0.0.1 18080
sudo networksetup -setwebproxy Ethernet 127.0.0.1 18080
Para activarlo o desactivarlo simplemente:
sudo networksetup -setsocksfirewallproxystate networkservice on | off
sudo networksetup -setwebproxystate networkservice on | off
p.ej
sudo networksetup -setsocksfirewallproxystate Ethernet off
sudo networksetup -setwebproxystate Ethernet off
man networksetup
revelará otras opciones de proxy (gopher, ftp, etc.)
Eche un vistazo a esta página en YourMacGuy sobre el comando Terminal networksetup
. Aunque la página data de 2008, el comando existe y funciona en macOS Sierra. Quizás uno de los comandos relacionados con el proxy funcione para usted. Siempre puede crear múltiples ubicaciones en Preferencias del sistema> Red que pueden habilitar o deshabilitar el proxy. Sin embargo, aún deberá abrir las Preferencias del sistema.
Lo hago definiendo atajos en Hammerspoon . Ahora puedo alternar el proxy del sistema con solo un atajo CommandOptionControlP.
Código fuente disponible en GitHub .
Aquí están los pasos de configuración:
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
funciona muy bien.