Git Product home page Git Product logo

aio-switch-updater's Introduction

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

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

aio-switch-updater's People

Contributors

ad2076 avatar aedalzotto avatar armi-heavy avatar bogdan-radocea avatar chronoss09 avatar clamintus avatar ddinghoya avatar exorcism0666 avatar hamletdufromage avatar i3sey avatar jenting avatar jerrywn12 avatar korados avatar msco avatar notainutilis avatar pedruhb avatar physton avatar polonx avatar pxdl avatar qazrfv1234 avatar rashevskyv avatar reindex-ot avatar sergiou87 avatar slluxx avatar teddy74eva avatar tiansongyu avatar ttghostsemir avatar xfangfang avatar xjose93 avatar yyoossk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aio-switch-updater's Issues

Cheat updater Cheatslip

When multible or all Cheats are choosen in the Cheat updater via Cheatslip it merches the first 3-4 ( just tested with 2 games) together and ignores the rest.

Feature Request - Add an opt-out for downloading sigpatches

Hello, I'm back. This time, I feel like there should be an opt-out for the downloading sigpatches. Some people would use this program if it doesn't have to relate to piracy. What I mean as an "opt-out" is possibly a different version of the nro, but it can't download sigpatches at all.

eXhumer Patches

Would be neat to get eXhumer's patches in addition to ITotalJustice. From my understanding eXhumer's have some benefit such as enabling use of the patched YouTube app etc. Clearly my understanding is somewhat limited though so if this is silly hit me with the truth, thanks for the great work btw hamlet.

Request/Suggestion expand the hide tabs capabilities

Thank you for adding the hide tabs capability! I wanted to ask if you would consider expanding the capability of this feature to include the ability to hide options from the Tools menu. I'd actually like to hide the 'Hide tabs' menu after making the changes to make sure it's completely hidden to other people that use my Switch so that they can't reactivate that. I'd also like to block off a couple of the other options from that menu.

My suggestion would be to make this something where you can edit the json on your computer to make sure it's secure and not able to edited on the Switch itself, for example allow this to work: "Tools - Hide tabs": false

After that the other selections would still be parsed from the json but the Hide tabs menu itself would now be hidden. I hope that made sense, thank you!

The Hekate updater doesn't ask to replace the reboot_payload with Hekate's payload

One thing I like about the aio updater from jits is that when updating Hekate, it asks if you want to replace reboot_payload.bin with hekate's bin file. I like having Hekate as my reboot payload since it's more convenient for switching between sysMMC and emuMMC or swapping SD cards. The only thing that the Hekate updater asks about in this aio updater is if I want to replace any .ini files. This means that my reboot_payload remains as Atmosphere which is what I don't want.

I love how you have a tools section for downloading fusee-primary to the bootloader/payloads/ folder. That covers one of my needs while updating, only thing left is to create a way to replace the reboot_payload with hekate's payload. Then it will be a perfect solution for updating. Right now I have my friends using both your aio updater and the jits updater, just to be able to use the Hekate updater on the other app to replace reboot_payload. I really don't want to have to use two different aio updaters because the main one that I use (yours) is missing a key feature that the other app has.

But thanks for putting so much work into this updater, it really has a lot of potential to become the best of the best. I really appreciate it and so do my friends who aren't so great at updating manually.

Application won't open under certain network conditions

I sometimes use my Switch on a local area network without internet and the application won't open with the following setup, obviously no internet prevents many features being used but still there are some useful tools in your app that can't be accessed. I realize this is a somewhat niche use case but it might improve network checks in general if fixed.

It sounds like it's related to #51 although you say that's fixed.

To reproduce:

  1. Use nifm-ctest patches so local area network can still work without internet https://github.com/misson20000/exefs_patches#nifm-ctest
  2. connect to your local area network that doesn't have internet access
  3. black screen Nintendo style error occurs the first time or just a black screen on subsequent attempts

