Privoxy: een HTTP-proxyclient verbinden met een SOCKS-tunnel
Verbind een proxyclient die alleen HTTP accepteert met een SOCKS-tunnel via een lokale HTTP-proxy, in plaats van de tunnelpoort te hernoemen.
Een dynamische SSH-tunnel, inclusief de dynamische doorsturing van PuTTY, biedt een SOCKS-interface. Een toepassing die alleen een HTTP-proxy accepteert, kan die poort niet gebruiken door hem simpelweg HTTP te noemen.
Een lokale protocolbrug kan ertussen zitten. De toepassing stuurt HTTP-proxyverzoeken naar de brug, en de brug opent bestemmingsverbindingen via de SOCKS-dienst.
Privoxy documenteert deze opstelling in zijn doorstuurregels. Voor een bestaande lokale SOCKS5-tunnel is een configuratiefragment:
forward-socks5 / 127.0.0.1:1080 .
De toepassing verbindt met de HTTP-listener van Privoxy, niet met poort 1080. Houd die listener lokaal volgens het beoogde toegangsbeleid. De laatste punt in de regel heeft een gedocumenteerde betekenis; het is geen plaatsaanduiding voor een ontbrekende internethostnaam.
Dit is protocolvertaling
De doorstuurdocumentatie van Privoxy legt de SOCKS-doorstuursyntaxis en de omgang met hostnamen uit. Een gewone TCP-poortdoorsturing voert niet dezelfde vertaling uit: ze vervoert de HTTP-bytes van de client ongewijzigd naar een SOCKS-listener, die nog steeds een SOCKS-onderhandeling verwacht.
De brug wordt ook deel van de configuratie die u moet begrijpen. Privoxy kan eigen instellingen voor inhoudsfiltering en toegang hebben. Die toevoegen is niet hetzelfde als de oorspronkelijke toepassing native SOCKS laten ondersteunen.
Voor HTTPS-websites vraagt de toepassing meestal CONNECT aan de HTTP-brug, en de brug verkrijgt de bestemmingsverbinding via SOCKS. Normale website-TLS blijft een relatie tussen toepassing en website; de brug hoeft de website niet na te doen om dit pad te bieden.
Als de toepassing SOCKS rechtstreeks kan gebruiken, kan het extra onderdeel overbodig zijn. Gebruik de brug om een echte protocolafwijking op te lossen, met de listener en de upstream duidelijk gescheiden.