Goldleaf - A Nintendo Switch multipurpose homebrew tool




Goldleaf is multipurpose homebrew tool for Nintendo Switch.​


Features

Goldleaf has a very similar concept to FBI, which is a similar tool for Nintendo 3DS homebrew.

These are its main features:

  • SD card browser: A simple but fully equiped file browser for the SD card, supporting several file formats (such as NSP, NRO, NACP, NXTheme, JPEG, tickets...), and with support for copying, pasting, renaming, deleting and creating files and directories.

  • Console memory browser: Same browser but to be used with NAND partitions, which also warns when writing or deleting content as it can be dangerous.

  • Remote PC browser: Via this feature, one can browse a PC's drives like any other filesystem, connected by a USB-C cable.

  • Content manager: Browse any kind of content in your SD card, console memory or game cartridge. You can browse all the NCAs, and as title options, you can remove the content, or export it as a NSP. NAND SYSTEM contents (system titles or contents) aren't allowed to be deleted. Invidual contents such as updates or DLC can be removed individually.

  • Ticket manager: Browse all tickets, both common and personalized. You can remove them, but an extra warning will be displayed when attempting to remove tickets being used by some content.

  • Web browser (web applets): Using the console's web applets, Goldleaf allows to search and navigate through web pages. If Goldleaf is launched through hbmenu as a NRO, WifiWebAuth applet will be used, which tends to fail sometimes, along with fewer features, such as lack of video support.

  • User account manager: Select a user account, and easily change things as the user's nickname or even delete it. Via the file browsers you can replace a user's icon with a JPEG image, but it can be a risky action. The icon needs to be a valid JPEG, with 256x256 dimensions. Goldleaf checks if the icon is valid to replace the other one.

  • Console information: Simple menu to see current firmware string, and the total free and occupied size on SD card and console memory.
Among all this features, Goldleaf is a very intuitive tool, with a fancy UI, and fully translated into 5 different languages: English, Spanish, German, French and Italian.

Common controls
  • (L-stick / D-pad) Move through the current menu

  • (R-stick) Move slightly faster through the current menu

  • (ZL / ZR) Show a dialog to shut down or reboot the console.
NRO version
  • (+ / -) Exit the application in order to return to hbmenu.
Disclaimer

NSP installs

Always keep in mind that installing NSPs can be a very easy way to get banned. If you use airplane mode and special DNSs like 90DNS, there is a smaller chance to get banned.

