Skip to content
  • Categories
  • Recent
  • Groups
  • Users
  • Tags
  • Popular
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Categories
  3. Consoles
  4. Switch
  5. How to: Self-host a DNS server for web browsing

How to: Self-host a DNS server for web browsing

Scheduled Pinned Locked Moved Switch
3 Posts 2 Posters 971 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • VGMooseV Offline
    VGMooseV Offline
    VGMoose
    Admin
    wrote on last edited by
    #1

    Described in the BrowseDNS post, the Switch will display a web browser applet as a part of its built-in Captive Portal functionality. The connection test domains are redirected when in a captive portal, and allow you to display your own web content inside the applet.

    The BrowseDNS servers will provide this redirect, but if you want more control or cannot access external DNS servers (eg. if there's a router/ISP override on outbound DNS requests), then you may want to self-host from another device on the network.

    Below are two ways to do this!

    The Easy Way (GUI)

    There's a Linux/Windows/Mac/Android app called YourFriendlyDNS by softwareengineer1 on Github. it can be downloaded here.

    After running the app, it will display the IP to enter on your Switch under "Listening IPs" in the top-left. This is the IP of your computer which will need to stay online for the DNS to continue resolving

    Advanced (Command Line)

    If you have a raspberry pi or a pi-hole, you can manually configure a DNS override for the following two connection test domains:

    • conntest.nintendowifi.net
    • ctest.cdn.nintendo.net

    These will need to be pointed to a reachable IP with an HTTP server listening on port 80, which will serve the web content that you want to appear in the browser applet. BrowseDNS uses LaneChange for this purpose, which will perform a redirect to another URL, or allows a custom response to be configured.

    You can use any HTTP server though, such as python simple http server, and serve a static index.html page from the current directory.

    For the DNS server, pi-hole uses FTLDNS. Other common Linux DNS servers are dnsmasq, bind, or systemd-resolved. Any should work well, a DNS server responds on port 53 via UDP to a domain query with a response IP, and in this case only the Switch connection domain needs to be overridden. There are approaches to do this directly in python as well.

    Sign the petition! Help us figure out the browser timeout.

    1 Reply Last reply
    1
    • VGMooseV VGMoose referenced this topic on
    • VGMooseV VGMoose referenced this topic on
    • CoopC Offline
      CoopC Offline
      Coop
      Switchbru
      wrote on last edited by
      #2

      the captive portal is not working for me on switch im using the gui

      1 Reply Last reply
      0
      • VGMooseV Offline
        VGMooseV Offline
        VGMoose
        Admin
        wrote on last edited by
        #3

        Since this post, we’ve released CaptiveDNS which should be a bit easier for GUI hosting: https://browsedns.net/topic/2072/release-captivedns-access-the-browser-on-the-switch-locally-self-host-instructions

        I’ll update the original post soon to go over this method as well

        Sign the petition! Help us figure out the browser timeout.

        1 Reply Last reply
        0
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        • Login

        • Don't have an account? Register

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Groups
        • Users
        • Tags
        • Popular