Awesome Open Source
Awesome Open Source


Build Status npm


Self hosted netdisk, pure command line tool to to pull or pull files with Qiniu cloud.


  • Fully command line operation!
  • 100% self host.
  • Support custom storage provider with Qiniu(七牛).
  • Support index files with regex expression.
  • Expressive command lines
  • Easy config and use
  • ...



Installation & Preparation

$ brew install node

1. Register Qiniu(七牛) storage provider

Register a free Qiniu account. Then create a new bucket.

Take bucket name down, then get accessKey and secretKey.

Finally, get your domain:

Take accessKey, secretKey domain and bucket name down, we will use it when config rocket :P.

2. CLI

$ npm install -g rocket-cli

After installation, type:

$ rocket -h

Succeed if you see the following tips.

  Usage: rocket [options] [command]


    init [options]           Init config file
    config [options] [show]  Config Qiniu bucket, domain, access key and secret key
    add [options]            Add dir or files to index
    push [options]           Push files to Qiniu cloud
    ls [options]             List files from local index
    pull [options] <key>     Pull file from Qiniu cloud


    -h, --help     output usage information
    -V, --version  output the version number

Commands & Usage

Init config file

$ rocket init

If the config file already exists, you can use -o or -overwrite options to overwrite the old one.

The config file locates at ~/.rocket.json.

Config storage provider

$ rocket config -b <your bucket name> -a <your accessKey> -s <your secretKey> -d <domain>

Show config

List your cnfiguration.

$ rocket config show

Add files to local index

$ rocket add -d <directory> -r -f <regex expression>

-r means recursively add files in sub directories.

-f can set filters using regex expression, use . for all files.

Push files in local index to cloud

$ rocket push -m [max upload workers. defailt = 5]

-m set the maximum number of upload workers.

List all indexed files

$ rocket ls -o [offset] -l [limit]

You can use -o and -l to set proper offset and limit if there are too much files in local index.


$ rocket pull -d [destination] <key> This command will download file searched by key to destination directory, default directory is where this file uploaded.

How dose it work?



  • [x] Add timestamp when upload
  • [x] Pull files to local(with default localPath).
  • [ ] Examples & Articles
  • [ ] Add rocket restore command(next version)
  • [ ] Support multi config file.
  • [x] Some default params.
  • [x] Support pull file(s) to certain directory.
  • [ ] Support multi object storage provider.
  • [ ] Code refactor.
  • [ ] Test case needed.

Release Note

  • [0.0.6] Add pull files function; Remove unneed command; Add show config operation; Add timestamp;


PR and issues are welcomed! Join and make it better!


Email [email protected] for support!



Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (68,063
cli (1,690
parser (493
baidu (66
qiniu (26
rocket (20

Find Open Source By Browsing 7,000 Topics Across 59 Categories