Ruby Net::FTP via SOCKS: inloggningen fungerar, nedladdningar hänger sig
Följ Ruby FTP:s kontroll- och dataanslutningar genom samma avsedda proxyväg.
FTP-inloggningen använder en kontrollanslutning. En mapplista eller nedladdning behöver sedan en dataanslutning, som kan misslyckas trots att inloggningen via SOCKS lyckades.
Identifiera först passivt eller aktivt läge. I passivt läge öppnar klienten en ny anslutning till adressen och porten som FTP-servern anger. Den anslutningen behöver också den avsedda proxyvägen.
Ruby-socketintegration
Rubys Net::FTP-API dokumenterar anslutnings- och passivlägesbeteendet. En SOCKS-integration måste täcka socket-skapandet som både kontroll- och datasökvägen använder; en HTTP-klients proxyinställning på annat håll konfigurerar dem inte.
Om integrationen ändrar socketbeteendet globalt, granska dess omfattning för trådar. Ett block runt en enda överföring kan inte isolera andra trådar från ändringar i delat tillstånd.
En leverantör kan erbjuda en statisk slutpunkt, men det är en tjänstefunktion och inte ett allmänt SOCKS-krav. Där separata anslutningar kan använda olika utgångar, kontrollera hur FTP-servern kopplar sin dataanslutning till den autentiserade kontrollanslutningen.
Notera steget som nåddes, läget och dataslutpunkten, utan inloggningsuppgifter. Det skiljer en blockerad datasökväg från en misslyckad proxyinloggning.