by jkelol111

What is XPCShell?

XPCShell is an XPConnect-enabled JavaScript Shell. It is a console application that lets you run JavaScript code. Unlike the ordinary JS shell (js), xpcshell lets the scripts running in it access XPCOM functionality. You can sideload apps too, just like WebIDE.

More details on the official guide on

How to install OmniSD using Make-kaios-install?

  1. Makefile: (Packaged app only) Package all files from folder into
  2. Makefile: Move important files to phone via adb
  3. Makefile: Forward remote debugging port (6000) from device to computer (via adb)
  4. Makefile: Run install.js via xpcshell
  5. install.js: Remotely install app from folder using the Webapp Actor.

The script infers the app id, which is required for the install script, from the last folder in the app path. Optionally it can be provided in the command line via ID=. The id should to be lower case.

Step 1: Download the dependencies.

  • 'make': Should be preloaded on Linux (if not find your own ways). On Mac, run the command below and follow the on-screen prompts: xcode-select --install
  • XULRunner: Download from Mozilla here.
  • ADB;
  • OmniSD.

Step 2: Extract the dependencies.

  1. Make a folder: ~/bin
  2. Extract XULRunner's contents (xulrunner-sdk) to ~/bin
  3. Make a folder: ~/bin/android-sdk
  4. Extract ADB (platform-tools) to ~/bin/android-sdk
  5. It should look like this when you are done:

6. Extract 'make-kaios-install' to anywhere you want.

Step 3: Run the Makefile.

  1. Change directory to where you extracted 'make-kaios-install' and run (replace 'path-to-folder' with the path to OmniSD folder): make FOLDER=path-to-folder packaged install
  2. If all is successful, it should hang at 'Installation in progress ...' and your device should display 'Download complete' with the OmniSD icon as a notification. It is safe to close the terminal window now.

Step 4: Jailbreak.

  1. Open OmniSD and press '#' on the keyboard. Agree to the privileged factory reset prompt. Your device will reset (all data will be gone from internal storage!).
  2. Setup your device again, then repeat step 3.