Tel paginaweergaven, geen mensen. Privacy voorop bij webanalyse, veilig opgeslagen in de EU.
OPEN BÈTA
Tel paginaweergaven, geen mensen. Privacy voorop bij webanalyse, veilig opgeslagen in de EU.

Open Source Gebruikersagent Opzoektabel

Open source dataset voor het opzoeken van user agents met voorspelbaar gedrag. JSON-gebaseerd, handmatig beoordeeld en ontworpen voor praktisch analytisch gebruik.
Deze pagina is vertaald vanuit het Engels door onze zeer gemotiveerde AI-stagiairs voor uw gemak. Ze zijn nog aan het leren, dus er kunnen wat foutjes zijn geslopen. Voor de meest nauwkeurige informatie verwijzen wij u naar de Engelse versie.
Thuis Open Source-projecten Open Source Gebruikersagent Opzoektabel

Deze repository bevat een genormaliseerde, zorgvuldig samengestelde dataset van user-agent-strings, opgeslagen als JSON-bestanden en bedoeld om te dienen als een opzoektabel om eenvoudige gegevens over user agents af te leiden, zoals de user-agent-client en het besturingssysteem.

Het wordt gebruikt als onderdeel van PageviewsOnline, maar hier gepubliceerd voor algemeen gebruik.

De dataset wordt aangevuld met eenvoudige hulpscripts om de gegevens te valideren en ze te exporteren naar andere formaten of programmeertalen (zoals Java).

Project Filosofie

Het doel van dit project is niet om een waterdicht of feilloos nauwkeurig detectiesysteem voor user-agents te leveren, maar eerder om een praktische, zo goed mogelijke oplossing te bieden die in de loop der tijd verbetert door gebruik in de praktijk en bijdragen uit de gemeenschap.

User agent-detectie is van nature onvolmaakt. In plaats van te streven naar volledige nauwkeurigheid richt dit project zich op wat het wel kan:

  • Praktisch
  • Onderhoudbaar
  • Transparant
  • Goed genoeg voor praktijkgerichte analyses en classificatie

Nauwkeurigheid verbetert na verloop van tijd door zorgvuldig geselecteerde updates, praktijkgebruik en bijdragen van de gemeenschap.

Heuristische parsing en complexe reguliere expressies leveren vaak voorspelbaarheid in ruil voor marginale nauwkeurigheidswinsten.

Dit project geeft de voorkeur aan:

  • Transparantie boven magie
  • Gecurateerde data boven ondoorzichtige logica
  • Verklaarbare resultaten boven speculatieve detectie

Functies

  • Genormaliseerde, door mensen beoordeelde dataset met gebruikersagent-strings
  • Eenvoudig en voorspelbaar zoekgedrag
  • JSON-gebaseerd formaat, gemakkelijk te inspecteren en te beheren met versiebeheer
  • Lichtgewicht validatiescripts
  • Exporteer hulpfuncties voor andere talen (bijv. Java)
  • Actief in gebruik in een productie-SaaS-omgeving

Genormaliseerde User-Agent-Strings

Het primaire doel van dit project is om op een snelle en voorspelbare manier hoog-niveau-informatie uit User-Agent-strings te halen.

Om dit te ondersteunen, wordt elke user-agent-string vóór verwerking genormaliseerd. Normalisatie verwijdert onstabiele variatie (zoals versienummers en hoofdlettergebruik) terwijl de structurele en semantische betekenis van de user-agent behouden blijft.

Gebruikersagent-strings worden genormaliseerd met de volgende stappen:

  • Vervang alle numerieke cijfers (0-9) door het placeholder-teken x. Dit vermindert ruis die veroorzaakt wordt door versie-updates, terwijl de tokenstructuur en lengte behouden blijven.
  • Zet de hele string om naar kleine letters. User-agent-tokens zijn volgens de conventie hoofdletterongevoelig, en door ze om te zetten naar kleine letters worden consistente en betrouwbare lookups gegarandeerd.

Bijvoorbeeld: de volgende user agent string:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36

Is genormaliseerd naar:

mozilla/x.x (windows nt xx.x; winxx; xxx) applewebkit/xxx.xx (khtml, like gecko) chrome/xxx.x.x.x safari/xxx.xx

Deze normalisatiebenadering maakt gebruikersagenten gemakkelijker te groeperen, te vergelijken en te onderhouden in de loop der tijd, terwijl deze nog steeds nauwkeurig genoeg blijft voor classificatie op hoofdlijnen van clients en besturingssystemen.

