Easily manage your switch game backups
- Cross platform, works on Windows / Mac / Linux
 - GUI and command line interfaces
 - Scan your local switch backup library (NSP/NSZ/XCI)
 - Read titleId/version by decrypting NSP/XCI/NSZ (requires prod.keys)
 - If no prod.keys present, fallback to read titleId/version by parsing file name  (example: 
Super Mario Odyssey [0100000000010000][v0].nsp). - Lists missing update files (for games and DLC)
 - Lists missing DLCs
 - Automatically organize games per folder
 - Rename files based on metadata read from NSP
 - Delete old update files (in case you have multiple update files for the same game, only the latest will remain)
 - Delete empty folders
 - Zero dependencies, all crypto operations implemented in Go.
 
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.
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.
{
 "versions_etag": "W/\"c3f5ecb3392d61:0\"",
 "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,
 "organize_options": {
  "create_folder_per_game": false,
  "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}]"
 },
 "scan_recursively": true,
 "gui_page_size": 100
}
The following template elements are supported:
- {TITLE_NAME} - game name
 - {TITLE_ID} - title id
 - {VERSION} - version id (only applicable to files)
 - {VERSION_TXT} - version number (like 1.0.0) (only applicable to files)
 - {REGION} - region
 - {TYPE} - impacts DLCs/updates, will appear as ["UPD","DLC"]
 - {DLC_NAME} - DLC name (only applicable to DLCs)
 
Please set debug mode to 'true', and attach the slm.log to allow for quicker resolution.
- Extract the zip file
 - Double click the Exe file
 - If you want to use command line mode, update the settings.json with 
'GUI':false- Open 
cmd - Run 
switch-library-manager.exe - Optionally -f 
X:\folder\containing\nsp\files" - Optionally add  
-rto recursively scan for nested folders - Edit the settings.json file for additional options
 
 - Open 
 
- Extract the zip file
 - Double click the App file
 - If you want to use command line mode, update the settings.json with 
'GUI':false- Open your Terminal
 cdto the folder containingswitch-library-managerchmod +x switch-library-managerto make it executable- Run `./switch-library-manager'
 - Optionally -f 
X:\folder\containing\nsp\files" - Optionally add  
-rto recursively scan for nested folders - Edit the settings.json file for additional options
 
 
- Install and setup Go
 - Clone the repo: 
git clone https://github.com/giwty/switch-library-manager.git - Get the bundler 
go get -u github.com/asticode/go-astilectron-bundler/... - Install bundler 
go install github.com/asticode/go-astilectron-bundler/astilectron-bundler - Copy bundler binary to the source folder 
cd switch-library-managerand thenmv $HOME/go/bin/astilectron-bundler . - Execute 
./astilectron-bundler - Binaries will be available under output
 
This program relies on blawar's titledb, to get the latest titles and versions.


