Charles heeft Tors HTTP-tunnel nodig voor deze HTTPS-route
Gebruik de beveiligde web-upstreamconfiguratie van Charles met een lokale Tor HTTP CONNECT-listener, in plaats van het ongerelateerde SOCKS-veld.
De pagina External Proxies van Charles onderscheidt web-upstreams van de SOCKS-instelling. De documentatie wijst die SOCKS-instelling toe aan verkeer dat geen HTTP(S) is, zoals port forwarding; het invullen ervan selecteert geen SOCKS-upstream voor onderschepte HTTPS-verzoeken.
Voor een bestaande Tor-service kan een HTTP-tunnellistener de interface bieden die de HTTPS-upstream van Charles verwacht. Een torrc-regel alleen voor loopback kan zijn:
HTTPTunnelPort 127.0.0.1:8118
Kies een ongebruikte lokale poort en pas de wijziging toe via de normale configuratielevenscyclus van die Tor-implementatie. Schakel in Charles External Proxies in en configureer het Secure Web Proxy (HTTPS)-eindpunt als 127.0.0.1 met die poort.
De HTTPS-instelling selecteert verzoeken waarvan de bestemming HTTPS gebruikt. De listener van Tor accepteert HTTP CONNECT om hun TCP-stroom te dragen; het is geen met TLS versleutelde HTTPS-proxylistener.
Deze opzet is specifiek een HTTPS-route. HTTPTunnelPort implementeert niet de absolute-URL-GET-afhandeling van een gewone forward-proxy, dus ga er niet van uit dat dezelfde regel ook gewoon HTTP-browsen afhandelt.
Houd de clientgerichte listener van Charles gescheiden van dit upstream-eindpunt. De browser verbindt met Charles; Charles verbindt met de tunnellistener van Tor.