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 को कन्फिगरेसनमा छानिएको इन्टरप्रिटर प्रमाणित गर्नुहोस्।