WIP HBUpdater Prerelease

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by LyfeOnEdge, May 16, 2019 at 7:33 AM.

?
  1. Tool to check validity of SD card (fake sd cards are prevalent on sites like wish.com)

    11.1%
  2. Tool to optimally format SD card (exfat is evil)

    11.1%
  3. CFW Firmware manager (update cfw at the touch of a button)

    77.8%
  1. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    [​IMG]

    What is it?
    A cross-platform desktop Nintendo Switch multi-tool for managing homebrew, injecting payloads, and installing Switch game backups.


    How does it work?
    Everything, and I mean EVERYTHING is downloaded via the github api.
    This means:
    All Homebrew
    Payloads
    Payload Injector (fusee-launcher.py by ktempkin)
    NUT (server.py by blarwar)
    Dependencies for NUT and fusee-launcher​

    All curated homebrew has been pre-set to install to the proper location on the sd card
    Currently the version of installed homebrew as well as the location of all files installed for the homebrew (such as large numbers of files extracted from a .zip) are tracked in /hbupdater/hbupdater.json. As a safety precaution to prevent folders that were not meant to be deleted from being removed uninstalling an app will only remove files that were copied over at the time of the homebrew's installation. As a side effect, files generated by homebrew and any folders will NOT be removed. Although a bit annoying, this will prevent the unintentional removal of your files or configuration files generated by your homebrew.

    Features:
    Easily update or remove apps on your CFW SD card
    Add your own repos to easily manage and update
    View github patch notes and homebrew version history
    Launch each homebrew's project page at the click of a button (gbatemp thread if available or github)
    Inject Payloads with fusee-launcher (this is also a replacement for your current rcm tool)
    Manage your backups with blawar's NUT server​

    Compatibility:
    This has only been tested on Atmos/Kosmos.
    I plan on supporting any bugs found with Reinx (There shouldn't be)
    If you find any bugs with SX OS, you can ask for support from team xecuter. ;)

    Goals before official 1.0 release:
    Make install tracking compatible with vgmoose's Homebrew Store (some of the code for this has already been written, and I've received vgmoose's approval, but this has not been included with the 0.5 release)
    Allow users to add additional payloads, both local and via the github api.
    Add a menu for managing kip patches
    Integrate Fluffy.py for users who don't use blawar installers (I need to get permission first, if anyone shares a discord with the dev let me know)​

    Dangers:
    THIS IS A WIP, AND IT HAS PRIMARILY BEEN TESTED BY ME AND A FEW DEDICATED FRIENDS.
    THERE WILL BE BUGS, I WOULD BE REMISS IF I DIDN'T PROVIDE THE FOLLOWING WARNING:

    What it can do:
    The absolute worst thing this can do is wipe your SD card.
    It is VERY unlikely, and has never happened in testing.​

    What it can't do:
    Brick your switch
    Steal your certs
    Kick your dog
    Make change
    Cure your crippling depression​

    How do I use it?
    1. Plug SD card into PC
    2. Launch App
    3. Click the SD card icon
    4. Select the ROOT of your SD card
    5. Select the homebrew you'd like to install
    6. Click the INSTALL button
    7. Your selected homebrew will be downloaded from github and put in the right location on your SD card
    8. After your homebrew is installed remove your SD card and insert in your Switch
    9. Click the syringe icon
    10. Select the payload you wish to inject (future versions will remember your selection between launches)
    11. Click inject​

    Project Page: https://github.com/LyfeOnEdge/HBUpdater
    Download: https://github.com/LyfeOnEdge/HBUpdater/releases

    A few people have pm'd me for a discord so here is my dev server: https://discord.gg/cXtmY9M

    *Bugs fixed:

    Temp solution to bad linux icon bitmap
    Improved readme for getting up and running on linux
     
    Last edited by LyfeOnEdge, May 17, 2019 at 6:40 AM
  2. DeuX

    DeuX GBAtemp Regular

    Member
    4
    Jun 14, 2018
    Switzerland
    Looks good, gonna try it out :D Tkx
     
    LyfeOnEdge likes this.
  3. TR_mahmutpek

    TR_mahmutpek medic

    Member
    6
    Jul 28, 2015
    Turkey
    Like an automated sd files? Like it.
     
    LyfeOnEdge likes this.
  4. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    Exactly, my first app (CFWSetup) was based on it. I want manage cfws with this one soon, but I really want to be careful with it to avoid screwing up people's sd cards.
     
    TR_mahmutpek and lordelan like this.
  5. Goffrier

    Goffrier GBAtemp Regular

    Member
    2
    Dec 19, 2018
    United States
    Owo whats this
     
    LyfeOnEdge likes this.
  6. switch_bricker

    switch_bricker Newbie

    Newcomer
    2
    Sep 11, 2018
    Austria
    Wow, looks nice.
    Is it possible to run it on the switch with github[dot]com[slash]nx-python/PyNX
    (sorry, cant post the link, need to replace the dot and slash...)
    That would be awesome :D
     
    Last edited by switch_bricker, May 16, 2019 at 12:12 PM
    LyfeOnEdge likes this.
  7. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    I wish, however it doesn't include tkinter so pynx isn't useful for guis
     
  8. milomc123

    milomc123 GBAtemp Regular

    Member
    2
    Jun 26, 2018
    Ireland
    In the soul stone
    Okay, this is epic
     
    LyfeOnEdge likes this.
  9. Fuzzy-v

    Fuzzy-v Member

    Newcomer
    1
    May 8, 2019
    Canada
    Nice work, will try it ASAP.
     
  10. stitchxd

    stitchxd GBAtemp Regular

    Member
    3
    Apr 27, 2017
    United States
    nope
    Looks dope! But can it get homebrew only hosted on GT?
     
  11. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    At the moment yes, this is a version manager primarily, if you have other places with apis I'd be happy to implement them, I've contacted the folks managing bsnx.lavatech, they said they might have an api in the future and if so I'll add the homebrew to one portion and allow it to serve as a launcher for their other apps, the long-term goal is to make this the switch version of usbhelper with a lot of other community creations bundled in one place
     
    klear likes this.
  12. stitchxd

    stitchxd GBAtemp Regular

    Member
    3
    Apr 27, 2017
    United States
    nope
    What about GBATemp then? :D I am sure the forums here have an api you can tap into!
     
  13. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    They have a repository system? I'll add it if they do but I've seen nothing along those lines in my time here
     
  14. stitchxd

    stitchxd GBAtemp Regular

    Member
    3
    Apr 27, 2017
    United States
    nope
    They have a download section? IDK if it's possible was just an idea I guess.
     
  15. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    I couldn't find anything about an api, and I'd really rather avoid direct links. If anybody knows of an api lmk
     
  16. stitchxd

    stitchxd GBAtemp Regular

    Member
    3
    Apr 27, 2017
    United States
    nope
    GBATemp runs on XenForo, here is an API doc: https://xenforo.com/xf2-docs/dev/rest-api/ (Note GBATemp might have disabled some api end points, but if you are interested in a decent read)
     
  17. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    It looks like they either have it disabled or are requiring the api key. Unfortunately attempting to follow the format laid out in the doc just results in a not found error. Thanks for the info though

    Accessing the API requires generating a key via the admin control panel. There is no unauthenticated access to the API and users cannot generate their own keys to access the API at this time.
     
    stitchxd likes this.
  18. LyfeOnEdge
    OP

    LyfeOnEdge Member

    Newcomer
    2
    Feb 24, 2019
    United States
    Apologies to the linux users for the corrupted icon bitmap, special thanks to... ermm... CumCoveredKittyKat... oh my... for the report.

    Linux users can prevent the bug from crashing the script by either commenting or removing the line
    Code:
    self.iconbitmap(homebrewcore.joinpaths(homebrewcore.assetfolder, 'HBUpdater.xbm'))
    in HBUpdatergui.py

    Alternatively the change has been pushed to github, if you download the SOURCE (not the current release) it should work.
     
    Last edited by LyfeOnEdge, May 17, 2019 at 6:48 AM
    stitchxd likes this.
  19. fourminute

    fourminute GBAtemp Regular

    Member
    3
    Jan 15, 2019
    United States
    Very helpful for newcomers to the scene since Switch development is accelerating at a faster rate every day.
     
    stitchxd likes this.
  20. PRAGMA

    PRAGMA GBAtemp Addict

    Member
    12
    Dec 29, 2015
    Ireland
    127.0.0.1
    Honest opinion here is that this isnt very useful, heres my points:
    If people were to use this to update HOMEBREW, there would be no need for it at all because of HB App Store on the switch itself.
    If people were to use this to update CFW, there would also be no need for it because its basically like 2-3 clicks and 1 url to update the CFW, which can also be pretty easily updated by a homebrew app.
    Also, the fact ur bundling this essentially as an All-In-One will actually slow down/annoy the general progress, ive learned from experience, I did something similar with kit-kat and it didnt go down well at all.
     
    Last edited by PRAGMA, May 19, 2019 at 1:18 AM
Loading...