transfer-sh
v2.1.1
Published
Node.js CLI tool for easy file sharing using Transfer.sh
Downloads
898
Maintainers
Readme
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-sh
CLI Usage
$ transfer hello.txt
Will 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 s3cr3t
Example
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