Privoxy: einen HTTP-Proxy-Client an einen SOCKS-Tunnel anbinden
Binden Sie einen Proxy-Client, der nur HTTP akzeptiert, über einen lokalen HTTP-Proxy an einen SOCKS-Tunnel an, statt den Tunnelport umzubenennen.
Ein dynamischer SSH-Tunnel, einschließlich der dynamischen Weiterleitung von PuTTY, bietet eine SOCKS-Schnittstelle. Eine Anwendung, die nur einen HTTP-Proxy akzeptiert, kann diesen Port nicht nutzen, indem sie ihn einfach HTTP nennt.
Dazwischen kann eine lokale Protokollbrücke sitzen. Die Anwendung sendet HTTP-Proxy-Anfragen an die Brücke, und die Brücke öffnet Zielverbindungen über den SOCKS-Dienst.
Privoxy dokumentiert diese Anordnung in seinen Weiterleitungsregeln. Für einen bestehenden lokalen SOCKS5-Tunnel lautet ein Konfigurationsausschnitt:
forward-socks5 / 127.0.0.1:1080 .
Die Anwendung verbindet sich mit dem HTTP-Listener von Privoxy, nicht mit Port 1080. Halten Sie diesen Listener gemäß der vorgesehenen Zugriffsrichtlinie lokal. Der abschließende Punkt in der Regel hat eine dokumentierte Bedeutung; er ist kein Platzhalter für einen fehlenden Internet-Hostnamen.
Dies ist Protokollübersetzung
Die Weiterleitungsdokumentation von Privoxy erklärt die SOCKS-Weiterleitungssyntax und den Umgang mit Hostnamen. Eine einfache TCP-Portweiterleitung leistet nicht dieselbe Übersetzung: Sie transportiert die HTTP-Bytes des Clients unverändert zu einem SOCKS-Listener, der weiterhin eine SOCKS-Aushandlung erwartet.
Die Brücke wird außerdem Teil der Konfiguration, die Sie verstehen müssen. Privoxy kann eigene Einstellungen für Inhaltsfilterung und Zugriff haben. Sie hinzuzufügen ist nicht dasselbe, wie die ursprüngliche Anwendung nativ SOCKS unterstützen zu lassen.
Für HTTPS-Websites fordert die Anwendung normalerweise CONNECT von der HTTP-Brücke an, und die Brücke erhält die Zielverbindung über SOCKS. Normales Website-TLS bleibt eine Beziehung zwischen Anwendung und Website; die Brücke muss die Website nicht nachahmen, um diesen Weg bereitzustellen.
Kann die Anwendung SOCKS direkt nutzen, ist die zusätzliche Komponente möglicherweise unnötig. Verwenden Sie die Brücke, um eine tatsächliche Protokollabweichung zu lösen, mit klar getrenntem Listener und Upstream.