Skip to content
master
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.

Homebrew App Store

GPLv3 License gitlab ci travis Financial Contributors on Open Collective discord twitter PRs Welcome

A graphical frontend to the get package manager for downloading and managing homebrew on video game consoles, such as the Nintendo Switch and Wii U. This is a replacement to the older Wii U Homebrew App Store.

Supported Platforms

Nintendo Switch

To run this program, a Nintendo Switch with access to the Homebrew Menu is required. This can be done on most Switches manufactured before July 2018, for compatibility check your serial number at ismyswitchpatched.com. To run hbmenu, see the tutorial here.

Extract the latest hb-appstore to sd:/switch/appstore/, and run "hb App Store" from within hbmenu. When you're done, you can press the Minus (-) button to exit.

Nintendo Wii U

To run this program, a Wii U with access to the Homebrew Launcher is required. This can be done on any firmware, for compatibility check at ismywiiupatched.com. To run the Homebrew Launcher, see the tutorial here.

Extract the latest hb-appstore to sd:/wiiu/apps/appstore/, and run "hb App Store" from within Homebrew Launcher. When you're done, you can press the Minus (-) button to exit.

Web and Desktop

Web browsers can download files from the Homebrew App Store at apps.fortheusers.org. Source code: hbas-frontend

Desktop platforms (Windows, MacOS, and Linux), can use @LyfeOnEdge's unofficial-appstore, or their alternative program: HBUpdater

3DS and Wii

There are work-in-progress ports to 3DS and Wii, with varying degrees of feature support. These can be compiled using the instructions below, but aren't yet ready to be used by most users.

If you would like to help maintain repos for these platforms, or contribute code / ideas, please feel free to make a PR or contact us on the 4TU Discord!

Maintaining a repo

See get's instructions for setting up a repository. Everything is designed to be statically hosted. If there's no repo provided in the repos.json config file, then it will generate a default one pointing to switchbru.com/appstore.

If you run into any issues and need help maintaining or setting up a libget repo, feel free to get in touch with vgmoose at me@vgmoose.com or on Discord.

Compilation instructions

This program is written using SDL2 and has dependencies on libsdl, libcurl, and zlib. It also makes use of libget which is included in this repo as a submodule.

You can get pre-compiled binaries for each platform under Pipelines for a given commit. The download artifacts dropdown is to the right of the build passing status.

Building with Docker

The easiest way to build is to use a docker container. Docker can be used to build for any of the three supported platforms, using the dependency helper scripts. This is how the pre-compiled binaries are built.

  1. Install Docker
  2. Run the following, replacing switch with the target platform (one of switch, wiiu, or pc):
git clone --recursive https://github.com/fortheusers/hb-appstore.git
cd hb-appstore
export PLATFORM=switch    # or wiiu, 3ds, wii, pc, pc-sdl1
docker run -v $(pwd):/code -it registry.gitlab.com/4tu/spheal /bin/bash -c "cd /code && make -f Makefile.$PLATFORM"

Depending on which platform you chose, appstore.nro or appstore.rpx should now be sitting in the cloned directory.

Building for Specifc Platforms

Compilation instructions for specific supported platforms (Switch, Wii U, 3DS, Wii) can be found in Compiling.md

License

This software is licensed under the GPLv3.

Free software is software that gives you the user the freedom to share, study and modify it. We call this free software because the user is free. - Free Software Foundation

Maintainers

Contributing

If you have some functionality that you'd like to see feel free to discuss it on an issues page, or if you already have an implementation or desire that you'd like to see, feel free to fork and make a pull request!

For code contributions, it's not required, but running a clang-format before making a PR helps to clean up styling issues:

find . \( -name "*.cpp" -or -name "*.hpp" \) -not -path "./libs/*" -exec clang-format -i {} \;

Contributors

Code Contributors

This project exists thanks to all the people who contribute!

Financial Contributors

Become a financial contributor and help us sustain our community!

Organizations

Support this project with your organization. Your logo will show up here with a link to your website.