Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

easy-backblaze

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

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.

  • 2.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
19
decreased by-54.76%
Maintainers
1
Weekly downloads
 
Created
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, can override the file name
    bucket: 'swooty' // Optional, a bucketName, default is the 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' // Optional, file will be given a random string by default (recommended)
}, 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

Package last updated on 27 Aug 2017

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc