please have the maslow firmware log dns queries to the serial log so that we can see if people are connecting via the (frequently limited) captive portal window or if they are connected directly (and so that we can start collecting the captive portal urls and lie to them that they really have Internet access)
Can you tell me more?
Or better yet feel free to open an issue describing exactly what you are looking for and I can assign it to copilot ![]()
Bar wrote:
Or better yet feel free to open an issue describing exactly what you are looking for and I can assign it to copilot
I didn’t go into the detail about the captive portal login windows not always
working fully, but I tried to explain in more detail what I’m looking for. Let
me know if you have any questions.
I posted here rather than just opening an issue so that other people could see
the request and comment about it.
David Lang
see log all dns requests to maslow serial log · Issue #265 · BarbourSmith/FluidNC · GitHub
when the maslow is in AP mode, it runs a dns server so that no matter what url
is requested, it gets back the 192.168.0.1 IP address.
log these requests to the serial console
This allows us to see in a dump of the console if someone connected by IP, by
maslow.local or by connecting to
http://connectivitycheck.gstatic.com/generate_204 (the URL that android uses to
see if it needs you to login to a captive portal)
the next phase of this will be to create a table of these captive portal URLs
and generate the appropriate response to tell the system that it does have
Internet access, even when it doesn’t
for example:
http://connectivitycheck.gstatic.com/generate_204 return status code 204
Success return a HTML page with “Success”
in both the title and body text.
see wikipedia for a reasonably current set of pages to detect and how to respond
to each Captive portal - Wikipedia
These change over time, so we need to log what names are requested by the
built-in DNS server rather than just implementing the current set of detection
work-arounds.
Do you think it would be enough to log it once when the user connects so that it in the log, but won’t take up too much space? I’m worried that if we log every request we’re going to get a lot of log entries which could clutter things up
Bar wrote:
Do you think it would be enough to log it once when the user connects so that
it in the log, but won’t take up too much space? I’m worried that if we log
every request we’re going to get a lot of log entries which could clutter
things up
The browser caches dns queries, so DNS requests should be very infrequent. I
think it would add more complication to try and track what’s been asked than to
just log it every time (and if it is doing a request at an odd time, that may be
a clue)
if you are worried, make it configurable and we can turn it off if it’s too
noisy
David Lang
Sounds good, let’s add it and we can always make more quiet if need be ![]()