trembon / switch-library-manager

Complete solution to manage, organize and keep your local switch backup game library up to date . Cross platform, supports all game formats.
MIT License
46 stars 2 forks source link

Switch library manager

Fork of Switch Library Manager created by giwty with continued improvements and changes

Easily manage your switch game backups

Image description

Image description

Image description

Features

Keys (optional)

Having a prod.keys file will allow you to ensure the files you have a correctly classified. The app will look for the "prod.keys" file in the app folder or under ${HOME}/.switch/ You can also specify a custom location in the settings.json (see below)

Note: Only the header_key, and the key_area_key_application_XX keys are required.

Settings

During the App first launch a "settings.json" file will be created, that allows for granular control over the Apps execution.

You can customize the folder/file re-naming, as well as turn on/off features, and set specific title ids of DLC or updates to ignore.

{
 "versions_json_url": "https://raw.githubusercontent.com/blawar/titledb/master/versions.json",
 "versions_etag": "W/\"c3f5ecb3392d61:0\"",
 "titles_json_url": "https://tinfoil.media/repo/db/titles.json",
 "titles_etag": "W/\"4a4fcc163a92d61:0\"",
 "prod_keys": "",
 "folder": "",
 "scan_folders": [],
 "gui": false,
 "debug": false, # Deprecated, no longer works
 "check_for_missing_updates": true,
 "check_for_missing_dlc": true,
 "hide_missing_games": false, # hides the missing games tab
 "hide_demo_games": false, # hide demo games from the list on the missing games tab
 "organize_options": {
  "create_folder_per_game": false,
  "dlc_folder": "", # ex change to DLC to place DLC files in a separate folder
  "updates_folder": "", # ex change to Updates to place update folder in a separate folder
  "rename_files": false,
  "delete_empty_folders": false,
  "delete_old_update_files": false,
  "folder_name_template": "{TITLE_NAME}",
  "switch_safe_file_names": true,
  "file_name_template": "{TITLE_NAME} ({DLC_NAME})[{TITLE_ID}][v{VERSION}]",
  "process_when_missing_base_game": false # if you want to organize updates and dlcs without having the base game present
 },
 "scan_recursively": true,
 "gui_page_size": 100,
 "ignore_dlc_updates": false,
 "ignore_dlc_title_ids": [], # Enter as a list of string, e.g. ["1234567890ABCDEF", "1234567890ABCDEE", "1234567890ABCDFF"]
 "ignore_update_title_ids": [] # Enter as a list of string, e.g. ["1234567890ABCDEF", "1234567890ABCDEE", "1234567890ABCDFF"]
 "ignore_file_types": [] # List of file types that should ignore the 'file type is not supported message', e.g. ["txt"]
}

Naming template

The following template elements are supported:

Usage

Windows

macOS or Linux

Console parameters

NOTE: parameters are only usable in command line mode, exept the parameter -m (mode) which will override the gui setting.

Name Flag Value Description
Mode -m console/gui Which mode to start the application in, overrides gui in settings.json
NSP Folder - path Path to the NSP folder, overrides folder in settings.json
Recursive scan -r true/false If recursive scan should be used for the NSP folder, overrides scan_recursively in settings.json
Export CSV -e path Which folder to output missing_updates, missing_dlcs and issues in CSV format

Building

Thanks

This program relies on blawar's titledb, to get the latest titles and versions.