Python డీబగ్ ప్రక్రియ చుట్టూ Proxychains రెండు వేర్వేరు కనెక్షన్‌లను పట్టుకోవచ్చు: స్క్రిప్ట్ బయటకు వెళ్లే సేవా కనెక్షన్ మరియు PyCharm వైపు తిరిగి వెళ్లే దాని స్థానిక కనెక్షన్. డీబగ్గర్‌కు రెండవది స్థానికంగా ఉండాలి.

IDE మరియు హోస్ట్ ఇంటర్‌ప్రెటర్ ర్యాపర్‌కు మద్దతు ఇచ్చే చోట, దానిని ప్రాజెక్ట్ యొక్క వాస్తవ ఇంటర్‌ప్రెటర్ వైపు చూపండి:

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

ఎగ్జిక్యూటబుల్ ఫైల్‌ల రెండు మార్గాలను మరియు కాన్ఫిగరేషన్ మార్గాన్ని భర్తీ చేయండి. "$@" పంపడం IDE యొక్క వ్యక్తిగత డీబగ్గర్ ఆర్గ్యుమెంట్‌లను కాపాడుతుంది. exec ప్రారంభించిన ప్రక్రియ IDE మరియు దాని చైల్డ్ మధ్య అనవసరమైన ర్యాపర్ షెల్‌ను వదలకుండా నిరోధిస్తుంది.

ఆ ప్రత్యేక Proxychains కాన్ఫిగరేషన్‌లో, ఉద్దేశించిన గొలుసును ఉంచి సంబంధిత నేరుగా loopback మినహాయింపును జోడించండి:

localnet 127.0.0.0/255.0.0.0
localnet ::1/128

ఈ నియమాలు సంఖ్యాత్మక loopback గమ్యస్థానాలకు గొలుసును దాటవేస్తాయి. అందించిన అప్‌స్ట్రీమ్ కాన్ఫిగరేషన్ proxy_dns తో హోస్ట్‌నేమ్ సరిపోలిక పరిమితులను నమోదు చేస్తుంది, కాబట్టి ఆ మార్గాన్ని నిర్ధారించేటప్పుడు డీబగ్గర్ యొక్క వాస్తవ సంఖ్యాత్మక loopback చిరునామాను ఎంచుకోండి. రిమోట్ DNS మ్యాపింగ్ సబ్‌నెట్‌ను అదే మినహాయించిన పరిధిలో ఉంచవద్దు.

ఇంటర్‌ప్రెటర్ గుర్తింపును కాపాడండి

ర్యాపర్‌లో /usr/bin/python3 ఉపయోగించడం ప్రాజెక్ట్ .venv నుండి మరొక వాతావరణాన్ని నిశ్శబ్దంగా ఎంచుకోవచ్చు. అప్పుడు తప్పిపోయిన ప్యాకేజీలు ప్రాక్సీకి సంబంధించిన వైఫల్యంగా కనిపిస్తాయి, వేరే ఇంటర్‌ప్రెటర్ ప్రారంభమైనప్పటికీ.

Proxychains మద్దతు ఉన్న డైనమిక్-లైబ్రరీ ఇంటర్‌సెప్షన్పై ఆధారపడుతుంది. IDE ర్యాపర్‌ను ఇంటర్‌ప్రెటర్‌గా తిరస్కరించడం, రక్షిత macOS ప్రక్రియ లేదా స్థిరంగా లింక్ చేసిన నెట్‌వర్క్ క్లయింట్ వేరు సరిపోలిక షరతు. ఏర్పాటును ఉద్దేశించిన Python ప్రక్రియకు పరిమితం చేయండి మరియు IDE కాన్ఫిగరేషన్‌లో ఎంచుకున్న ఇంటర్‌ప్రెటర్‌ను ధృవీకరించండి.

సంబంధిత వ్యాసాలు