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

Discussion in '3DS - Homebrew Development and Emulators' started by LiquidFenrir, Jun 26, 2017.

  1. LiquidFenrir
    OP

    LiquidFenrir Advanced Member

    Newcomer
    70
    35
    Jan 15, 2016
    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.
     
  2. Darthsternie

    Darthsternie Advanced Member

    Newcomer
    52
    52
    May 18, 2015
    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)
     

    Attached Files:

    Last edited by Darthsternie, Jun 29, 2017
    Joel16, Ann0ying and zeldaism like this.
  3. ninja21

    ninja21 Member

    Newcomer
    20
    0
    Jun 30, 2008
    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!
     
  4. Darthsternie

    Darthsternie Advanced Member

    Newcomer
    52
    52
    May 18, 2015
    Germany
    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 :)
     
  5. shag04

    shag04 Newbie

    Newcomer
    3
    1
    Jan 25, 2016
    United States
    Cam someone please tell me whats wrong with my config.json file it keeps saying its invalid
     

    Attached Files:

  6. LiquidFenrir
    OP

    LiquidFenrir Advanced Member

    Newcomer
    70
    35
    Jan 15, 2016
    France
    You need to remove the last "," near the bottom
     
    shag04 likes this.
  7. shag04

    shag04 Newbie

    Newcomer
    3
    1
    Jan 25, 2016
    United States
    Man such a simple mistake, thank you
     
  8. Cralex

    Cralex GBAtemp Regular

    Member
    112
    44
    Jul 29, 2016
    United States
  9. LiquidFenrir
    OP

    LiquidFenrir Advanced Member

    Newcomer
    70
    35
    Jan 15, 2016
    France
    no, it's hardcoded to install to SD.
    Could detect it tho
     
  10. Nomelas

    Nomelas GBAtemp Regular

    Member
    269
    84
    May 6, 2015
    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, Oct 16, 2017