Code Monkey home page Code Monkey logo

sdsetup's Introduction

Homebrew SD Setup

https://www.sdsetup.com

Homebrew SD Setup is a web application written in C# (and a little bit of JavaScript) running on Blazor. The app lets you select the homebrew applications and custom firmwares you want, and quickly create a zip archive to extract to your SD card. The Ninite for your game consoles.

SDSetup, PegaScape, and homebrew.guide are shutting down indefinitely

I have not had the motivation to maintain these tools for quite a while now, leaving packages to fall very out-of-date. It's possible I may bring SDSetup back one day if I get the itch, but no promises, and certainly not any time soon. For now, it's best you switch to a new source.

Right now, your best alternative is to follow switch.hacks.guide. This guide will walk you through rolling your own Switch CFW setup, including obtaining all files from their original sources. This is the best option to learn about what you are installing on your Switch, the guide is excellent, and the folks at Nintendo Homebrew have a great team of helpers if you get stuck.

If you want a drop-in replacement which provides a ZIP that you just drag and drop, check out Team Neptune's DeepSea package. This is a spiritual successor to Kosmos and should work as you expect.

If you would like to host your own instances of these tools, the source code will remain archived on GitHub (but really, SDSetup should be rewritten from scratch). Please note that while code and content for SDSetup, homebrew.guide, and PegaScape are released under permissive licenses, logos and graphical assets are copyrighted. If you want to host a public replacement, just change the names and you are good to go!

Compatibility

The application has been verified working in Chrome, Firefox, Opera and Edge on Windows 10, as well as Chrome and Firefox on Android. Other browsers are likely to work fine as long as they support WebAssembly or asm.js, and ES6.

Internet Explorer is explicitly incompatible due to lack of ES6 support. Additionally, Firefox 61 and lower requires the user to manually navigate to the generated ZIP blob because the blob won't download programatically for whatever reason. This is fixed in Firefox 62+.

Features

General

  • Generate a perfectly formatted file structure in ZIP format, ready for direct extraction to your SD card. No additional setup necessary, just drag and drop!
  • Save your setup so you can update everything later without reselecting all of the packages.

Nintendo Switch

  • Choose between a selection of common homebrew applications, tools and utilities, including:
    • Custom Firmwares (ex. SX OS, Atmosphere, ReiNX)
    • Homebrew Utilities (ex. Homebrew Menu, Checkpoint, JKSV, Tinfoil)
    • Emulators (ex. Salamander RetroNX, pSNES)
    • Games (ex. Mystery of Solarus DX, SDL Prince of Persia)
    • Fusee Payloads (ex. Hekate, BISKeyDump, BriccMii)
    • PC Utilities (ex. TegraRCMSmash)

Usage

Head over to https://www.sdsetup.com, select your console of choice, select the packages you want, and hit download! Once finished, simply extract the contents of the sd folder in the downloaded ZIP archive to the root of your SD card! Do what you wish with any additional folders included in the zip file.

Issues

Please feel free submit an issue for any of the following reasons:

  • A package is outdated
  • A package's information is incorrect
  • A package should be retrieved from a different/better source
  • A browser other than Internet Explorer is incompatible
  • Reporting a bug
  • Suggesting a feature
  • Suggesting a new package
  • Requesting a package be removed Homebrew SD setup
  • Reporting a redistribution clause license violation for a rehosted package
  • Any other issue with the site or it's packages

Build

Clone the repository and open the solution in Visual Studio. Build from there.

Included Projects

  • SDSetup Blazor: The web application itself, written in C# (and a little bit of JavaScript).
  • SDSetup Backend: The backend server which the frontend communicates with. Upon request, generates zip bundles based on the client selection. Also provides manifest data and download statistics.
  • SDSetup Backend Control Panel: Control panel to manage functionality of the backend server(s). Also for managing the Homebrew Guide.
  • SDSetup Updater: A tool to autoupdate a number of homebrew packages present on SDSetup through various means. Designed specifically for SDSetup packages, not dynamic.
  • SDSetup Common: Common utilities and types shared between two or more of the above projects.

Todo

  • The frontend needs a lot of optimization. For example, converting things to components and setting up databinding on individual components to refresh only what UI needs to be refreshed rather than entire containers.
  • The backend needs to be refactored to conform to ASP.Net Core standards.

Contributing

Feel free to make pull requests where you see fit!

Credits