The app cannot connect the net if I build and output an app

I want try to add a Multi-language version then I build the app ,but the app cannot connect the net .
I know the release app is fine ,it can connect the net ,but other app is not okay .

You can download the app from the Actions that you created, all of these by the Actions can not connect the net .

I don't know why ,please help me

Atmosphere crash

AIO 1.5.0, AMS 0.17.1, HOS 11.0.1

If you have no cheats currently installed, download cheats, and then while still in the app you go to "View Installed Cheats" this causes an Atmosphere lock up requiring a device reboot.

also, may as well fix the spelling of "Dowload payloads" while you are under the hood :)

Ignore Files

I'd like to be able to ignore spesific files when updating CFW

Updating Atmo/Hekate on a Mariko + SX Core / Spacecraft-NX Crashes on boot

I'm running HOS 11.0.1 and was running Atmosphere 0.17.1 and Hekate 5.5.3. I have a Mariko switch, and I have an SX Core installed running the latest build of the open source Spacecraft-NX replacement firmware. I'm running with sys-clk and sys-ftp lite (edit: and Tesla).

I installed and used your nsp redirect to launch the latest version of the AIO updater.

I used the AIO updater to install Atmosphere 0.18.0, Hekate 5.5.4, and sigpatches. I noticed that when I installed Atmo, the AIO updater mentioned something about a special payload was going to be run during next boot to replace Atmo.

I figured this was going to break things, and I was right.

A manual reboot took me back to Hekate which chainloaded Atmo. I encountered a fatal error (Program ID: 0100000000000008 Error Desc: std::abort() called (0xffe))

I was able to repair the issue by doing two things.

  1. I renamed the sdcard:\hetake_ctcaer_5.5.4.bin to sdcard:\payload.bin
  2. I reinstalled Atmo 0.18.0 by hand.

I suspect that your AIO updater wants to boot to RCM and trigger a payload to finalize the Atmo install. Is that correct? If so, that's not how things work on Mariko SX Core/Lite units running Atmosphere (regardless of what firmware is running on the SX Core/Lite). The SX Core is going to look for sdcard:\payload.bin and launch that.

For Mariko units, you need to swap out the sdcard:\payload.bin file with your intermediary payload, and then issue a hard reset for the switch. Your payload does its thing, and then it needs to replace sdcard:\payload.bin with a copy of either fusee_primary.bin or hetake_ctcaer_x.x.x.bin.

If you need a guinea pig to validate this, I can do that for you.

Can't build

I can't build it, when I try I have this big error
Screenshot_20201227_235805

Request. Feature request

I host a dns server on my computer that permits using Nintendo network with cfw while still blocking telemetry Would you consider adding it to the DNS thingy? IP is 47.7.201.195. If possible could you derive the IP fro my DDNS domain. Fennectech.dynserv.org

Spelling error

When accessing "Change the Pro controller color" in the Tools menu, the title on the top says "Joy-Con color swapper"

A fatal error has occurred when running Atmosphere

