PyCharm के डीबगर कनेक्शन को प्रॉक्सी चेन से बाहर रखें
चुने गए Python इंटरप्रेटर को Proxychains के लिए लपेटें और आर्ग्युमेंट तथा डीबगर तक सीधा loopback मार्ग बनाए रखें।
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 के कॉन्फ़िगरेशन में चुना गया इंटरप्रेटर सत्यापित करें।