From e421ac5a4083367f2cde37d38ca9ca2a492e82fe Mon Sep 17 00:00:00 2001 From: red binder Date: Sat, 8 Aug 2026 02:08:37 +0200 Subject: [PATCH] malamar changes --- .github/dependabot.yml | 19 ------------- .github/workflows/ci.yml | 22 --------------- Makefile | 2 +- README.md | 25 +++++++---------- common/inkay_config.h | 2 +- plugin/Makefile | 2 +- plugin/src/main.cpp | 4 +-- src/iosu_url_patches.h | 56 +++++++++++++++++++------------------- src/lang/en_US.lang | 2 +- src/patches/olv_applet.cpp | 4 +-- src/patches/olv_urls.h | 2 +- 11 files changed, 47 insertions(+), 93 deletions(-) delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/ci.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 815be86..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,19 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - -version: 2 -updates: - - package-ecosystem: "docker" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" - commit-message: - prefix: "chore: " - - package-ecosystem: "github-actions" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" - commit-message: - prefix: "chore: " diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 3eb8d31..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Inkay-CI -permissions: - contents: read - -on: -- push -- pull_request - -jobs: - build-inkay: - runs-on: debian-trixie - steps: - - uses: actions/checkout@v7 - - name: build toolchain container - run: docker build . -t builder - - uses: https://github.com/ammaraskar/gcc-problem-matcher@master - - name: build Inkay - run: docker run --rm -v ${PWD}:/app -w /app builder - - uses: actions/upload-artifact@v3 - with: - name: inkay - path: dist/ diff --git a/Makefile b/Makefile index 624a492..1a50efc 100644 --- a/Makefile +++ b/Makefile @@ -19,7 +19,7 @@ WUT_ROOT := $(DEVKITPRO)/wut # DATA is a list of directories containing data files # INCLUDES is a list of directories containing header files #------------------------------------------------------------------------------- -TARGET := Inkay-spfn +TARGET := Malamar-spfn BUILD := build SOURCES := src src/patches src/utils src/ext/inih common DATA := data diff --git a/README.md b/README.md index 5e42d0b..560fb2d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,6 @@ -# Inkay - Aroma patches for Pretendo +# Malamar - Aroma patches for Splatfestival Network/Spacebar -[![Pretendo network logo](https://github.com/PretendoNetwork/website/raw/master/public/assets/images/opengraph/opengraph-image.png)](https://pretendo.network) - -Inkay is an Aroma/WUPS plugin that patches various Nintendo Network URLs on a Wii U to use Pretendo Network instead. It also (for the time being) bypasses SSL verification in most cases. It redirects Nintendo Network in: +Malamar is an Aroma/WUPS plugin based on Pretendo's Malamar that patches various Nintendo Network URLs on a Wii U to use Splatfestival/Spacebar Network instead. It also (for the time being) bypasses SSL verification in most cases. It redirects Nintendo Network in: - IOSU-side connections (Friends, SpotPass, accounts etc.) - Account Settings @@ -11,27 +9,27 @@ Inkay is an Aroma/WUPS plugin that patches various Nintendo Network URLs on a Wi - Miiverse (in-game) - Miiverse applet -Inkay also includes game-specific patches to add extra features: +Malamar also includes game-specific patches to add extra features: - Modpack-specific matchmaking for global, regional rooms (by simulating extra DLC) - **Mario Kart 8** - P2P port override for better connection stability (if you port forward) - **Minecraft: Wii U Edition**, **Mario Kart 8**, **Splatoon** ## Requirements -Inkay is only supported on the release version of Aroma configured for autoboot/coldboot. Other configurations (specifically lacking coldboot) may cause issues with SpotPass. +Malamar is only supported on the release version of Aroma configured for autoboot/coldboot. Other configurations (specifically lacking coldboot) may cause issues with SpotPass. ## Safety -Inkay's patches are all temporary, and only applied in-memory without modifying your console. The SSL patch, while also temporary, could reduce the overall security of your console while active - this is because it no longer checks if a server is verified. However, this does not apply to the Internet Browser, where SSL still works as expected. +Malamar's patches are all temporary, and only applied in-memory without modifying your console. The SSL patch, while also temporary, could reduce the overall security of your console while active - this is because it no longer checks if a server is verified. However, this does not apply to the Internet Browser, where SSL still works as expected. ## Compiling - Docker -Inkay's dependencies and build tooling can be handled as a container, which is recommended for WUPS plugins. Using `docker` or `podman`: +Malamar's dependencies and build tooling can be handled as a container, which is recommended for WUPS plugins. Using `docker` or `podman`: ```shell -docker build -t inkay . -docker run --rm -v $(pwd):/app inkay make +docker build -t malamar . +docker run --rm -v $(pwd):/app malamar make # you can replace "make" with other commands - e.g. make clean ``` If using `podman` on SELinux systems (like Fedora Linux), you might need to use `$(pwd):/app:Z` instead of `$(pwd):/app`. ## Compiling - System -Inkay has the following dependencies aside from devkitPPC and wut: +Malamar has the following dependencies aside from devkitPPC and wut: - [WiiUPluginSystem](https://github.com/wiiu-env/WiiUPluginSystem) - [WiiUModuleSystem](https://github.com/wiiu-env/WiiUModuleSystem) - [libmocha](https://github.com/wiiu-env/libmocha) @@ -39,7 +37,4 @@ Inkay has the following dependencies aside from devkitPPC and wut: - [libnotifications](https://github.com/wiiu-env/libnotifications/) - [libfunctionpatcher](https://github.com/wiiu-env/libfunctionpatcher) -Each of these should be `make install`-able. After that, you can compile Inkay with `make`. - -## TODO -See [Issues](https://github.com/PretendoNetwork/Inkay/issues). +Each of these should be `make install`-able. After that, you can compile Malamar with `make`. diff --git a/common/inkay_config.h b/common/inkay_config.h index fad1699..906d60f 100644 --- a/common/inkay_config.h +++ b/common/inkay_config.h @@ -15,7 +15,7 @@ #endif #ifndef NETWORK_BASEURL -#define NETWORK_BASEURL "spfn.net" +#define NETWORK_BASEURL "spbr.net" #endif #endif //INKAY_INKAY_CONFIG_H diff --git a/plugin/Makefile b/plugin/Makefile index 6553ec1..a4baa3d 100644 --- a/plugin/Makefile +++ b/plugin/Makefile @@ -19,7 +19,7 @@ WUMS_ROOT := $(DEVKITPRO)/wums # DATA is a list of directories containing data files # INCLUDES is a list of directories containing header files #------------------------------------------------------------------------------- -TARGET := Inkay-spfn +TARGET := Malamar-spfn BUILD := build SOURCES := src src/utils ../common DATA := data diff --git a/plugin/src/main.cpp b/plugin/src/main.cpp index 5f1b343..7d3ad2e 100644 --- a/plugin/src/main.cpp +++ b/plugin/src/main.cpp @@ -32,10 +32,10 @@ Mandatory plugin information. If not set correctly, the loader will refuse to use the plugin. **/ -WUPS_PLUGIN_NAME("Inkay(SPFN)"); +WUPS_PLUGIN_NAME("Malamar (SPFN)"); WUPS_PLUGIN_DESCRIPTION("SPFN Network Patcher"); WUPS_PLUGIN_VERSION(INKAY_VERSION); -WUPS_PLUGIN_AUTHOR("Pretendo contributors and RusticMaple"); +WUPS_PLUGIN_AUTHOR("redbinder0526, kittentm and Pretendo contributors"); WUPS_PLUGIN_LICENSE("GPLv3"); WUPS_USE_STORAGE("inkay"); diff --git a/src/iosu_url_patches.h b/src/iosu_url_patches.h index bf289f1..3b84b54 100644 --- a/src/iosu_url_patches.h +++ b/src/iosu_url_patches.h @@ -8,35 +8,35 @@ typedef struct URL_Patch { static const URL_Patch url_patches[] = { //nim-boss .rodata - {0xE2282550, "http://pushmorewupshop.spfn.net/pushmore/r/%s"}, - {0xE229A0A0, "http://npns-devcapp.spfn.net/bst.dat"}, - {0xE229A0D0, "http://npns-devcapp.spfn.net/bst2.dat"}, - {0xE2281964, "https://tagayawupshop.spfn.net/tagaya/versionlist/%s/%s/%s"}, - {0xE22819B4, "https://tagayawupshop.spfn.net/tagaya/versionlist/%s/%s/latest_version"}, - {0xE2282584, "http://pushmowupshop.spfn.net/pushmo/d/%s/%u"}, - {0xE22825B8, "http://pushmowupshop.spfn.net/pushmo/c/%u/%u"}, - {0xE2282DB4, "https://ecswupshop.spfn.net/ecs/services/ECommerceSOAP"}, - {0xE22830A0, "https://ecswupshop.spfn.net/ecs/services/ECommerceSOAP"}, - {0xE22830E0, "https://nuswupshop.spfn.net/nus/services/NetUpdateSOAP"}, - {0xE2299990, "npplapp.spfn.net"}, - {0xE229A600, "https://plswupshop.spfn.net/pls/upload"}, - {0xE229A6AC, "https://npvk-devapp.spfn.net/reports"}, - {0xE229A6D8, "https://npvkapp.spfn.net/reports"}, - {0xE229B1F4, "https://nptsapp.spfn.net/p01/tasksheet/%s/%s/%s/%s?c=%s&l=%s"}, - {0xE229B238, "https://nptsapp.spfn.net/p01/tasksheet/%s/%s/%s?c=%s&l=%s"}, - {0xE22AB2D8, "https://idbe-wupcdn.spfn.net/icondata/%02X/%016llX.idbe"}, - {0xE22AB318, "https://idbe-ctrcdn.spfn.net/icondata/%02X/%016llX.idbe"}, - {0xE22AB358, "https://idbe-wupcdn.spfn.net/icondata/%02X/%016llX-%d.idbe"}, - {0xE22AB398, "https://idbe-ctrcdn.spfn.net/icondata/%02X/%016llX-%d.idbe"}, - {0xE22B3EF8, "https://ecscshop.spfn.net"}, - {0xE22B3F30, "https://ecscshop.spfn.net/ecs/services/ECommerceSOAP"}, - {0xE22B3F70, "https://iascshop.spfn.net/ias/services/IdentityAuthenticationSOAP"}, - {0xE22B3FBC, "https://cascshop.spfn.net/cas/services/CatalogingSOAP"}, - {0xE22B3FFC, "https://nuscshop.spfn.net/nus/services/NetUpdateSOAP"}, - {0xE229DE0C, "n.app.spfn.net"}, + {0xE2282550, "http://pushmorewupshop.spbr.net/pushmore/r/%s"}, + {0xE229A0A0, "http://npns-devcapp.spbr.net/bst.dat"}, + {0xE229A0D0, "http://npns-devcapp.spbr.net/bst2.dat"}, + {0xE2281964, "https://tagayawupshop.spbr.net/tagaya/versionlist/%s/%s/%s"}, + {0xE22819B4, "https://tagayawupshop.spbr.net/tagaya/versionlist/%s/%s/latest_version"}, + {0xE2282584, "http://pushmowupshop.spbr.net/pushmo/d/%s/%u"}, + {0xE22825B8, "http://pushmowupshop.spbr.net/pushmo/c/%u/%u"}, + {0xE2282DB4, "https://ecswupshop.spbr.net/ecs/services/ECommerceSOAP"}, + {0xE22830A0, "https://ecswupshop.spbr.net/ecs/services/ECommerceSOAP"}, + {0xE22830E0, "https://nuswupshop.spbr.net/nus/services/NetUpdateSOAP"}, + {0xE2299990, "policylist.spbr.net"}, + {0xE229A600, "https://plswupshop.spbr.net/pls/upload"}, + {0xE229A6AC, "https://npvk-devapp.spbr.net/reports"}, + {0xE229A6D8, "https://npvkapp.spbr.net/reports"}, + {0xE229B1F4, "https://tasksheets.spbr.net/p01/tasksheet/%s/%s/%s/%s?c=%s&l=%s"}, + {0xE229B238, "https://tasksheets.spbr.net/p01/tasksheet/%s/%s/%s?c=%s&l=%s"}, + {0xE22AB2D8, "https://idbe-wupcdn.spbr.net/icondata/%02X/%016llX.idbe"}, + {0xE22AB318, "https://idbe-ctrcdn.spbr.net/icondata/%02X/%016llX.idbe"}, + {0xE22AB358, "https://idbe-wupcdn.spbr.net/icondata/%02X/%016llX-%d.idbe"}, + {0xE22AB398, "https://idbe-ctrcdn.spbr.net/icondata/%02X/%016llX-%d.idbe"}, + {0xE22B3EF8, "https://ecscshop.spbr.net"}, + {0xE22B3F30, "https://ecscshop.spbr.net/ecs/services/ECommerceSOAP"}, + {0xE22B3F70, "https://iascshop.spbr.net/ias/services/IdentityAuthenticationSOAP"}, + {0xE22B3FBC, "https://cascshop.spbr.net/cas/services/CatalogingSOAP"}, + {0xE22B3FFC, "https://nuscshop.spbr.net/nus/services/NetUpdateSOAP"}, + {0xE229DE0C, "n.app.spbr.net"}, //nim-boss .bss - {0xE24B8A24, "https://npplapp.spfn.net/p01/policylist/1/1/UNK"}, - {0xE31930D4, "https://%s%saccount.spfn.net/v%u/api/"} + {0xE24B8A24, "https://policylist.spbr.net/p01/policylist/1/1/UNK"}, + {0xE31930D4, "https://%s%saccount.spbr.net/v%u/api/"} }; diff --git a/src/lang/en_US.lang b/src/lang/en_US.lang index 4a2d963..389fa6e 100644 --- a/src/lang/en_US.lang +++ b/src/lang/en_US.lang @@ -1,4 +1,4 @@ -.plugin_name="Inkay" +.plugin_name="Malamar" ,.network_category="Network selection" ,.connect_to_network_setting="Connect to SPFN" ,.other_category="Other settings" diff --git a/src/patches/olv_applet.cpp b/src/patches/olv_applet.cpp index 2860027..5b38688 100644 --- a/src/patches/olv_applet.cpp +++ b/src/patches/olv_applet.cpp @@ -46,7 +46,7 @@ constexpr struct olv_allowlist original_entry = { constexpr struct olv_allowlist new_entry = { .scheme = "https", - .domain = ".projectrose.cafe", + .domain = ".spbr.net", .path = "", .flags = {1, 1, 1, 1, 1}, }; @@ -109,7 +109,7 @@ DECL_FUNCTION(int, FSOpenFile, FSClient *client, FSCmdBlock *block, char *path, } else if (strcmp("vol/content/browser/effective_tld_names.dat", path) == 0) { - // we patch the TLD because .cafe isnt on the list (projectrose.cafe) + // we patch the TLD because .cafe isnt on the list int ret = real_FSOpenFile(client, block, path, mode, handle, error); valid_tld_handle = *handle; DEBUG_FUNCTION_LINE_VERBOSE("Inkay: Found Miiverse TLD List, patching..."); diff --git a/src/patches/olv_urls.h b/src/patches/olv_urls.h index aa055fc..0e6ca69 100644 --- a/src/patches/olv_urls.h +++ b/src/patches/olv_urls.h @@ -18,7 +18,7 @@ #include "inkay_config.h" constexpr char original_url[] = "discovery.olv.nintendo.net/v1/endpoint"; -constexpr char new_url[] = "disco.olv.projectrose.cafe/v1/endpoint"; +constexpr char new_url[] = "discovery.olv.spbr.net/v1/endpoint"; _Static_assert(sizeof(original_url) >= sizeof(new_url), "new_url too long! Must be less than 38chars.");