Hello, whenever I use an option in the AIO Switch Updater, such as updating the app to the current version, updating the signpatches for 11.0.1 (I'm currently on this firmware + atmosphere 18) or downloading and then it hits the extraction for cheats (as well as signpatches or app update) it crashes and screen goes black and I get error code.

Program ID: 0100000000000004.
Error Desc: std::abort() called (0xffe)

Crash when trying to change pro controller color

When accessing "Change the Pro controller color" in the Tools menu, if the "pc_profiles.json" downloaded from the master repository is placed in config>aio-switch-updater, the app will crash and a message instructing to reboot the console will be prompted.

The message displayed will depend on the current CFW running. This was tested with the lates SXOS and Atmosphere releases.

Support AMS 0.18.0 dns_mitm to update hosts file

As you may read, AMS 0.18.0 is released an supports a new dns_mitm module.

With this a custom hosts file can be used.

Is it possible to implement a feature to update it with your amazing app to block all n8nja's?

Thx

Mariko support

As you've stated, on Mariko one cannot launch payloads from hos, however if the console reboots, it reboots into a payload.

You could create a payload that renames the payload.bin file to payload.bin.tmp and then have the payload that handles updating be named to payload.bin. Cause the switch to reboot, and it will reboot into the payload that handles updating, once its done with its operations, rename payload.bin.tmp to payload.bin and force a reboot again.

[Improvement] Downloading Firmware

Downloading the firmware from archive.org in the app is so much slower than turning the switch off, taking out the SD card, downloading the firmware from Darthsternie's Firmware Archive, extracting it to the SD card, putting it back in, and turning it on to start the upgade.

So, to improve the speed to be faster than the manual method, downloads should be from Darthsternie's Firmware Archive (MEGA), and not archive.org.

Only a folder appears in atmosphere

I downloaded, and pasted aio-switch-updater-master to switch/
But unlike the other apps there, this one only appears as a folder and can't be run. Is it because it doesn't have an nro? What am I doing wrong?

Update in app : 2.1.1 downloaded but not used

Hello.

Launching 2.1.0, it tells me there is an update.
I launch the download, but after it relaunch the 2.1.0 and not the 2.1.1 :/

Also, why in the ZIP ther eare 2 .nro ? One small and one big.

"Update the app" Lock Up

If you are on version 1.0.2 and try to run the "Update the app", it will get stuck at Extracting 5% currently.

Downloading cheats error

20210213_031245
I am unable to download cheats and during the extracting phase the above error happens. I have 11.0.1|AMS M.18.0|S

Broken in 11.0.1

in version 11.0.1 it stays on a black screen and then throws an error. I used the latest version 1.3.1

SX os

Hello,

I'm trying to use you all in one switch updater but it doesn't work on my swith.
I have to rename nro because if I don't it doesn't appear in hoimebrewmenu. Rename it make it to appar with a blue icon. I can lunch it but impossible to use all is blocked,just close it or relaunch to close again.
My switch firmware is under 10.2.0.
What do you think about that?
Thank you per advance.

SX OS crashes when exiting the application

I am on the 3.0.5 beta and on 10.1.0 the application works fine but when I hit + to exit SX OS crashes. It cannot recover and I have to use jig to CFW again. Is 10.1.0 not supported and I should update firmware to 10.2.0? Can I exit the app any other way?

Request

Could you remove the version number so the filename is always the same making updates drag and drop when using forwarders

Prominent update info

I have some suggestions :)

  • have the app display on the starting page whether or not itself is the newest version (perhaps in brackets saying "Update available" right after the currently installed version number, or even just on the About page) , so we don't have to scroll down to Tools to see if there is a new version of the app to download.
  • remember which cheats package number I have already installed (if done so by the app before) so I can compare the numbers and see if I need to grab a new cheat package. I can't remember that 5 digit code all the time to know if it has changed from what I last installed.

Request - Update SigPatches with Atmosphere

When updating Atmosphere, could you add an option, maybe with a checkbox to activate and deactivate, that would also download the SigPatches that match the current version of atmosphere being updated, if they are available?

AIOSU 2.2.1 Crashes when launching in airplane mode

(Sorry for the barrage of issues.)

I'm running HOS 11.0.1/Atmosphere 0.18.0. I have a Mariko switch. I'm running with sys-clk (and Tesla overlay).

If I launch AIOSU using any method (NSP Forwarder, NSP Forwarded Homebrew Menu, Regular title override Homebrew Menu, and Homebrew Menu Applet mode) with airplane mode enabled, AIOSU either force-closes or crashes Atmosphere.

(I normally run in airplane mode, and I often forget to disable it when running homebrew.)

update error

i am on SX 3.0.5. when press update。 it return done。 that the screen was freezed . i could not type anything.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.