Charles ha bisogno del tunnel HTTP di Tor per questa rotta HTTPS
Usate la configurazione upstream web sicura di Charles con un listener Tor HTTP CONNECT locale, anziché il suo campo SOCKS non correlato.
La pagina External Proxies di Charles distingue gli upstream web dalla sua impostazione SOCKS. La documentazione assegna quell'impostazione SOCKS al traffico non HTTP(S), come l'inoltro di porte; compilarla non seleziona un upstream SOCKS per le richieste HTTPS catturate.
Per un servizio Tor esistente, un listener di tunnel HTTP può fornire l'interfaccia che l'upstream HTTPS di Charles si aspetta. Una voce torrc solo per loopback può essere:
HTTPTunnelPort 127.0.0.1:8118
Scegliete una porta locale inutilizzata e applicate la modifica tramite il normale ciclo di vita della configurazione di quel deployment Tor. In Charles, abilitate External Proxies e configurate l'endpoint Secure Web Proxy (HTTPS) come 127.0.0.1 con quella porta.
L'impostazione HTTPS seleziona le richieste la cui destinazione usa HTTPS. Il listener di Tor accetta HTTP CONNECT per trasportare il loro flusso TCP; non è un listener proxy HTTPS crittografato con TLS.
Questa disposizione è specificamente una rotta HTTPS. HTTPTunnelPort non implementa la gestione GET con URL assoluto di un normale proxy di inoltro, quindi non presupponete che la stessa voce gestisca anche la semplice navigazione HTTP.
Tenete il listener di Charles rivolto al client separato da questo endpoint upstream. Il browser si connette a Charles; Charles si connette al listener del tunnel di Tor.