Țineți conexiunea depanatorului PyCharm în afara lanțului proxy
Înfășurați interpretorul Python selectat pentru Proxychains păstrând argumentele și o rută loopback directă către depanator.
Proxychains în jurul unui proces de depanare Python poate prinde două conexiuni diferite: conexiunea de serviciu de ieșire a scriptului și conexiunea sa locală înapoi la PyCharm. Depanatorul are nevoie ca a doua să rămână locală.
Acolo unde IDE-ul și gazda acceptă un înveliș de interpretor, îndreptați-l spre interpretorul real al proiectului:
#!/bin/sh
exec /usr/bin/proxychains4 -f /home/alex/proxychains-debug.conf "/home/alex/project/.venv/bin/python" "$@"Înlocuiți ambele căi ale fișierelor executabile și calea configurației. Transmiterea "$@" păstrează argumentele individuale ale depanatorului din IDE. exec împiedică procesul lansat să lase un shell de înveliș inutil între IDE și copilul său.
În acea configurație Proxychains dedicată, păstrați lanțul dorit și adăugați excepția directă de loopback corespunzătoare:
localnet 127.0.0.0/255.0.0.0
localnet ::1/128Aceste reguli ocolesc lanțul pentru destinații numerice de loopback. Configurația sursă furnizată documentează restricții pentru potrivirea numelor de gazdă cu proxy_dns, așa că la diagnosticarea acelei căi preferați adresa numerică reală de loopback a depanatorului. Nu puneți subrețeaua de mapare DNS la distanță în același interval exclus.
Păstrați identitatea interpretorului
Folosirea /usr/bin/python3 în înveliș poate selecta în tăcere alt mediu din .venv-ul proiectului. Pachetele lipsă par atunci o defecțiune legată de proxy, deși a pornit alt interpretor.
Proxychains se bazează pe interceptarea acceptată a bibliotecilor dinamice. Un IDE care refuză un înveliș ca interpretor, un proces macOS protejat sau un client de rețea legat static sunt o condiție de compatibilitate separată. Limitați aranjamentul la procesul Python dorit și verificați interpretorul selectat în configurația IDE-ului.