transfer-sh v2.1.1
transfer-sh
Node.js CLI tool for easy file sharing using Transfer.sh
Install
The easiest way to get transfer-sh is with npm:
$ npm install -g transfer-shCLI Usage
$ transfer hello.txtWill return a link to the resource and automatically you'll have it copied to your clipboard.
PS. transfer is an alias for transfer-sh.
Encrypt a file using a password:
$ transfer hello.txt -p s3cr3tExample
var Transfer = require('transfer-sh')
/* Encrypt and Upload */
new Transfer('./Hello.md', {password: 's3cr3t'})
.upload()
.then(function (link) { console.log(link) })
.catch(function (err) { console.log(err) })
/* Decrypt */
new Transfer('./Hello.enc', {password: 's3cr3t'})
.decrypt('Output.md') // or writable stream
.then(function (wStream) { console.log('Decrypted!') }) // it returns a writableStream
.catch(function (err) { console.log(err) })NB.: The constructor accepts also a Readable stream as 1th param, in that case make sure to provide a name option.
Options
password: optional field, if provided will encrypt the file with aes-256-cbc no-salt and base64 encoded before the upload.
You can then easily decrypt your file using transfer-sh itself:
$ transfer -d hello.enc -p s3cr3t [-o output.txt]or the openssl util:
$ openssl aes-256-cbc -d -a -nosalt -in <encrypted_file> -out <destination> -k <password>openssl params explanation:
-d decrypt.
-a to decode base64 (with line break). NB. The file is base64 encoded to be easy human-readable and to allow easy copy-paste.
-nosalt The used node crypto lib by default doesn't apply any salt.
-in input encrypted file.
-out output decrypted file.
-k password.
Author
Rocco Musolino (@roccomuso)
LICENSE
MIT