შეინახეთ PyCharm-ის დებაგერის კავშირი პროქსის ჯაჭვის გარეთ
შემოახვიეთ არჩეული Python-ის ინტერპრეტატორი Proxychains-ისთვის, არგუმენტებისა და დებაგერთან პირდაპირი loopback მარშრუტის შენარჩუნებით.
Proxychains Python-ის გამართვის პროცესის ირგვლივ შეიძლება ორი განსხვავებული კავშირი დაიჭიროს: სკრიპტის გამავალი სერვისის კავშირი და მისი ლოკალური კავშირი PyCharm-თან დაბრუნებისას. დებაგერს სჭირდება, რომ მეორე ლოკალური დარჩეს.
სადაც IDE და ჰოსტი ინტერპრეტატორის გარსს მხარს უჭერენ, მიუთითეთ ის პროექტის რეალურ ინტერპრეტატორზე:
#!/bin/sh
exec /usr/bin/proxychains4 -f /home/alex/proxychains-debug.conf "/home/alex/project/.venv/bin/python" "$@"შეცვალეთ შესრულებადი ფაილების ორივე გზა და კონფიგურაციის გზა. "$@"-ის გადაცემა ინარჩუნებს IDE-ის ცალკეულ დებაგერის არგუმენტებს. exec ხელს უშლის გაშვებულ პროცესს IDE-სა და მის შვილს შორის ზედმეტი გარსის shell დატოვებაში.
იმ გამოყოფილ 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-ის კონფიგურაციაში.