აპლიკაციის SOCKS პორტზე მიმართვა მუშაობს ბრაუზერისთვის და ვერ მუშაობს თამაშისთვის, და მიზეზი კონფიგურაცია არ არის. SOCKS5 რამდენიმე ბრძანებას განსაზღვრავს, და იმპლემენტაციას შეუძლია მათგან მხოლოდ ზოგიერთს უჭერდეს მხარს; Tor-ის ინტერფეისი იღებს ნაკადურ კავშირებს და სახელების გარჩევას, და არა თვითნებური დატაგრამების გადაცემას. კლიენტი, რომელიც UDP-ს აგზავნის და ელოდება, რომ პროქსი მას გადასცემს, ითხოვს ბრძანებას, რომელსაც სერვერი არ ახორციელებს. ქვემოთ მოცემული სახელმძღვანელო ამას რამდენიმე წუთში ამოწმებს და შემდეგ ირჩევს ტრანსპორტს, რომელსაც ნამდვილად შეუძლია იმუშაოს.

შეამოწმეთ, რას აგზავნის აპლიკაცია სინამდვილეში

დაიწყეთ ტრანსპორტის იდენტიფიცირებით და არა პროტოკოლის სახელით. ხმოვან კლიენტს შეუძლია HTTPS-ით შესვლა და შემდეგ მედიის UDP-ით გადაცემა; თამაშს შეუძლია TCP-ით ავთენტიფიკაცია და UDP-ით თამაში; ფაილის გადაცემას შეუძლია TCP გამოიყენოს სამართავად და UDP აღმოჩენისთვის. პირველი ორი ქცევა იდენტურად გამოიყურება, სანამ შესვლა წარმატებით დასრულდება და ზარი მაინც ვერ მოხდება, ამიტომ „დაკავშირდა“ არ არის მტკიცებულება, რომ მთელი აპლიკაცია მუშაობს. ზოგიერთი კლიენტი თავადვე ბრუნდება UDP-იდან TCP-ზე, რაც ნაწილობრივ მომუშავე სესიას არასტაბილურ ქსელად აჩვენებს და არა დაბლოკილ ტრანსპორტად.

ჩაიწერეთ დანიშნულების პორტი და ტრანსპორტი იმ ნაწილისთვის, რომელიც ვერ მუშაობს. სწორედ ეს ერთი ხაზი წყვეტს, შეუძლია თუ არა პროქსის საერთოდ დახმარება.

რას მიიღებს Tor-ის SOCKS ინტერფეისი

Tor ახორციელებს SOCKS5 CONNECT ბრძანებას ნაკადური კავშირებისთვის და გაფართოების ბრძანებებს სახელების გარჩევისთვის, ამიტომ ბრაუზერი უცვლელად მუშაობს მის გავლით. UDP ASSOCIATE, ბრძანება, რომელიც კლიენტს საშუალებას მისცემდა დატაგრამები პროქსისთვის გადაეცა გადასაცემად, არ შედის იმაში, რასაც Tor გვთავაზობს. გაფართოებების დოკუმენტაცია პროექტის SOCKS გაფართოებების სპეციფიკაციაში არის და მოკლეა. დატაგრამის ბრძანების არარსებობა განზრახ არის: თვითნებური UDP-ის გადაცემა ქსელს გადამცემის როლს მისცემდა, რომლისთვისაც ის არასდროს დაპროექტებულა.

ეს ასევე პასუხია WireGuard-ისთვის, რომელიც დიზაინით UDP არის და არ აქვს TCP სარეზერვო გზა. არ არსებობს მხარდაჭერილი გზა, რომელიც WireGuard-ს SOCKS პორტზე მიმართავს, და ყველაფერი, რაც საწინააღმდეგოს ამტკიცებს, გარსია საკუთარი ნდობისა და მოვლის ისტორიით და არა რომელიმე ორი ხელსაწყოს თვისება.

OpenVPN ნაწილობრივი გამონაკლისია, რადგან მისი კონფიგურირება TCP-ზე გვირაბისთვის შეიძლება და მას SOCKS პროქსის ოფცია ესმის. ეს მაინც მოითხოვს TCP-ისთვის კონფიგურირებულ სერვერს და გააზრებულ გადაწყვეტილებას წარმადობისა და ანაბეჭდის შედეგებზე, ამიტომ ეს დიზაინის არჩევანია და არა თავსებადობის შესწორება.

შეასრულეთ შემოწმება რიგითად

ჯერ დაადასტურეთ, რომ პროქსი ნაკადებისთვის მუშაობს, რომ მოგვიანებით წარუმატებლობა მიუწვდომელ პორტს არ დაეკისროს. შემდეგ დაადასტურეთ თავად აპლიკაციის ტრაფიკი და დააკვირდით, რომელ სოკეტებს ხსნის ის რეალურად.

curl --socks5-hostname 127.0.0.1:9050 -sS https://check.torproject.org/api/ip
ss -tupn | grep 9050
ss -aun | grep -E ':(3478|5060|27015)\b'

წარმატებული პირველი ბრძანება და მეორე ხაზში დამყარებული ნაკადი აჩვენებს, რომ პროქსის გზა დაპროექტებულისამებრ მუშაობს. მესამე ბრძანება ეძებს აპლიკაციის კუთვნილ ლოკალურ დატაგრამის სოკეტებს; თუ კლიენტი ერთს გახსნის და პირდაპირ შორეულ მისამართზე გააგზავნის, მას პროქსის არასდროს უკითხავს და არც ერთი პროქსის პარამეტრი ამას არ შეცვლის. თუ ის პირველივე ნაბიჯზე ვერ მუშაობს, გაჩერდით და პროქსის გზა შეასწორეთ სანამ აპლიკაციას გამოიკვლევთ, რადგან ერთდროულად ორი ხარვეზი ქმნის ანგარიშს, რომლითაც ვერავინ იმოქმედებს.

დააბრუნეთ და აირჩიეთ სწორი ხელსაწყო

წაშალეთ ნებისმიერი პროქსის გარემოს ცვლადი ან აპლიკაციის პროქსის პარამეტრი, რომელიც UDP კლიენტს SOCKS პორტზე მიმართავდა; მათი დატოვება შემდგომ ტესტებს ორაზროვანს ხდის. აღადგინეთ წინა კონფიგურაცია ასლიდან, გადატვირთეთ აპლიკაცია და დაადასტურეთ, რომ თავდაპირველი ქცევა ბრუნდება, რათა შედარება სუფთა იყოს. შეუმოწმებელი დაბრუნება მხოლოდ იმედია, რომ მდგომარეობა შეიცვალა.

იმ ტრანსპორტისთვის, რომელიც UDP-ად უნდა დარჩეს, VPN ჩვეულებრივ უფრო შესაფერისია: ის ატარებს აპლიკაციის პაკეტებს იმის გარეშე, რომ აპლიკაციას პროქსის პროტოკოლზე საუბარი მოსთხოვოს, სრულიად განსხვავებული ანონიმურობის თვისებების ფასად. გამოიყენეთ ყოველი ხელსაწყო იმისთვის, რასაც ის ადასტურებს, და მათ შორის ნებისმიერი ხიდი განიხილეთ როგორც ცალკე სისტემა, რომელსაც საკუთარი გადახედვა სჭირდება. საბოლოო ანგარიშში ჩაწერეთ, რომელი შრე რომელ ტრანსპორტს ატარებს, რათა შემდეგმა ადამიანმა იგივე ზღვარი სხვა აპლიკაციით ხელახლა არ აღმოაჩინოს.

დაკავშირებული სტატიები