Ruby Net::FTP gennem SOCKS: login virker, downloads hænger
Følg Ruby FTP's kontrol- og dataforbindelser ad samme tilsigtede proxy-rute.
FTP-login bruger en kontrolforbindelse. En mappeliste eller download kræver derefter en dataforbindelse, som kan fejle, selv om login lykkedes gennem SOCKS.
Fastlæg først passiv eller aktiv tilstand. I passiv tilstand åbner klienten en ny forbindelse til den adresse og port, som FTP-serveren angiver. Den forbindelse kræver også den tilsigtede proxy-rute.
Ruby-sokkelintegration
Rubys Net::FTP-API dokumenterer forbindelses- og passivtilstandsadfærd. En SOCKS-integration skal dække den sokkeloprettelse, som både kontrol- og datastien bruger; en HTTP-klients proxyindstilling andre steder konfigurerer dem ikke.
Hvis integrationen ændrer sokkeladfærd globalt, gennemgå dens samtidighedsomfang. En blok omkring én overførsel kan ikke isolere andre tråde fra ændringer i delt tilstand.
En udbyder kan tilbyde et statisk endepunkt, men det er en servicefunktion og ikke et generelt SOCKS-krav. Hvor separate forbindelser kan bruge forskellige udgange, undersøg hvordan FTP-serveren knytter sin dataforbindelse til den godkendte kontrolforbindelse.
Noter det nåede trin, tilstanden og dataendepunktet uden legitimationsoplysninger. Det adskiller en blokeret datasti fra et mislykket proxy-login.