Door variatie die versiegebonden en hoofdlettergevoeligheid betreft uit te sluiten, wordt het opzoekingsproces voorspelbaarder en veerkrachtiger tegen toekomstige wijzigingen in de user-agent.

Gegevensformaat

Elke genormaliseerde user-agent-invoer bevat:

  • id - De genormaliseerde user agent string
  • client_family - Hoog-niveau clientclassificatie (bijv. browser, bot, app)
  • os_family - Hoog-niveau classificatie van besturingssystemen

De exacte velden kunnen in de loop van de tijd veranderen naarmate de dataset groeit.

Zoekgedrag

User agent matching wordt uitgevoerd tegen genormaliseerde strings.

Exacte overeenkomsten hebben de voorkeur; gedeeltelijke of heuristische overeenkomsten worden bewust vermeden om het gedrag voorspelbaar en debugbaar te houden.

Bijdragen

Bijdragen zijn van harte welkom en helpen de algehele kwaliteit en nauwkeurigheid van dit project te verbeteren.

De meest impactvolle manier om bij te dragen is door genormaliseerde gebruikersagentvermeldingen toe te voegen of bij te werken in het bestand user_agents.json, samen met eventuele relevante classificatiegegevens.

Zodra uw wijzigingen gereed zijn, dient u een pull request in met de benodigde gegevens en/of code-updates.

Zelfs gedeeltelijke of onvolledige informatie is nuttig en gewaardeerd - elke bijdrage helpt bij het verbeteren van de dekking en de langetermijnbetrouwbaarheid.

Aan de slag (Snelle handleiding)

De kern van dit project is de verzameling JSON-gegevensbestanden, te vinden in de data/ directory.

Om deze gegevens te onderhouden en te hergebruiken, bevat de repository een kleine set eenvoudige Node.js-scripts die basale validatie en exporttaken uitvoeren.

Veelvoorkomende commando's:

  • npm run test - Valideert de JSON-gegevens en controleert op structurele fouten of inconsistentie.
  • npm run build - Bouwt, sorteert en exporteert de genormaliseerde gegevens naar andere programmeertaalformaten (zoals Java) voor een eenvoudigere integratie.

Deze tools zijn bewust minimaal en richten zich op de juistheid van data en draagbaarheid, in plaats van op complexe verwerking.

User-Agent Strings Zijn Niet Betrouwbaar

Het afleiden van nauwkeurige informatie uit user-agent-strings is om meerdere redenen inherent onbetrouwbaar:

  • Er is geen formele standaard of specificatie die de structuur of inhoud van de User-Agent-strings regelt.
  • Veel user-agents spoofen of imiteren bewust andere user-agents vanwege compatibiliteits- en legacy-redenen

Daardoor is het extreem moeilijk om de User-Agent-gegevens op een volledig nauwkeurige en consistente manier te bepalen.

Deze bibliotheek moet daarom worden gezien als een best-effort-oplossing, geen bron van gegarandeerde of gezaghebbende waarheid.

Met voortdurend gebruik en bijdragen van de gemeenschap kan de nauwkeurigheid in de loop der tijd verbeteren.

Versiebeheer & Stabiliteit

De dataset kan in de loop der tijd veranderen naarmate gebruikersagenten evolueren.

Classificaties worden niet beschouwd als brekende wijzigingen, zelfs tussen kleine versies.

Consumenten moeten resultaten beschouwen als best-effort-aanwijzingen, niet als contractuele garanties.

Licentie

Dit project en de bijbehorende gegevens worden vrijgegeven onder de Apache License 2.0 (Apache-2.0).

Commercieel gebruik, wijziging en herverdeling zijn toegestaan.

Bijdragen zijn welkom en worden gewaardeerd.

Handelsmerk

PageviewsOnline, Two-Dot-Oh, en alle bijbehorende logo’s, servicenamen of branding zijn handelsmerken van Two-Dot-Oh.

Dit project is open source; het gebruik van de naam PageviewsOnline of enige bijbehorende branding in verband met een product, dienst of aanbod is echter niet toegestaan zonder voorafgaande schriftelijke toestemming.

Forks en afgeleide werken moeten een andere naam en huisstijl gebruiken en mogen niet de indruk wekken van goedkeuring door of affiliatie met PageviewsOnline of Two-Dot-Oh.