Tæl sidevisninger, ikke personer. Webanalyse med fokus på privatliv, sikkert gemt i EU.
ÅBEN BETA
Tæl sidevisninger, ikke personer. Webanalyse med fokus på privatliv, sikkert gemt i EU.

Åben Kildekode Bruger Agent Opslags Tabel

Datasæt til opslag af brugeragenter med forudsigelig adfærd og åben kildekode. JSON-baseret, manuelt gennemset og designet til praktisk analysebrug.
Denne side er oversat fra engelsk af vores meget motiverede AI-praktikanter til din bekvemmelighed. De er stadig i gang med at lære, så der kan være enkelte fejl. For de mest præcise oplysninger henvises til den engelske version.
Hjem Open Source-projekter Åben Kildekode Bruger Agent Opslags Tabel

Dette repository indeholder et normaliseret, kurateret datasæt af brugeragentstrenge, lagret som JSON-filer og designet til at blive brugt som en opslagstabel for at udlede enkle oplysninger om brugeragenten, såsom brugeragentklienten og operativsystemet.

Det bruges som en komponent af PageviewsOnline, men er offentliggjort her til generel brug.

Datasættet suppleres med enkle hjælpeprogrammer til at validere dataene og eksportere dem til andre formater eller programmeringssprog (såsom Java).

Projektfilosofi

Målet med dette projekt er ikke at levere et fejlsikkert eller fuldstændig præcist system til detektion af brugeragenten, men derimod en pragmatisk løsning, der gør sit bedste og som forbedres over tid gennem brug i den virkelige verden og bidrag fra fællesskabet.

Genkendelse af brugeragenten er i sagens natur ufuldkommen. I stedet for at jagte fuldstændig nøjagtighed, fokuserer dette projekt på at være:

  • Praktisk
  • Vedligeholdelig
  • Gennemsigtig
  • Godt nok til analyse og klassificering i den virkelige verden

Nøjagtigheden forbedres over tid gennem kuraterede opdateringer, brug i praksis og bidrag fra fællesskabet.

Heuristisk parsing og komplekse regulære udtryk bytter ofte forudsigelighed ud med marginale nøjagtighedsgevinster.

Dette projekt favoriserer:

  • Gennemsigtighed frem for magi
  • Kuraterede data frem for ugennemsigtig logik
  • Forklarlige resultater frem for spekulativ detektion

Funktioner

  • Normaliseret, manuelt gennemgået brugeragent-datasæt
  • Enkel og forudsigelig opslagsadfærd
  • JSON-baseret format, nemt at inspicere og med versionskontrol
  • Letvægtsvalideringsscripts
  • Eksporter hjælpefunktioner til andre sprog (f.eks. Java)
  • Aktivt anvendt i et produktions-SaaS-miljø

Normaliserede Brugeragentstrenge

Det primære mål med dette projekt er at udtrække information på et højt niveau og stabil information fra brugeragentstrenge på en hurtig og forudsigelig måde.

For at understøtte dette bliver hver brugeragentstreng normaliseret inden behandlingen. Normalisering fjerner ustabil variation (såsom versionsnumre og forskelle i store og små bogstaver), samtidig med at den bevarer den strukturelle og semantiske betydning af brugeragenten.

Brugeragent-strenge normaliseres ved hjælp af følgende trin:

  • Udskift alle numeriske cifre (0-9) med pladsholdertegnet x. Dette fjerner støj forårsaget af versionsændringer, samtidig med at tokenstrukturen og længden bevares.
  • Konverter hele strengen til små bogstaver. Brugeragent-tokens er ikke følsomme over for forskelle i store og små bogstaver i henhold til konventionen, og konvertering til små bogstaver sikrer konsistente og pålidelige opslag.

For eksempel, følgende brugeragentstreng:

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

Normaliseret til:

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

Denne normaliseringsmetode gør brugeragenter nemmere at gruppere, sammenligne og vedligeholde over tid, samtidig med at den forbliver tilstrækkeligt præcis til en høj-niveau-klassificering af klienter og operativsystemer.

