Unlimited cloud storage. Automagically infinite space to organize your content.
- Create a "master" dropbox account to run your application.
- Visit the developer site app console (https://www.dropbox.com/developers/apply?cont=/developers/apps) and create a Dropbox API app with files and datastores (the next option is up to you). Make sure you select all file types.
- Give your app a name (it doesn't matter)
- Copy the demo config_demo.py file, rename it to config.py, and replace the appropriate app key and app secret using the ones provided to your app in the dropbox app console.
- You'll need an instance of mongodb running. If you have mangodb installed, run mongod as a separate task. (http://docs.mongodb.org/manual/installation/)
- Make sure you have node.js installed -- specifically npm (http://nodejs.org/)
- Then, execute the following:
git clone git@github.com:raymondjacobson/monsoon.git
cd monsoon
npm install -g phantomjs
pip install -r requirements.txt
python monsoon.py -h
Until this project gets built out further, the interface is rather simple.
usage: monsoon [-h] action file
positional arguments:
action either 'put' or 'grab' a file
file file to commit action on
optional arguments:
-h, --help show this help message and exit
Example:
python monsoon.py put file.txt # uploads a file (making a new account if necessary)
python monsoon.py grab file.txt # gets the public and downloadable links for the file
- Each time monsoon needs to generate a new dropbox account, it takes a little time. Be patient on the first run and every time you use up 2 gigs.
- There is one caveat -- dropbox links expire January 1, 2030. you'll have to redo everything at that point and you might lose some stuff. Sorry.
- Fuzzy search to make finding the right files easier
- Possible simple front-end interface built around fuzzy search and/or cocoa app, etc.
- Better folder support
Inspired by a project I worked on called cumulus.af (https://github.com/unblevable/cumulus.af) at hackMIT fall 2013. Special thanks to Brian Le (@unblevable) and Alex Freska (@alexfreska)