Proxychains okolo ladiaceho procesu Pythonu môže zachytiť dve rôzne pripojenia: odchádzajúce pripojenie skriptu k službe a jeho miestne pripojenie späť k PyCharm. Ladiaci program potrebuje, aby to druhé zostalo miestne.

Kde IDE a hostiteľ podporujú obal interpretu, nasmerujte ho na skutočný interpret projektu:

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

Nahraďte obe cesty k spustiteľným súborom a cestu ku konfigurácii. Odovzdanie "$@" zachová jednotlivé argumenty ladiacého programu z IDE. exec zabráni spustenému procesu nechať medzi IDE a jeho potomkom zbytočnú obalovú shellu.

V tejto vyhradenej konfigurácii Proxychains ponechajte zamýšľanú reťaz a pridajte príslušnú priamu výnimku pre loopback:

localnet 127.0.0.0/255.0.0.0
localnet ::1/128

Tieto pravidlá obchádzajú reťaz pre číselné ciele loopback. Dodaná nadradená konfigurácia dokumentuje obmedzenia zhody názvov hostiteľov s proxy_dns, preto pri diagnostike tejto cesty uprednostnite skutočnú číselnú adresu loopback ladiacého programu. Nedávajte podsieti vzdialeného mapovania DNS do rovnakého vylúčeného rozsahu.

Zachovajte identitu interpretu

Použitie /usr/bin/python3 v obale môže ticho zvoliť iné prostredie z .venv projektu. Chýbajúce balíky potom vyzerajú ako porucha súvisiaca s proxy, hoci sa spustil iný interpret.

Proxychains sa spolieha na podporované zachytávanie dynamických knižníc. Odmietnutie obalu ako interpretu v IDE, chránený proces macOS alebo staticky linkovaný sieťový klient je samostatná podmienka kompatibility. Obmedzte usporiadanie na zamýšľaný proces Pythonu a overte vybraný interpret v konfigurácii IDE.

Súvisiace články