node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


Koofr Node.js SDK

This is a Node.js SDK for easy interaction with Koofr service.

Code documentation:


npm install koofr


This is a basic example that lists files in first mount. For detailed usage take a look at tests.

var Koofr = require('koofr');
var client = new Koofr('');
client.authenticate('', 'secret')
  .then(function () {
    return client.mounts();
  .then(function (mounts) {
    return client.filesList(mounts[0].id, '/');
  .then(function (files) {

Running tests


Basic concepts


Mounts are the central concept to Koofr. Each mount is a virtual filesystem root; it may be a physical device, a shared folder or something else. Each mount has a unique identifier to reference it.

A mount may contain other mounts. For example: you have a storage device My Place where you have a folder Pictures. If you share Pictures you will implicitly create a new mount. So a picture stored under My Place | /Pictures/01.jpg will also be accessible through Pictures | /01.jpg.


Each file is identified by a pair of mount identifier and a path. Therefore all file operations take a mount id (to specify which filesystem root to use) and a path.

Files stored in Koofr are immutable. This means you cannot modify file after you upload it. You can however delete it and replace it with a modified version - Koofr will detect this as a modification.