No description
Find a file
2017-06-27 21:59:40 +10:00
client cleanup (structure): update code structure 2017-06-27 21:59:40 +10:00
docker bugfix (install): update installer 2017-06-27 15:07:42 +10:00
server other (ping): can ping the server to make sure everything is working 2017-06-27 15:09:16 +10:00
.babelrc code base cleanup 2017-06-13 17:44:33 +10:00
.gitignore code (cleanup): remove build artifacts 2017-06-19 19:42:05 +10:00
config.js code base cleanup 2017-06-13 17:44:33 +10:00
LICENSE Initial commit 2017-06-13 15:34:14 +10:00
package.json bugfix (install): update installer 2017-06-27 15:07:42 +10:00
README.org bugfix (install): update installer 2017-06-27 15:07:42 +10:00
webpack.config.js cleanup (structure): update code structure 2017-06-27 21:59:40 +10:00

https://raw.githubusercontent.com/mickael-kerjean/nuage/master/server/public/img/photo.jpg

What is it about?

Call it a ftp client, an s3 viewer or a dropbox like web app, Nuage leverage your existing storage to help you manage your files in the cloud using any of the following protocols/platforms:

  • FTP
  • SFTP
  • Webdav
  • Git
  • S3
  • Dropbox
  • Google Drive

Demo

Try before install

Features

  • manage your files directly from your browser
  • listen to music
  • watch your videos
  • show images
  • work with multiple cloud providers and protocols
  • upload files and folders
  • mobile friendly
  • emacs keybindings ;)

What about my credentials?

Credentials are stored in your browser in a http only cookie encrypted using aes-256-ctr and aren't persist in the server disk at all. The remember me feature rely on localstorage to store your credentials encrypted using aes-256-ctr.

Note that on the ftp and sftp session: connections aren't destroy on every request but are reused and kill after 2 minutes to make it feels faster and avoid reconnecting everytime you want to list some files.

Install

It's a simple react app with node in the backend. Installation requires docker, docker-compose and npm:

# get the code
curl -L -X GET https://github.com/mickael-kerjean/nuage/archive/master.zip > nuage.zip
unzip nuage.zip && cd nuage-master 
# install dependencies and create the actual image
npm run image && npm run start

That's it !

Known Issues

  • Webdav: the underlying library (webdav-fs) doesn't support stream which make it memory greedy if you try to upload or fetch large files.
  • Google Drive: Google drive let you add multiple files with the same name in the same directory. You won't be able to see all those in Nuage as we assumed that all filenames in a directory are uniques.

Motivation

I built this as a week end project initially to edit my org mode files on my mobile because I wasn't satisfied with any of the existing mobile client that try to force some predefined workflow or certain provider/protocols.

As I realise it soon, it doesn't have to be tight to org mode specifically and once I delivered the MVP, I just couldn't help myself to add more and more features and that's what I ended up with

Credits

  • Icons from www.flaticon.com
  • The Folks that develop awesome libraries