Proxychains oko Python procesa za debagovanje može uhvatiti dve različite veze: izlaznu vezu skripte prema servisu i njenu lokalnu vezu natrag prema PyCharm-u. Debuggeru treba potonja da ostane lokalna.

Gde IDE i host podržavaju omotač interpretatora, usmerite ga na stvarni interpretator projekta:

#!/bin/sh
exec /usr/bin/proxychains4 -f /home/alex/proxychains-debug.conf "/home/alex/project/.venv/bin/python" "$@"

Zamenite oba puta do izvršnih datoteka i put do konfiguracije. Prosleđivanje "$@" čuva pojedinačne argumente debuggera iz IDE-a. exec sprečava da pokrenuti proces ostavi nepotrebnu ljusku omotača između IDE-a i svog deteta.

U toj namenskoj Proxychains konfiguraciji zadržite željeni lanac i dodajte odgovarajući direktni loopback izuzetak:

localnet 127.0.0.0/255.0.0.0
localnet ::1/128

Ova pravila zaobilaze lanac za numeričke loopback destinacije. Priložena nadređena konfiguracija dokumentuje ograničenja podudaranja imena hostova sa proxy_dns, pa pri dijagnostikovanju tog puta dajte prednost stvarnoj numeričkoj loopback adresi debuggera. Ne stavljajte podmrežu udaljenog DNS mapiranja u isti izuzeti opseg.

Sačuvajte identitet interpretatora

Korišćenje /usr/bin/python3 u omotaču može tiho izabrati drugo okruženje iz .venv projekta. Tada nedostajući paketi izgledaju kao kvar povezan sa proxyjem, iako je pokrenut drugi interpretator.

Proxychains se oslanja na podržano presretanje dinamičkih biblioteka. IDE koji odbija omotač kao interpretator, zaštićeni macOS proces ili statički povezan mrežni klijent poseban je uslov kompatibilnosti. Ograničite postavku na željeni Python proces i proverite izabrani interpretator u konfiguraciji IDE-a.

Povezani članci