Git Product home page Git Product logo

hb-appstore's Introduction

Homebrew App Store

GPLv3 License gh actions gitlab ci discord PRs Welcome

A Chesto-based 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.

Download and 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 Home or Minus buttons to exit.

Nintendo Wii U

To run this program, a modded Wii U is required. This can be done on any console or firmware, but for a compatibility check anyway, see ismywiiupatched.com. To run the Homebrew Launcher, see the tutorial here.

Download and 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 Home or Minus buttons to exit.

If you're using the Aroma beta, you can use the .wuhb file instead of the .rpx to launch the app directly from the Wii U home menu instead of HBL.

Custom Music

Place a mp3 file named background.mp3 in one of the following two locations:

  • Wii U: sd:/wiiu/apps/appstore/background.mp3
  • Switch: sd:/switch/appstore/background.mp3

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.

There is a PC port of the same client source code for Linux, Mac, and Windows that can be downloaded from the nightlies. This will download files to an sdroot folder where the app is ran.

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.

These clients are being developed with the intent to hook up to other existing non-libget repos (such as Wii/OSC and 3ds/universal-db) in the future. libget has *Repo.cpp implementations that would be extended to add this support.

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 wiiu.cdn.fortheusers.com or switch.cdn.fortheusers.com.

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 [email protected] or on Discord.

Compilation instructions

This program is written using chesto and has dependencies on libcurl, libget, and zlib. The chesto and libget libraries are included in this repo as submodules. SDL2 or SDL1 is also required depending on the target platform.

You can get pre-compiled binaries for each platform under GH Actions for a given commit. Click here to download the latest nightly builds without signing in.

Building with Docker

The easiest way to build is using the Sealeo docker container. It uses this dependency helper script to be able to build for all supported platforms. 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 ghcr.io/fortheusers/sealeo /bin/bash -c "cd /code && make $PLATFORM"

Depending on which platform you chose, appstore.nro or appstore.rpx should now be sitting in the cloned directory. When building for Wii U, an appstore.wuhb file will also be present.

Building for Specific 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 Contributions

Special thanks to dojafoja for donating to the project in the past! The funds went directly torwards repository hosting and maintenance. (Archived OpenCollective link)

If you would like to monetarily support this project, we ask that you instead make a donation towards some other cause instead. Here are a few notable ones:

Thank you!

hb-appstore's People

Contributors

annsanns avatar compsciorbust avatar compucat avatar crc-32 avatar helafaye avatar jacquescedric avatar maschell avatar monkeywithacupcake avatar rw-r-r-0644 avatar thatnerdypikachu avatar vgmoose avatar whovian9369 avatar xortroll avatar

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.