A Node.js FTP client library with FTPS over TLS, IPv6 support, async/await API, and TypeScript definitions.
Basic FTP is an FTP client library for Node.js that enables file transfers over FTP and FTPS (FTP over TLS). It solves the problem of integrating FTP functionality into Node.js applications with a modern, Promise-based API, supporting features like IPv6, directory operations, and progress tracking.
Node.js developers who need to interact with FTP servers for file uploads, downloads, or directory management, especially in environments where FTP is the only available protocol.
Developers choose Basic FTP for its simplicity, native async/await support, built-in TypeScript definitions, and focus on security with TLS, avoiding the complexity of older FTP libraries.
FTP client for Node.js, supports FTPS over TLS, passive mode over IPv6, async/await, and Typescript.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Promises and async/await for clean, callback-free code, as demonstrated in the usage examples with straightforward error handling.
Supports FTP over TLS with both explicit and implicit modes, prioritizing secure connections as highlighted in the philosophy and advisory sections.
Provides methods like uploadFromDir and ensureDir for bulk file handling, simplifying tasks like syncing entire directories with remote servers.
Offers customizable progress handlers via trackProgress, enabling real-time monitoring of transfer bytes and overall progress for large files.
Includes built-in type definitions, making it seamless for TypeScript projects without additional setup, as noted in the static types section.
Relies on FTP, which the README admits is old and has reliability issues, making it a last-resort option compared to modern protocols like SFTP.
Lacks FTP active mode, limiting compatibility with certain server setups or network environments that require it for data connections.
Timeouts or connection errors automatically close the client, forcing manual reconnection with access() and complicating error recovery.
Directory listing parsing only supports MLSD, Unix, and DOS formats, which may fail with non-standard servers, potentially requiring custom parsers.