Code Monkey home page Code Monkey logo

unifile's Introduction

Unifile, unified access to cloud storage services.

Build Status Codacy Badge Known Vulnerabilities bitHound Overall Score

Nodejs library to access cloud storage services with a common API.

NPM

Currently supported services

  • FTP
  • SFTP
  • Dropbox
  • GitHub: use git as a cloud with repository and branches as folder
  • RemoteStorage
  • WebDAV
  • Local filesystem (might be useful to copy from your drive to your cloud)

Motivation

With the rise of cloud services and the need to be independant of such or such provider, we decided to create a common tool to access a lot of online plateform.

This aim to give the user of your app the liberty of choosing where they want to store their data.

Use

Requirements

Use in your Node.js project

Add unifile lib to your project

$ npm install unifile --save

Vanilla Node.js

Unifile use an API similar to the native fs module but with Bluebird Promises instead of callbacks.

You can find the whole API documentation on the project page.

With Express

Then write a small Node.js server like this one. Or play with the sample:

$ cd samples
$ npm install
$ node simple-api-server.js

Then open http://localhost:6805/ and play with your cloud storages.

CloudExplorer

You could also take a look at the UI called CloudExplorer: here's a live demo.

Privacy

Most of the service in Unifile uses OAuth 2 to connect the user into the service. This means Unifile doesn't have the user credential at any time.

For the server that doesn't support OAuth, like FTP, the credentials are never stored.

In all case, Unifile never uses any data of the user.

License

license: MIT

Developer guide

Add a service

Unifile is built on modularity, meaning you can create a connector to a service a plug it in Unifile withouth modifying Unifile. So feel free to add any services you need! Don't forget to let us know about it so we could tell everyone ๐Ÿ˜‰.

Here is a list of services which could be useful

  • Google Drive
  • Amazon S3
  • CozyCloud, BTSync
  • SkyDrive, RapidShare, CloudMine, FilesAnywhere
  • SugarSync
  • Facebook (if possibe?)
  • a random list of other cloud storage services: Amazon Cloud Drive, Bitcasa, Box, DollyDrive, iCloud Drive, Microsoft OneDrive, SpiderOak, SugarSync, Wuala

Roadmap

Let's discuss this list of issues which set the future of unifile

unifile's People

Contributors

lexoyo avatar jbips avatar zabojad avatar krishnapg avatar pierreozoux avatar ronandrouglazet avatar singchan avatar

Watchers

James Cloos avatar Tim Newsom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.