You're on your own for the keys (but I've heard of this site that has a database of them...).
This script now pulls title metadata directly off the CDN by CLCert-A.
Requires makerom, ctr-common-1.crt (mirror), and ctr-common-1.key (mirror) to be in the directory
Usage: PlaiCDN <TitleID TitleKey> <Options> for content options
-redown : redownload content
-no3ds : don't build 3DS file
-nocia : don't build CIA file
-nobuild : don't build 3DS or CIA
-nohash : ignore hash checks
-nowait : no crypt message/waiting for input
-check : checks if title id matches key
Usage: PlaiCDN <TitleID> for general options
-info : to display detailed metadata
-seed : generates game-specific seeddb file when using -info
Usage: PlaiCDN <Options> for decTitleKeys.bin options
-deckey : print keys from decTitleKeys.bin
-checkbin : checks titlekeys from decTitleKeys.bin
-checkall : check all titlekeys when using -checkbin
-fast : skips name retrieval when using -checkbin, cannot be used with seed/seeddb
-seeddb : generates a single seeddb.bin
Examples (note this is not the correct key):
PlaiCDN.exe 000400000014F200 -info
- this would pull a ton of title metadata off the CDN for "Animal Crossing: Happy Home Designer"
PlaiCDN.exe 000400000014F200 abb5c65ecaba9bcd29d1bfdf3f64c285
- this would create a .CIA and .3DS file for "Animal Crossing: Happy Home Designer"
PlaiCDN.exe 000400000014F200 abb5c65ecaba9bcd29d1bfdf3f64c285 -check
- this would check if the key (abb5c65ecaba9bcd29d1bfdf3f64c285) for "Animal Crossing: Happy Home Designer" is correct (it's not)
PlaiCDN.exe 000400000014F200 abb5c65ecaba9bcd29d1bfdf3f64c285 -redown -no3ds
- this would create a .CIA file after redownloading previously downloaded encrypted files for "Animal Crossing: Happy Home Designer"
PlaiCDN.exe -checkbin
- this would check all game keys in
decTitleKeys.bin
to see if they match their titles, in addition to outputting metadata on them pulled from the CDN
- this would check all game keys in
If you are using the script itself instead of the compiled .exe, you will also need Python 3 to be installed, and PyCrypto to be installed.
If pycrypto gives you issues installing, try using this.
The executable was created with the command pyinstaller --onefile PlaiCDN.py
This project is a replacement for CDNto3DS and includes expanded features and capabilities, including use on non windows platforms thanks to its reliance on PyCrypto instead of aescbc.
Example Output: