Ruby Net::FTP preko SOCKS-a: prijava radi, preuzimanja se blokiraju
Prati kontrolnu i podatkovnu vezu Ruby FTP-a istom predviđenom proxy rutom.
Prijava na FTP koristi kontrolnu vezu. Zatim je za spisak direktorija ili preuzimanje potrebna podatkovna veza, koja može propasti iako je prijava preko SOCKS-a uspjela.
Najprije utvrdi pasivni ili aktivni način. U pasivnom načinu klijent otvara novu vezu prema adresi i portu koje navede FTP server. Ta veza također treba predviđenu proxy rutu.
Ruby integracija socketa
Net::FTP API u Rubyju dokumentira ponašanje veze i pasivnog načina. SOCKS integracija mora pokriti stvaranje socketa koje koriste i kontrolni i podatkovni put; proxy postavka HTTP klijenta negdje drugdje ih ne konfigurira.
Ako integracija mijenja ponašanje socketa globalno, pregledaj njen opseg po nitima. Blok oko jednog prijenosa ne može izolirati druge niti od promjena dijeljenog stanja.
Pružatelj može ponuditi statičnu završnu točku, ali to je značajka usluge, a ne opći SOCKS zahtjev. Gdje odvojene veze mogu koristiti različite izlaze, provjeri kako FTP server povezuje svoju podatkovnu vezu s autentificiranom kontrolnom vezom.
Zabilježi dostignutu fazu, način i podatkovnu završnu točku, bez vjerodajnica. To razlikuje blokiran podatkovni put od neuspješne proxy prijave.