1 votos

cambiar proxy firefox desde terminal

¿Cómo puedo cambiar el proxy de Firefox desde la aplicación Terminal? No toda la configuración de proxy del ordenador (la de la pestaña Red), sino sólo la de Firefox.

0 votos

0 votos

Ya lo hice. Spotlight no encontró prefs.js, por lo que concluí que OSX modifica algún otro archivo.

1 votos

Está en $HOME/Library/Application Support/Firefox/Profiles/*.default/prefs.js y si cambio la configuración del proxy desde Firefox > Preferencias... > Avanzadas > Avanzado > Red > Conexión > Configuración..., el prefs.js se actualiza con los cambios. Utilice la forma de línea de comandos de Spotlight, en un uso Terminal: mdfind -name prefs.js

1voto

Shen En Chen Puntos 11

Aquí hay un shell script que hice para Mac OS X para usar SOCKS, que funciona bien para mí. Puedes modificarlo según tus necesidades. En tu caso, tendrás que modificar los valores de network.proxy.http y network.proxy.http_port en prefs.js

#!/bin/bash
FIREFOX="/Applications/Firefox.app/Contents/MacOS/firefox"
PREDIR="$(ls $HOME/Library/Application\ Support/Firefox/Profiles/ | grep release)"
PREFILE="prefs.js"
FULLPATH="$HOME/Library/Application Support/Firefox/Profiles/$PREDIR/$PREFILE"

#IPADDR="localhost"
#PORT="7777"
#PROXYTYPE="1"

IPADDR="$1"
PORT="$2"
PROXYTYPE="$3"

TMPSOCKS="/tmp/network.proxy.socks.tmp"
TMPSOCKSPORT="/tmp/network.proxy.socks_port.tmp"

# Insert an ip into firefox for the proxy if there isn't one
if ! grep 'network.proxy.socks\"' "$FULLPATH" 
  then 
    echo "no network.proxy.socks defined"
    echo "no need to save value"
    echo 'user_pref("network.proxy.socks", "'"$IPADDR"'");' >> "$FULLPATH"
    echo 'user_pref("network.proxy.socks", "'"$IPADDR"'");' placed in $FULLPATH
  else 
    echo "network.proxy.socks exists, preserving value ..."
    grep 'network.proxy.socks\"' "$FULLPATH" > "$TMPSOCKS"
    sed -i '' 's/^.*network.proxy.socks".*$/user_pref("network.proxy.socks", "'"$IPADDR"'");/' "$FULLPATH"
  echo replaced network.proxy.socks to $IPADDR
fi

# Set the port
if ! grep network.proxy.socks_port "$FULLPATH" 
  then 
    echo "no network.proxy.socks_port value defined"
    echo "no need to save value"
    echo 'user_pref("network.proxy.socks_port", '''$PORT''');' >> "$FULLPATH" 
    echo 'user_pref("network.proxy.socks_port", '''$PORT''');' placed in "$FULLPATH"
  else 
    echo "network.proxy.socks_port found, preserving value ..."
    grep network.proxy.socks_port "$FULLPATH" > $TMPSOCKSPORT
    sed -i '' 's/^.*network.proxy.socks_port.*$/user_pref("network.proxy.socks_port", '''$PORT''');/' "$FULLPATH" 
    echo inserted port $PORT to network.proxy.socks_port
fi

# Turn on the proxy
if ! grep network.proxy.type  "$FULLPATH"
  then echo 'user_pref("network.proxy.type", '''$PROXYTYPE''');' >> "$FULLPATH" 
  else sed -i '' 's/^.*network.proxy.type.*$/user_pref("network.proxy.type", '''$PROXYTYPE''');/' "$FULLPATH" 
fi

# Open Firefox ...
/Applications/Firefox.app/Contents/MacOS/firefox

# After Firefox is closed, need to replace the original value
if [ -f "$TMPSOCKS" ];
    then 
    ORGSOCKS=`cat $TMPSOCKS`
    sed -i '' 's/^.*network.proxy.socks".*$/'''$ORGSOCKS'''/' "$FULLPATH"
fi
if [ -f "$TMPSOCKSPORT" ];
    then 
    ORGSOCKSPORT=`cat $TMPSOCKSPORT`
    sed -i '' 's/^.*network.proxy.socks_port.*$/'''$ORGSOCKSPORT'''/' "$FULLPATH"
fi

# Turn off the proxy
if ! grep network.proxy.type  "$FULLPATH"
  then echo 'user_pref("network.proxy.type", 0);' >> "$FULLPATH"
  else sed -i '' 's/^.*network.proxy.type.*$/user_pref("network.proxy.type", 0);/' "$FULLPATH"
fi

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X