Goldleaf Switch: Difference between revisions

From GameBrew
(Created page with "{{Infobox Switch Homebrews |title=Goldleaf |image=goldleafswitch.png |description=A Nintendo Switch multipurpose homebrew tool. |author=XorTroll |lastupdated=2023/04/09 |type=Utilities |version=0.10.1 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/switchhomebrews/goldleafswitch.7z |website=https://gbatemp.net/threads/goldleaf-a-nintendo-switch-multipurpose-homebrew-tool.527578/ |source=https://github.com/XorTroll/Goldleaf |donation=https://www.patreon.com/xortroll...")
 
No edit summary
Line 81: Line 81:
'''GOLDLEAF for the Switch - ([https://www.youtube.com/watch?v=GvXkL1wd3oY  Bobby8451])'''<br>
'''GOLDLEAF for the Switch - ([https://www.youtube.com/watch?v=GvXkL1wd3oY  Bobby8451])'''<br>
<youtube>GvXkL1wd3oY</youtube>
<youtube>GvXkL1wd3oY</youtube>


==Screenshots==
==Screenshots==
Line 92: Line 91:
https://dlhb.gamebrew.org/switchhomebrews/goldleafswitch-07.png
https://dlhb.gamebrew.org/switchhomebrews/goldleafswitch-07.png
https://dlhb.gamebrew.org/switchhomebrews/goldleafswitch-08.png
https://dlhb.gamebrew.org/switchhomebrews/goldleafswitch-08.png
==Disclaimer==
=== Installing NSP Packages ===
It's important to be aware that installing NSP packages can increase your risk of getting banned from online services. However, if you take precautions such as using airplane mode and special DNS like 90DNS, the chance of getting banned is lower.
Be extremely careful when installing NSPs from untrusted sources, as Goldleaf doesn't perform any special verification. You don't want to end up installing malicious software on your device.
=== Understanding Tickets ===
Tickets serve as proof of purchase for games. Without a ticket, you won't be able to launch a game that requires it (such as official titles). NSP packages that don't require a ticket are considered standard-crypto.
Goldleaf will indicate whether a ticket is present for a title and its corresponding titlekey. You need the titlekey to decrypt and access the game's content. Without it, the game is undecryptable and cannot be launched on your device.
==Quark and remote browsing==
Quark is a Java-based PC tool designed to enhance Goldleaf's remote PC functionality. It boasts an impressive user interface and supports Windows, Linux, and Mac operating systems.
For details about how to properly setup Quark and USB, check this [https://github.com/XorTroll/Goldleaf/blob/master/Quark.md small guide].
===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:
<pre>
{
    "general": {
        "customLanguage": "es",
        "externalRomFs": "/switch/Goldleaf/theme/rom"
    },
    "ui": {
        "background": "#aabbccdd",
        "base": "#aabbccdd",
        "baseFocus": "#aabbccdd",
        "text": "#aabbccdd",
        "menuItemSize": 80
    },
    "installs": {
        "ignoreRequiredFwVersion": false
    },
    "web": {
        "bookmarks": [
            {
                "name": "Google",
                "url": "https://www.google.com"
            },
            {
                "name": "GitHub",
                "url": "https://www.github.com"
            }
        ]
    }
}
</pre>
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===
By using RomFs replacement in Goldleaf, you can customize the resources used by the application. For example, if you set romfsReplace to true and romfsReplacePath to /switch/Goldleaf/testromfs, Goldleaf will search for the resource font located at romfs:/FileSystem/FileDataFont.ttf. If the font exists at sd:/switch/Goldleaf/testromfs/FileSystem/FileDataFont.ttf, Goldleaf will use it; otherwise, it will use the default RomFs font.
This feature allows you to modify various aspects of the application's user interface, including images, resources, element sizes, and even translations (using custom JSON translations). Additional assets will also be supported in future updates.
==Known Bugs==
* Exiting Goldleaf via HOME menu (as a NRO) seems to crash the system on 7.x firmwares due to a weird USB bug present on those specific versions. Any non-7.x firmware doesn't have this issue.
* Apparently, after browsing (more than 4 directories?) and then browsing (specific?) empty directories crashes Goldleaf. This issue is strangely common and needs to be looked into.


==Changelog==  
==Changelog==  

Revision as of 01:10, 10 April 2023

Goldleaf
File:Goldleafswitch.png
General
AuthorXorTroll
TypeUtilities
Version0.10.1
LicenseGPL-3.0
Last Updated2023/04/09
Links
Download
Website
Source
Support Author

Goldleaf is a popular open-source homebrew tool for the Nintendo Switch console that allows users to install custom firmware, manage their game backups, and access other advanced features on their console. It is a multipurpose tool that can be used for a variety of tasks, including installing and managing game backups, installing homebrew software, and customizing the appearance and functionality of the console. The concept is very similar to FBI 3DS, a Nintendo 3DS homebrew tool.

Goldleaf supports a range of installation formats, including NSP and XCI, and can be used to install both official and unofficial game titles. It also provides a range of advanced features, such as the ability to mount and browse SD card partitions, manage user accounts, and install custom themes and fonts. However, it is worth noting that using homebrew tools on your console can potentially void your warranty and may carry other risks, so it is important to understand the potential consequences before using tools like Goldleaf.

Features

  • Content explorer: An easy-to-use but fully featured filesystem browser.
    • Supported locations/devices:
      • SD card
      • Console memory (SAVE, SYSTEM, USER and PRODINFOF partitions)
      • Remote systems (via remote tools like Quark)
      • USB drives (thanks to libusbhsfs)
      • Game savedata (check below how to mount it)
      • Note: game savedata will be automatically unmounted when Goldleaf is exited
    • Features:
      • Basic file operations: create, delete, copy, rename, view as hex/text, get size, etc.
      • Basic directory operations: create, delete, copy, rename, (un)set archive bit, get full size, etc.
      • Install NSP packages as applications/games, updates, etc. (Note: use this carefully and make sure you know what you're doing)
      • Launch other NRO homebrews
      • Execute .bin files as RCM payloads
      • Set JPG/JPEG files as user icons (Note: use this carefully and make sure you know what you're doing)
  • Content manager: an easy-to-use but fully featured content manager:
    • Basic content (application/title, update, DLC, etc.) operations:
      • View content information (ID, size, version, play stats...)
      • Uninstall/completely remove the content (won't remove savedata)
      • Export to NSP package
      • Mount savedata to navigate it (check the Content explorer above)
      • Remove ticket if present (Note: use this carefully and make sure you know what you're doing)
      • Reset launch version (useful to be able to play a base game after an update has been removed)
      • Note: some of this operations are not available with system titles or gamecart titles.
      • Check unused tickets, and remove them (Note: use this carefully and make sure you know what you're doing)
  • Web browser: makes use of the console's web applet:
      • Browse user-submitted URLs
      • Create and save bookmarks
  • Account manager: select a user (or uses the selected one) and manage it:
    • Change nickname
    • Delete user (only if there is more than one in the system)
    • Note: to change the user's icon, check the Content explorer above
  • Amiibo dump: create a virtual amiibo (for emuiibo) from a real amiibo figure.
  • Settings: check both system and Goldleaf settings:
    • Firmware and updates:
      • Check current firmware information (version, hash, key generation)
      • Check for pending updates, and remove them if present
      • Export current firmware or pending update data
    • Memory: check free and total space on different locations
    • Goldleaf settings: check settings present in settings.json
  • Updates: check for latest Goldleaf updates, and if a new release is out, update to it
  • About: check Goldleaf's version and how it was launched (as an applet or an application)
  • Goldleaf currently supports 8 different languages: English, Spanish, German, French, Italian, Dutch, Japanese, Portuguese and simplified Chinese.

Controls

  • Common:
    • (LR-stick / R-stick / D-pad): Move through the current menu
    • (ZL / ZR): Show a dialog to shut down or reboot the console.
    • (Minus / -): Show a dialog with this control information.
    • (Plus / +): Exit the application in order to return to hbmenu.
  • Content explorer:
    • (X): Unmount the selected location (only when a savedata location is selected)
    • (Y): Select folder (might take some time with folders with many sub-items)

Media

GOLDLEAF for the Switch - (Bobby8451)

Screenshots

goldleafswitch-01.pnggoldleafswitch-02.pnggoldleafswitch-03.pnggoldleafswitch-04.pnggoldleafswitch-05.pnggoldleafswitch-06.pnggoldleafswitch-07.pnggoldleafswitch-08.png

Disclaimer

Installing NSP Packages

It's important to be aware that installing NSP packages can increase your risk of getting banned from online services. However, if you take precautions such as using airplane mode and special DNS like 90DNS, the chance of getting banned is lower.

Be extremely careful when installing NSPs from untrusted sources, as Goldleaf doesn't perform any special verification. You don't want to end up installing malicious software on your device.

Understanding Tickets

Tickets serve as proof of purchase for games. Without a ticket, you won't be able to launch a game that requires it (such as official titles). NSP packages that don't require a ticket are considered standard-crypto.

Goldleaf will indicate whether a ticket is present for a title and its corresponding titlekey. You need the titlekey to decrypt and access the game's content. Without it, the game is undecryptable and cannot be launched on your device.

Quark and remote browsing

Quark is a Java-based PC tool designed to enhance Goldleaf's remote PC functionality. It boasts an impressive user interface and supports Windows, Linux, and Mac operating systems. For details about how to properly setup Quark and USB, check this small guide.

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:

{
    "general": {
        "customLanguage": "es",
        "externalRomFs": "/switch/Goldleaf/theme/rom"
    },
    "ui": {
        "background": "#aabbccdd",
        "base": "#aabbccdd",
        "baseFocus": "#aabbccdd",
        "text": "#aabbccdd",
        "menuItemSize": 80
    },
    "installs": {
        "ignoreRequiredFwVersion": false
    },
    "web": {
        "bookmarks": [
            {
                "name": "Google",
                "url": "https://www.google.com"
            },
            {
                "name": "GitHub",
                "url": "https://www.github.com"
            }
        ]
    }
}

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

By using RomFs replacement in Goldleaf, you can customize the resources used by the application. For example, if you set romfsReplace to true and romfsReplacePath to /switch/Goldleaf/testromfs, Goldleaf will search for the resource font located at romfs:/FileSystem/FileDataFont.ttf. If the font exists at sd:/switch/Goldleaf/testromfs/FileSystem/FileDataFont.ttf, Goldleaf will use it; otherwise, it will use the default RomFs font.

This feature allows you to modify various aspects of the application's user interface, including images, resources, element sizes, and even translations (using custom JSON translations). Additional assets will also be supported in future updates.

Known Bugs

  • Exiting Goldleaf via HOME menu (as a NRO) seems to crash the system on 7.x firmwares due to a weird USB bug present on those specific versions. Any non-7.x firmware doesn't have this issue.
  • Apparently, after browsing (more than 4 directories?) and then browsing (specific?) empty directories crashes Goldleaf. This issue is strangely common and needs to be looked into.

Changelog

v.0.10.1)

  • General
    • Updated with latest libnx, correctly supporting up to 16.0.1 firmwares
  • Goldleaf
    • Fixed a bug where the location of multiple NSP installs would be incorrectly selected
    • Content menu navigation was improved (exiting doesn't suddenly go back to the main menu, etc.)
    • Added support for Traditional Chinese
    • Updated key generation information (for latest system versions)
    • Content menu options are properly set now: gamecard contents have proper options now, and other fixes/improvements in option code
    • Dumping is now referred to as exporting, and exported contents now go inside /export instead of /dump
    • Added menu for Goldleaf's own settings, currently only supporting selecting custom language support and ignoring required firmware versions on content installs
    • Amiibo dumping has been improved, now allowing to dump the amiibo's application area (game savedata) if it exists, and its mii in the legacy 3DS format.
    • Redesigned ticket menu (now all tickets, even used ones, are shown), added support for exporting them
    • Fixed a bug where cancelling URL text input when browsing a web page would attempt to open the web browser anyway
    • Added support for language-specific icons in NSP installs, so that now Goldleaf attempts to find and show the icon corresponding to Goldleaf's language (which is by default the system language)
    • Fixed invalid/nonsense "game played since" values
  • Quark
    • From now on, Quack and Goldleaf will follow the same version numbering: this will thus be less confusing from now on. Therefore, Quark jumps from 0.5 to 0.10.1 in this release
  • (No other changes here)

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 (former Quark tool).
  • developer.su for NS-USBloader, which helped a lot on the development of Quark, mainly on the usage of usb4java and the base of a multi-platform JavaFX Java project.
  • Simon for his libusbK implementation for C#, which has made Goldtree client possible.
  • shchmue for the system to get tickets from system save data without breaking anything, found in Lockpick.
  • WerWolv for the help with custom exception handling, avoiding those frustrating fatals.
  • Translators: unbranched and exelix for Italian, tiliarou, FuryBaguette and GOffrier#9688 for French, and LoOkYe and C4Phoenix for German.
  • All the testers, for reporting bugs and helping a lot with the project's development.

External links

Advertising: