Socket
Socket
Sign inDemoInstall

ftps-promise

Package Overview
Dependencies
1
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ftps-promise

FTP, FTPS and SFTP client for node.js, mainly a lftp wrapper.


Version published
Weekly downloads
10
increased by25%
Maintainers
1
Install size
1.36 MB
Created
Weekly downloads
 

Readme

Source

node-ftps-promise

Fork of node-ftps using available ES6 in node 4.2.1 and Promises

FTP, FTPS and SFTP client for node.js, mainly a lftp wrapper.

Requirements

You need to have the executable lftp installed on your computer.

LFTP Homepage

LFTP For Windows

Installation

npm install ftps

Usage

var FTPS = require('ftps');
var ftps = FTPS({
  host: 'domain.com', // required
  username: 'Test', // required
  password: 'Test', // required
  protocol: 'sftp', // optional, values : 'ftp', 'sftp', 'ftps',... default is 'ftp'
  // protocol is added on beginning of host, ex : sftp://domain.com in this case
  port: 22, // optional
  // port is added to the end of the host, ex: sftp://domain.com:22 in this case
  escape: true, // optional, used for escaping shell characters (space, $, etc.), default: true
  retries: 2, // Optional, defaults to 1 (1 = no retries, 0 = unlimited retries)
  timeout: 10,
  requiresPassword: true, // Optional, defaults to true
  autoConfirm: true, // Optional, is used to auto confirm ssl questions on sftp or fish protocols, defaults to false
  cwd: '' // Optional, defaults to the directory from where the script is executed 
});
// Do some amazing things
ftps.cd('some_directory').addFile(__dirname + '/test.txt').then(console.log);

Some documentation

Here are some of the chainable functions :

ftps.ls()
ftps.pwd()
ftps.cd(directory)
ftps.cat(pathToRemoteFiles)
ftps.put(pathToLocalFile, [pathToRemoteFile]) // alias: addFile
ftps.get(pathToRemoteFile, [pathToLocalFile]) // download remote file and save to local path (if not given, use same name as remote file), alias: getFile
ftps.mv(from, to) // alias move
ftps.rm(file1, file2, ...) // alias remove
ftps.rmdir(directory1, directory2, ...)

If you want to escape some arguments because you used "escape: false" in the options:

ftps.escapeshell('My folder');
// Return 'My\\ \\$folder'

Execute a command on the remote server:

ftps.raw('ls -l')

To see all available commands: LFTP Commands

For information, ls, pwd, ... rm are just some alias of raw() method.

Run the commands

ftps.exec().then(res => {
  // res is an hash with { error: stderr, data: stdout }
});
// exec() return a promise

Also, take note that if a command fails it will not stop the next commands from executing, for example:

ftps.cd('non-existing-dir/').addFile('./test.txt').then(console.log);
/*
Will add file on ~/ and give:
{
  error: 'cd: non-existing-dir: No such file or directory\n',
  data: ''
}
So...be cautious because ./test.txt has been added
*/

Why?

Because I wantded to be able to compose it with promises and wanted methods to be first-class, so avoid the hassle of prototype.

Keywords

FAQs

Last updated on 22 Jan 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc