Sie haben einen Proxy gekauft, eine Zeile im Format login:password@host:port erhalten, und das Programm fragt nur nach „Adresse und Port“. Eine vertraute Situation: Chrome mit dem Flag --proxy-server, die Systemeinstellungen von Windows und Android, ein alter Parser, Selenium-Grid, ein Dienstprogramm ohne Passwortfeld. Die Lösung ist seit vielen Jahren dieselbe — lokales Gateway: ein kleiner Proxy auf Ihrem eigenen Computer, der Verbindungen ohne Passwort akzeptiert und beim Verbinden mit dem echten Proxy selbst den Login einfügt. Wir betrachten vier bewährte Werkzeuge, die Befehle für jedes und die Fehler, bei denen normalerweise Zeit und Geld verloren gehen.
Warum Programme Proxy mit Passwort nicht „verstehen“
Es gibt zwei Möglichkeiten, sich beim Proxy-Anbieter zu authentifizieren: mit Login und Passwort (Basic Auth) oder über eine IP-Whitelist. Die zweite Option löst das Problem, funktioniert jedoch nur, wenn Sie eine feste externe IP haben — bei Heim-Internet und Mobilfunknetz gibt es diese oft nicht, und bei Cloud-Funktionen ändert sie sich bei jedem Start. Beide Methoden haben wir ausführlich in unserem Leitfaden zur Proxy-Authentifizierung verglichen.
Bei Login und Passwort stoßen wir auf die Einschränkungen der Programme selbst:
- Chrome und Chromium. Das Flag
--proxy-serverakzeptiert laut der Dokumentation von Chromium das Schema, den Host und den Port (zum Beispiel--proxy-server="foopy:8080") — ein Feld für Anmeldedaten gibt es in dieser Syntax nicht. Im normalen Browserfenster zeigt der Browser einen Dialog mit dem Passwort an, aber im Headless-Modus und bei automatisierten Tests gibt es niemanden, der es ausfüllen kann. - Systemeinstellungen. In der manuellen Proxy-Konfiguration von Windows und in den Wi-Fi-Einstellungen der meisten Android-Firmware gibt es nur Host und Port. Das Passwort wird entweder von einer bestimmten Anwendung abgefragt oder kann nirgendwo eingegeben werden.
- Alte und selbstgeschriebene Software. Viele Dienstprogramme und Bibliotheken unterstützen Proxys, aber ohne Authentifizierung oder brechen bei Sonderzeichen im Passwort.
- Programme ohne Proxy-Unterstützung. Konsolenanwendungen, die weder Umgebungsvariablen noch Einstellungen lesen.
Das lokale Gateway schließt alle vier Fälle: Das Programm sieht den Proxy 127.0.0.1:8080 ohne Passwort, und das Gateway leitet den Datenverkehr zum Anbieter bereits mit dem Login weiter.
Wie das Schema funktioniert
- Auf Ihrem Computer (oder VPS, wo der Parser läuft) wird ein leichter Proxy-Server gestartet, der einen lokalen Port abhört, zum Beispiel
127.0.0.1:8080. - Im Konfigurationsfile des Gateways ist der „Eltern“-Proxy (upstream) angegeben — die Adresse des Anbieters, Login und Passwort.
- Das Programm verbindet sich ohne Authentifizierung mit dem lokalen Port.
- Das Gateway öffnet eine Verbindung zum Anbieter, führt die Authentifizierung durch und leitet den Datenverkehr weiter. Für die Website erscheinen Sie mit der IP-Adresse des Anbieters und nicht mit Ihrer eigenen.
HTTPS wird dabei nicht entschlüsselt: Über den HTTP-Proxy stellt der Browser einen Tunnel mit der Methode CONNECT her, und das Gateway überträgt einfach die verschlüsselten Bytes.
Option 1: gost — ein Befehl, ohne Konfigurationen
gost (GO Simple Tunnel) — eine ausführbare Datei in Go für Windows, macOS und Linux. Dies ist der schnellste Weg, ein Gateway einzurichten. In gost gibt das Flag -L den lokalen Dienst an, -F den Knoten, über den der Datenverkehr geleitet werden soll. Die Anmeldedaten werden direkt in der Adresse des Knotens angegeben:
gost -L http://127.0.0.1:8080 -F socks5://LOGIN:PASSWORD@HOST:PORT
Jetzt kann jedes Programm den HTTP-Proxy 127.0.0.1:8080 ohne Passwort verwenden. Wenn das Passwort Sonderzeichen enthält (@, :, #), empfiehlt die Dokumentation von gost, diese über den Parameter auth in base64 zu übergeben:
echo -n LOGIN:PASSWORD | base64
gost -L http://127.0.0.1:8080 -F socks5://HOST:PORT?auth=<base64_ergebnis>
Beachten Sie: Wenn auth angegeben ist, ignoriert gost den Login und das Passwort, die direkt in der Adresse stehen. Mehrere aufeinanderfolgende -F-Flags bilden eine Kette mehrerer Proxys.
Wann verwenden: Wenn Sie schnell einen Browser oder ein Skript mit einem Proxy „verkuppeln“ möchten, ohne Pakete zu installieren und Konfigurationen zu ändern.
Option 2: 3proxy — viele Ports auf einem Computer
3proxy — ein kompakter Proxy-Server mit einer Konfiguration in einer Datei. Die Schlüssel-Direktive ist parent; laut der Dokumentation lautet ihre Syntax: parent <weight> <type> <ip> <port> <username> <password>, und sie sollte nach der Regel allow stehen. Die minimale Konfiguration des Gateways:
auth iponly
allow * 127.0.0.1
parent 1000 http HOST PORT LOGIN PASSWORD
proxy -p8080 -i127.0.0.1
Wichtig hier:
auth iponly— ohne Passwort, aber mit ACL-Überprüfung; die Regelallow * 127.0.0.1erlaubt nur lokale Verbindungen.- Das Gewicht
1000bedeutet „immer über diesen Elternteil“. Gewichte unter 1000 verwendet 3proxy, um zufällige Ketten zu bilden. - Eltern-Typ:
http,connect,socks4,socks5und andere — wählen Sie das Protokoll, das der Anbieter bereitstellt. -i127.0.0.1bindet den Dienst an die lokale Schnittstelle. Standardmäßig akzeptiert 3proxy Verbindungen an allen Schnittstellen.
Ein praktischer Trick: Wiederholen Sie den Block allow / parent / proxy mehrmals mit unterschiedlichen Ports und verschiedenen Anmeldedaten des Anbieters. So erhalten Sie „Port = separater Proxy“: 127.0.0.1:8081 — USA, :8082 — Deutschland und so weiter. Dieses Format versteht fast jede Software, einschließlich derjenigen, bei denen Proxys in einer Liste „host:port“ eingegeben werden.
Wann verwenden: Dutzende Profile oder Streams, wobei jedes seinen eigenen Ausgang benötigt.
Option 3: Squid — wenn Cache und Protokoll benötigt werden
Squid ist schwerer, bietet jedoch Caching, detaillierte Protokolle und flexible ACL. Der Anbieter wird als Elternknoten über cache_peer angegeben, und die Direktive never_direct allow all verbietet es Squid, direkt ins Internet zu gehen, um den Elternteil zu umgehen:
http_port 127.0.0.1:3128
cache_peer HOST parent PORT 0 no-query default login=LOGIN:PASSWORD
never_direct allow all
Nuancen aus der Squid-Dokumentation:
- Der ICP-Port wird auf
0gesetzt, wenn der Elternteil ihn nicht unterstützt — bei kommerziellen Proxys gibt es ihn nicht. - In
login=sind URL-Escape-Sequenzen zulässig (zum Beispiel%20für ein Leerzeichen), daher muss das Zeichen%im Passwort als%%geschrieben werden. - Ohne
never_directkann Squid entscheiden, dass es vorteilhafter ist, die Website direkt zu besuchen — und die Anfrage wird mit Ihrer echten IP gesendet. Für das Parsen und Multi-Account-Management ist dies das schlechteste Szenario.
Wann verwenden: Büro oder Team, wo ein Protokoll benötigt wird, wer wohin gegangen ist, oder wiederholte Anfragen an dieselben Ressourcen.
Option 4: proxychains-ng — für Programme ohne Proxy-Unterstützung
Wenn ein Programm überhaupt keine Proxys unterstützt, hilft proxychains-ng (Linux und macOS). Es fängt die Netzwerkaufrufe des Programms ab und wickelt seine TCP-Verbindungen in einen Proxy ein. Unterstützt werden SOCKS4a, SOCKS5 und HTTP, die Authentifizierung erfolgt mit Login und Passwort für SOCKS und Basic für HTTP. Die Zeile im Abschnitt [ProxyList] hat das Format typ ip port [login passwort]:
strict_chain
proxy_dns
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
http HOST PORT LOGIN PASSWORD
Start: proxychains4 curl https://api.ipify.org — die Antwort wird die IP des Anbieters und nicht Ihre eigene sein.
strict_chain— alle Proxys in der Liste werden der Reihe nach verwendet, und wenn einer nicht verfügbar ist, gibt es keine Verbindung. Sicherer alsdynamic_chain, das tote Knoten überspringt.proxy_dns— DNS-Anfragen gehen ebenfalls über den Proxy. Ohne dies sieht Ihr Internetanbieter, welche Domains Sie anfragen, und die Website kann eine Diskrepanz zwischen der Geolokalisierung von DNS und IP feststellen.- Die Konfiguration wird in der Reihenfolge gesucht: Datei aus
-foder der VariablenPROXYCHAINS_CONF_FILE, dann./proxychains.conf,~/.proxychains/proxychains.confund/etc/proxychains.conf.
Einschränkungen, über die die Autoren selbst berichten: nur TCP (UDP und ICMP werden nicht proxiert), mögliche Fehler bei Programmen, die viele Prozesse erzeugen, und auf macOS erlaubt der SIP-Schutz nicht, systemeigene Programme abzufangen.
Welches Werkzeug wählen: kurze Zusammenfassung
- Ein Browser oder Skript, das „jetzt sofort“ benötigt wird — gost.
- Viele Profile, jedes mit seiner eigenen IP oder Land — 3proxy mit einem separaten Port pro Konto.
- Team, Protokoll von Anfragen, Cache — Squid.
- Programm ohne Proxy-Einstellungen — proxychains-ng.
Fünf Fehler, die am teuersten sind
- Das Gateway hört auf allen Schnittstellen. Sie haben gost mit
-L http://:8080auf einem VPS gestartet — und haben einen offenen Proxy für das gesamte Internet auf Ihren Gigabytes erhalten. Offene Proxys werden schnell von Scannern gefunden. Geben Sie immer127.0.0.1an, und wenn andere Maschinen das Gateway verwenden, schließen Sie den Port mit einer Firewall. Wie schnell Botnetze offene Ports auf Servern mit Parsern finden, haben wir in unserem Bericht über den Wurm CARBONATO beschrieben. - Leckage um das Gateway herum. Squid ohne
never_direct, proxychains ohneproxy_dns, ein Browser, der direkt über WebRTC/UDP geht — all dies enthüllt die echte IP. Überprüfen Sie das Ergebnis mit einem IP-Identifikationsdienst und einem DNS-Lecktest. - Ein Gateway für alle Konten. Wenn 30 Profile von Anti-Detect über einen Port mit einer einzigen Sticky-Session zugreifen, haben alle dieselbe IP — das ist der direkte Weg zur Verknüpfung von Konten. Verteilen Sie die Profile auf verschiedene Ports oder verwenden Sie die Sitzungseinstellungen des Anbieters.
- Sonderzeichen im Passwort.
@und:brechen die Analyse von Adressen im Formatlogin:pass@host. Verwenden Sie den base64-Parameter in gost, Escaping in Squid oder generieren Sie ein Passwort ohne Sonderzeichen. - Gateway — ein überflüssiger Hop und ein Ausfallpunkt. Auf dem lokalen Computer ist die Verzögerung nahezu null, aber wenn das Gateway in einem anderen Rechenzentrum steht, wird jede Anfrage mit Netzwerkverzögerung belastet. Halten Sie das Gateway in der Nähe des Programms und richten Sie den automatischen Start (systemd, Windows-Dienst) ein, sonst wird der Parser nach einem Serverneustart stillschweigend ins Leere gehen.
Welche Proxys hinter dem Gateway verwenden
Dem Gateway ist es egal, welcher Proxy-Typ dahinter steht — die Wahl hängt von der Aufgabe ab:
- Residenz-Proxys — für das Parsen geschützter Websites, Marktplätze und Anti-Detect-Profile: IPs von Heimnutzern wecken weniger Verdacht bei Anti-Bots.
- Mobile Proxys — für soziale Netzwerke und Anwendungen, wo die Überprüfung am strengsten ist: Hinter einer IP eines Mobilfunkanbieters (über CGNAT) gehen normalerweise viele echte Abonnenten online, und es ist riskant, diese zu blockieren.
- Rechenzentrums-Proxys — für umfangreiche Aufgaben ohne strenge Sicherheit: Verfügbarkeitsprüfungen, API, Tests. Am günstigsten pro Gigabyte.
Wenn der Proxy mit Rotation arbeitet, legt normalerweise der Anbieter die Logik zum Wechseln der IP fest — über Parameter im Login oder Einstellungen im Dashboard. Das Gateway bricht diese nicht: Es überträgt den Login wie er ist. Daher ist es praktisch, mehrere Ports mit unterschiedlichen Sitzungseinstellungen einzurichten — einen mit neuer IP für jede Anfrage, einen anderen mit fester IP für 30 Minuten.
Fazit
Ein Proxy mit Login und Passwort eignet sich für jedes Programm, wenn ein lokales Gateway dazwischen geschaltet wird. gost löst die Aufgabe mit einem Befehl, 3proxy ist praktisch für „Port = Profil“, Squid — für Teams mit Protokoll, und proxychains-ng verbindet sogar Software, die nichts über Proxys weiß, mit einem Proxy. Die wichtigsten Regeln: nur 127.0.0.1 abhören, direkte Verbindungen zum Umgehen des Elternteils verbieten und überprüfen, dass die Website die IP des Anbieters sieht und nicht Ihre eigene.
