Socket
Socket
Sign inDemoInstall

easy-backblaze

Package Overview
Dependencies
0
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    easy-backblaze

A powerful, yet simple and lightweight re-imagination of the Backblaze API. Upload a file in one call, with autoretry and encryption.


Version published
Weekly downloads
10
increased by100%
Maintainers
1
Install size
10.1 kB
Created
Weekly downloads
 

Readme

Source

npm install --save easy-backblaze

Easy Backblaze is a powerful, yet simple and lightweight re-imagination of the Backblaze API. Upload a file in one call, just like in S3! Because of the depth and complexity of simply uploading, for now, this package will focus only on uploading a file. It will retry after encountering 429 (Too Many Requests), 408 (Request Timeout), 500 (Internal Error) and 503 (Service Unavailable) errors.

var B2 = require('easy-backblaze');
var b2 = new B2('account_id', 'application_key');

b2.uploadFile('/var/tmp/test.mp4', {
    name: 'swiggity-swooty.mp4', // Optional, renames file
    bucket: 'swooty', // Optional, defaults to first bucket
}, function(err, res) {
    console.log('Done!', err, res);
});

// res = https://f001.backblazeb2.com/file/swooty/swiggity-swooty.mp4

Get Progress Updates

var client = b2.uploadFile('/var/tmp/test.mp4', function(err, res) {
    console.log('Done!', err, res);
});

client.on('progress', function(progress) {
    // Every time 512 KB finish uploading
    console.log('Progress:', progress);
});

AES-256 Encryption

To upload a file and encrypt it, just add a password:

b2.uploadFile('/var/tmp/test.mp4', {
    password: 'ggf96fjo',
    name: 'secretFileName.mp4',
}, function(err, res) {
    console.log('Done!', err, res);
});

To decrypt, download and pipe the stream through any old compatible decipher:

var decipher = crypto.createDecipher('aes-256-ctr', 'ggf96fjo');
var input = fs.createReadStream('test.mp4');
var output = fs.createWriteStream('output.mp4');
input.pipe(decipher).pipe(output);

Additional Options

An additional options argument can be used to specify a default bucket for uploads.

var b2 = new B2('account_id', 'application_key', {bucket: 'swooty'});
b2.uploadFile('/var/tmp/test.mp4', function(err, res) {
    console.log('Done!', err, res);
});

If you appreciate the work that went into this, donate to 15BHA6gPYszTfsbDHUag4nu6WZiQPkDoUL

Keywords

FAQs

Last updated on 27 Aug 2017

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