A new revolution in online play for games on the DS and DSi
Building on the work of many talented hackers in the Nintendo homebrew community, Kaeru Team are proud to bring an all-new way to play that's easier than ever.
No hacks, patches, nor flashcards are required - simply adjust your console's DNS settings, then you're all set to play online with other players on Wiimmfi.
Setup (for most games)
Setup is very simple, although unless you're using DSi Enhanced games on a DSi or 3DS console (see the DSi Enhanced section below for further details), you will need to ensure you have a wireless access point running on the traditional 2.4GHz band with compatible security settings (WEP or unencrypted), as this is all the DS supports.
Open the "Nintendo WFC Settings" menu in any WFC-enabled DS game.
On Nintendo DSi, you can also go into System Settings -> Internet, using the first three slots.
On Nintendo 3DS, go into System Settings -> Internet Settings -> Nintendo DS Connections.
Select "Wi-Fi Connection Settings" and select the slot you wish to use.
If you haven't already done so, you'll need to set up a Wi-Fi connection profile using a compatible WEP or unsecured access point.
Scroll down and set "Auto-obtain DNS" to "No", then set both Primary DNS and Secondary DNS to this:
Finally, save the new settings - you can run a connection test, if you like - and exit the WFC menu.
DSiWare and DSi Enhanced Games
Certain titles, such as DSiWare as well as Pokémon Black/White and their sequels, are so-called "DSi Enhanced" games, which means they can fully utilise the more advanced Wi-Fi chipset on DSi and 3DS consoles. This means you can play these games online with a modern Wi-Fi network secured using WPA / WPA2, when playing on a DSi or a 3DS.
To set this up, on DSi, follow the instructions above but use the "Advanced Setup" connection slots in System Settings -> Internet; on 3DS, use the three standard slots in the 3DS System Settings (you'll find DNS settings on the last page).
How it works
A useful bug in Nintendo's SSL implementation in the Nintendo DS and DSi SDKs, found by shutterbug2000 in October 2018 after years of attempts throughout the community to find holes in Nintendo's code, allows us to generate SSL server certificates that Nintendo SDK-based software will consider valid, invaluable for the operation of custom game servers as they have otherwise been impossible to use until now without patching ROM files of games and loading them onto a flashcard.
Kaeru WFC takes advantage of this to host a proxy to the Wiimmfi WFC authentication servers that's trusted by the DS - enabling easy online play with minimal fuss.
Essentially, we use a DNS server so when the DS tries to find the official WFC server, it gets directed to our gateway; from there, we use nds-constraint to forge a digital certificate, bypassing the checks carried out by the DS which were supposed to make sure it only connects to a genuine Nintendo server.
This means that we can transport Nintendo WFC data to Wiimmfi without hacks or cracks, and the DS is none the wiser.
All you need is the game you want to play, your DS family console, and a WiFi connection compatible with the game (most DS games only work with unsecured and WEP 2.4GHz access points, but a few games are DSi Enhanced and work with more modern WPA/WPA2 security).
Notes on Sudomemo, eShop and Kaeru Gallery
When you have the Kaeru WFC DNS server configured, you may be unable to access Sudomemo (which requires its own special DNS configuration, apparently for security reasons), and Nintendo eShop. This is because the Kaeru WFC server does not currently have entries for servers other than those required for WFC to work. We are exploring ways to solve this, but in the meantime, if you experience problems using Sudomemo or 3DS games, try re-enabling 'Auto-obtain DNS' to bypass our DNS servers.
Join our community
Once you're set up and looking to arrange a match online, or if you need any further help, why not get in touch with the people in our friendly Discord community? You can join at https://discord.kaeru.world.