D
Deleted-451877
Guest
OP
- Jul 3, 2018
- #1
[EDIT]
- I have changed the way my script generates tiks and certs. It seems more games will install, but some reportedly won't launch. Attached files have been updated.
- It seems Nintendo is monitoring the situation. See later in the thread for more details
NOTE: Using this script to download unowned content (and most probably owned too) will lead to a ban. Don't hold me responsible for decisions YOU decided to take.
CDNSP is a Python3 CDN downloader. It needs the requests library (pip install request). tqdm (pip install tqdm) is optional and will make your progress bars look better. Maybe some more, I'm not sure.
What it can do:
- Print useful info about a titleid (name, available updates)
- Download games, updates, DLC's and even system update, in their entirety (that means all the available content, logo, legal info, ...) is downloaded
- Batch download everything explicited further up
- Resume downloads right were you left them at
- Repack games, DLC's, updates as ready-for-install NSP's
What it does:
- Download and extract the CNMT (content metadata) NCA, and parse it to find the other content to download
- If you want to repack your download as NSP, it will generate a CNMT.XML file
- Generate the TIK and CERT:
- for private content the CERT (non console nor game-unique) will be copied and renamed appropriately. The TIK will be generated using a blanked out file taken from BBB's Yooka-Laylee dump, and plug in the titlekey and titleid. To generate the TIK for private content, the titlekey is REQUIRED
- for public content, it will directly download the CETK from Nintendo's servers, and extract the TIK and CERT.
- Download everything else
- And finally, repack everything to an NSP
To get started, you need:
- hactool, and its keys
- A console-unique certificate, in PEM format (I have included a PFX to PEM converter script, simply drag your PFX over it)
- The ShopN certificate, in PEM format (this one is included in the zip)
- Edit your config in the CDNSPconfig.json
Use the command prompt to download your titles. Example are provided below, and a help message is included
Examples:
Cheers! To get you started, I have also included a small list of 859 TitleID's.
Last edited by ,
Reactions:
Leobgood, andressj8, MUDD_BR and 116 others
Draxzelex
Well-Known Member
Member
Level 23
- Joined
- Aug 6, 2017
- Messages
- 19,070
- Trophies
- 2
- Age
- 30
- Location
- New York City
- XP
- 13,581
- Country
- Jul 3, 2018
- #2
Should have been called BanShop
Reactions:
AlexMCS, SaggyBeans, Condemned87 and 47 others
XerSec
Member
Newcomer
Level 5
- Joined
- Jun 13, 2018
- Messages
- 16
- Trophies
- 0
- Age
- 29
- XP
- 723
- Country
- Jul 3, 2018
- #3
Damn, nice job @rkk. Really good progress
Reactions:
cearp
datahoarder
Organized.
Member
Level 6
- Joined
- Jul 7, 2007
- Messages
- 567
- Trophies
- 1
- XP
- 750
- Country
- Jul 3, 2018
- #4
It's too bad this requires a console-unique cert. I see you added one more listing from 858 to 859.
It's funny that I had to wait less than 12 hours for this request to be made:
https://gbatemp.net/threads/manually-updating-romfs-bin-for-backups.509834/page-4#post-8113092
Thank you!
Last edited by datahoarder,
Reactions:
wolf_
cearp
瓜老外
Developer
- Joined
- May 26, 2008
- Messages
- 8,767
- Trophies
- 2
- XP
- 8,705
- Country
- Jul 3, 2018
- #5
even game updates require a console unique cert?
because game update are not console unique, the ticket is generic (like wiiu, unlike 3ds)
anyway, this is really cool! very happy thanks
D
Deleted-451877
Guest
OP
- Jul 3, 2018
- #6
Draxzelex said:
Should have been called BanShop
Heh, that's how the CDN works, not my doing.
kornychaos said:
It's too bad this requires a console-unique cert. I see you added one more listing from 858 to 859.
It's funny that I had to wait less than 12 hours for this request to be made:
https://gbatemp.net/threads/manually-updating-romfs-bin-for-backups.509834/page-4#post-8113092
Thank you!
Yeah, that was 01006a600623e000: 70010000001564 - Yodanji. Not sure why it slipped through my script.
--------------------- MERGED ---------------------------
cearp said:
even game updates require a console unique cert?
because game update are not console unique, the ticket is generic (like wiiu, unlike 3ds)
anyway, this is really cool! very happy thanks
Like I said in the OP, TIK and CERT are directly downloaded from Nintendo in the case of updates.
Downloading anything REQUIRES a console-unique cert. Updates, Sysupdates, ...
Reactions:
Dadewy, theweirdojerry, straumli and 1 other person
Jaimy
Well-Known Member
Member
Level 4
- Joined
- Dec 2, 2016
- Messages
- 135
- Trophies
- 0
- Age
- 44
- XP
- 427
- Country
- Jul 3, 2018
- #7
I get module not found error for 'requests' and 'urllib3' despite having installed required packages.
D
Deleted-451877
Guest
OP
- Jul 3, 2018
- #8
Jaimy said:
I get module not found error for 'requests' and 'urllib3' despite having installed required packages.
Are you using python 3?
huma_dawii
Well-Known Member
Member
Level 14
- Joined
- Apr 3, 2014
- Messages
- 3,881
- Trophies
- 2
- Age
- 33
- Location
- Planet Earth
- XP
- 4,300
- Country
- Jul 3, 2018
- #9
This but to .Nca thanks
D
Deleted-451877
Guest
OP
- Jul 3, 2018
- #10
huma_dawii said:
This but to .Nca thanks
Files are already downloaded as NCA (that's what the CDN returns). The script will let them sit in your folder.
Reactions:
theweirdojerry
huma_dawii
Well-Known Member
Member
Level 14
- Joined
- Apr 3, 2014
- Messages
- 3,881
- Trophies
- 2
- Age
- 33
- Location
- Planet Earth
- XP
- 4,300
- Country
- Jul 3, 2018
- #11
rkk said:
Files are already downloaded as NCA (that's what the CDN returns). The script will let them sit in your folder.
So I can download an update and all I will get is one .nca? Cause I need that to merge them with the stockgame.nca and get an updated romfs.bin for LAYEREDFS
D
Deleted-451877
Guest
OP
- Jul 3, 2018
- #12
huma_dawii said:
So I can download an update and all I will get is one .nca? Cause I need that to merge them with the stockgame.nca and get an updated romfs.bin for LAYEREDFS
Merging NCA's is technically impossible. Downloading an update will get you several NCA's.
Reactions:
theweirdojerry
huma_dawii
Well-Known Member
Member
Level 14
- Joined
- Apr 3, 2014
- Messages
- 3,881
- Trophies
- 2
- Age
- 33
- Location
- Planet Earth
- XP
- 4,300
- Country
- Jul 3, 2018
- #13
rkk said:
Merging NCA's is technically impossible. Downloading an update will get you several NCA's.
But you can extract them and get a single romfs.bin it's been confirmed by a lot of people xD
Mat37
Well-Known Member
Member
Level 8
- Joined
- Dec 3, 2016
- Messages
- 790
- Trophies
- 0
- Age
- 22
- Location
- Does it matter ?
- XP
- 1,379
- Country
- Jul 3, 2018
- #14
rkk said:
Are you using python 3?
I get "no module named openSSL" when trying to convert my certificate. How do i install it ?
Jaimy
Well-Known Member
Member
Level 4
- Joined
- Dec 2, 2016
- Messages
- 135
- Trophies
- 0
- Age
- 44
- XP
- 427
- Country
- Jul 3, 2018
- #15
rkk said:
Are you using python 3?
Think I'm on 2.7, will try with 3.
Reactions:
ut0piaD
Deleted-451877
Guest
OP
- Jul 3, 2018
- #16
huma_dawii said:
But you can extract them and get a single romfs.bin it's been confirmed by a lot of people xD
Extracting != Repacking. NCA's are signed using a private key(s?) we don't have access to.
Mat37 said:
I get "no module named openSSL" when trying to convert my certificate. How do i install it ?
pip install pyOpenSSL
Reactions:
theweirdojerry
Mat37
Well-Known Member
Member
Level 8
- Joined
- Dec 3, 2016
- Messages
- 790
- Trophies
- 0
- Age
- 22
- Location
- Does it matter ?
- XP
- 1,379
- Country
- Jul 3, 2018
- #17
rkk said:
Extracting != Repacking. NCA's are signed using a private key(s?) we don't have access to.
pip install pyOpenSSL
I was missing the py before OpenSSL thank you
Reactions:
Deleted-451877
Omno
Well-Known Member
Newcomer
Level 4
- Joined
- Mar 2, 2016
- Messages
- 80
- Trophies
- 0
- Age
- 37
- XP
- 402
- Country
- Jul 3, 2018
- #18
Working great here, thanks very much.
Reactions:
Deleted-451877D
Deleted-451877
Guest
OP
- Jul 3, 2018
- #19
Omno said:
Working great here, thanks very much.
Cool, good to know.
While we're at it, it's technically possible to add 'support' for pfx certs by converting them in a tempfile everytime the script is launched. I didn't add it because it would bloat you AppData/Local/Temp folder.
I'm also looking at listing available DLC's when printing info about a file.
Reactions:
theweirdojerry
Xenon Hacks
Well-Known Member
Member
Level 15
- Joined
- Nov 13, 2014
- Messages
- 7,414
- Trophies
- 1
- Age
- 31
- XP
- 4,699
- Country
- Jul 3, 2018
- #20
This is needed now more than ever due to SX 1.3, glad I have a solid VPN.