A Python hibakeresési folyamat körüli Proxychains két különböző kapcsolatot foghat meg: a szkript kimenő szolgáltatáskapcsolatát és a PyCharmhoz visszavezető helyi kapcsolatát. A hibakeresőnek az utóbbira van szüksége helyben.

Ahol az IDE és a gazdagép támogat értelmezőburkolót, irányítsa a projekt tényleges értelmezőjére:

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

Cserélje ki mindkét végrehajtható fájl útvonalát és a konfigurációs útvonalat. A "$@" továbbítása megőrzi az IDE egyedi hibakereső argumentumait. Az exec megakadályozza, hogy az indított folyamat felesleges burkolóhéjat hagyjon az IDE és gyermeke között.

Ebben a dedikált Proxychains-konfigurációban tartsa meg a szándékolt láncot, és adja hozzá a megfelelő közvetlen loopback-kivételt:

localnet 127.0.0.0/255.0.0.0
localnet ::1/128

Ezek a szabályok megkerülik a láncot a numerikus loopback-céloknál. A mellékelt felsőbb konfiguráció dokumentálja a gazdagépnevek proxy_dns-szel való egyeztetésének korlátait, ezért az útvonal diagnosztizálásakor részesítse előnyben a hibakereső tényleges numerikus loopback-címét. Ne helyezze a távoli DNS-leképezés alhálózatát ugyanabba a kizárt tartományba.

Őrizze meg az értelmező azonosságát

A /usr/bin/python3 használata a burkolóban csendben más környezetet választhat a projekt .venv-jéből. A hiányzó csomagok ekkor proxyval kapcsolatos hibának tűnnek, pedig más értelmező indult el.

A Proxychains a támogatott dinamikus könyvtár-elfogáson alapul. Ha az IDE elutasítja a burkolót értelmezőként, egy védett macOS-folyamat vagy egy statikusan linkelt hálózati kliens külön kompatibilitási feltétel. Korlátozza az elrendezést a szándékolt Python-folyamatra, és ellenőrizze a kiválasztott értelmezőt az IDE konfigurációjában.

Kapcsolódó cikkek