matomo-org / device-detector

The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model.
http://devicedetector.net
GNU Lesser General Public License v3.0
2.92k stars 473 forks source link

Bot vs library/app #7491

Open Simbiat opened 11 months ago

Simbiat commented 11 months ago

I've noticed, that some bots look more like apps or libraries, for example Castro 2 (http://supertop.co/castro/) has an app on Apple Store, and MagpieRSS (https://magpierss.sourceforge.net/) is a library. Is there a logic, that we can use to differentiate?

Since I will go through the bots to get icons for them for my icon pack, I do not mind creating a PR, that would move some of the bots to app or library, but I would need to know what logic to follow, if this is even something that needs to be done in the first place.

sgiehl commented 11 months ago

From my understanding a bot is everything that happens somewhat automatically without any further user interaction. So an App that triggers a request to a server is not a bot. But if a server automatically fetches data from another site in order to somehow present it (in an App) to the user (without the user explicitly requesting it), this might more be a bot behavior imho.

Simbiat commented 11 months ago

But what if a bot (or an app for that matter) uses a library? Or if an app can be ran both manually and automatically (through cron)?

sgiehl commented 11 months ago

Yeah, it's sometime hard to distinguish between them. In general if we are able to detect and app or bot we should do that, even if they use a detectable library. I would see those library detections more as a fall back if nothing more specific could be detected.