This project has been renamed to pyTinGen
. Users who still want to follow the Python 3 version of TinGen can follow this guide to set remote to pyTinGen
instead of TinGen
.
This fork will no longer accept any new feature. Only bugfixes will be merged into this fork.
This project is being feature deprecated as I plan to replace this project with TinGenQt
Script that will allow you to easily generate an index file (with encryption if needed) for use with Tinfoil.
This project is a based on this project by BigBrainAFK.
NOTE: The token generated by this script can also be used with Tinfoil.
All tinfoil indexes are generated with the following format: Tinfoil-New-Index-Info.md
- Python 3
- Modules from
requirements.txt
found in the root of project directory. credentials.json
(or any file name if using--credentials
flag to pass custom location for the required credential file). It can be obtained from here by clicking theEnable Drive API
button in there while being signed in with the user account you want to generate credentials for or from Google's Developer Console.- Google Drive Folder IDs to scan and index.
Execute the following command in a terminal to install all the required modules.
pip install -r requirements.txt
Usage instructions can be found here.
usage: TinGen.py [-h] [--credentials CREDENTIALS_FILE_NAME] [--token TOKEN_FILE_PATH] [--headless]
[--index-file INDEX_FILE_PATH] [--share-files] [--no-recursion] [--add-nsw-files-without-title-id]
[--add-non-nsw-files] [--add-nsw-info-to-success] [--add-update-date-to-success]
[--add-update-time-to-success] [--success SUCCESS_MESSAGE] [--encrypt]
[--public-key PUBLIC_KEY_FILE_PATH] [--vm-file VM_FILE] [--upload-to-folder-id UPLOAD_FOLDER_ID]
[--upload-to-my-drive] [--new-upload-id] [--share-uploaded-index]
[--tinfoil-min-ver TINFOIL_MINIMUM_VERSION] [--auth | --generator]
[--zstandard | --zlib | --no-compress] [--theme-blacklist [THEME_BLACKLIST ...]]
[--theme-whitelist [THEME_WHITELIST ...]] [--theme-error ERROR_MESSAGE]
[FOLDER_ID_TO_SCAN ...]
Script that will allow you to generate an index file with Google Drive file links for use with Tinfoil
positional arguments:
FOLDER_ID_TO_SCAN Folder IDs of Google Drive folders to scan
optional arguments:
-h, --help show this help message and exit
--credentials CREDENTIALS_FILE_NAME
Path to Google Application Credentials
--token TOKEN_FILE_PATH
Path to Google OAuth2.0 User Token
--headless Allows to perform Google OAuth2.0 User Token Authentication in headless environment
--index-file INDEX_FILE_PATH
Path to output index file
--share-files Share all files inside the index file
--no-recursion Scans for files only in top directory for each Folder ID entered
--add-nsw-files-without-title-id
Adds files without valid Title ID
--add-non-nsw-files Adds files without valid NSW ROM extension(NSP/NSZ/XCI/XCZ) to index
--add-nsw-info-to-success
Adds simple information of NSW titles added to index
--add-update-date-to-success
Adds index update date to index
--add-update-time-to-success
Adds index update time to index
--success SUCCESS_MESSAGE
Adds a success message to index file to show if index is successfully read by Tinfoil
--encrypt Encrypts the resulting index file with AES-ECB-256
--public-key PUBLIC_KEY_FILE_PATH
Path to RSA Public Key to encrypt AES-ECB-256 key with
--vm-file VM_FILE Path to VM File
--upload-to-folder-id UPLOAD_FOLDER_ID
Upload resulting index to Folder ID supplied
--upload-to-my-drive Upload resulting index to My Drive
--new-upload-id Uploads the newly generated index file with a new File ID instead of replacing old one
--share-uploaded-index
Shares the index file that is uploaded to Google Drive
--tinfoil-min-ver TINFOIL_MINIMUM_VERSION
Minimum Tinfoil client version to use index with
--auth Run Google User Token authorize task if token doesn't exist
--generator Run index generation task
--zstandard, --zstd Compresses index with Zstandard compression method
--zlib Compresses index with zlib compression method
--no-compress Flag to not compress index
--theme-blacklist [THEME_BLACKLIST ...]
Theme IDs to add to index to blacklist
--theme-whitelist [THEME_WHITELIST ...]
Theme IDs to add to index to whitelist
--theme-error ERROR_MESSAGE
Error message to show if theme check fails
- BigBrainAFK for inital crypto script for index encryption.
- blawar for tinfoil and for early access to details about new index format and supported compression methods and also for helping me with my dumb questions.