Homebrew [RELEASE] MultiUpdater: Simple updater for various files and application

LiquidFenrir

Well-Known Member
OP
Newcomer
Joined
Jan 15, 2016
Messages
90
Trophies
0
XP
627
Country
France
Hello! Realized a bit late I never made a gbatemp post for µp, but many people here who don't visit the subreddit might find it useful, so here it is!

As the title reads, it's an updater for pretty much any file, as long as you have the url for it.
You can see an example config file on the repo:
It's very easy to run, just download the latest release (v3.2 at the time) and extract the cia to the SD card, or the /3ds/ folder too if you want to run it from the HBL.
From then, you only have to open it and press A to download the example config, then relaunch it!

The config file is in json, and very easy to expand to add the files you want.
 

Darthsternie

Well-Known Member
Newcomer
Joined
May 18, 2015
Messages
65
Trophies
0
Location
Somewhere
Website
www.darthsternie.net
XP
321
Country
Germany
Here's a config.json with every payload by d0k3 and Luma3DS that is compatible with Boot9Strap.
Thanks to LiquidFenrir for the example config.
Just extract it and copy it to /3DS/MultiUpdater/.

29.06.17 - Added MultiUpdater .cia and .3dsx Download (Thanks for the suggestion Valliant Storm)
 

Attachments

  • config.zip
    755 bytes · Views: 717
Last edited by Darthsternie,

ninja21

Active Member
Newcomer
Joined
Jun 30, 2008
Messages
26
Trophies
0
XP
259
Country
hi this is great work thanks. do you need to be on a minimum version of a luma3ds etc for this to work? or will it update everything regardless of which version you are running? the reason I ask is because I have been away from the scene for a while and believe I am on a version of luma3ds without boot9strap/ godmode.. thanks again!
 

Darthsternie

Well-Known Member
Newcomer
Joined
May 18, 2015
Messages
65
Trophies
0
Location
Somewhere
Website
www.darthsternie.net
XP
321
Country
Germany
hi this is great work thanks. do you need to be on a minimum version of a luma3ds etc for this to work? or will it update everything regardless of which version you are running? the reason I ask is because I have been away from the scene for a while and believe I am on a version of luma3ds without boot9strap/ godmode.. thanks again!
You need to be using Luma3DS with boot9strap. If you don't want to use Boot9strap you'll need to create list of this for Arm9LoaderHax or your entry point of choice first :)
 

shag04

Member
Newcomer
Joined
Jan 25, 2016
Messages
24
Trophies
0
Age
29
XP
262
Country
United States
Cam someone please tell me whats wrong with my config.json file it keeps saying its invalid
 

Attachments

  • config.json.zip
    440 bytes · Views: 363

Nomelas

Well-Known Member
Member
Joined
May 6, 2015
Messages
369
Trophies
0
Age
39
XP
851
Country
Canada
@LiquidFenrir

with the c++ rewrite - why are there escaped backslashes before certain periods? - is that necessary? EDIT - it seems to work just fine without

example:
Code:
       {
            "name": "Anemone3DS",
            "url": "[URL]https://github.com/astronautlevel2/Anemone3DS[/URL]",
            "inrelease": "Anemone3DS\\.cia",
            "path": "/cias/Anemone3DS.cia"
       },



I also had a few other questions/issues.

1. does this work with notabug.org ? (For freeshop)?
2. The built in self-updater doesn't work when running from cia
3. is it possible to take multiple files from a single site/release/archive? Something like:
Code:
        {
            "name": "FBI.cia",
            "url": "https://github.com/Steveice10/FBI",
            "inrelease": "FBI.cia",
            "path": "/cias/FBI.cia",
            "inrelease": "FBI.3dsx",
            "path": "/3ds/FBI/FBI.3dsx"
        },
4. Or the ability to take multiple files from a single archive and put it in a directory? Something like:
Code:
        {
            "name": "Boot9strap.firm",
            "url": "https://github.com/SciresM/boot9strap",
            "inrelease": "boot9strap.*.zip",
            "inarchive": "boot9strap.firm",
            "inarchive": "boot9strap.firm.sha",
            "path": "/boot9strap/*"
        },
