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 ಯ ಸಂರಚನೆಯಲ್ಲಿ ಆಯ್ದ ಇಂಟರ್ಪ್ರಿಟರ್ ಪರಿಶೀಲಿಸಿ.