Please see https://www.sdsetup.com/credits for an up-to-date list of credits and sources for each package available.

Other credits:

sdsetup's People

Contributors

annsanns avatar canadahonk avatar noahc3 avatar znxdomain 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

sdsetup's Issues

Move file hosting to a dedicated server

Many reasons to do this:

  • Rawgit is shutting down.
  • Some anti-viruses now block githack by default due to the service being used to host malware.
  • Githack latency is spotty at best. On a bad day, you may be waiting 10 minutes just to download the standard SDFiles package.
  • Workflow right now sucks, files need to be uploaded to three different services.
  • Testing unreleased stuff (ex. unreleased SDFiles versions) is currently a nightmare since the files need to be hosted somewhere publicly accessible.
  • A dedicated server would mean I can work on auto-updating packages.
  • Hosting (sometimes huge) binaries on git is bad practice in general.

Dedicated servers cost money though, of which I don't have. Completing this assumes people would be willing to donate for the service.

zip.js blobs refuse to save programatically in Firefox (desktop and mobile)

For some reason, zip.js blobs refuse to save. After the save confirmation dialogue (which looks right), the file download reports a size of 0 bytes and shows 0 bytes / second as the download speed in the downloads panel. The browser also goes funky, sometimes hanging.

A workaround is implemented right now instructing users to manually navigate to the blob url in a new tab, but a real solution would be appreciated.

zip.js is necessary to fix the memory issues on mobile, using JSZip is not an option.

Server is down

image

And since the footnote says to report here, here I'm.

ZIP file not saving

Alter the "Downloading your ZIP, please wait..." screen the file never appeared and no message to save was shown.

Tested on the latest chrome version and firefox 54

Download doesn't package atmosphere correctly

When you download a zip file, the atmosphere folder doesn't even contain fusee-secondary.bin. Instead fusee-secondary.bin is in the root folder, but it needs to be moved into the atmosphere folder. Nothing works without the files in the right places.

Pixel-Painter Update

Hi there, love this project you've gotten set up!

I wanted to point out that I just updated Pixel-Painter to v1.6.0 and was hoping you would reflect that in your re-hosted homebrew projects.

Until recently I wasn't aware that it wasn't working as intended (basically broken) and had to be fixed, which is what v1.6.0 has done.

SDSetup not loading

I've tried loading the website on different devices, browsers, and networks, but it just hangs at the loading screen.

update sdfiles

your sdfiles revision is a little behind. update it to version 9.0.4

Microsoft Edge is broken

When Edge was working, it took a very long time to generate the final Zip file (in a virtual machine, at least). This is likely due to all of the virtualization.

Likely around 6ce3160, Edge up and died completely. Menu items stopped working at all, and the shared init does not successfully force UI updates.

Both of these issues are likely related to the ForceUiUpdate delegate not being available, or StateHasChanged not being available, when running on Edge (but for whatever reason works on every other browser without issue). I have noticed that OnInitAsync on Edge is very strange, so the solution might be to move some stuff into OnInit.

IE support isn't really a must but honestly Edge is a decent enough browser that I could believe some people might actually use it exclusively for reasons other than ignorance. Thus, restoring support for it is high priority.

ZeroTwoXCI not working when grabbed from SDSetup

Hello,
I want to report a bug.

When you download the bundle from sdsetup and have ticked ZeroTwoXCI, the bundler grabbed a .nro which I believed to be faulty, I have redone the info dump and kezplez-nx dump and the .nro from the bundled zip do not run at all. The error it gave me is that it can't find key file to import.

Only until I replaced the faulty ZeroTwoXCI.nro from the bundled zip with the file I downloaded from GBAtemp (zerotwoxci.rar), it ran without a problem.

The different is the bundled .nro title in hbmenu is TinfoilZeroTwoXCI, while the .nro from GBAtemp is only ZeroTwoXCI

I can reproduce the bug if you want proof, or need detailed steps. I encounter this problem on both of my switch systems.

Update sys-ftpd

The newest commit fixes an rather annoying issue which would result in file-corruption when overwriting stuff.

Large package downloads fail on mobile

On every mobile device tested (S7, S4, S3 Mini, Axon, LG G5, LG G3), in every browser tested (stock browser for given device, Chrome, Firefox), attempting to download RetroNX, with or without other accompanying packages, will fail with

Uncaught RangeError: Array buffer allocation failed

