Jauhkan Koneksi Debugger PyCharm dari Rantai Proxy
Bungkus interpreter Python yang dipilih untuk Proxychains sambil mempertahankan argumen dan rute loopback langsung ke debugger.
Proxychains di sekitar proses debug Python dapat menangkap dua koneksi berbeda: koneksi layanan keluar dari skrip dan koneksi lokalnya kembali ke PyCharm. Debugger membutuhkan yang kedua tetap lokal.
Jika IDE dan host mendukung pembungkus interpreter, arahkan ke interpreter sebenarnya milik proyek:
#!/bin/sh
exec /usr/bin/proxychains4 -f /home/alex/proxychains-debug.conf "/home/alex/project/.venv/bin/python" "$@"Ganti kedua jalur executable dan jalur konfigurasi. Meneruskan "$@" mempertahankan argumen debugger individual dari IDE. exec mencegah proses yang diluncurkan meninggalkan shell pembungkus yang tidak perlu antara IDE dan anaknya.
Dalam konfigurasi Proxychains khusus itu, pertahankan rantai yang dimaksud dan tambahkan pengecualian loopback langsung yang relevan:
localnet 127.0.0.0/255.0.0.0
localnet ::1/128Aturan ini melewati rantai untuk tujuan loopback numerik. Konfigurasi hulu yang disediakan mendokumentasikan batasan pencocokan nama host dengan proxy_dns, jadi saat mendiagnosis jalur itu utamakan alamat loopback numerik sebenarnya milik debugger. Jangan menempatkan subnet pemetaan DNS jarak jauh di dalam rentang yang dikecualikan yang sama.
Pertahankan identitas interpreter
Menggunakan /usr/bin/python3 di pembungkus dapat diam-diam memilih lingkungan lain dari .venv proyek. Paket yang hilang lalu tampak seperti kegagalan terkait proxy, padahal interpreter lain yang dimulai.
Proxychains bergantung pada intersepsi pustaka dinamis yang didukung. IDE yang menolak pembungkus sebagai interpreter, proses macOS yang dilindungi, atau klien jaringan yang ditautkan statis adalah kondisi kompatibilitas tersendiri. Batasi pengaturan pada proses Python yang dimaksud dan verifikasi interpreter yang dipilih di konfigurasi IDE.