Räkna sidvisningar, inte personer. Webbanalys med fokus på integritet, säkert lagrad inom EU.
ÖPPNA BETA
Räkna sidvisningar, inte personer. Webbanalys med fokus på integritet, säkert lagrad inom EU.

Öppen Källkod Användaragent Uppslags Tabell

Öppen källkod uppslagsdataset för användaragenter med förutsägbart beteende. JSON-baserat, manuellt granskat och utformat för praktisk analys.
Den här sidan har översatts från engelska av våra mycket drivna AI-praktikanter för din bekvämlighet. De lär sig fortfarande, så några misstag kan ha smugit igenom. För den mest exakta informationen, vänligen hänvisa till den engelska versionen.
Hem Öppna källkodsprojekt Öppen Källkod Användaragent Uppslags Tabell

Detta arkiv innehåller ett normaliserat och kuraterat dataset med användaragentsträngar, lagrat som JSON-filer och utformat för att användas som en uppslagstabell för att härleda enkel användaragentdata, såsom användaragentklienten och operativsystemet.

Det används som en komponent i PageviewsOnline, men publiceras här för allmänt bruk.

Datasetet kompletteras av enkla hjälpskript som validerar data och exporterar den till andra format eller programmeringsspråk (såsom Java).

Projektfilosofi

Målet med detta projekt är inte att tillhandahålla ett felfritt eller helt exakt system för att detektera användaragenter, utan en praktisk, bästa möjliga lösning som förbättras över tid genom verklig användning och gemenskapens bidrag.

Identifiering av användaragenten är i grunden ofullständig. Istället för att jaga fullständig noggrannhet fokuserar det här projektet på att vara:

  • Praktisk
  • Underhållbar
  • Genomskinlig
  • Tillräckligt bra för verkliga analyser och klassificeringar

Noggrannheten förbättras över tid genom välutvalda uppdateringar, verklig användning och bidrag från gemenskapen.

Heuristisk parsning och komplexa reguljära uttryck gör ofta avvägningar där förutsägbarhet offras till förmån för marginella förbättringar i noggrannhet.

Detta projekt föredrar:

  • Öppenhet framför magi
  • Urval av data framför ogenomskinlig logik
  • Förklarbara resultat framför spekulativ detektion

Funktioner

  • Normaliserad, mänskligt granskad användaragentdatasamling
  • Enkelt och förutsägbart uppslagsbeteende
  • JSON-baserat format, enkelt att granska och versionskontrollera
  • Lättviktiga valideringsskript
  • Exportera hjälpfunktioner till andra språk (t.ex. Java)
  • Aktivt används i en SaaS-miljö i produktion

Normaliserade Användaragentsträngar

Det primära målet med det här projektet är att extrahera information av hög nivå och stabil karaktär från användaragentsträngar på ett snabbt och förutsägbart sätt.

För att stödja detta normaliseras varje User-Agent-sträng innan bearbetning. Normalisering tar bort instabila variationer (såsom versionsnummer och skiftlägesskillnader) samtidigt som den bevarar den strukturella och semantiska innebörden av User-Agent.

Användaragentsträngar normaliseras med följande steg:

  • Ersätt alla numeriska siffror (0-9) med platshållartecknet x Detta minskar brus som orsakas av versionsändringar samtidigt som tokenstrukturen och längden bevaras
  • Konvertera hela strängen till gemener. User agent tokens är skiftlägesokänsliga enligt konventionen, och att göra allt till gemener säkerställer konsekventa och pålitliga uppslag.

Till exempel följande User-Agent-sträng:

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

Är normaliserad till:

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

Denna normaliseringsmetod gör användaragenter enklare att gruppera, jämföra och underhålla över tid, samtidigt som den är tillräckligt exakt för övergripande klassificering av klienter och operativsystem.

Genom att eliminera versionsspecifik och skiftlägesrelaterad variabilitet blir uppslagsprocessen mer förutsägbar och motståndskraftig mot framtida ändringar i användaragenten.

Dataformat

Varje normaliserad användaragentpost innehåller:

  • id - Den normaliserade användaragentsträngen
  • client_family - Övergripande klientklassificering (t.ex. webbläsare, bot, app)
  • os_family - Övergripande klassificering av operativsystem

Exakta fält kan komma att förändras över tid när datasetet växer.

Uppslagsbeteende

Matchning av användaragent utförs mot normaliserade strängar.

Exakta träffar föredras; partiell eller heuristisk matchning undviks avsiktligt för att hålla beteendet förutsägbart och lätt att felsöka.

Bidra

Bidrag är mycket välkomna och hjälper till att förbättra projektets övergripande kvalitet och noggrannhet.

Det mest betydelsefulla sättet att bidra är att lägga till eller uppdatera normaliserade användaragentposter i filen user_agents.json, tillsammans med all relevant klassificeringsdata.

När dina ändringar är klara, vänligen skicka in en pull request som innehåller nödvändiga data- och/eller koduppdateringar.

Även partiell eller ofullständig information är användbar och uppskattad – varje bidrag hjälper till att förbättra täckningen och långsiktig tillförlitlighet.

Kom Igång (Snabbguide)

Kärnan i det här projektet är uppsättningen av JSON-datafilerna som finns i mappen data/.

För att underlätta underhåll och återanvändning av den här datan innehåller repositoriet ett litet antal enkla Node.js-skript som utför grundläggande validering och exportuppgifter.

Vanliga tillgängliga kommandon:

  • npm run test - Validerar JSON-datan och kontrollerar strukturella eller konsistensfel.
  • npm run build - Bygger, sorterar och exporterar de normaliserade data till andra programmeringsspråkformat (såsom Java) för enklare integration.

Dessa verktyg är avsiktligt minimalistiska, med fokus på datakorrekthet och portabilitet snarare än komplex bearbetning.

User-Agent-strängar är inte tillförlitliga

Att få fram exakt information från användaragentsträngar är i grunden opålitligt av flera skäl:

  • Det finns ingen formell standard eller specifikation som reglerar strukturen eller innehållet i user-agent-strängar
  • Många användaragenter låtsas vara andra användaragenter för kompatibilitets- och äldre versionsskäl

På grund av detta är det mycket svårt att avgöra användaragentdata helt exakt och konsekvent.

Detta bibliotek bör därför ses som en best-effort-lösning, inte som en källa till garanterad eller auktoritativ sanning.

Med fortsatt användning och bidrag från gemenskapen kan noggrannheten förbättras över tid.

Versionshantering & Stabilitet

Datasetet kan komma att ändras över tid i takt med att användaragenter utvecklas.

Klassifikationer räknas inte som brytande ändringar, även mellan mindre versioner.

Konsumenter bör betrakta resultaten som bästa möjliga indikationer, inte som avtalsmässiga garantier.

Licens

Detta projekt och dess data släpps under Apache License 2.0 (Apache-2.0).

Kommersiell användning, ändringar och omfördelning är tillåtna.

Bidrag tas tacksamt emot.

Varumärke

PageviewsOnline, Two-Dot-Oh, och alla tillhörande logotyper, tjänstenamn eller varumärken är varumärken som tillhör Two-Dot-Oh.

Det här projektet är öppen källkod; dock är användningen av namnet PageviewsOnline eller något relaterat varumärke i samband med en produkt, tjänst eller erbjudande inte tillåten utan föregående skriftligt medgivande.

Forks och derivatverk måste använda ett annat namn och ett annat varumärke och får inte antyda stöd av eller anknytning till PageviewsOnline eller Two-Dot-Oh.