Proxychains al voltant d'un procés de depuració de Python pot capturar dues connexions diferents: la connexió de servei sortint de l'script i la seva connexió local de tornada a PyCharm. El depurador necessita que la segona es quedi local.

On l'IDE i l'amfitrió admeten un embolcall d'intèrpret, apunta'l a l'intèrpret real del projecte:

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

Substitueix els dos camins dels executables i el camí de configuració. Reenviar "$@" preserva els arguments individuals del depurador de l'IDE. exec evita que el procés iniciat deixi una shell d'embolcall innecessària entre l'IDE i el seu fill.

En aquesta configuració dedicada de Proxychains, mantén la cadena prevista i afegeix l'excepció directa de loopback corresponent:

localnet 127.0.0.0/255.0.0.0
localnet ::1/128

Aquestes regles salten la cadena per a destinacions numèriques de loopback. La configuració d'origen subministrada documenta restriccions per a la coincidència de noms d'amfitrió amb proxy_dns, així que, en diagnosticar aquest camí, prefereix l'adreça numèrica real de loopback del depurador. No posis la subxarxa de mapatge DNS remot dins del mateix rang exclòs.

Preserva la identitat de l'intèrpret

Fer servir /usr/bin/python3 a l'embolcall pot triar silenciosament un altre entorn del .venv del projecte. Llavors els paquets que falten semblen una fallada relacionada amb el proxy, tot i que s'ha iniciat un intèrpret diferent.

Proxychains es basa en la intercepció admesa de biblioteques dinàmiques. Que un IDE rebutgi un embolcall com a intèrpret, un procés protegit de macOS o un client de xarxa enllaçat estàticament és una condició de compatibilitat a part. Limita la disposició al procés Python previst i verifica l'intèrpret seleccionat a la configuració de l'IDE.

Articles relacionats