Skip to content

Instantly share code, notes, and snippets.

@icefire
Created July 1, 2009 05:23
Show Gist options
  • Save icefire/138603 to your computer and use it in GitHub Desktop.
Save icefire/138603 to your computer and use it in GitHub Desktop.
Theorized Logic Process for Wiimpersonator:
Check Request (regionalized) likely is the script run on an hourly basis.
Performed by: (check.py)
SOAP Request given region info from check.py.
Peformed by: (soap.py)
Compare against previous run log if it exists and generate a report of any changes that have occurred between the SOAP and the last runlog.
if the previous runlog doesn't exist echo "[titlelist] WARNING: TitleList: DB file lastupdate.KOR.txt does not exist. Initializing to blank list."
Performed by: (check.py and or reportgen.py, title.py).
Prepare a report of the changes or additions.
Performed by: (reportgen.py).
On a title by title basis, download all the title contents. (create directory underneath directory "title" ie title/titleid) (title.py)
Check if the ticket exists and store the ticket if it doesn't. (possibly strip the certificate off the ticket - tikfix.py?)
Store the tmd.# in the title's local content directory. (possibly strip the certificate off the tmd - tmdfix.py?)
Decrypt the contents and compare the hashes against the tmd, and the certs against the (main console certificate chain or cert made from the ticket and tmd appended certs?). Storing decrypted contents with name example: 00000001.dec. (tmdinfo.py)
Store any non-existant shared contents in a shared folder.
Store local contents in the title directory pending a hash check to see if the content is already present. (possible hash verification - tmdinfo.py?)
Check for and then create a symbolic link for the (decrypted) shared contents to their respective title's content directory based on their hash. (tmdinfo.py)
Peformed by: (title.py?, tmdinfo.py, tikinfo.py, extract.py? - various plugins which read tmd info, decrypt titles, check certificates)
Report all info of the process.
Performed by: (check.py > reportgen.py)
Should a title not show up on in the SOAP or a manual update is desired, a title can be downloaded manually with the usage : $ echo "0000000100000038 NEW 0" | python manual.py /dev/stdin. (likely sends arguments to title.py)
Performed by: (manual.py)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment