Device-detector: Universal Device Detection library from User Agent
github.com
github.com
It can only tell you things actually included in the UA string itself as it's just be a parser and not a "knowledge engine"
edit: looks like it only detects bots that overtly identify themselves as bots, e.g. Googlebot -- it's designed to identify clients, not as some sort of security device
A really useful flag would be "isAIBot" so you can tell them to f-off. A colleague returned from SRECon and had been asking around in regards to bots from AI companies and it's getting ridicules. AI companies are just hammering sites left and right, to the point where some are hitting the limits on their deals with hosting companies and transit providers.
And you can't filter them out, because their running on AWS, Azure or GCP IPs and aren't identifying themselves properly.
Did what it said on the tin, but did so, by maintaining a huge list of individual devices and their characteristics. At the time, I chose not to use it (I was developing a [c]WAP server), but it had a number of supporters, and its maintainer was pretty sharp, and quite dedicated.
These days, there’s an order of magnitude more devices, and a much greater variety. Big job.
The key to WURFL was a massive XML file. That was constantly updated with the latest gizmos, and whatnot.
Those were not the good ol' days.
I can't speak to how good the actual product is today (or even when it launched, but that's a whole 'nother story), but during development it was capable of processing 100K RPS in a footprint of ~30MB RAM with ~98% accuracy compared to WURFL as a baseline.
This would be very useful in limited-bandwidth scenarios.
Responsive sites aren’t the same. They deliver all the data, but filter it in the UI.
If you know a client is likely to be from a place where bandwidth is expensive, you may choose not to load the "What's Happening"/"Who To Follow", or the messages, or possibly even the image URLs (which I'd guess come from the backend with an array of URLs of those images in various sizes & resolutions.)
Hell, you might even load a smaller subset of the feed - 10 items instead of 30.
2) End device does not have ability to display HiDPI images -> Send small
Of course, if you have (1), in a low-bandwidth environment, then you actually want the server to send small, even if the device can handle big, but that can be indicated with a different flag.
Responsive sites still upload the same data, but show less of it to you.
That said, if there were a way to report network connection speed to the server, it could make the decision to reduce the data load (regardless of end device).
https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageEl...
If not I would like to contribute to that as an open source.
List of ports
it maybe another way to speed up for golang like prefix tree instead of using regexes, any one know a something similar for golang?