Ruby Net::FTP caur SOCKS: pieteikšanās strādā, lejupielādes iestrēgst
Izsekojiet Ruby FTP vadības un datu savienojumus pa to pašu paredzēto starpniekservera maršrutu.
FTP pieteikšanās izmanto vadības savienojumu. Pēc tam direktorijas sarakstam vai lejupielādei nepieciešams datu savienojums, kas var neizdoties pat tad, ja pieteikšanās caur SOCKS ir izdevusies.
Vispirms nosakiet pasīvo vai aktīvo režīmu. Pasīvajā režīmā klients atver jaunu savienojumu uz FTP servera norādīto adresi un portu. Šim savienojumam arī nepieciešams paredzētais starpniekservera maršruts.
Ruby ligzdu integrācija
Ruby Net::FTP API dokumentē savienojuma un pasīvā režīma uzvedību. SOCKS integrācijai jāaptver ligzdas izveide, ko izmanto gan vadības, gan datu ceļš; HTTP klienta starpniekservera iestatījums citviet tos nekonfigurē.
Ja integrācija globāli maina ligzdas uzvedību, pārskatiet tās pavedienu tvērumu. Bloks ap vienu pārsūtīšanu nevar izolēt citus pavedienus no koplietotā stāvokļa izmaiņām.
Pakalpojumu sniedzējs var piedāvāt statisku galapunktu, taču tā ir pakalpojuma iezīme, nevis vispārīga SOCKS prasība. Vietās, kur atsevišķi savienojumi var izmantot dažādas izejas, pārbaudiet, kā FTP serveris saista savu datu savienojumu ar autentificēto vadības savienojumu.
Pierakstiet sasniegto posmu, režīmu un datu galapunktu, noņemot akreditācijas datus. Tas atšķir bloķētu datu ceļu no neizdevušās starpniekservera pieteikšanās.