Web-as-a-shell

Fun project that allows one to use the web services using shell commands


Project maintained by wzsddtc2 Hosted on GitHub Pages — Theme by mattgraham

How to use Web as a Shell?

  1. Download/clone the code to a local directory.

  2. Open index.html in Chrome and enjoy. -there's no server side of this.

Alternatively, try this demo here.

Initial Goal: build a basic framework to have dropbox credentials stored and use them in command line. The project should potentially be used in Node.js as well.

user.js - handles user creation, login, and key management.


  1. user create username - create a user and generate a key for encrypting user data, all the user data are encrypted using this key, the key itself is encrypted using the password.
  2. user login username - login as username, upon successful login, the key will be decrypted for the current session.

dropbox.js - uses user handler to store user dropbox information and acts as a wrapper for dropbox api.


  1. dorpbox use api_key api_secret to initialize the handler. - one time.
  2. dropbox login username - to authenticate an account for the current api. -one time.
  3. dropbox cd ... allows dropbox to act as a folder and interface with cd.js.
  4. dropbox ls ... allows dropbox to act as a folder and interface with ls.js.

cd.js - allows changing the base handler and make shortcuts, perhaps for folder options.


  1. cd handler_name will make the rest of the cd command to be handled as "handler_name cd ..."
  2. cd ~ will reset the handler for cd.

ls.js - allows changing the base handler and make shortcuts, perhaps for folder options.


  1. uses the same handler as cd.js, handle all the commands as "handler_name ls ..."