Free, unlimited cloud storage! Powered by familiar FTP-style command line controls.
- Create a "master" Dropbox account to run your application.
- Visit the developer site app console and create a Dropbox API app with files and datastores. The app data folder and name settings are up to you.
- Execute the following:
git clone [email protected]:akalicki/stratus.git
cd stratus
npm install -g phantomjs
pip install -r requirements.txt
- Replace the
app_key
andapp_secret
fields in theconfig.py
file with the strings provided to your app in the Dropbox app console.
The app runs almost identically to the FTP console interface once initialized.
From the stratus folder, simply type python stratus.py
to begin and help
for the list of commands:
stratus - v0.1.0
---------------------
help - list all commands
quit - exit the program (aliases: exit, logout)
# Navigation:
pwd - get path of stratus directory
lpwd - get path of local directory
ls - list files in stratus directory
lls - list files in local directory
cd [path] - navigate to stratus directory at path
lcd [path] - navigate to local directory at path
mkdir [path] - create stratus directory at given path
rmdir [path] - remove stratus directory at given path
# File Operations:
put [lpath] [spath] - upload file from lpath to spath
get [spath] [lpath] - download file at spath to lpath
mv [path1] [path2] - move stratus file from path1 to path2
link [path] - get web links to stratus file at given path
rm [path] - delete stratus file at given path
- Autocomplete to make navigating faster
- Some kind of search?
- Chunked upload and upload status indication
- Each time stratus needs to generate a new Dropbox account, it takes a bit of time. Please be patient on the first upload and every time you use up 2GB.
- Due to Dropbox developer limitations stratus can only create up to 100 accounts (200GB of storage) at the present time. Looking for a way around this.
- The current upload function only supports individual files of 150MB or smaller. This will be fixed in an upcoming patch when I switch upload protocols.
This project was heavily based on Raymond Jacobson (@raymondjacobson)'s ideas and account generation process demonstrated in his project Monsoon. The apps differ a bit in functionality and usage, so go check his out!