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

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

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

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

U toj namjenskoj 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 odredišta. Priložena nadređena konfiguracija dokumentuje ograničenja podudaranja imena hostova s proxy_dns, pa pri dijagnostici tog puta dajte prednost stvarnoj numeričkoj loopback adresi debuggera. Ne stavljajte podmrežu udaljenog DNS mapiranja u isti izuzeti raspon.

Očuvajte identitet interpretatora

Korištenje /usr/bin/python3 u omotaču može tiho odabrati drugo okruženje iz .venv projekta. Tada nedostajući paketi izgledaju kao kvar povezan s 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 zaseban je uvjet kompatibilnosti. Ograničite postavku na željeni Python proces i provjerite odabrani interpretator u konfiguraciji IDE-a.

Povezani članci