• Register
    • Login
    • Search
      •  BrowseDNS Discord
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    Hi! Leaving so soon? Stop by and say hello!

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

    Switch
    2
    2
    278
    Loading More Posts
    • 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.
    • VGMoose
      VGMoose Admin last edited by

      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 Reply Quote 1
      • Referenced by  VGMoose VGMoose 
      • Referenced by  VGMoose VGMoose 
      • Coop
        Coop Switchbru last edited by

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

        1 Reply Last reply Reply Quote 0
        • 1 / 1
        • First post
          Last post
        Time Left – 20:00

        Featured Topics

        • How to Enable Chat Permissions
          by Genesect
          posted
        • Welcome! Check here for rules and info!
          by Genesect
          posted
        • BrowseDNS - Enable Access to the Open Internet
          by VGMoose
          posted
        • Ways to Browse the Internet on Various Devices
          by VGMoose
          posted
        • Homebrewing Your Wii U - How? Why?
          by Nightkingale
          posted
        • A List of Wii U Development Resources
          by quarky
          posted
        • Browser timeout - How to improve Reconnection Time
          by chiruby
          posted
        • The DNS Times
          by AwesomeKoala89
          posted

        Who's Online [Full List]

        2 users active right now (1 members and 1 guests).
        altinasnowy, Almond Milk

        Board Statistics

        Our members have made a total of 34.6k posts in 1.5k topics.
        We currently have 3.6k members registered.
        Please welcome our newest member, hello5.
        The most users online at one time was 61 on Thu Dec 29 2022.

        pwsincd testing : This text should only appear if the ID matches