Skip to content
This repository has been archived by the owner on Mar 4, 2024. It is now read-only.

noahc3/SDSetup

Repository files navigation

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: