wake-up-neo.com

firefox-Proxy-Einstellungen über die Befehlszeile

Wie ändere ich Firefox Proxy-Einstellungen über die Befehlszeile unter Windows XP/2K?

Vielen Dank

35
bluegene

Die Proxy-Einstellung wird in der prefs.js-Datei des Benutzers in ihrem Firefox-Profil gespeichert.

Der Pfad zum Firefox-Profilverzeichnis und zur Datei lautet:

7b9ja6xv" eine zufällige Zeichenfolge. Das Verzeichnis des Standardprofils endet jedoch immer in ".default". Meistens gibt es sowieso nur ein Profil.

Die Einstellungen, nach denen Sie suchen, werden "network.proxy.http" und "network.proxy.http_port" genannt.

Nun hängt es von der Technologie ab, mit der Sie die Datei ändern können. 

P.S .: Wenn es um das Ändern der Proxy-Einstellungen einer Gruppe von Benutzern über das Anmeldeskript oder ähnliches geht, empfehle ich die Verwendung der automatischen Proxy-Erkennung ( WPAD ). Sie müssen die Proxy-Konfiguration auf einem Benutzer-Computer nie wieder ändern.

17
Tomalak

Wollte nur den Code in einem saubereren Format veröffentlichen ... ursprünglich von sam3344920 geschrieben

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%

Wenn jemand die Proxy-Einstellungen entfernen möchte, gibt es hier einen Code, der dies für Sie erledigt.

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%

Erklärung: Der Code sucht nach der perfs.js-Datei. Dann sucht er nach der Zeile "user_pref (" network.proxy.type ", 1);". Wenn er es findet, löscht er die Datei mit dem Parameter/v. Der Grund, warum ich die Zeilen zum Umbenennen und Löschen hinzugefügt habe, liegt darin, dass ich nach dem Entfernen der Proxy-Zeile keinen Weg finden konnte, die Datei zu überschreiben. Ich bin sicher, es gibt eine effizientere/sicherere Art, dies zu tun ...

9
xBoarder

Ich glaube nicht, dass du das kannst. Sie können jedoch für jede Proxy-Einstellung unterschiedliche Profile erstellen und mit dem folgenden Befehl zwischen den Profilen wechseln, wenn Sie Firefox ausführen:

firefox -no-remote -P <profilename>
9
Ayman Hourieh

Am einfachsten ist dies, indem Sie Ihren Firefox so konfigurieren, dass er eine PAC mit einer Datei-URL verwendet, und dann die Datei-URL im Zeilenbefehl ändern, bevor Sie Firefox starten.

Dies ist der einfachste Weg. Sie müssen kein Skript schreiben, das sich an den Pfad zu prefs.js erinnert (der sich mit der Zeit ändern kann).

Sie konfigurieren Ihr Profil einmal und bearbeiten dann die externe Datei, wann immer Sie möchten.

4
benc
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%
3
user220579

cd /D "% APPDATA%\Mozilla\Firefox\Profile" 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%

Das ist nett ! Danke, dass du das geschrieben hast. Ich brauchte genau diesen Code für Windows. Mein Ziel war es, dies zu tun, indem ich lernte, es zuerst mit Linux zu tun und dann die Windows-Shell zu lernen, was mich nicht glücklich machte, also haben Sie mir etwas Zeit gespart!

Meine Linux-Version befindet sich am Ende dieses Beitrags. Ich habe mit der Datei experimentiert, in die die Prefs eingefügt werden sollen. Es scheint wählerisch zu sein. Zuerst versuchte ich es in ~/.mozilla/firefox/*. Default/prefs.js, aber es wurde nicht sehr gut geladen. Der Bildschirm about: config zeigte meine Änderungen nie an. Momentan habe ich versucht, die aktuelle Firefox-Standarddatei zu bearbeiten. Wenn jemand das Wissen aus dem Kopf hat, könnten Sie den Windows-Code so umschreiben, dass er nur die Zeilen hinzufügt, wenn er nicht bereits dort ist? Ich habe keine Idee, wie man Sed/Awk-Sachen in Windows erledigt, ohne zuerst Cygwin zu installieren. 

Die einzige Änderung, die ich an den Windows-Skripts vornehmen konnte, ist oben im zitierten Teil. Ich ändere die IP in% 1. Wenn Sie das Skript von der Befehlszeile aus aufrufen, können Sie ihm eine Option geben, anstatt die Datei ändern zu müssen. 

#!/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
3
johnny2k

Ich musste eine zusätzliche Option festlegen, um SSO-Passthrough zu unserer Intranetseite zuzulassen. Ich habe oben einem Beispiel Code hinzugefügt.

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
2
Matt Hill

Sie können Firefox einfach über die Befehlszeile mit einem Proxyserver mit der Option -proxy-server starten.

Dies funktioniert unter Mac, Windows und Linux.

path_to_firefox/firefox.exe -proxy-server% proxy_URL%

Mac-Beispiel:

/Anwendungen/Firefox.app/Contents/MacOS/firefox -proxy-server proxy.example.com

2
user2445796

Ich glaube nicht, dass es eine direkte Möglichkeit gibt, den Proxy (unter Windows) festzulegen. 

Sie können jedoch ein Add-On wie FoxyProxy installieren, mehrere Konfigurationen für verschiedene Proxys erstellen und vor dem Start von FireFox die entsprechende Konfiguration in den richtigen Ordner in Ihrem FireFox-Profil verschieben (mithilfe einer Batch-Datei).

1
Dirk Vollmar

Dies ist die endgültige kompilierte Lösung, die für mich funktioniert hat ... Bewährt ...

Schritte zum Ändern der Proxy-Einstellungen in Mozilla Firefox über cmd in Windows

  1. cd/D "% APPDATA%\Mozilla\Firefox\Profiles"
  2. cd * .default

So ersetzen Sie bereits vorhandene Proxy-Einstellungen durch benutzerdefinierte

  1. powershell-Befehl "(gc prefs.js) -ersetze" user_pref ("network.proxy.http", "bereits vorhandene IP") "," user_pref ("network") .proxy.http "," Ihre http-Proxy-IP "); ' | Set-Content prefs.js "
  2. powershell -Befehl "(gc prefs.js) -replace 'user_pref (" network.proxy.http_port ", bereits vorhandener Port) \;', 'user_pref (" network.proxy.http_port "\", Ihr http-Proxy-Port); ' | Set-Content prefs.js "
  3. powershell -Befehl "(gc prefs.js) -ersetze" user_pref ("network.proxy.share_proxy_settings", bereits vorhandener Wert) "," user_pref ("network.proxy.share_proxy_settings" ", true);" | Set-Content prefs.js "
  4. powershell -Command "(gc prefs.js) -replace 'user_pref (" network.proxy.type ", bereits vorhandener Wert) \;', 'user_pref (" network.proxy.type ") ", 1);" | Set-Content prefs.js "

    0 - Kein Proxy

    1 - Manuelle Proxy-Konfiguration

    4 - Proxy-Einstellungen automatisch erkennen

    5 - Systemeinstellungen verwenden (Standard)

  5. cd% windir%

So überprüfen Sie bereits vorhandene Proxy-Einstellungen

  1. cd C:\Benutzer\uniken\AppData\Roaming\Mozilla\Firefox\Profiles\sat2m7dr.default \
  2. find/i "network.proxy" prefs.js

So starten Sie Firefox über CMD mit den von Ihnen definierten Proxy-Einstellungen

  1. cd C:\Programme \
  2. cD "Mozilla Firefox"
  3. firefox.exe -ProfileManager
  4. Wählen Sie Standard aus der Liste (Standard-Release ist standardmäßig ausgewählt) und klicken Sie auf OK.

HINWEIS: Möglicherweise müssen Sie Schritt 14 nicht erneut ausführen. Stattdessen können Sie firefox.exe direkt ausführen

1

Alle anderen Antworten hier erklären, wie Sie Ihre Proxy-Einstellungen in Firefox programmieren. Dazu wurde WPAD entwickelt. Wenn Sie WPAD konfiguriert haben, weisen Sie Firefox einfach an, es so zu verwenden, dass es seine Einstellungen automatisch erkennt, wie in der Benutzeroberfläche.

Connection Settings

Gehen Sie dazu von einer cmd-Datei oder einer Befehlszeile aus vor:

pushd "%APPDATA%\Mozilla\Firefox\Profiles\*.default"
echo user_pref("network.proxy.type", 4);>>prefs.js
popd

Dies setzt natürlich voraus, dass Sie WPAD konfiguriert haben und korrekt funktionieren. Ich glaube auch, dass prefs.js nicht existiert, bis Sie Firefox einmal ausgeführt haben.

1
Samuel Harmer

Ich habe einen besseren Weg gefunden, dies mit Powershell unter Windows zu tun (aber eigentlich nur, weil ich nach einem Weg gesucht habe, die Benutzeragenten-Zeichenfolge zu ändern und nicht mit Proxies herumzuspielen).

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
    }
}

Ich habe das Firefox-Plugin "useragentswitcher" ebenfalls installiert und habe dies nicht ohne getestet.
Ich habe auch "user_pref" ("useragentswitcher.reset.onclose", false) gesetzt; "

[EDIT] Ich habe meinen Code überarbeitet und gelegentlich einen schlechten Charakter oder etwas ausgegeben. Aus irgendeinem Grund wird dies von firefox als fehlerhaftes Profil erkannt, und das gesamte Profil wurde verworfen und mit einem Standardprofil aktualisiert.

Auch Kredit, bei dem Kredit fällig ist: Dieser Code basiert lose auf dem, was xBoarder in seiner Antwort auf sam3344920 ( https://stackoverflow.com/a/2509088/5403057 ) gepostet hat. Außerdem konnte ich den Kodierungsfehler mit Hilfe eines Beitrags aus Phoenix14830 beheben ( https://stackoverflow.com/a/32080395/5403057 )

[Edit2] Unterstützung für die Einstellung der UAS auf Lumia wurde hinzugefügt. Dies ist in der Tat eine Opera Mobile UAS, weil ich immer noch wollte, dass Bing funktioniert, und wenn Sie die reguläre Lumia UAS www.bing.com-Weiterleitung zu Bing: //?% ^ & * Verwenden, welches Firefox nicht weiß, wie es zu verarbeiten ist

1
Garret Hoffman
@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%
0
Logan78

Vielen Dank, ich finde die Antworten auf dieser Website. 

Ich beziehe mich hier auf die Erstellung einer cmd-Datei 

von 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%
0
sam3344920

für das neueste Firefox müssen Sie das ändern 

cd *.default

zu 

cd *.default*
0
Goon

Es gibt auch mehrere Firefox-Add-Ons, die bei den Proxy-Einstellungen hilfreich sind. FoxyProxy einer der beliebtesten sein. Es gab noch eine andere, die nur die Proxy-Einstellungen mit der Kommandozeile änderte, aber ich scheine es gerade nicht zu finden.

Mozillas FoxyProxy-Seite

0
Nathan Hartley

Sie können dieses Powershell-Skript, das ich geschrieben habe, auch für alle anderen Firefox-Einstellungen verwenden.

https://bitbucket.org/remyservices/powershell-firefoxpref/wiki/Home

Auf diese Weise können Sie Firefox ganz einfach mithilfe des Computer-Starts und Benutzeranmeldeskripts verwalten. In der Wiki-Seite finden Sie Anweisungen zur Verwendung.

0
David Remy

user.js eignet sich besser für Anpassungen, da Sie nur die Zeilen einfügen können, die Sie bearbeiten möchten, d. h. Sie können statt Suchen-Ersetzen nur die gesamte Datei überschreiben. Außerdem beginnt prefs.js (zumindest unter Firefox 65.0.1 für Mac) mit einer Warnung:

// DO NOT EDIT THIS FILE.
//
// If you make changes to this file while the application is running,
// the changes will be overwritten when the application exits.
//
// To change a preference value, you can either:
// - modify it via the UI (e.g. via about:config in the browser); or
// - set it within a user.js file in your profile.

In meinem Fall existierte user.js nicht, also habe ich es erstellt und die Zeile eingefügt, um zwischen "Kein Proxy" und "Manuelle Proxy-Konfiguration" zu wechseln (ich verwende die ganze Zeit nur einen SOCKS-Proxy, also keine Notwendigkeit) Ändern Sie die Portnummer oder andere Details, indem Sie in der folgenden Zeile 0 auf 1 stellen:

user_pref("network.proxy.type", 1);

Am Ende habe ich ein Bash-Skript erstellt, das ich unter/usr/local/bin/firefox abgelegt habe:

#!/bin/bash
if [ $# -eq 0 ]; then
  echo 'user_pref("network.proxy.type", 0);' > ~/Library/Application\ Support/Firefox/Profiles/t5rvw47o.default/user.js
  open -a Firefox
else
  case $1 in
    vpn)
      echo 'user_pref("network.proxy.type", 1);' > ~/Library/Application\ Support/Firefox/Profiles/t5rvw47o.default/user.js
      open -a Firefox
  esac 
fi

Um es zu benutzen, stelle ich sicher, dass kein Firefox läuft und starte dann firefox, um eine direkte Verbindung zu haben und firefox vpn, Um den Proxy zu benutzen.

0
Koit Saarevet