That makes sense — if it just presents as a generic network timeout, reliable detection would be tricky.
No worries, it was just a passing thought while I was out walking the dogs. Thanks for taking the time to look into it and for the quick fix. Your fast turnaround and clear responsiveness to feedback are genuinely appreciated, and it really shows how quickly you iterate on new releases and bug fixes.









You could take a look at AWStats.
I used it years ago when I was running my own web server, and it worked well for exactly this type of use case: generating basic reports directly from server access logs (most viewed pages, browsers, referrers, status codes, etc.) without relying on any client-side tracking.
It processes standard web server logs (Apache, Nginx and similar), so there is no JavaScript involved and nothing for visitors to block. That also means your numbers will generally align much more closely with what the server actually handled, compared to client-side tools like Matomo.
From a quick glance it looks like development activity may have slowed after 2023, but log formats have been relatively stable for a long time. If you run it as an offline analyzer (generate static reports from logs and do not expose the CGI interface publicly), the security surface is minimal.
Regarding bots: since it works purely on access logs, you will still need to filter at the log level. Typical approaches include:
It is not a perfect solution, but if your goal is simple, privacy-respecting, server-side statistics without client-side scripts, it is a relatively lightweight option worth considering.