Skip to content

Running DiOS

awein edited this page Jun 11, 2014 · 1 revision

Running DiOS

Summary

The following steps are required to run your DiOS system:

  1. Start the database
  2. Start the DiOS backend
  3. Run the DiOS worker
  4. Connect your iOS devices to workers (you may also connect them before starting the worker)
  5. Schedule jobs

Detailed Instructions

Backend

  1. Start mongoDB by executing mongod.
  2. Start the backend with python backend.py

Check the output and verify that the backend is up and running by accessing its web interface at http://localhost:8080/.

Worker

Setup your Apple IDs

All Apple IDs need to be added to all analysis devices manually before using DiOS the first time. This can be done by opening the App Store App and authenticating to each account once.

Afterwards, it is required to also add all AppleID passwords to the DiOS database to allow automatic App Store purchases. This can be easily done by executing:
python setAppleIDPassword.py --backend http://<hostname.local>:8080/ --appleId <appleID> --password <password>

Warning: Passwords will be stored in clear text and will be transmitted unencrypted!
Warning: DiOS may automatically make purchases! Use AppleIDs with payment credentials at your own risk!

Run the worker

  1. Start the worker:
  • python worker.py --backend http://<hostname.local>:8080/
  • replace <hostname.local> with the backend hostname or IP
  • Note: The given hostname/IP must be reachable from all iOS devices!
  1. Connect iOS devices to the worker

Client

Pilot

  • Install all pilot packages. See [DiOS Pilot] for more detailed information.
  • Reboot
  • Verify that SBTweak (client compoenent that extends SpringBoard with additional functionality) is running by accessing http://<iphone.local>:8080/status
  • Check syslog for executor status

Analyzer modules

  • Install any analyzer modules. See [DiOS Analyzer] for a sample analyzer tweak.

Job Scheduling

  • Schedule analysis jobs using the web-based scheduler http://<hostname.local>:8080/scheduler.html or the python-based scheduler.py within [DiOS Worker]