90dns
Nintendo Switch DNS setup with BIND9/dnsmasq and nginx for blocking (hopefully) all Nintendo servers.
This is mostly for use with ftpd/sys-ftpd, hb-appstore and various updaters etc.
As it blocks Nintendo servers, eshop, updates, telemetry, social feature and online play will not work. It also blocks Sony servers.
There's also support for Switch 2, but it's still early and I cannot fully guarantee that everything is caught.
Prebuilt setup
There's public instances hosted at:
163.172.141.219
(France)207.246.121.77
(USA)
See "Usage on Switch" for how to use these.
If you live in NA or SA, then use the USA one as primary and France one as secondary. If you live anywhere else, then use France one as primary and USA one as secondary. This isn't necessary, but it might help make things be a bit faster.
Usage on Switch
- Optional, but recommended: Do tests on your PC first to see if your ISP hijacks DNS (I've seen multiple reports of this so far)
- Go to System Settings on main menu
- Go to Internet tab
- Open Internet Settings
- Open Manual Setup and set up your network name, SSID and Security
- Set DNS Settings to manual, and set DNS options to either the IPs provided above (set both primary and secondary) or your own server's IP (see below for setup instructions)
- Save
- Restart your switch, then connect to wifi
If you did everything correctly, you should be on 90DNS.
Testing DNS connectivity
You can test if you're connected to DNS on your PC and on your switch (though it's much safer on a PC, from a ban standpoint). If the tests fail, then you probably need to set up a DNS server yourself, see the self-host guide.
On PC
You only need to do one of these, not all of them.
Easy manual method: Set your DNS to one of the IPs provided above and open 90dns.test. If you see a screen like this, then you're connected successfully. If not, then something is blocking the DNS connection.
Python script: Install Python (any recent python 3 will do). Install dnspython (pip install dnspython
), download and run 90dnstester.py. It'll test the DNS automatically and tell you if it's safe or not.
Old method: On your PC you can set your DNS to one of the IPs provided above and try pinging the IPs (ping example.nintendo.com
). Also on linux (and also mac?), you can use dig or drill with drill example.nintendo.com
/dig example.nintendo.com
. If you see 127.0.0.1, then you're connected properly.
On Switch
Via homebrew
You can use this homebrew by Nexrem.
Manually
On your Switch, you can try to go to eshop.
- If you get 2811-1007 error then you're successfully using 90DNS
- If you successfully connect to eshop then you're not using 90DNS
- If you get 2124-4007 then you're both not using 90DNS and are console banned (rip).
- If you get 2137-7403 then you're both not using 90DNS and are CDN banned (double rip).
Additional error codes that you might get if you're successfully connected to 90DNS:
- 2124-8007 when trying to login/create new account
- 2807-1007 when trying to open a video on news
- 2807-1006 when trying to view the parental controls video
- 2160-8007 when trying to test connection
- 2801-1007 when opening "Social Network Posting Settings"
- 2137-8007 when trying to update system
- "Failed to load channel information" on "News Channel Settings" or "Find Channels"
Self-hosting Guide
You don't have to self host. You can simply use one of the IPs above and it'll have the same functionality. This is mostly for people who want to block more/less addresses or for people who have issues accessing dns servers outside of their networks due to their ISPs.
The selfhosting guide was moved to SELFHOST.md
Disclaimer
This is not guaranteed to prevent bans. It should, but I won't guarantee that.
Disabling 90dns (or going on a network without 90dns) after doing bannable things with 90dns WILL get you banned. If you enable 90dns, you shouldn't disable it. I recommend having a clean sysmmc and using 90dns all the time on your emummc, doing whatever you do. Taking a NAND backup before doing anything bannable, enabling 90dns, doing bannable things, then restoring said backup will also prevent a ban, but will use up a lot of time and shorten your NAND's life.