NEVER install untrusted NSPs. Goldleaf can identify (according to the NSP's application ID) whether the NSP is a homebrew NSP (IDs starting with "05", usually for forwarders), or a regular title (official ID range just allows IDs starting with "01")

Tickets

Tickets represent a game purchase, but technically speaking, you can't boot a title if the ticket isn't present (in case the title requires the ticket).

NSPs which don't have (nor require) a ticket are "standard crypto" NSPs. Standard-crypto titles aren't offical (usually reconverted content to avoid importing tickets).

Goldleaf will display whether a ticket is present or not, and if so, it's titlekey. Titlekeys are required to decrypt and access titles' content which require a ticket. Otherwise, they are undecryptable, hence unlaunchable by the system.

TL;DR: Always try to avoid untrusted NSPs, and if you go ahead and install CDN NSPs with tickets, avoid going online, or use special tools such as 90DNS, or you'll be banned for sure.

Forwarding

Goldleaf is released along with a NSP, in order to launch Goldleaf as an installed title, and take advantage of extra RAM and features such as web browsing.

The NSP is a forwarder since 0.6, what means that, instead of having Goldleaf's source inside the NSP, it simply loads the NRO from the SD card, meaning that only the NRO should be updated instead of having to reinstall the NSP.

Goldleaf's forwarding code tries to locate Goldleaf (Goldleaf.nro) in sd:/switch/ and sd:/switch/Goldleaf/. If it isn't found, an error message is displayed.

Settings

Goldleaf supports the customization of colors, assets and other options via a JSON file located at Goldleaf's folder: sd:/switch/Goldleaf/settings.json.

Sample

This is an example JSON for Goldleaf settings:

Code:
{
   "general": {
       "customLanguage": "es",
       "keysPath": "/switch/prod.keys",
       "externalRomfs": "/switch/Goldleaf/theme/rom"
   },
   "ui": {
       "background": "#aabbccdd",
       "base": "#aabbccdd",
       "baseFocus": "#aabbccdd",
       "text": "#aabbccdd",
       "menuItemSize": 80
   },
   "installs": {
       "ignoreRequiredFwVersion": true
   }
}

If a certain attribute isn't present Goldleaf will use default values. For colors, Goldleaf will initially load default light/dark themes according to the console's theme color, and later, colors present in the JSON will be used instead of default theme ones.

Notes

Via RomFs replacement, when Goldleaf tries to locate, for instance, romfs:/FileSystem/FileDataFont.ttf resource font, if romfsReplace is true and romfsReplacePath is, for instance, /switch/Goldleaf/testromfs, Goldleaf will look if sd:/switch/Goldleaf/testromfs/FileSystem/FileDataFont.ttf exists and use it if so, otherwise will use RomFs's one.

So, via this configurations, UI's images, resources, element sizes and even translations (using custom JSON translations) can be used, plus some more assets which will be added in future updates.

Known bugs
  • On Atmosphère and SX OS, exiting Goldleaf via HOME menu (as a NRO) seems to crash the system on 7.x firmwares.

  • Remote PC browsing in general seems to have several bugs, most of them related to the UI system.
Contributing

If you would like to contribute with new features, you are free to fork Goldleaf and open pull requests showcasing your additions.

If you just would like to suggest new ideas, but without actual code implementations, you're free to open an issue. Please try not to duplicate those, if the idea or problem is already reported in another issue.

Translations

Read this before making any new translations:

  • Goldleaf's aim is to, mainly, support languages supported by the console itself, so those not yet supported by Goldleaf and which aren't supported by consoles should have less priority and won't be probably accepted.

  • UI (Plutonium) lacks special UTF16 characters, so some languages like Russian or Korean will not work, at least on the UI's current state.
Credits and support

Credits

The main concepts of Goldleaf are and have been developed by me (XorTroll), but without the effort and support of many others, this project wouldn't have been a thing:

  • Adubbz and all the (old) Tinfoil contributors, for their huge work with title installing.

  • C4Phoenix, for his awesome work doing this project's logo, and the GIF displayed when launching the installed forwarder.

  • All the graphics except Goldleaf's logo (see credit above) were grabbed from Icons8.

  • 2767mr, for all the support given in Goldtree.

  • Simon for his libusbK implementation for C#, which has made Goldtree client possible.

  • shchmue and blawar for the system to get titlekeys without breaking processes, found in Lockpick.

  • Translators: unbranched and exelix for Italian, tiliarou and FuryBaguette for French, and LoOkYe and C4Phoenix for German.

  • All the testers, for reporting bugs and helping a lot with the project's development.
Discord server and beta testing

If you would like to be more informed about my projects' status and support, you should check my Discord server. It's a simple server for Nintendo hacking and homebrew, mainly focused on my projects. If you would like to be a beta-tester, then this is what you're looking for.

Enjoy this amazing homebrew!
 
Last edited by XorTroll, , Reason: 0.6 README changes

PatriarchJimmyG

Member
Newcomer
Joined
Jun 9, 2019
Messages
5
Trophies
0
Age
22
XP
78
Country
Philippines
Some nso files says installed successfully but when go to the home screen all i have was a Loading Icon and cant start the software. Using usb installation gold tree. I can install some games but some times it shows blank icon.

Do i have to downgrade to 0.5 to make it work ?
I have 0.7
 

blawar

Developer
Developer
Joined
Nov 21, 2016
Messages
1,706
Trophies
1
Age
38
XP
4,260
Country
United States
I'm not too privy with the process, but I'm sure it has something to do with the algorithm. Goldleaf is deliberately slower in order to ensure proper installs.

Incorrect. Tinfoil is more reliable at installing titles than Goldleaf. Goldleaf was not always slower, however it had stability problems with the fast installs because it was not implemented correctly, so he reverted to slower installs to increase Goldleafs stability. Tinfoil does not have any stability issues with fast install.
 

Deobulakenyo

Well-Known Member
Member
Joined
Oct 8, 2018
Messages
467
Trophies
0
Age
47
XP
1,165
Country
Philippines
i have been wanting to ask this question for so long:

I have no problem with goldleaf.nro and even the recent quark pc client is working fine with goldleaf.nro.

The problem is that ever since, i have not been able to make the goldleaf.nsp to work. from older fw until now. it would always say "The software was closed because an error occured"
 

ShadowOne333

QVID PRO QVO
Developer
Joined
Jan 17, 2013
Messages
10,807
Trophies
1
XP
12,836
Country
Mexico
@XorTroll would it be possible to like access the SD card inside the Switch through PC/Quark?
I know it is possible to access the PC files from Switch Goldleaf, but I want to know if the other way around is possible as well, so that we can send files to the Switch's SD remotely (not necessarily NSPs, other files as well), without having to remove the SD at all.
 

SkullHex2

Well-Known Member
Member
Joined
Feb 27, 2017
Messages
177
Trophies
0
XP
1,005
Country
Italy
@XorTroll would it be possible to like access the SD card inside the Switch through PC/Quark?
I know it is possible to access the PC files from Switch Goldleaf, but I want to know if the other way around is possible as well, so that we can send files to the Switch's SD remotely (not necessarily NSPs, other files as well), without having to remove the SD at all.
I think that would be pretty hard to implement, just look at the fact that some homebrew has been written solely for the purpose of managing the microSD files without removing it: https://gbatemp.net/threads/mtp-server-nx-open-source-usb-file-transfer-for-switch.547273/
 
  • Like
Reactions: ShadowOne333

ShadowOne333

QVID PRO QVO
Developer
Joined
Jan 17, 2013
Messages
10,807
Trophies
1
XP
12,836
Country
Mexico
I think that would be pretty hard to implement, just look at the fact that some homebrew has been written solely for the purpose of managing the microSD files without removing it: https://gbatemp.net/threads/mtp-server-nx-open-source-usb-file-transfer-for-switch.547273/
It would be nice to have on Goldleaf, nonetheless, given how you can already use Goldleaf as some sort of SD browser to copy, paste, move, etc. files around in the SD.

Also, I asked because MTP Server NX crashes for me whenever I try to open the MTP device.
As soon as it starts loading up the folders, it crashes, so there's currently have no way to send files to the SD for me.
 

Mrperson0

Well-Known Member
Member
Joined
Jun 30, 2015
Messages
272
Trophies
0
Age
31
XP
710
Country
United States
On Goldleaf 0.7.2, and Switch firmware is 9.0.1. Trying to install NSPs, but I am getting Error: 2356-0008. Key generation mismatch (console's firmware is too low) (8).

Is this an issue with me updating to 9.0.1?
 

kornjaca200

Well-Known Member
Newcomer
Joined
Mar 2, 2017
Messages
57
Trophies
0
Age
35
XP
962
Country
Netherlands
On Goldleaf 0.7.2, and Switch firmware is 9.0.1. Trying to install NSPs, but I am getting Error: 2356-0008. Key generation mismatch (console's firmware is too low) (8).

Is this an issue with me updating to 9.0.1?

with the new goldleaf 0.7.3 release the problem is solved
 

Gatorman86

New Member
Newbie
Joined
Oct 3, 2019
Messages
3
Trophies
0
Age
65
XP
28
Country
United States
So I have goldleaf 0.7.3 on one of my switches updated to Newer firmware, but i am getting very slow speeds of under 1 MB/s. Its not my USB cable because my other switch I kept on 8.01 using goldleaf using the same USB cable is 15-20 MB/s. Has anyone else had this problem or have a fix?
 

therealhoothoot

Active Member
Newcomer
Joined
Oct 30, 2018
Messages
27
Trophies
0
XP
212
Country
Ireland
XorTroll, will you be implementing batch install in the next Goldleaf version? I feel it's really needed. In addition the option to disable hidden files while browsing directories would be huge too.
 

Hayato213

( -_・) ︻デ═一' * (/❛o❛)/
Member
Joined
Dec 26, 2015
Messages
10,904
Trophies
1
Location
Vector Industry
XP
5,966
Country
United States
So I have goldleaf 0.7.3 on one of my switches updated to Newer firmware, but i am getting very slow speeds of under 1 MB/s. Its not my USB cable because my other switch I kept on 8.01 using goldleaf using the same USB cable is 15-20 MB/s. Has anyone else had this problem or have a fix?

Might be your SD card check to see if it fake or not first.
 

jimzrt

Active Member
Newcomer
Joined
Oct 3, 2019
Messages
25
Trophies
0
XP
327
Country
Germany
I got Quark to work on linux with java 12 by updating JFoenix dependency in pom.xml before compiling.
JFoenix has a compability issue with java > 8, so they have separate releases. If you want to support both java 8 and java > 8, you have to make two separate releases for Quark as well.

I uploaded Quark.jar for java > 8 for anyone who needs it: https://mediafire.com/file/9bvmhc6f8avantj/Quark.jar/file
 
Last edited by jimzrt, , Reason: Fixed url

Gatorman86

New Member
Newbie
Joined
Oct 3, 2019
Messages
3
Trophies
0
Age
65
XP
28
Country
United States
Might be your SD card check to see if it fake or not first.
Card's fine. Its a 256GB i used on my other switch before switching to a 512GB. I even reformatted it before I jailbroke my other switch. If not the card, not sure what else it could be. I got my prod keys, most updated sigpatches. Any other suggestions>
 

Hayato213

( -_・) ︻デ═一' * (/❛o❛)/
Member
Joined
Dec 26, 2015
Messages
10,904
Trophies
1
Location
Vector Industry
XP
5,966
Country
United States
Card's fine. Its a 256GB i used on my other switch before switching to a 512GB. I even reformatted it before I jailbroke my other switch. If not the card, not sure what else it could be. I got my prod keys, most updated sigpatches. Any other suggestions>

But was the card ever tested with H2testw? As it is writing data to the card, have you experience slow speed installing games from the sd card directly, is the sd card that is writing really slow Class 10, A1 or U3? You can try Godleaf 0.3 that I mentioned earlier see if there is any speed difference.
 
  • Like
Reactions: KiiWii

Qwerty5555

Active Member
Newcomer
Joined
Sep 28, 2019
Messages
40
Trophies
0
Age
32
XP
93
Country
Afghanistan
I get error error 2356-0009 (goldleaf 0.7.2 and 0.7.3) while trying to install nsp. What does that error mean?

EDIT: i got error "2356-0009" in goldleaf because my NSP files were on "read only" (not sure why). Fix'd now though :)
 
Last edited by Qwerty5555,
General chit-chat
Help Users
  • No one is chatting at the moment.
    KennieDaMeanie @ KennieDaMeanie: Good job Sony store lag