Thanks for doing this m8. A shame it takes the community to fix what should be native to the Switch. At least Ninty can't take this from us.
which fix do you mean? Does my dns application need to be fixed now too? Did they change something recently? I just released a major update with new features and fixes, but if there is more to do I want to know about it. So along with switchbru working well my dns solution can work well also and everyone's happy.
I think I have everything covered for the switch:
by default block the known update urls
by default block the known captive portal urls
-> which redirects them to the server's ip itself by default which the built in http server will respond as the captive portal with the html page provided by the user
So you run it and it binds successfully to port 53 and port 80, you then use the ip of the computer running it as your dns server on the switch, the captive portal test fails and it hands control off to the http server of that computer acting as the captive portal, and finally responds with the index.html page. As long as other places are accessible (whitelisted or not blacklisted) you can go anywhere or to those places but it thinks you're stuck only behind a captive portal because captive portal test url remains blocked. They may make it smarter than this, but as of now that's how it is and how most devices and software is currently.
Even blocking detectportal.firefox.com, firefox will constantly nag you that you need to go through the captive portal first to access the internet because the detect portal url remains blocked, regardless if you actually have connection to other places or not. So that's just how simple the check is, it assumes that if you can't access it then you can't access anywhere, it just never needed to be that complex when it was put in place, so that's why it's stayed simple. Firefox's is just a simple 'success' message response, so you could also actually just respond with that yourself to silence the firefox nag as well as just letting it go through which would yield the same result.
Well some more features, probably bugfixes, and it should be solid and good for a long time. I've already got an idea for the next project, so I should keep going and not just stop here!