Ved at fjerne versionsspecifikke og forskelle i store og små bogstaver bliver opslagsprocessen mere forudsigelig og mere robust over for fremtidige ændringer i brugeragenten.

Dataformat

Hver normaliseret brugeragentpost omfatter:

  • id - Den normaliserede brugeragentstreng
  • client_family - Overordnet klientklassificering (f.eks. browser, bot, app)
  • os_family - Højniveau-klassificering af operativsystemer

Nøjagtige felter kan ændre sig over tid, i takt med at datasættet vokser.

Opslagsadfærd

Brugeragent-matchning udføres mod normaliserede strenge.

Eksakte matchninger foretrækkes; delvise eller heuristiske matchninger undgås bevidst for at holde adfærden forudsigelig og fejlfindbar.

Bidrag

Bidrag er meget velkomne og hjælper med at forbedre den overordnede kvalitet og nøjagtighed i dette projekt.

Den mest effektive måde at bidrage på er ved at tilføje eller opdatere normaliserede brugeragentposter i filen user_agents.json, sammen med relevante klassifikationsdata.

Når dine ændringer er klare, bedes du indsende en pull request, der indeholder de nødvendige data og/eller kodeopdateringer.

Selv delvis eller ufuldstændig information er nyttig og værdsat – hvert bidrag hjælper med at forbedre dækningen og den langsigtede pålidelighed.

Kom godt i gang (Hurtig guide)

Kernen i dette projekt er sættet af JSON-datafilerne, der ligger i data/ mappen.

For at hjælpe med at vedligeholde og genbruge disse data, indeholder repositoryt et lille sæt af enkle Node.js-scripts, der udfører grundlæggende validerings- og eksportopgaver.

Tilgængelige kommandoer:

  • npm run test - Validerer JSON-data og tjekker for strukturelle fejl eller inkonsistensfejl.
  • npm run build - Bygger, sorterer og eksporterer de normaliserede data til andre programmeringssprogsformater (såsom Java) for nemmere integration.

Disse værktøjer er bevidst minimalistiske og fokuserer på datakorrekthed og portabilitet i stedet for kompleks behandling.

Brugeragentstrenge Er Ikke Pålidelige

At udlede nøjagtige oplysninger fra User-Agent-strenge er iboende upålideligt af flere grunde:

  • Der findes ingen formel standard eller specifikation, der regulerer strukturen eller indholdet af user-agent-strenge
  • Mange brugeragenter bevidst forfalsker eller efterligner andre brugeragenter af hensyn til kompatibilitet og ældre versioner

På grund af dette er det yderst svært at bestemme brugeragentdata på en fuldstændig nøjagtig og konsekvent måde.

Dette bibliotek bør derfor ses som en løsning baseret på bedste indsats og ikke som en kilde til garanteret eller autoritativ sandhed.

Med fortsat brug og bidrag fra fællesskabet kan nøjagtigheden forbedres over tid.

Versionsstyring og Stabilitet

Datasættet kan ændre sig over tid, i takt med at brugeragenter udvikler sig.

Klassifikationer betragtes ikke som brydende ændringer, selv mellem mindre versioner.

Forbrugerne bør betragte resultaterne som vejledende, ikke som kontraktlige garantier.

Licens

Dette projekt og dets data er udgivet under Apache License 2.0 (Apache-2.0).

Kommerciel anvendelse, ændringer og distribution er tilladt.

Bidrag er velkomne og værdsættes.

Varemærke

PageviewsOnline, Two-Dot-Oh, samt eventuelle tilknyttede logoer, tjenestenavne eller branding er Two-Dot-Ohs varemærker.

Dette projekt er open source; dog er brug af PageviewsOnline-navnet eller enhver tilknyttet branding i forbindelse med et produkt, en tjeneste eller et tilbud ikke tilladt uden forudgående skriftligt samtykke.

Forks og afledte værker skal bruge et andet navn og branding og må ikke give indtryk af, at de står bag eller er tilknyttet PageviewsOnline eller Two-Dot-Oh.