ssh2-fs
v1.1.2
Published
Transparent use of the `fs` module locally or over SSH
Downloads
3,164
Readme
Node.js ssh2-fs
The Node.js ssh2-fs package extends the ssh2
module to provide
transparent of the fs
and module either locally or over SSH.
Installation
This is OSS and licensed under the new BSD license.
npm install ssh2-fs
Usage
The API borrows from the fs.promises
module with the additionnal first
argument. The function run locally when "null" or it run over SSH when an
ssh2
connection. Otherwise the API is strictly the same with a few
exception due to the SSH2 API:
- The
exists
function which execute the call with 2 arguments: an error and the exists argument. - The functions
createReadStream
andcreateWriteStream
return a promise with a stream argument.
Only the asynchronous functions are ported, we have no plan to support
synchronous functions. Morevover, they are not supported by [ssh2
].
Non (yet) implemented functions are "ftruncate", "truncate", "fchown", "lchown", "fchmod", "lchmod", "fstat", "realpath", "rmdir", "close", "open", "utimes", "fsync", "write", "read", "appendFile", "watchFile", "unwatchFile", "watch".
Examples
The example is using both the "ssh2-connect" and "ssh2-fs" modules.
const connect = require('ssh2-connect');
const fs = require('ssh2-fs');
const ssh = await connect({host: 'localhost'});
await fs.mkdir(ssh, '/tmp/a_dir');
Development
Tests are executed with mocha. To install it, simple run npm install
, it will install
mocha and its dependencies in your project "node_modules" directory.
To run the tests:
npm test
The test suite is run online with Travis against Node.js version 0.9, 0.10 and 0.11.
The tests run against the CoffeeScript source files.
To generate the JavaScript files:
make build
To version and publish:
npm run release
npm publish
Contributors
- David Worms: https://github.com/wdavidw