servidor - proxys para firefox
la configuración del proxy de Firefox a través de la línea de comando (17)
¿Cómo cambio la configuración del proxy de Firefox a través de la línea de comando en Windows XP / 2k?
Gracias
cd / D "% APPDATA% / Mozilla / Firefox / Profiles" cd * .default set ffile =% cd% echo user_pref ("network.proxy.http", "% 1"); >> "% ffile% / prefs. js "echo user_pref (" network.proxy.http_port ", 3128); >>"% ffile% / prefs.js "echo user_pref (" network.proxy.type ", 1); >>"% ffile% / prefs. js "set ffile = cd% windir%
Esto es bonito ! Gracias por escribir esto. Necesitaba esta pieza exacta de código para Windows. Mi objetivo era hacer esto aprendiendo a hacerlo primero con Linux y luego aprendí el shell de Windows que no me gustó tener que hacer, ¡así que me ahorraste algo de tiempo!
Mi versión de Linux está en la parte inferior de esta publicación. He estado experimentando con qué archivo insertar las preferencias en. Parece exigente Primero probé en ~ / .mozilla / firefox / *. Default / prefs.js pero no se cargó muy bien. La pantalla about: config nunca mostró mis cambios. Actualmente he estado tratando de editar el archivo predeterminado de Firefox. Si alguien tiene el conocimiento de la parte superior de su cabeza, ¿podrían reescribir el código de Windows para agregar solo las líneas si aún no están allí? No tengo idea de cómo hacer sed / awk cosas en Windows sin instalar Cygwin primero.
El único cambio que pude hacer en los guiones de Windows está arriba en la parte citada. Cambio la dirección IP a% 1 para que cuando llame al script desde la línea de comando pueda darle una opción en lugar de tener que cambiar el archivo.
#!/bin/bash
version="`firefox -v | awk ''{print substr($3,1,3)}''`"
echo $version " is the version."
# Insert an ip into firefox for the proxy if there isn''t one
if
! grep network.proxy.http /etc/firefox-$version/pref/firefox.js
then echo ''pref("network.proxy.http", "''"$1"''")";'' >> /etc/firefox-$version/pref/firefox.js
fi
# Even if there is change it to what we want
sed -i s/^.*network.proxy.http/".*$/''pref("network.proxy.http", "''"$1"'')";''/ /etc/firefox-$version/pref/firefox.js
# Set the port
if ! grep network.proxy.http_port /etc/firefox-$version/pref/firefox.js
then echo ''pref("network.proxy.http_port", 9980);'' >> /etc/firefox-$version/pref/firefox.js
else sed -i s/^.*network.proxy.http_port.*$/''pref("network.proxy.http_port", 9980);''/ /etc/firefox-$version/pref/firefox.js
fi
# Turn on the proxy
if ! grep network.proxy.type /etc/firefox-$version/pref/firefox.js
then echo ''pref("network.proxy.type", 1);'' >> /etc/firefox-$version/pref/firefox.js
else sed -i s/^.*network.proxy.type.*$/''pref("network.proxy.type", 1)";''/ /etc/firefox-$version/pref/firefox.js
fi
Encontré una mejor manera de hacer esto con PowerShell en Windows (pero en realidad solo porque estaba buscando una forma de script para cambiar la cadena del agente de usuario, no ensuciarla con proxies).
function set-uas
{
Param
(
[string]$UAS = "Default"
)
$FirefoxPrefs = "C:/Users/Admin/AppData/Roaming/Mozilla/Firefox/Profiles/*.default/prefs.js"
if ($UAS -eq "Default")
{
$fileinfo = type $FirefoxPrefs
$fileinfo = $fileinfo | findstr /v "general.appname.override"
$fileinfo = $fileinfo | findstr /v "general.appversion.override"
$fileinfo = $fileinfo | findstr /v "general.platform.override"
$fileinfo = $fileinfo | findstr /v "general.useragent.appName"
$fileinfo = $fileinfo | findstr /v "general.useragent.override"
$fileinfo = $fileinfo | findstr /v "general.useragent.vendor"
$fileinfo = $fileinfo | findstr /v "general.useragent.vendorSub"
$fileinfo += "user_pref(`"useragentswitcher.import.overwrite`", false);`n"
$fileinfo += "user_pref(`"useragentswitcher.menu.hide`", false);`n"
$fileinfo += "user_pref(`"useragentswitcher.reset.onclose`", false);`n"
$fileinfo | Out-File -FilePath $FirefoxPrefs -Encoding ASCII
}
else
{
set-uas Default
}
if ($UAS -eq "iphone")
{
$fileinfo = ""
$fileinfo += "user_pref(`"general.appname.override`", `"Netscape`");`n"
$fileinfo += "user_pref(`"general.appversion.override`", `"5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16`");`n"
$fileinfo += "user_pref(`"general.platform.override`", `"iPhone`");`n"
$fileinfo += "user_pref(`"general.useragent.appName`", `"Mozilla`");`n"
$fileinfo += "user_pref(`"general.useragent.override`", `"Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16`");`n"
$fileinfo += "user_pref(`"general.useragent.vendor`", `"Apple Computer, Inc.`");`n"
$fileinfo += "user_pref(`"general.useragent.vendorSub`", `"`");`n"
$fileinfo += "user_pref(`"useragentswitcher.reset.onclose`", false);`n"
$fileinfo | Out-File -FilePath $FirefoxPrefs -Encoding ASCII -Append
}
elseif ($UAS -eq "lumia")
{
$fileinfo = ""
$fileinfo += "user_pref(`"general.appname.override`", `"Netscape`");`n"
$fileinfo += "user_pref(`"general.appversion.override`", `"9.80 (Windows Phone; Opera Mini/9.0.0/37.6652; U; en) Presto/2.12.423 Version/12.16`");`n"
$fileinfo += "user_pref(`"general.platform.override`", `"Nokia`");`n"
$fileinfo += "user_pref(`"general.useragent.appName`", `"Mozilla`");`n"
$fileinfo += "user_pref(`"general.useragent.override`", `"Opera/9.80 (Windows Phone; Opera Mini/9.0.0/37.6652; U; en) Presto/2.12.423 Version/12.16`");`n"
$fileinfo += "user_pref(`"general.useragent.vendor`", `"Microsoft`");`n"
$fileinfo += "user_pref(`"general.useragent.vendorSub`", `"`");`n"
$fileinfo += "user_pref(`"useragentswitcher.reset.onclose`", false);`n"
$fileinfo | Out-File -FilePath $FirefoxPrefs -Encoding ASCII -Append
}
}
Tengo el complemento de Firefox "useragentswitcher" también instalado, y no he probado esto sin él.
También he configurado "user_pref (" useragentswitcher.reset.onclose ", false);"
[EDIT] He revisado mi código, de vez en cuando obtenía algún caracter malo o algo así. Por alguna razón, esto es detectado por Firefox como un perfil corrupto, y el perfil completo fue descartado y actualizado con un perfil predeterminado.
Además, crédito en el que se debe crédito: este código se basa libremente en lo que xBoarder publicó en su respuesta a sam3344920 ( https://.com/a/2509088/5403057 ). Además, pude arreglar el error de codificación con la ayuda de una publicación de Phoenix14830 ( https://.com/a/32080395/5403057 )
[Editar2] Se agregó soporte para configurar el UAS en lumia. Esto es en realidad usando un UAS móvil de Opera, porque todavía quería que Bing funcionara, y si usas el Lumia UAS regular www.bing.com redirige a bing: //?% ^ & * Que Firefox no sabe cómo procesar
Firefox? No creo que puedas. IE es otra historia ...
La forma más fácil de hacerlo es configurar su Firefox para usar un PAC con una URL de archivo y luego cambiar la URL del archivo desde el comando de línea antes de iniciar Firefox.
Esta es la manera más fácil. No tiene que escribir un script que recuerde qué ruta de acceso prefs.js tiene (que puede cambiar con el tiempo).
Configura su perfil una vez y luego edita el archivo externo siempre que lo desee.
Muchas gracias, encuentro las respuestas en este sitio web.
Aquí me refiero a la producción de un archivo cmd
por minimo
cd /D "%APPDATA%/Mozilla/Firefox/Profiles"
cd *.default
set ffile=%cd%
echo user_pref("network.proxy.http", "192.168.1.235 ");>>"%ffile%/prefs.js"
echo user_pref("network.proxy.http_port", 80);>>"%ffile%/prefs.js"
echo user_pref("network.proxy.type", 1);>>"%ffile%/prefs.js"
set ffile=
cd %windir%
Necesitaba establecer una opción adicional para permitir el paso de SSO a nuestro sitio de intranet. Agregué un código a un ejemplo anterior.
pushd "%APPDATA%/Mozilla/Firefox/Profiles/*.default"
echo user_pref("network.proxy.type", 4);>>prefs.js
echo user_pref("network.automatic-ntlm-auth.trusted-uris","site.domain.com, sites.domain.com");>>prefs.js
popd
No creo que haya una forma directa de configurar el proxy (en Windows).
Sin embargo, podría instalar un complemento como FoxyProxy, crear varias configuraciones para diferentes servidores proxy y, antes de iniciar Firefox, mover la configuración adecuada a la carpeta correcta en su perfil de Firefox (utilizando un archivo por lotes).
No creo que puedas. Sin embargo, lo que puede hacer es crear diferentes perfiles para cada configuración de proxy, y usar el siguiente comando para alternar entre perfiles al ejecutar Firefox:
firefox -no-remote -P <profilename>
Puede ejecutar Firefox fácilmente desde la línea de comando con un servidor proxy utilizando la opción -proxy-server.
Esto funciona en Mac, Windows y Linux.
path_to_firefox / firefox.exe -proxy-server% proxy_URL%
Ejemplo de Mac:
/Aplicaciones/Firefox.app/Contents/MacOS/firefox -proxy-server proxy.example.com
Solo quería publicar el código en un formato más limpio ... publicado originalmente por sam3344920
cd /D "%APPDATA%/Mozilla/Firefox/Profiles"
cd *.default
set ffile=%cd%
echo user_pref("network.proxy.http", "148.233.229.235 ");>>"%ffile%/prefs.js"
echo user_pref("network.proxy.http_port", 3128);>>"%ffile%/prefs.js"
echo user_pref("network.proxy.type", 1);>>"%ffile%/prefs.js"
set ffile=
cd %windir%
Si alguien quiere eliminar la configuración del proxy, aquí hay un código que lo hará por usted.
cd /D "%APPDATA%/Mozilla/Firefox/Profiles"
cd *.default
set ffile=%cd%
type "%ffile%/prefs.js" | findstr /v "user_pref("network.proxy.type", 1);" >"%ffile%/prefs_.js"
rename "%ffile%/prefs.js" "prefs__.js"
rename "%ffile%/prefs_.js" "prefs.js"
del "%ffile%/prefs__.js"
set ffile=
cd %windir%
Explicación: El código va y encuentra el archivo perfs.js. Luego busca en su interior la línea "user_pref (" network.proxy.type ", 1);" . Si lo encuentra, borra el archivo con el parámetro / v. La razón por la que agregué el cambio de nombre y eliminar líneas es porque no pude encontrar una manera de sobrescribir el archivo una vez que había eliminado la línea de proxy. Estoy seguro de que hay una manera más eficiente / más segura de hacer esto ...
También hay varios complementos de Firefox que ayudan con la configuración de Proxy. FoxyProxy es uno de los más populares. Hubo otro, que solo cambió la configuración del proxy con la línea de comando, pero parece que no puedo encontrarlo ahora.
También podría usar este script de Powershell que escribí para hacer esto y todas las demás configuraciones de Firefox.
https://bitbucket.org/remyservices/powershell-firefoxpref/wiki/Home
Con esto, puedes administrar fácilmente Firefox usando el inicio del equipo y las secuencias de comandos de inicio de sesión del usuario. Consulte la página wiki para obtener instrucciones sobre cómo usarlo.
Todas las otras respuestas aquí explican cómo programar su configuración de proxy en Firefox, que es lo que WPAD se inventó para hacer. Si tiene configurado WPAD, simplemente pida a Firefox que lo use para detectar automáticamente su configuración, como lo haría en la GUI.
Para hacer esto desde un archivo cmd o línea de comando:
pushd "%APPDATA%/Mozilla/Firefox/Profiles/*.default"
echo user_pref("network.proxy.type", 4);>>prefs.js
popd
Esto, por supuesto, requiere que tenga WPAD configurado y funcionando correctamente. También creo que prefs.js
no existirá hasta que hayas ejecutado Firefox una vez.
para el último Firefox debes cambiar
cd *.default
a
cd *.default*
La configuración del proxy se almacena en el archivo prefs.js
del usuario en su perfil de Firefox.
La ruta al directorio de perfil de Firefox y al archivo es:
%APPDATA%/Mozilla/Firefox/Profiles/7b9ja6xv.default/prefs.js
donde " 7b9ja6xv
" es una cadena aleatoria. Sin embargo, el directorio del perfil predeterminado siempre termina en ".default". La mayoría de las veces solo habrá un perfil de todos modos.
La configuración que network.proxy.http
se llama " network.proxy.http
" y " network.proxy.http_port
".
Ahora depende de la tecnología que pueda / esté preparado para usar para cambiar el archivo.
PD: Si se trata de cambiar la configuración del proxy de un grupo de usuarios a través de la secuencia de comandos de inicio de sesión o similar, recomiendo examinar la posibilidad de usar el mecanismo automático de detección de proxy ( WPAD ). Nunca más tendrá que cambiar la configuración del proxy en una máquina de usuario.
@echo off
color 1F
cd /D "%APPDATA%/Mozilla/Firefox/Profiles"
cd *.default
set ffile=%cd%
cd %ffile%
echo user_pref("network.proxy.http", "192.168.1.235 ");>>"prefs.js"
echo user_pref("network.proxy.http_port", 80);>>"prefs.js"
echo user_pref("network.proxy.type", 1);>>"prefs.js"
set ffile=
cd %windir%
it working perfect.
cd /D "%APPDATA%/Mozilla/Firefox/Profiles"
cd *.default
set ffile=%cd%
echo user_pref("network.proxy.ftp", "YOUR_PROXY_SERVER"); >>prefs.js
echo user_pref("network.proxy.ftp_port", YOUR_PROXY_PORT); >>prefs.js
echo user_pref("network.proxy.http", "YOUR_PROXY_SERVER"); >>prefs.js
echo user_pref("network.proxy.http_port", YOUR_PROXY_PORT); >>prefs.js
echo user_pref("network.proxy.share_proxy_settings", true); >>prefs.js
echo user_pref("network.proxy.socks", "YOUR_PROXY_SERVER"); >>prefs.js
echo user_pref("network.proxy.socks_port", YOUR_PROXY_PORT); >>prefs.js
echo user_pref("network.proxy.ssl", "YOUR_PROXY_SERVER"); >>prefs.js
echo user_pref("network.proxy.ssl_port", YOUR_PROXY_PORT); >>prefs.js
echo user_pref("network.proxy.type", 1); >>prefs.js
set ffile=
cd %windir%