Methode 1: Verwenden Sie einen HTTP-Proxy, der die Verwendung eines SOCKS-Upstreams unterstützt, z. Polipo oder Privoxy.
Richten Sie zuerst einen -D ein wie immer über SSH tunneln, dann den HTTP-Proxy so konfigurieren, dass er den SSH-Tunnel verwendet – Beispiel für eine Polipo-Konfiguration:
proxyAddress = "::1"
proxyPort = 8118
socksParentProxy = "localhost:8080"
socksProxyType = socks5
Richten Sie die App schließlich mit http_proxy=localhost:8118 auf Polipo .
Methode 2: Führen Sie Ihr Programm innerhalb von torsocks aus Wrapper (oder das ältere tsocks ), die alle Verbindungen transparent weiterleitet. Es war für die Verwendung mit Tor gedacht, funktioniert aber mit jedem SOCKS-Server, einschließlich ssh -D .
Methode 3: Richten Sie einen HTTP-Proxy auf Ihrem Server ein , dann verwenden Sie ssh -L um darauf zuzugreifen.
Alle -D Ergebnisse in einen SOCKS-Server. Wenn Ihr Client SOCKS nicht verarbeiten kann, vergessen Sie -D .
Sie müssen einen HTTP-Proxy auf dem Remote-Host ausführen und mit -L weiterleiten :
ssh -f -N -n -L8080:127.0.0.1:8080 host
Ich habe das gleiche Problem, das den HTTP-Proxy über SSH verwenden möchte. Da viele Anwendungen nur den HTTP-Proxy unterstützen und der HTTP-Proxy einfach in der Befehlszeilenumgebung verwendet werden kann.
Ich habe zwar mehrere Seiten durchsucht, aber ich kann keinen direkten (kann mit Polipo, Privoxy oder tsocks verkettet werden) Weg finden, dies zu tun ...
Nach eintägiger Arbeit habe ich eine einfache Golang-Version des HTTP-Proxys über SSH fertiggestellt. Fühlen Sie sich frei, damit zu spielen:Mallory.
Unterstützt derzeit nur RSA-Schlüssel (zu finden unter $HOME/.ssh/id_rsa) und Passwortautorisierung.
host ist die SSH-Serveradresse, port ist 22 if wird von Ihrem Administrator nicht geändert. Die Serverseite ist nur unser alter Freund sshd ohne Konfiguration.
mallory -engine=ssh -remote=ssh://host:port
oder mit dem Benutzernamen user
mallory -engine=ssh -remote=ssh://[email protected]:port
oder mit Benutzername user und Passwort 1234
mallory -engine=ssh -remote=ssh://user:[email protected]:port
Nach der Verbindung wird ein HTTP-Proxy auf localhost:1315.
bereitgestellt