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 ਦੀ ਕਨਫਿਗਰੇਸ਼ਨ ਵਿੱਚ ਚੁਣਿਆ ਇੰਟਰਪ੍ਰੀਟਰ ਜਾਂਚੋ।

ਸੰਬੰਧਿਤ ਲੇਖ