So verwenden Sie einen SOCKS5-Proxy in Chrome mit Benutzername und Passwort (lokale Bridge-Methode)
Chrome kann keine SOCKS5-Anmeldeinformationen senden, daher schlagen authentifizierte Proxys von vornherein fehl. Diese Anleitung erstellt eine lokale Bridge mit gost oder Privoxy, die Ihren IPRoyal-Benutzernamen und Ihr Passwort speichert und Chrome durch den Proxy leitet.
Übersicht
Chrome und andere Chromium-Browser können einen SOCKS5-Proxy über das --proxy-server-Flag verwenden, aber sie können keinen SOCKS5-Benutzernamen und kein Passwort senden. Es gibt keinen Anmeldedialog für SOCKS5 in Chrome, und die gängigen Proxy-Erweiterungen authentifizieren nur HTTP- und HTTPS-Proxys. Wenn Ihr Proxy eine Anmeldung erfordert, schlägt Chrome entweder mit ERR_PROXY_CONNECTION_FAILED fehl oder verbindet sich ohne Anmeldeinformationen und wird abgelehnt.
Die Lösung ist eine lokale Bridge: ein kleiner Forwarder, der auf 127.0.0.1 lauscht, unauthentifizierten Datenverkehr von Chrome akzeptiert und ihn an den authentifizierten SOCKS5-Upstream-Endpunkt weiterleitet. Chrome sieht die Anmeldeinformationen nie, und der Netzwerk-Stack des Browsers spricht nie direkt mit dem Upstream.
Wie sich jede Proxy-Methode in Chrome verhält
| Methode | Verarbeitet SOCKS5-Anmeldeinformationen | Hinweise |
|---|---|---|
--proxy-server="socks5://..."-Flag |
Nein | Löst DNS am Proxy auf, schlägt aber fehl, wenn der Upstream eine Authentifizierung erfordert |
| Betriebssystem- oder System-Proxy-Einstellung | Nein | Gleiche Einschränkung, und sie betrifft jede App statt nur ein Browserprofil |
| Proxy-Erweiterung | Nein | Die meisten Erweiterungen unterstützen nur HTTP- und HTTPS-Authentifizierung |
| IP-Allowlist beim Anbieter | Nicht benötigt | Funktioniert nur, wenn Ihr Plan und Ihre Konfiguration dies unterstützen |
| Lokale Bridge (dieses Tutorial) | Ja | Anmeldeinformationen bleiben auf Ihrem Rechner; Chrome spricht mit localhost |
Voraussetzungen
- Eine Chrome- oder Chromium-Installation, die Sie von der Kommandozeile starten können
- IPRoyal SOCKS5-Anmeldeinformationen: Gateway-Host, Port, Benutzername, Passwort aus Ihrem Dashboard
- Ein lokaler Forwarder:
gost(empfohlen) oder Privoxy - Berechtigung, einen Listener auszuführen, der an
127.0.0.1gebunden ist
Schritte
-
Prüfen Sie, ob IP-Allowlisting das Problem vollständig beseitigt. Einige Anbieter ermöglichen es Ihnen, eine feste IP-Adresse zu autorisieren, anstatt Anmeldeinformationen zu senden. Öffnen Sie Ihr IPRoyal-Dashboard und bestätigen Sie, ob diese Option für den von Ihnen verwendeten Plan existiert. Wenn ja und Ihre öffentliche IP stabil ist, können Sie die Bridge überspringen und das
--proxy-server-Flag direkt verwenden. -
Installieren Sie einen lokalen Forwarder.
gostspricht SOCKS5 in beide Richtungen und wird als einzelne Binärdatei ausgeliefert, was es zur einfachsten Wahl macht.
- Windows: Laden Sie die
gost-Binärdatei von der offiziellen Releases-Seite herunter und fügen Sie sie IhremPATHhinzu - macOS: Installieren Sie
gostmit Ihrem Paketmanager, falls ein Paket verfügbar ist, andernfalls laden Sie die Binärdatei herunter - Linux: Installieren Sie die Binärdatei von der Release-Seite oder verwenden Sie ein Distributionspaket, falls eines verfügbar ist
- Starten Sie die Bridge. Sie lauscht auf einem Loopback-Port ohne Authentifizierung und leitet alles an den authentifizierten Upstream weiter.
gost -L socks5://127.0.0.1:1080 -F 'socks5://USERNAME:PASSWORD@GATEWAY_HOST:GATEWAY_PORT'
Unter Windows PowerShell setzen Sie die Upstream-URL in Anführungszeichen:
gost -L socks5://127.0.0.1:1080 -F "socks5://USERNAME:PASSWORD@GATEWAY_HOST:GATEWAY_PORT"
Lassen Sie diesen Prozess während des Surfens in einem eigenen Terminalfenster laufen.
- Überprüfen Sie die Bridge, bevor Sie Chrome verwenden. Diese Anfrage geht durch die Bridge, daher sollte die zurückgegebene Adresse die Proxy-Exit-IP sein, nicht Ihre ISP-Adresse.
curl --socks5-hostname 127.0.0.1:1080 https://api.ipify.org
Wenn der Befehl hängt, leitet die Bridge nicht weiter. Wenn ein Authentifizierungsfehler zurückgegeben wird, sind die Upstream-Anmeldeinformationen falsch.
- Starten Sie Chrome über die Bridge. Verwenden Sie ein dediziertes Profil, damit Ihr tägliches Surfen unberührt bleibt und das Flag nicht in Ihre normale Sitzung gelangen kann.
macOS:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--proxy-server="socks5://127.0.0.1:1080" \
--user-data-dir="$HOME/.chrome-proxy-profile"
Linux:
google-chrome \
--proxy-server="socks5://127.0.0.1:1080" \
--user-data-dir="$HOME/.chrome-proxy-profile"
Windows:
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
--proxy-server="socks5://127.0.0.1:1080" `
--user-data-dir="$env:TEMP\chrome-proxy-profile"
-
Bestätigen Sie die Exit-IP in Chrome. Öffnen Sie eine IP-Lookup-Seite im neuen Fenster und vergleichen Sie die Adresse mit der, die
curlzurückgegeben hat. Sie sollten übereinstimmen. Wenn Chrome Ihre echte IP anzeigt, lesen Sie den Abschnitt zur Fehlerbehebung. -
Erstellen Sie einen wiederverwendbaren Launcher, damit Sie die Flags nicht neu eingeben müssen. Speichern Sie den Befehl unter macOS oder Linux in einem Shell-Skript oder Alias. Erstellen Sie unter Windows eine Verknüpfung, deren Ziel die Flags und den
--user-data-dir-Pfad enthält. -
Rotieren Sie, indem Sie die Bridge mit einer neuen Upstream-Identität neu starten. Die Bridge behält eine Upstream-Identität bei, solange sie läuft. Um die Exit-IP zu ändern oder zu einem länderspezifischen Endpunkt aus Ihrem Dashboard zu wechseln, müssen Sie
goststoppen, mit der neuen Targeting-Zeichenfolge erneut starten und Chrome neu laden.
Alternative: Privoxy als Frontend
Wenn Sie einen HTTP-Proxy vor dem SOCKS5-Upstream benötigen, weil ein von Ihnen verwendetes Tool oder eine Erweiterung nur HTTP-Proxys spricht, kann Privoxy die Konvertierung übernehmen.
Fügen Sie diese Zeilen zu ihrer Konfigurationsdatei hinzu:
listen-address 127.0.0.1:8118
forward-socks5t / USERNAME:PASSWORD@GATEWAY_HOST:GATEWAY_PORT .
Richten Sie Chrome dann auf den lokalen HTTP-Listener aus:
google-chrome --proxy-server="http://127.0.0.1:8118" --user-data-dir="$HOME/.chrome-privoxy-profile"
forward-socks5t behält die DNS-Auflösung auf der Proxy-Seite bei, was wichtig ist, wenn Sie regionsspezifische Inhalte prüfen.
Fehlerbehebung
ERR_PROXY_CONNECTION_FAILED: Die Bridge läuft nicht, der Port ist falsch oder Chrome zeigt auf den Upstream-Endpunkt statt auf127.0.0.1.- Chrome ignoriert die Flags: Ein vorhandener Chrome-Prozess hat möglicherweise das neue Fenster geschluckt. Beenden Sie jedes Chrome-Fenster und jeden Hintergrundprozess und starten Sie dann neu. Ein eigenes
--user-data-dirverhindert dies. - Seiten laden, zeigen aber Ihre echte IP: Stellen Sie sicher, dass Sie sich in dem Profil befinden, das Sie mit dem Flag gestartet haben. Erweiterungen, die Proxy-Einstellungen steuern, Unternehmensrichtlinien und PAC-Skripte können den Befehlszeilen-Proxy überschreiben.
- Anmeldeinformationen vom Upstream abgelehnt: Prozentkodieren Sie Sonderzeichen im Passwort (
@wird zu%40,:wird zu%3A) oder übergeben Sie den Upstream als separate Optionen, wenn Ihr Forwarder dies unterstützt. - Einige Websites hängen beim ersten Laden: SOCKS5-Weiterleitung deckt TCP ab, nicht UDP, und Chrome versucht möglicherweise QUIC über UDP. Starten Sie mit
--disable-quic, wenn eine Website vor dem Rendern eine Zeitüberschreitung hat. - WebRTC gibt lokale Adressen preis: SOCKS5-Proxying deckt WebRTC nicht ab. Stellen Sie die WebRTC-IP-Behandlung über Unternehmensrichtlinien auf
disable_non_proxied_udpein oder verwalten Sie sie mit einer Browser-Richtlinie oder Erweiterung. - Bridge aus Ihrem Netzwerk erreichbar: Binden Sie immer an
127.0.0.1, niemals an0.0.0.0. Jeder, der den Listener erreichen kann, kann Ihr Proxy-Konto verwenden.
Zusammenfassung
Chrome kann keine SOCKS5-Anmeldeinformationen senden, daher ist die praktische Antwort eine lokale Bridge: gost oder Privoxy lauscht auf Loopback, speichert den IPRoyal-Benutzernamen und das Passwort und leitet Chromes Datenverkehr an den authentifizierten SOCKS5-Upstream weiter. Überprüfen Sie die Exit-IP mit curl, bevor Sie den Browser starten, verwenden Sie ein separates --user-data-dir und starten Sie die Bridge neu, wenn Sie eine neue IP oder ein anderes Land benötigen.