Pidä PyCharmin debugger-yhteys poissa välityspalvelinketjusta
Kääri valittu Python-tulkki Proxychainsia varten säilyttäen argumentit ja suora loopback-reitti debuggereille.
Proxychains Pythonin debuggausprosessin ympärillä voi napata kaksi eri yhteyttä: skriptin lähtevän palveluyhteyden ja sen paikallisen yhteyden takaisin PyCharmiin. Debuggeri tarvitsee jälkimmäisen pysymään paikallisena.
Kun IDE ja isäntä tukevat tulkin käärettä, osoita se projektin varsinaiseen tulkkiin:
#!/bin/sh
exec /usr/bin/proxychains4 -f /home/alex/proxychains-debug.conf "/home/alex/project/.venv/bin/python" "$@"Korvaa molemmat suoritettavien tiedostojen polut ja asetustiedoston polku. "$@":n välittäminen säilyttää IDE:n yksittäiset debuggeriargumentit. exec estää käynnistettyä prosessia jättämästä tarpeetonta kääreshelliä IDE:n ja sen lapsen väliin.
Tässä erillisessä Proxychains-asetuksessa pidä aiottu ketju ja lisää asiaankuuluva suora loopback-poikkeus:
localnet 127.0.0.0/255.0.0.0
localnet ::1/128Nämä säännöt ohittavat ketjun numeerisille loopback-kohteille. Mukana toimitettu ylävirran asetus dokumentoi isäntänimien täsmäytyksen rajoitukset proxy_dns:n kanssa, joten diagnosoidessasi tätä reittiä suosi debuggerin todellista numeerista loopback-osoitetta. Älä sijoita etä-DNS:n kartoituksen aliverkkoa samaan poissuljettuun alueeseen.
Säilytä tulkin identiteetti
Kun kääreessä käytetään /usr/bin/python3:a, se voi hiljaa valita toisen ympäristön projektin .venv:stä. Silloin puuttuvat paketit näyttävät välityspalvelimeen liittyvältä vialta, vaikka käynnistyi toinen tulkki.
Proxychains nojaa tuettuun dynaamisten kirjastojen sieppaukseen. IDE, joka hylkää kääreen tulkkina, suojattu macOS-prosessi tai staattisesti linkitetty verkkopalvelinasiakas on erillinen yhteensopivuusehto. Rajaa järjestely aiottuun Python-prosessiin ja varmista valittu tulkki IDE:n asetuksista.