A Nintendo Switch homebrew app for CFW management.
DNS blocking, firmware downloads, Atmosphere updates -- all without leaving your Switch.
- Toggle Nintendo server blocks on/off with changes applied immediately (no reboot)
- Entries grouped by category: Telemetry, System Updates, Game Content, eShop
- Quick-apply profiles: Block All, Allow Game Updates, Telemetry Only, Allow All
- Built-in connectivity test that TCP pings each host on port 443
- Auto-detects which hosts file to use (emummc > sysmmc > default)
- Atomic file writes to prevent corruption
- Toggle verified
system_settings.inioverrides from a UI (reboot required to apply) - All settings sourced from Atmosphere's
settings_sd_kvs.cpp-- nothing unverified - Categories: Update Suppression, Network, Telemetry, Homebrew
- Preserves existing comments and manual edits in your INI file
- Safe for sysnand online play -- all overrides are local only
- Download Nintendo firmware (HOS) directly from the Switch
- Browse available firmware versions and select the one you need
- Downloads and extracts firmware, then hands off to Daybreak for installation
- No PC required -- download, extract, and install all from the homebrew menu
- Downloads the latest CFW4SysBots package directly from GitHub
- Includes everything: Atmosphere, Hekate, sys-botbase, ldn_mitm, AetherBlock, and more
- Auto-detects your console type (Mariko/Erista) and downloads the right package
- Preserves your DNS hosts, system settings, sysmodules, and configs during update
- Mod-chipped users just reboot -- no jig, no RCM, no payload injection
| Button | Action |
|---|---|
| Up/Down | Navigate entries |
| Left/Right | Page up/down |
| A | Toggle / Select / Confirm |
| X | Open profiles menu |
| Y | Save & reload DNS |
| L | Run server connectivity test |
| R | Atmosphere settings |
| ZL | Firmware Manager |
| ZR | CFW Package Updater |
| - | Seed default Nintendo entries |
| + | Quit (with unsaved changes check) |
- Download
AetherBlock.zipfrom the latest release - Extract to the root of your SD card (places the NRO in
/switch/AetherBlock/) - Make sure Daybreak is at
/switch/daybreak.nrofor firmware installation - Launch from the Homebrew Menu
Or grab the full CFW package from CFW4SysBots which includes AetherBlock, Daybreak, and everything else you need.
One guided flow updates both your CFW and firmware with a single reboot at the end. AetherBlock walks you from one step to the next automatically.
- Open AetherBlock from the Homebrew Menu and press ZR to open the CFW Package Updater
- Press A to check for the latest CFW4SysBots package, then A again to download and install it
- When extraction finishes, press A — AetherBlock jumps straight to the Firmware Manager for you
- Press A to fetch the Nintendo firmware list, pick the version you want, and press A to download
- When extraction finishes, press A to launch Daybreak
- In Daybreak: Continue, accept the default options, and let it install
- When Daybreak finishes, tap Reboot — Atmosphere's reboot-to-payload kicks in and the Switch comes back up on the new CFW and firmware
That's it. No PC, no RCM jig, no manual file management.
Atmosphere has to be updated before the reboot that loads the new firmware. New Atmosphere releases add support for new Nintendo firmware versions — if only the firmware gets installed and the old Atmosphere is still on the SD card at boot, it won't be able to launch CFW.
Extracting the CFW package just places files on the SD card; it doesn't touch the currently running system. The old Atmosphere keeps running in memory while you do everything else. The new files only matter at boot, which is why you can do CFW → firmware → one reboot back to back.
A couple of Atmosphere files (package3, stratosphere.romfs, and sometimes AetherBlock.nro itself) are held open by the running CFW and can't be overwritten with a plain file write. AetherBlock handles this transparently:
- During CFW extraction, it first tries a direct write, then a stash-and-rename, then a libnx direct-write path that bypasses stdio's share semantics. Most files land at that stage.
- For anything that still refuses to budge, the new content is staged as
<file>.ab_newand queued in/config/AetherBlock/pending.txt. - Right before the post-Daybreak reboot, AetherBlock tries to swap the staged files into place using a backup-rename-restore pattern so the real file is never in a missing state.
- On the next launch after reboot, any sidecars that are still around get one more attempt — including a byte-for-byte content check so redundant
.ab_newfiles get cleaned up automatically.
The net effect: you never have to manually rename anything, and stale sidecars don't accumulate on the SD card.
Requires devkitPro with the following packages:
(dkp-)pacman -S switch-dev switch-sdl2 switch-sdl2_ttf switch-freetype switch-curl switch-mbedtls switch-zlib
makeDNS Hosts: Reads and modifies Atmosphere's hosts file at /atmosphere/hosts/default.txt. Entries prefixed with ; are disabled. After saving, it calls Atmosphere's IPC command 65000 on sfdnsres to reload the hosts file in memory -- no reboot needed.
System Settings: Reads and modifies /atmosphere/config/system_settings.ini. Atmosphere parses this file at boot and overrides the corresponding system settings via its set:sys mitm service. Changes here require a reboot to take effect.
Firmware Manager: Fetches a firmware manifest from the CFW4SysBots repo, downloads the selected firmware ZIP, extracts it to /firmware/, then chain-loads Daybreak with the firmware path pre-set. Daybreak handles the actual firmware flash.
CFW Package Updater: Hits the GitHub API for the latest CFW4SysBots release, auto-selects the right package for your console (mod-chipped or unpatched), and downloads/extracts the full CFW bundle. Your hosts files, system settings, sysmodules, and AetherBlock config are preserved during extraction.
- DNS reload mechanism via DNS-MITM_Manager by znxDomain
- Server list from NintendoClients Wiki
- Download/extraction patterns adapted from AIO-Switch-Updater
- Settings verified against Atmosphere source (
settings_sd_kvs.cpp) - Built with libnx, SDL2, cJSON, and libcurl
MIT





