{"repo":"patrickjuchli/basic-ftp","free":true,"listed":false,"github":"https://github.com/patrickjuchli/basic-ftp","clone":"git clone https://github.com/patrickjuchli/basic-ftp.git","description":"FTP client for Node.js, supports FTPS over TLS, passive mode over IPv6, async/await, and Typescript.","language":"TypeScript","stars":734,"topics":["ftp","ftps","async-await","promise","tls","ipv6","typescript","nodejs"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Basic FTP This is an FTP client library for Node.js. It supports FTPS over TLS, Passive Mode over IPv6, has a Promise-based API, and offers methods to operate on whole directories. Active Mode is not supported. Advisory Prefer alternative transfer protocols like HTTPS or SFTP (SSH). FTP is a an old protocol with some reliability issues. Use this library when you have no choice and need to use FTP. Try to use FTPS (FTP over TLS) whenever possible, FTP alone does not provide any security. Dependencies Node 10.0 or later is the only dependency. Installation npm install basic-ftp Usage The first example will connect to an FTP server using TLS (FTPS), get a directory listing, upload a file and download it as a copy. Note that the FTP protocol doesn't allow multiple requests running in parallel. The next example deals with directories and their content. First, we make sure a remote path exists, creating all directories as necessary. Then, we make sure it's empty and upload the contents of a local directory. If you encounter a problem, it may help to log out all communication with the FTP server. Client API new Client(timeout, options) Create a client instance. Configure it with a timeout in milliseconds that will be used for any connection made. Use 0 to disable timeouts, default is 30 seconds. The timeout applies to the server: a transfer fails if the server stops making progress for that long. It doesn't limit how long your own streams may take. A download piped into a slow desti","default_branch":null,"files":null,"tree":[],"storefront":"/r/patrickjuchli","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/patrickjuchli/basic-ftp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}