2010-10-27 19 views

Respuesta

34

Para un proxy no autenticado (y asumiendo que es el servicio de Ethernet que desea configurar):

networksetup -setwebproxy Ethernet proxy.example.net 80 off 

para autenticado:

networksetup -setwebproxy Ethernet proxy.example.net 80 on proxyuser "p4ssw0rd" 

y convertir apagado:

networksetup -setwebproxystate Ethernet off 

Si el servicio de red no se llama simplemente "Ethernet", puede que tenga que analizar networksetup -listallnetworkservices o -listnetworkserviceorder para obtener el nombre correcto.

+0

¿No debería el primer extremo de comandos con 'on' a diferencia de' off'? – unpossible

+1

@mejpark Las palabras clave "desactivado" y "activado" se refieren a la autenticación, no a si la configuración del proxy está activada o desactivada. –

5

Para activar/desactivar mis proxies en OSX Mavericks, configuré esta secuencia de comandos. Tenga en cuenta que este ejemplo solo afecta a mi adaptador wi-fi. Estoy activando/desactivando la web, la transmisión y los proxies SOCKS, todo a la vez. También puede configurar la dirección proxy, por Gordon's example, pero ya la guardé a través de Preferencias del sistema> Red> GUI de Proxy.

BASH Script, guardado como prox.sh:

#!/bin/bash 

e=$(networksetup -getwebproxy wi-fi | grep "No") 

if [ -n "$e" ]; then 
    echo "Turning on proxy" 
    sudo networksetup -setstreamingproxystate wi-fi on 
    sudo networksetup -setsocksfirewallproxystate wi-fi on 
    sudo networksetup -setwebproxystate wi-fi on 
else 
    echo "Turning off proxy" 
    sudo networksetup -setstreamingproxystate wi-fi off 
    sudo networksetup -setsocksfirewallproxystate wi-fi off 
    sudo networksetup -setwebproxystate wi-fi off 
fi 

A continuación, crear enlaces a la secuencia de comandos en la línea de comandos:

ln -s /Script/Location/prox.sh prox-toggle 

Ahora usted puede alternar los proxies de encendido/apagado en el comando línea:

bash prox-toggle 
+0

@ potato-eat-apple escribió: Eric Gracias por su guión, una pregunta: siempre me aparece escribir la contraseña de mi máquina. ¿Cómo evitar esto? –

0

Sólo el Alternar :)

networksetup -setwebproxystate <networkservice> <on off> 
networksetup -setsecurewebproxystate <networkservice> <on off> 

Ejemplo:

networksetup -setwebproxystate Wi-Fi on 
networksetup -setsecurewebproxystate Wi-Fi on 

para manejar la alerta Modificación: prefijo sudo como

sudo networksetup -setwebproxystate Wi-Fi on 
sudo networksetup -setsecurewebproxystate Wi-Fi on 
2

preparé un script de proxy con nombre que podría ayudar,

#!/bin/bash 
# 
# 
# Author: Md. Sazzad Hissain Khan 
# Date: 8 July, 2017 
# 
# 

NETWORK_SERVICE_NAME="Ethernet" 

if [ "$#" -ne 1 ]; then 
    echo "Argument missing [on/off]" 
    exit 0 
fi 

if [ $1 == "on" ]; then 
    echo "Enabling secure proxy for $NETWORK_SERVICE_NAME" 
    networksetup -setsecurewebproxystate "$NETWORK_SERVICE_NAME" on 
elif [ $1 == "off" ]; then 
    echo "Disabling secure proxy for $NETWORK_SERVICE_NAME" 
    networksetup -setsecurewebproxystate "$NETWORK_SERVICE_NAME" off 
else 
    echo "Argument invalid [permitted:on/off]" 
fi 

NETWORK_SERVICE_NAME es el nombre de su red activa que debe configurar.

  1. proxy Crear archivo en /usr/local/bin.
  2. copia arriba script en proxy.
  3. Establecer permiso de ejecución para el archivo usando sudo chmod 777 proxy.

Modo de empleo:

proxy on 
proxy off 
+1

Impresionante. He agregado networksetup -setwebproxystate "$ NETWORK_SERVICE_NAME" en el proxy HTTP :) –

Cuestiones relacionadas