node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org »



Build Status

Build your own backup


Slick offers an encrypted file-system where long-term storage is offloaded to a Cloud provider of your choosing. In addition to data being encrypted, the metadata describing your file-system is also encrypted.

Slick can easily be included in a nodejs project to store data. Let's try it out!

const slick = require('slick-io');
slick.configure((setup, done) => {
  console.log("configuring slick for the first time");
  setup.meta.useDisk({size: 52428800});    // 50mb limit 
  setup.bulk.useDisk({size: 10737418240}); // 10gb limit 
}).on('fatal', function(error) {
  console.error('got a fatal error', error);
}).on('warning', function(warning) {
  console.error('got a warning', warning);
}).whenReady(() => {
    web: { port: 8091 },
    fuse: { mounts: { 'vol': {mountPoint: 'mnt/vol'}}}
  slick.web.start({port: ...});
  const vol = slick.volumes.volume('vol');
    .add('./', '/', (err) => {
      if (err) console.error('there was an error', err);
      console.log('all done');

There is currently no documentation for this interface, but you can look at lib/volumes/index.js and lib/volumes/interfaces.js for some hints.