Since the file count of RetroNX does not exceed the file count of all other packages combined (and all other packages download fine), and RetroNX alone is larger than every other package combined, the failure is presumably due to some arraybuffer size limit. I couldn't find any information on what that limit is though, so it's hard for me to work on a fix.

Download doesn't start

Hi,

no matter what pre-configured bundles I select, after I hit "Download your ZIP" I see a black screen with a loading wheel and "0/397"
then the screen gets lit again with
"Operation Completed Your ZIP file should download within the next few seconds!"
but nothing happens after that.

I've tried with Chrome and Edge. Same result.

Seems like somethings broken to me, but I may be wrong.

Regards

Cray_T90

More information about versions/commits for each homebrew

Does all the homebrew app updates on the fly as soon as a commit is pushed ?
I mean, do you build all by yourself automatically on a build server ? Is there some app from release on github or you always make by yourself/your buildserver ?

Is there a way to show the version/commit being included in the zip (like when mouseover, display version of the homebrew app).

Thanks.

Toolbox keeps crashing

  1. I downloaded Atmosphere (selected all from General, no Sys modules). Deleted everything from SD card before copying files, except Nintendo folder.
  2. Sdfiles Toolbox (Sdfiles Toolkit, CFW Settings) always crashes. I've tried using Hekate and fusee-primary, same result.
  3. Everything else is working OK, btw.

What am I doing wrong?

Add package priority sorting (Option to enable nogc patches)

Thanks for this tool!

It would be nice to have an option to include/enable nogc patches for systems updated via ChoiDujourNX.


  • Update backend to support priority sorting. nogc configs always have to be added AFTER the normal kosmos config
  • Fix the file zipper to not add duplicate files.

moving homebrew packages into their own folders

NX-Shell and Checkpoint create files and folders in the same directory as their nro file. This clutters up the switch directory and in some cases even makes useless directories show up in the homebrew menu. If you put them in /sd/switch/NX-Shell/NX-Shell.nro and /sd/switch/Checkpoint/Checkpoint.nro respectively, then the HBMenu will only show one icon and hide any additional files/directories associated with those apps.

Credits page too wide for mobile

Neat page. The credits page could you se some css media queries to work on mobile though.

Edit:
The URLs might be too long, causing the page to expand. Try using css ellipsis or insert some breakpoints. You could also change the link labels to something shorter instead

Atmosphere bug

After running Atmosphere with the files provided by SDSetup, I went into RCM to find that Atmosphere would not load. I had to manually get Atmosphere 0.8.2, add all the files to my SD card, and get the payload.

I recommend that you quickly resolve this issue for future SDSetup users.

Thank you!

Firefox 52.9.0 ESR seems to be broken

navigating the site seems to be seem to be broken on the browser, And selecting options doesn't seem to be working.
Tried with and without track protection and ublock origin

Generated INI entry for LayeredFS + Sys-Netcheat crashes at bootup

Installing Atmosphere with Sigpatches and Sys-Netcheat options generates this entry in /bootloader/sys-netcheat.ini

[LayeredFS + sys-netcheat] kip1=modules/newfirm/loader.kip kip1=modules/newfirm/sm.kip kip1=modules/newfirm/fs_mitm.kip kip1=modules/newfirm/pm.kip kip1=modules/sys-netcheat.kip atmosphere=1 kip1patch=nosigchk debugmode=1 fullsvcperm=1

When trying to boot from this entry in Hekate, startup gets to the "Switch" logo, then hangs.

Tested it as of 2018-09-29 at 1130h EDT.

Not sure if its an incompatibility between the modules, or a problem in the way the ini file is generated.

Edit: Sorry, should probably have included that I'm on 5.1.0

HBMenu key combo default value not recognized in CFW Settings

I'm using Kosmos v11.0.
In CFW Settings, the HBMenu key combo default value is not recognized (there's a question mark). If I save settings (not changing that question mark to another value), there's no way to access HBMenu anymore.

Also, B button is shown as "back", but it doesn't work. I'm not sure how to exit CFW Settings without saving. + button does nothing either.

[Update] Rekado 2.4.1

You are using 2.3 version of Rekado, which is not latest update. Also, Rekado doesn't support Lakka booting no more (official way of loading is now Hekate). Thank you.

Update Switch backup Manager

Nice project! Thank you.
Please, update Switch backup manager to version 1.1.3 as it has important changes from previous version.

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.