Bir Python hata ayıklama süreci çevresindeki Proxychains iki farklı bağlantıyı yakalayabilir: betiğin dışa giden hizmet bağlantısı ve PyCharm'a geri dönen yerel bağlantısı. Hata ayıklayıcı ikincisinin yerel kalmasına ihtiyaç duyar.

IDE ve ana makine bir yorumlayıcı sarmalayıcısını destekliyorsa, onu projenin gerçek yorumlayıcısına yönlendirin:

#!/bin/sh
exec /usr/bin/proxychains4 -f /home/alex/proxychains-debug.conf "/home/alex/project/.venv/bin/python" "$@"

Her iki çalıştırılabilir dosya yolunu ve yapılandırma yolunu değiştirin. "$@" iletmek IDE'nin bireysel hata ayıklayıcı bağımsız değişkenlerini korur. exec, başlatılan sürecin IDE ile alt süreci arasında gereksiz bir sarmalayıcı kabuğu bırakmasını önler.

Bu özel Proxychains yapılandırmasında amaçlanan zinciri koruyun ve ilgili doğrudan loopback istisnasını ekleyin:

localnet 127.0.0.0/255.0.0.0
localnet ::1/128

Bu kurallar sayısal loopback hedefleri için zinciri atlar. Sağlanan üst yapılandırma, proxy_dns ile ana makine adı eşleştirmesine ilişkin kısıtlamaları belgeler; bu nedenle o yolu incelerken hata ayıklayıcının gerçek sayısal loopback adresini tercih edin. Uzak DNS eşleme alt ağını aynı hariç tutulan aralığa koymayın.

Yorumlayıcı kimliğini koruyun

Sarmalayıcıda /usr/bin/python3 kullanmak, projenin .venv'inden sessizce başka bir ortam seçebilir. O zaman eksik paketler, başka bir yorumlayıcı başlamış olsa da proxy ile ilgili bir arıza gibi görünür.

Proxychains desteklenen dinamik kitaplık müdahalesine dayanır. Bir IDE'nin sarmalayıcıyı yorumlayıcı olarak reddetmesi, korumalı bir macOS süreci veya statik olarak bağlanmış bir ağ istemcisi ayrı bir uyumluluk koşuludur. Düzeni amaçlanan Python süreciyle sınırlayın ve seçilen yorumlayıcıyı IDE yapılandırmasında doğrulayın.

İlgili makaleler