Proxychains om in Python-debugproses kin twa ferskillende ferbiningen fange: de útgeande tsjinstferbining fan it skript en syn lokale ferbining werom nei PyCharm. De debugger hat de lêste nedich om lokaal te bliuwen.

Wêr't de IDE en host in ynterpreterwikel stypje, rjochtsje dy op 'e werklike ynterpreter fan it projekt:

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

Ferfange beide paden fan de útfierbere bestannen en it konfiguraasjepaat. It trochjaan fan "$@" behâldt de yndividuele debuggerarguminten fan 'e IDE. exec foarkomt dat it starte proses in ûnnedige wikel-skel tusken de IDE en syn bern efterlit.

Yn dy tawijde Proxychains-konfiguraasje hâldst de bedoelde keatling en foegest de oanbelangjende direkte loopback-útsûndering ta:

localnet 127.0.0.0/255.0.0.0
localnet ::1/128

Dizze regels geane by de keatling lâns foar numerike loopback-bestimmingen. De leverre boppesteande konfiguraasje dokumintearret beheiningen foar hostnamematching mei proxy_dns, dus kies by it diagnostisearjen fan dat paad it werklike numerike loopback-adres fan 'e debugger. Pleatst it subnet foar remote DNS-mapping net yn itselde útsletten berik.

Behâld de identiteit fan 'e ynterpreter

It brûken fan /usr/bin/python3 yn 'e wikel kin stil in oar omjouwing út 'e .venv fan it projekt kieze. Ûntbrekkende pakketten lykje dan op in proxy-relatearre flater, ek al is in oare ynterpreter start.

Proxychains fertrout op stipe ûnderskepping fan dynamyske bibleteken. In IDE dy't in wikel as ynterpreter wegeret, in beskerme macOS-proses of in statysk keppele netwurkklient is in aparte kompatibiliteitsbetingst. Behein de opstelling ta it bedoelde Python-proses en ferifiearje de keazen ynterpreter yn 'e konfiguraasje fan 'e IDE.

Relatearre artikelen