Ruby Net::FTP përmes SOCKS: hyrja funksionon, shkarkimet ngecin
Ndjek lidhjet e kontrollit dhe të dhënave të Ruby FTP nëpër të njëjtën rrugë proxy të synuar.
Hyrja në FTP përdor një lidhje kontrolli. Më pas, një listë dosjeje ose shkarkim kërkon një lidhje të dhënash, e cila mund të dështojë edhe pse hyrja përmes SOCKS ka pasur sukses.
Së pari përcakto modalitetin pasiv ose aktiv. Në modalitetin pasiv klienti hap një lidhje të re drejt adresës dhe portës që jep serveri FTP. Edhe ajo lidhje kërkon rrugën proxy të synuar.
Integrimi i socket-eve në Ruby
Net::FTP API e Ruby dokumenton sjelljen e lidhjes dhe të modalitetit pasiv. Një integrim SOCKS duhet të mbulojë krijimin e socket-it që përdoret nga rruga e kontrollit dhe ajo e të dhënave; cilësimi proxy i një klienti HTTP diku tjetër nuk i konfiguron ato.
Nëse integrimi ndryshon sjelljen e socket-it globalisht, rishiko shtrirjen e tij për sa u përket fijeve. Një bllok rreth një transferimi të vetëm nuk mund t'i izolojë fijet e tjera nga ndryshimet në gjendjen e përbashkët.
Një ofrues mund të ofrojë një pikë fundore statike, por kjo është veçori shërbimi, jo një kërkesë e përgjithshme e SOCKS. Kur lidhje të veçanta mund të përdorin dalje të ndryshme, kontrollo si serveri FTP e lidh lidhjen e tij të të dhënave me lidhjen e kontrollit të vërtetuar.
Regjistro fazën e arritur, modalitetin dhe pikën fundore të të dhënave, pa kredencialet. Kjo dallon një rrugë të dhënash të bllokuar nga një dështim i hyrjes në proxy.