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

ಸಂಬಂಧಿತ ಲೇಖನಗಳು