Einen Proxy in Chrome nur für bestimmte Websites nutzen
Inhalt

Kurz gesagt: Chrome auf dem Desktop hat keine Einstellung, die einen Proxy auf bestimmte Websites anwendet. Es nutzt eine Proxy-Konfiguration für das gesamte Surfen, übernommen vom Betriebssystem, aus einem Startparameter, aus einer Richtlinie des Administrators oder von einer Erweiterung. Damit nur einige Websites über einen Proxy gehen, braucht Chrome ein PAC-Skript, eine kurze Funktion, die für jede Anfrage einen Proxy wählt und die Sie selbst schreiben oder die eine Erweiterung aus Regeln erstellt.
Um in Chrome einen Proxy für bestimmte Websites zu nutzen, geben Sie dem Browser ein PAC-Skript, das die Websites nennt, und Chrome befragt es bei jeder Anfrage. Das Skript kann aus drei Quellen kommen: aus Ihrem Betriebssystem, aus einem separat gestarteten Chrome oder aus einer Erweiterung.
Hat Chrome eine Proxy-Einstellung pro Website?
Nein. Die Einstellungsseite von Chrome hat einen einzigen Eintrag zum Proxy, beschriftet mit „Open your computer’s proxy settings“ (Proxy-Einstellungen des Computers öffnen), und Chromium beschreibt diese Einstellungen als gültig für den gesamten Computer (die Einstellungstexte von Chromium).
Die Proxy-Hinweise von Chromium nennen vier Quellen, aus denen Chrome seine Proxy-Konfiguration beziehen kann: eine Richtlinie des Administrators, Befehlszeilenparameter, eine Erweiterung und das Betriebssystem. Die jeweils geltende Quelle liefert eine Konfiguration für alles, was der Browser lädt, und eine Entscheidung pro Website steckt als PAC-Skript in dieser Konfiguration.
Was macht ein PAC-Skript?
Ein PAC-Skript (Proxy Auto-Configuration) ist eine JavaScript-Funktion namens
FindProxyForURL. Chrome ruft sie für jede Anfrage mit der Adresse und dem
Hostnamen auf und verwendet den String, den sie zurückgibt: DIRECT für keinen
Proxy oder PROXY host:port für einen Proxyserver, wie
die PAC-Referenz von MDN
dokumentiert.
Dieses Skript schickt eine Domain und ihre Subdomains über einen Proxy und alles andere direkt. Die Adresse des Proxys stammt aus einem Bereich, der für Dokumentation reserviert ist (RFC 5737); setzen Sie Ihre eigene an ihre Stelle.
function FindProxyForURL(url, host) {
if (host === "example.com" || dnsDomainIs(host, ".example.com")) {
return "PROXY 203.0.113.10:8080";
}
return "DIRECT";
}
Fügen Sie eine Bedingung pro Website hinzu, die über den Proxy gehen soll. Das
letzte return entscheidet, was mit jeder Website passiert, die nicht
aufgeführt ist.
Auf welchen Wegen kann ich Chrome ein PAC-Skript geben?
Auf drei: über die System-Proxy-Einstellungen, über ein separat gestartetes Chrome oder über eine Erweiterung. Sie unterscheiden sich darin, wie viel vom Computer sie berühren und wie eine Änderung wirksam wird.
Über die System-Proxy-Einstellungen
Unter Windows haben die Proxy-Einstellungen eine Option „setup script“ (Setupskript), die die Adresse des Skripts aufnimmt, wie die Anleitung von Microsoft zeigt, und Chrome folgt der Systemeinstellung. Das Skript muss unter einer URL erreichbar sein. Jede Anwendung, die die System-Proxy-Einstellungen liest, wird es ebenfalls verwenden, daher passt dieser Weg zu einem Skript, das Sie für den ganzen Rechner gedacht haben.
In einer separaten Chrome-Instanz
Chrome nimmt beim Start Proxy-Parameter an, aufgeführt auf
der Seite zu den Netzwerkeinstellungen von Chromium:
--proxy-server nennt einen Proxy, --proxy-bypass-list nennt Hosts, die ihn
umgehen, und --proxy-pac-url verweist auf ein Skript. Mit einem eigenen
--user-data-dir gestartet, läuft das zweite Chrome neben Ihrem üblichen, da
zwei laufende Instanzen kein Datenverzeichnis teilen können
(die Hinweise von Chromium zum Nutzerdatenverzeichnis).
google-chrome --user-data-dir="$HOME/chrome-proxied" --proxy-server="http://203.0.113.10:8080"
Diese Instanz schickt ihren gesamten Traffic über den Proxy, also entscheidet das Fenster, in dem Sie eine Website öffnen, über ihre Route. Um den Proxy zu wechseln, beenden Sie die Instanz und starten sie mit neuen Parametern neu.
Mit einer Proxy-Erweiterung
Eine Erweiterung legt den Proxy von Chrome für das Profil fest, in dem sie installiert ist, über die chrome.proxy API, und ein Umschalter mit Regeln übersetzt sie in ein PAC-Skript. Unser kostenloser ProxyJam Connector arbeitet so, in Chrome und in Microsoft Edge:
- Legen Sie ein Profil mit Host, Port und Protokoll des Proxys an.
- Fügen Sie eine Regel hinzu, zum Beispiel „Domain + subdomains“ (Domain und
Subdomains) mit
example.com, die auf dieses Profil verweist. Die erste Regel, die auf eine Website passt, gewinnt. - Lassen Sie die Rückfalloption auf Direct, damit Websites, auf die keine Regel passt, sich ohne Proxy verbinden.
- Wählen Sie Auto im Popup der Symbolleiste.
Für eine passende Website nennt das Skript von Connector genau diesen einen Proxy, ohne eine direkte Option danach. Ist der Proxy nicht erreichbar, lädt die Website nicht, und Ihre eigene Adresse wird für sie nie verwendet.
Kann jeder Tab einen anderen Proxy nutzen?
In Chrome nicht. Die chrome.proxy API speichert einen Wert für ein Profil und nimmt keinen Tab als Parameter, also hat ein Tab nichts Eigenes, was sich festlegen ließe.
Die brauchbare Einheit ist ein Profil oder eine Instanz. Legen Sie ein zweites Chrome-Profil für die Arbeit über den Proxy an und installieren Sie die Erweiterung dort, oder starten Sie eine zweite Instanz mit eigenen Parametern, und halten Sie die beiden Fenster nebeneinander. Jedes Fenster hat dann seinen eigenen Proxy.
Warum scheitert eine Regel mit Pfad auf HTTPS-Websites?
Chrome gibt einem PAC-Skript von einer https://-Adresse nur Schema, Host und
Port. Pfad, Query und Fragment werden seit Chrome 52 entfernt, und die Option,
die das abschaltete, wurde in Chrome 75 entfernt
(die Proxy-Hinweise von Chromium).
Eine Regel wie example.com/shop/* passt deshalb auf keine HTTPS-Seite.
Schreiben Sie Regeln auf den Hostnamen, und geben Sie einem Bereich einer
Website eine eigene Subdomain, wenn er eine eigene Route braucht. Einfache
http://-Adressen erreichen das Skript weiterhin mit ihrem Pfad, auch wenn
Chromium davon abrät, sich darauf zu verlassen. Connector zeigt neben jeder
Regel, die vom Pfad abhängt, eine Warnung.
Welchen Weg sollten Sie wählen?
Für ein paar Websites und einen Proxy ist eine Erweiterung der geringste Aufwand, und die Seite zur Erweiterung führt auf, was Connector in Chrome kann und was nicht. Einen Proxy, der nach einem Passwort fragt, behandelt warum Chrome immer wieder nach Benutzername und Passwort des Proxys fragt, und die Übertragung von Regeln aus einem älteren Umschalter was sich mit Manifest V3 geändert hat. Wie Sie ein Profil und einen Proxy pro Land einrichten, um zu prüfen, wie Ihre eigene Website in jedem Markt aussieht, beschreibt Ihre Website aus einem anderen Land ansehen.
Wenn der Proxy, über den Sie diese Websites leiten, eine Adresse im Netz eines Internetanbieters behalten soll, ist das was ein ISP-Proxy ist. ProxyJam verkauft statische Residential-Proxys (ISP) auf der Seite zu ISP-Proxys, mit Preisen auf der Preisseite.
