/aio-switch-updater

Update your CFW, cheat codes, firmwares and more directly from your Nintendo Switch!

Primary LanguageC++GNU General Public License v3.0GPL-3.0

AIO-Switch-Updater

hbappstore releases Build AIO-switch-updater tag GitHub

Donate using Liberapay btc eth xmr


A Nintendo Switch homebrew app to download and update CFWs, FWs and cheat codes. Supports Atmosphère, ReiNX and SXOS.

Works on unpatched (Erista) and patched (v2/Mariko) Switches.

How to install

Copy the aio-switch-updater/ directory to /switch/ on your sdcard.

Features

⬦ Update CFW

  • Update the Atmosphère Switch Custom Firmware. AIO-Switch-Updater uses a custom RCM payload to finalise the install as it can't be performed while HOS is running.
    • If you would like to preserve additional files or directories, write their path (one line each) in /config/aio-switch-updater/preserve.txt and they won't be overwritten when updating.
    • Place this file in /config/aio-switch-updater/copy_files.txt in order to have specific copy operations performed after each download. This is mainly meant for users with trinkets who want payloads automatically copied to a directory.

⬦ Update Hekate/Payload

  • Download and update Hekate, as well as a selection of RCM payloads

⬦ Custom Downloads

  • A custom Atmosphère url can be entered in this file. Once moved to /config/aio-switch-updater/custom_packs.json, it will show on the Custom Download menu. This can be used to support third-party packs through AIO-Switch-Updater. Packs whose name starts by [PACK] won't prompt for a Hekate download.
  • Non-Atmosphère downloads can also be added in the misc category.

⬦ Download firmwares

  • Download firmware files to /firmware that can then be installed using DayBreak.

⬦ Download cheats

  • Download and extract daily-updated cheat code. The program will only extract cheat codes for the games you own. By default, this homebrew will overwrite the existing cheats. If you have your own cheat files that you'd like to keep as is, you can turn off cheat updates for specific titles in Tools→Cheat Menu.
  • Download cheat sheets from Cheat Slips.
  • Download individual cheat codes from the GBAtemp.net database.

Extras (in the Tools tab)

  • Reboot to specific payload.
  • Consult games with missing updates.
  • Change software color scheme of Joy-Cons. Additional color profiles can be found in the releases and should be copied to config/aio-switch-updater/jc_profiles.json. Use this webpage to generate your own profiles.
  • Change software color scheme of Pro Controllers (has to be paired as Player 1). Additional color profiles can be found in the releases and should be copied to config/aio-switch-updater/pc_profiles.json.
  • Consult installed cheat codes.
  • Launch the Switch's web browser.
  • Edit internet settings (DNS, IP address, MTU, etc). Add you own configs to config/aio-switch-updater/internet.json. You can find a template in the root of the repo.
  • Tabs can be hidden through the Hide tabs menu, and more entries can be hidden by manually editing config/aio-switch-updater/hide_tabs.json.

Screenshots

Expand to view the screenshots

ams_tab cheats_tab individual_cheats tools_tab

Build

Expand to view the build instructions

You need to have installed devkitPro and devkitARM in order to compile this project.

Install the required dependencies:

$ sudo (dkp-)pacman -Sy
$ sudo (dkp-)pacman -S  switch-glfw \
                        switch-curl \
                        switch-glad \
                        switch-glm \
                        switch-mbedtls \
                        switch-zlib \
                        devkitarm-rules

Use switch-ex-curl instead of switch-curl to use this app with an invalid SSL certificate.

Clone the repository

$ git clone --recursive https://github.com/HamletDuFromage/aio-switch-updater
$ cd aio-switch-updater

Compile

$ cd aiosu-forwarder
$ make
$ cd ..
$ make

Contribute

PRs and suggestions are encouraged! If you wish to help with the localization of the app, you can translate the files in resources/i18n/. To easily find the non-translated strings and translate them, you may use localizer.py (e.g. python localizer.py -r resources//i18n//en-US//menus.json -w resources//i18n//fr//menus.json).

Disclaimer

I do not own, host nor distribute any of the files that can be downloaded with this homebrew tool. At the owner's request, I will immediately remove the ability to download any problematic file.

Special thanks

Like the app?

  • Liberapay : Donate using Liberapay
  • BTC: 1CoFc1bY5AHLP6Noe1zmqnJnp7ZWBxyo79
  • ETH: 0xf68f568e21a15934e0e9a6949288c3ca009140ba
  • Monero (XMR): 88wjCuhHX3oNhVpEdYeUx3LvrkdTvcTHx7v7L5fQpjCg7QiAReJUVR4LPase5Byj2UhdVdLtvysJaXTFKq2EnuvuLjvQMGL