Charles braucht Tors HTTP-Tunnel für diese HTTPS-Route
Verwenden Sie Charles' Secure-Web-Upstream-Konfiguration mit einem lokalen Tor-HTTP-CONNECT-Listener statt seines unabhängigen SOCKS-Felds.
Die Seite External Proxies in Charles unterscheidet Web-Upstreams von der SOCKS-Einstellung. Die Dokumentation ordnet diese SOCKS-Einstellung Nicht-HTTP(S)-Verkehr wie Portweiterleitung zu; ihr Ausfüllen wählt keinen SOCKS-Upstream für erfasste HTTPS-Anfragen.
Für einen bestehenden Tor-Dienst kann ein HTTP-Tunnel-Listener die Schnittstelle bereitstellen, die Charles' HTTPS-Upstream erwartet. Ein torrc-Eintrag nur für Loopback kann lauten:
HTTPTunnelPort 127.0.0.1:8118
Wählen Sie einen unbenutzten lokalen Port und wenden Sie die Änderung über den normalen Konfigurationslebenszyklus dieser Tor-Bereitstellung an. Aktivieren Sie in Charles External Proxies und konfigurieren Sie den Secure Web Proxy (HTTPS)-Endpunkt als 127.0.0.1 mit diesem Port.
Die HTTPS-Einstellung wählt Anfragen, deren Ziel HTTPS verwendet aus. Tors Listener akzeptiert HTTP CONNECT, um deren TCP-Stream zu übertragen; er ist kein TLS-verschlüsselter HTTPS-Proxy-Listener.
Diese Anordnung ist speziell eine HTTPS-Route. HTTPTunnelPort implementiert nicht die Absolute-URL-GET-Behandlung eines gewöhnlichen Forward-Proxys, gehen Sie also nicht davon aus, dass derselbe Eintrag auch einfaches HTTP-Browsen verarbeitet.
Halten Sie Charles' clientseitigen Listener von diesem Upstream-Endpunkt getrennt. Der Browser verbindet sich mit Charles; Charles verbindet sich mit Tors Tunnel-Listener.