5. Better yet, the ability to download from everything from just 1 click (rather than having multiple entries in the list). Like:
Code:
        {
            "name": "All-in-one Download" [
                {
                    "url": "https://github.com/SciresM/boot9strap",
                    "inrelease": "boot9strap.*-ntr.zip",
                    "inarchive": "boot9strap_ntr.firm",
                    "path": "/ntrboot/boot9strap_ntr.firm"
                },
                {
                    "url": "https://github.com/SciresM/boot9strap",
                    "inrelease": "boot9strap.*-ntr.zip",
                    "inarchive": "boot9strap_ntr.firm",
                    "path": "/ntrboot/boot9strap_ntr.firm"
                }
            ]
        },
        {
            "name": "Other options",
            "url": "https://github.com/blah/blahblah",
            "inrelease": "helloworld.cia",
            "path": "/cias/helloworld.cia"
        }
6. Does "inrelease" support regex? for example, it's hard to specify just the boot9strap-v1.3.zip archive when they are all similarly named: https://github.com/SciresM/boot9strap/releases


The reason I ask, is to both make it simpler to update some (So you're not re-downloading the same archive to get multiple files from it, or updating both the .3dsx or .cia with a single click) OR to provide an all-in-one click option for getting all the necessary homebrew when setting up a newly hacked 3ds.
 
Last edited by Nomelas,

LiquidFenrir

Well-Known Member
OP
Newcomer
Joined
Jan 15, 2016
Messages
90
Trophies
0
XP
627
Country
France
Sorry for the delay, I really don't use gbatemp much.
@Nomelas:
I found it hangs when using unescaped backslashes. maybe that was fixed without noticing
1. No, notabug doesnt have an api so this doesnt work with it. besides, this app has its own builtin updater, or you could use a static url to the .cia
2. That's known and will be fixed, thanks
3. Not yet, but it's planned
4. No, that will be only the 3. method, I think. Nothing has been implemented/tested for now
5. you can use L/Y to select all/single entries and then A to update everything selected
6. yes, inarchive and inrelease use regex!

@nintendowii as that is a static url, you don't need to use inrelease, just set that as the url. It can download from any site, but the release system only works with github
 
  • Like
Reactions: Nomelas
D

Deleted User

Guest
So does this work with 3dsx files?

Also, if I gave someone a list of everything that I would want to be updated, would they make it for me? I am not good at configuring/I don't understand. Thanks in advance.
 

LiquidFenrir

Well-Known Member
OP
Newcomer
Joined
Jan 15, 2016
Messages
90
Trophies
0
XP
627
Country
France
Yes, this can also "install" (really just extracting) 3dsx files. If you ask nicely, maybe the person would do it, the format isnt that hard to understand
name: the name shown in the application
url: url to the file/github repo
inrelease: only needed if the url is a github repo, regex pattern to find the wanted file in the latest release
inarchive: only needed if the file is a zip/7z, regex pattern to find the wanted file in the archive
path: where to put the file
 
D

Deleted User

Guest
Yes, this can also "install" (really just extracting) 3dsx files. If you ask nicely, maybe the person would do it, the format isnt that hard to understand
name: the name shown in the application
url: url to the file/github repo
inrelease: only needed if the url is a github repo, regex pattern to find the wanted file in the latest release
inarchive: only needed if the file is a zip/7z, regex pattern to find the wanted file in the archive
path: where to put the file

Thanks for the info. I will try to whip one up. Will post to see if it is correct.
 

brunocar

Well-Known Member
Member
Joined
Aug 14, 2017
Messages
826
Trophies
0
Age
40
XP
2,166
Country
Argentina
wouldnt it be cool to have something that allows the program to generate its own config files crossreferencing your installed (or maybe just a manually selected bunch of) homebrew apps with titleDB?
 

brunocar

Well-Known Member
Member
Joined
Aug 14, 2017
Messages
826
Trophies
0
Age
40
XP
2,166
Country
Argentina
Also, what happens in cases like PKSM where the download folder has the same file name in two different folders. What does it grab? I am asking this because PKSM has a rosalina version and a hax version in its download folder
the QR code only has a CIA version
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Well start walking towards them +1