-
Checkout this software into $HOME/tis-clone. If you put it somewhere else, modify $BASE in tis-clone.cfg with the location
git clone https://github.com/rootflags/tis-clone ~/tis-clone -
Run the setup script which will create the necessary folder structure
cd ~/tis-clone && ./setup.sh -
Account Prep:
- Visit TIS (https://techinfo.toyota.com), create an account, and follow the instructions to create an active subscription. Typically a 2 day subscription will be enough
- Run
~/tis-clone/scripts/tis-login.shand enter your username and password and which 2FA method you want to use (phone or email) - Enter the 2FA code and then verify your $HOME/.tis/cookies.txt was updated as expected
- Download Prep:
- In the TIS website, search for the vehicle you want (i.e. 2018 Toyota Land Cruiser)
- Determine the Repair Manual (RM), Wiring Diagram (EM or EWD), Body Repair (BM or CR), and New Car Feature (NM or NCF) 5-character identifier. In this case it's "27J0U" since the folders in the URL have "rm/RM27J0U" or "ewd/EM27J0U". Note that in some cases the identifier might be different depending on the subsection (i.e. 23C0U is used for the RM, EM, and NM sections for a 2013 Prius V, but 18M0U is the code for the BM section).
- Downloading:
-
By default the setup.sh script will create the download folder based on the $DOWNLOAD_TO variable in tis-clone.cfg. If you create a different location you'll need to modify ~/.tis/tis-clone.cfg
-
cd into the download folder and run all of the downloader scripts using the identifier above:
. ~/.tis/tis-clone.conf cd $DOWNLOAD_TO for SCRIPT in `ls ~/tis-clone/scripts/dl-*`; do $SCRIPT $IDENTIFIER done
If the identifiers are different per section just run the relevant ones. This can happen when multiple model years share some but not all docs
- Download the website framework
~/tis-clone/scripts/dl-framework.sh
- Clean up a ton of unneeded links and external website references that won't work locally:
- Run
~/tis-clone/scripts/tis-urlstripper.shto remove external URLs and remove various garbage that gets created
- Create PDFs, if you want them:
~/tis-clone/scripts/tis-mkpdfs.sh $IDENTIFIER
- Create Navigation:
-
For HTML docs:
~/tis-clone/scripts/build-index.pl > $DOWNLOAD_TO/techinfo.toyota.com/index.html -
For PDF docs:
~/tis-clone/scripts/build-pdfidx.sh > $DOWNLOAD_TO/techinfo.toyota.com/PDFs/index.html
- If you have an existing version that you're updating or adding additional vehicles to, merge into existing site:
~/tis-clone/scripts/tis-merge.sh. While it's not strictly necessary to copy and merge documents into a different final location than the $DOWNLOAD_TO folder, it is highly recommeneded to do so especially if you have multiple FSMs as it will allow you to update docs in the background rather than having updates (which can include failures) overwriting your live website.
While you can locally browse the "HTML" files you download using your web browser, typical browser security prevents the Javascript used in the website from reading local files off your PC. Normally that security restriction is a good thing, but in this case it makes displaying the website a challenge as many of the pages will display but the links won't work, or only part of the page will display.
The best way around this problem is to set up a local webserver. One you have your documents running in the webserver, you can just point your preferred web browser at the location and browse the docs just like you're on the TIS website.
-
The easist way on a Linux desktop is to run the following, and then point your web browser to http://localhost:8080
. ~/.tis/tis-clone.conf cd $DOWNLOAD_TO python3 -m http.server 8080 -
Alternately if you're doing this on a Linux server you could use Apache. You may need to add "jsp" to the "application/javascript" line in /etc/mime.types, depending on your installation. and will also need to add svgz decompression support to your virtual host:
AddType image/svg+xml svg svgz AddEncoding gzip svgz -
If you want to run this locally on a Windows or MacOS desktop, then my preferred method is to set up the Abyss webserver. Instructions for this are available in the Abyss webserver setup doc
-
nginx and other webservers will probably work as well. Just make sure you can associate JSP files as txt/html if the pages don't display correctly as the index.jsp file needs to do some dynamic data loading of XHTML and other file types to create the HTML pages you see.