Manuelles Konfigurieren der Proxy-Einstellungen von Google Chrome unter Ubuntu

9

Ich habe eine Anwendung, die die von Google Chrome verwendeten Proxy-Einstellungen ändern, dann den Browser verwenden und den Proxy automatisch wieder auf den ursprünglichen Stand zurücksetzen muss.

Ich konnte nicht finden, wo auf meinem Ubuntu-System diese Einstellungen gespeichert sind. Es ist sicher nicht in der Voreinstellungsdatei. Irgendwelche Ideen, wie man diese Aufgabe erledigt?

Elitecoder
quelle
Sieht so aus, als ob Sie die Proxy-Einstellungen programmgesteuert ändern möchten . Wenn Sie sie manuell ändern, müssen Sie den Abschnitt "Einstellungen" des Chrome-Browsers öffnen. Was Sie tun möchten, scheint sehr seltsam - was ist das zugrunde liegende Ziel dessen, was Sie erreichen wollen? Es kann einen einfacheren Weg geben, dieses Ziel zu erreichen.
Mike Rowave
Vielleicht hilft die Erklärung, warum ich so etwas ausführen möchte, den Menschen, alternative Lösungen anzubieten. Ich möchte den gesamten von Google Chrome bereitgestellten Datenverkehr aufzeichnen. Dafür habe ich einen Client, der sich wie ein Proxyserver verhält. Wenn ich nun den Proxy von Chrome auf localhost und einen bestimmten Port setze, wird der gesamte Datenverkehr über meinen Client geleitet und mein Client kann alles aufzeichnen, was passiert ist. Und wenn ich mit dem Aufzeichnen fertig bin, werde ich Chrome herunterfahren und die ursprünglichen Proxy-Einstellungen wiederherstellen. Ich möchte keine Befehlszeilenargumente verwenden, die an den Chrome-Browser übergeben wurden, und dies programmgesteuert tun.
Elitecoder

Antworten:

12

Sie können die Chromium-Proxy-Einstellungen über die Befehlszeile verwenden. Auf der Manpage erfahren Sie, wie. Also hier ist ein Auszug aus dem Man Chrom-Browser von meinem Ubuntu Natty:

   --proxy-server=host:port
          Specify the HTTP/SOCKS4/SOCKS5 proxy server to use for requests.  This overrides any environment variables or settings picked via the options dialog.  An individual
          proxy server is specified using the format:

            [<proxy-scheme>://]<proxy-host>[:<proxy-port>]

          Where <proxy-scheme> is the protocol of the proxy server, and is one of:

            "http", "socks", "socks4", "socks5".

          If the <proxy-scheme> is omitted, it defaults to "http". Also note that "socks" is equivalent to "socks5".

          Examples:

            --proxy-server="foopy:99"
                Use the HTTP proxy "foopy:99" to load all URLs.

            --proxy-server="socks://foobar:1080"
                Use the SOCKS v5 proxy "foobar:1080" to load all URLs.

            --proxy-server="sock4://foobar:1080"
                Use the SOCKS v4 proxy "foobar:1080" to load all URLs.

            --proxy-server="socks5://foobar:66"
                Use the SOCKS v5 proxy "foobar:66" to load all URLs.

          It is also possible to specify a separate proxy server for different URL types, by prefixing the proxy server specifier with a URL specifier:

          Example:

            --proxy-server="https=proxy1:80;http=socks4://baz:1080"
                Load https://* URLs using the HTTP proxy "proxy1:80". And load http://*
                URLs using the SOCKS v4 proxy "baz:1080".

Der Vorteil der Verwendung der Befehlszeilenargumente besteht darin, dass Sie Ihre globalen Systemeinstellungen nicht ändern müssen.

Zum Beispiel:

$ chromium-browser --proxy-server="http://127.0.0.1:8080"

Schauen Sie sich auch Justins Beitrag in diesem Thread an, in dem er beschreibt, wie der Proxy auch für DNS-Anfragen verwendet wird.

Strubbl
quelle
1
Gibt es eine Möglichkeit, bestimmte Domänen festzulegen, die KEIN Proxy verwenden sollen? Etwas analog zur No proxy for Einstellung in Firefox ...
Becko
1
chromefunktioniert nicht, weil es keine Option gibt--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
BeGood
funktioniert nicht Chrome ignoriert alle Proxy-Einstellungen
user27636
3

Die Antwort von Strubbl ist korrekt. Dies ist die beste Lösung, da Sie die systemweiten Proxy-Einstellungen nicht ständig aktivieren / deaktivieren müssen.

Ich würde hinzufügen, dass Sie diesen Schalter auch in Verbindung verwenden sollten

--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1" 

Dabei ist 127.0.0.1 Ihr Proxyserver. Dieser Schalter verhindert, dass Chrome externe DNS-Anforderungen stellt. Wenn der Datenschutz wichtig ist, werden keine DNS-Informationen verloren gehen.

Der vollständige Befehl lautet also wie folgt.

/usr/bin/google-chrome-stable %U --proxy-server="socks5://127.0.0.1:9050" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE 127.0.0.1"
Justin
quelle
1

Für Ubuntu 14.04 LTS gehen Sie zum Terminal. Öffnen Sie diese Datei, aber speichern Sie sie zuerst

& cp /usr/share/applications/chromium-browser.desktop /home/@user/

& sudo su

(passwd)

Dann

& gedit /usr/share/applications/chromium-browser.desktop &

Gehen Sie zur ersten "Exec" -Zeile

Exec=chromium-browser %U

Ändern Sie es in

Exec=chromium-browser %U --proxy-server="127.0.0.1:8118"

127.0.0.1:8118oder Wasauchimmer. Speichern Sie diese Datei, schließen Sie den Editor, starten Sie den Browser erneut und versuchen Sie es.

Um diese Änderung wieder vorzunehmen

& sudo su

(passwd)

& cp /home/@user/chromium-browser.desktop /usr/share/applications/

oder schreiben Sie diese Zeile um

Exec=chromium-browser %U

genießen!

TheRabi71
quelle
0

Chrom und Google Chrome verwenden , die http_proxy, https_proxyund no_proxyUmgebungseinstellungen. Der Zugriff auf diese unterscheidet sich von Programmiersprache zu Programmiersprache. In einer Shell können Sie eingeben

echo $http_proxy

usw. Sie können auf verschiedene Arten eingestellt werden. Siehe https://askubuntu.com/a/513956/438156 und https://askubuntu.com/a/755100/438156 .

serv-inc
quelle