Privoxy: anslut en HTTP-proxyklient till en SOCKS-tunnel
Anslut en proxyklient som bara accepterar HTTP till en SOCKS-tunnel via en lokal HTTP-proxy, i stället för att byta namn på tunnelporten.
En dynamisk SSH-tunnel, inklusive PuTTYs dynamiska vidarebefordran, ger ett SOCKS-gränssnitt. Ett program som bara accepterar en HTTP-proxy kan inte använda den porten bara genom att kalla den HTTP.
En lokal protokollbro kan sitta mellan dem. Programmet skickar HTTP-proxyförfrågningar till bron, och bron öppnar destinationsanslutningar via SOCKS-tjänsten.
Privoxy dokumenterar denna ordning i sina vidarebefordringsregler. För en befintlig lokal SOCKS5-tunnel är ett konfigurationsutdrag:
forward-socks5 / 127.0.0.1:1080 .
Programmet ansluter till Privoxys HTTP-lyssnare, inte till port 1080. Håll lyssnaren lokal enligt den avsedda åtkomstpolicyn. Den sista punkten i regeln har en dokumenterad betydelse; den är inte en platshållare för ett saknat internetvärdnamn.
Detta är protokollöversättning
Privoxys vidarebefordringsdokumentation förklarar SOCKS-vidarebefordringens syntax och hanteringen av värdnamn. En vanlig TCP-portvidarebefordran gör inte samma översättning: den transporterar klientens HTTP-byte oförändrade till en SOCKS-lyssnare, som fortfarande väntar på en SOCKS-förhandling.
Bron blir också en del av den konfiguration du måste förstå. Privoxy kan ha egna inställningar för innehållsfiltrering och åtkomst. Att lägga till den är inte samma sak som att låta originalprogrammet stödja SOCKS inbyggt.
För HTTPS-webbplatser begär programmet vanligtvis CONNECT från HTTP-bron, och bron får destinationsanslutningen via SOCKS. Webbplatsens vanliga TLS förblir en relation mellan program och webbplats; bron behöver inte utge sig för att vara webbplatsen för att erbjuda denna väg.
Om programmet kan använda SOCKS direkt kan den extra komponenten vara onödig. Använd bron för att lösa en verklig protokollavvikelse, med lyssnaren och uppströmmen tydligt åtskilda.