diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd451ae..0e896ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: - uses: actions/checkout@v7 - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - # Every one of the 38 030 fixture cases, one test each, read off disk. Twice: once against + # Every one of the 38 301 fixture cases, one test each, read off disk. Twice: once against # the database as it ships, embedded, and once against the files, which is how it is run # while working. - run: cargo test --release --test corpus diff --git a/AGENTS.md b/AGENTS.md index 289c946..20ac6d6 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,11 +8,17 @@ agent needs to know before touching anything. ## The specification is the fixtures, and only the fixtures -`tests/matomo-device-detector/fixtures/*.yml` says what every one of 38 030 user agents means. +`tests/matomo-device-detector/fixtures/*.yml` says what every one of 38 301 user agents means. That corpus, pinned to one revision of matomo-org/device-detector in `castor.php`, is the whole specification. A change is right when the tests pass and wrong when they do not; there is no other authority to appeal to. +With one exception, kept as short as it can be: `tests/corrections.yml` overrules the category +the fixtures give a bot, where the operator's own page or the evidence says otherwise -- matomo's +Search bot for a crawler that feeds no search engine. Each correction carries its source, applies +to every case naming that bot, and fails the corpus once no case names it, so it goes when matomo +agrees. A category is the only thing it may correct. + Matomo's own regexes are not vendored, but they may be read: this library is LGPL-3.0-or-later, the same family as matomo's, so there is nothing to keep out. Read them for what they say about *which* tokens carry meaning -- that is the question the fixtures answer only by example, one @@ -130,7 +136,7 @@ feature does rebuild, so stay on one side of it while working. `cargo bench` is criterion, so it keeps the last run and tells you what moved; `--save-baseline` and `--baseline` name one to keep. It detects over a stride across the corpus rather than all -38 030 agents, because at a budget of zero a lookup costs about six milliseconds against half a +38 301 agents, because at a budget of zero a lookup costs about six milliseconds against half a millisecond cached, and ten samples of the whole corpus at that rate is most of an hour. That makes the default good for comparing two runs and not for quoting on its own; `DETECT_SAMPLE` raises it when a number has to stand by itself. Criterion sizes a run by the measurement time it diff --git a/README.md b/README.md index 0eb09f3..ff9488a 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ assert_eq!(found.os.unwrap().version, "10"); ``` This library is based on the [matomo device detector library](https://github.com/matomo-org/device-detector): -its test fixtures, 38 030 user agents and what each one means, are the specification this database +its test fixtures, 38 301 user agents and what each one means, are the specification this database is written against. Matomo's own regexes are not vendored and none of them is copied here. The main change is how the parsing is done, with a specific structure to ensure better speed with diff --git a/benches/detection.rs b/benches/detection.rs index db12d9c..9c87270 100644 --- a/benches/detection.rs +++ b/benches/detection.rs @@ -2,7 +2,7 @@ //! //! cargo bench //! cargo bench -- detect/20000 # one group of it -//! DETECT_SAMPLE=38030 cargo bench # the whole corpus, and a long wait +//! DETECT_SAMPLE=38301 cargo bench # the whole corpus, and a long wait //! //! The memory side of the same question is `cargo run --release --example memory`. Criterion //! cannot answer it: resident size is a property of the process rather than of an operation, and diff --git a/castor.php b/castor.php index 042b3e6..d628054 100644 --- a/castor.php +++ b/castor.php @@ -14,7 +14,7 @@ * library answers. How matomo goes about answering it is its own business, and its regexes are * under a licence we do not want to carry. */ -const MATOMO_REVISION = '5a6f5d0184b5a867c1db9c0733f6b89686c5c47b'; +const MATOMO_REVISION = 'e83ce7a97f05d8ee3e1eee7ea77a73b3bdfebd9a'; #[AsTask(description: 'Syncs the matomo device-detector test fixtures', name: 'sync', namespace: 'matomo')] function sync() diff --git a/examples/all/fixtures.rs b/examples/all/fixtures.rs index 6ee5ff5..a40ea50 100644 --- a/examples/all/fixtures.rs +++ b/examples/all/fixtures.rs @@ -1,6 +1,6 @@ //! The fixtures, read as they are rather than compiled into a test. //! -//! `tests/matomo-device-detector/fixtures/*.yml` is the specification: 38 030 user agents and +//! `tests/matomo-device-detector/fixtures/*.yml` is the specification: 38 301 user agents and //! what each one means. Generating a `#[test]` per case out of them cost forty megabytes of rust //! and two minutes of build for every change to an entry; reading them at startup costs the //! second the yaml takes to parse. @@ -14,6 +14,39 @@ use ua_detector::Detection; pub const FIXTURES: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/matomo-device-detector/fixtures"); +pub const CORRECTIONS: &str = concat!(env!("CARGO_MANIFEST_DIR"), "/tests/corrections.yml"); + +/// A category this library gives a bot against what the fixtures say, from `tests/corrections.yml`. +#[derive(serde::Deserialize)] +pub struct Correction { + pub bot: String, + pub category: String, + pub source: String, + pub reason: String, +} + +pub fn corrections() -> &'static [Correction] { + static CORRECTIONS_READ: std::sync::OnceLock> = std::sync::OnceLock::new(); + + CORRECTIONS_READ.get_or_init(|| { + let content = std::fs::read_to_string(CORRECTIONS) + .unwrap_or_else(|error| panic!("cannot read {CORRECTIONS}: {error}")); + + serde_yaml::from_str(&content).unwrap_or_else(|error| panic!("cannot parse {CORRECTIONS}: {error}")) + }) +} + +/// The corrections no fixture case names a bot for, which have nothing left to correct. +pub fn unused_corrections() -> Vec<&'static str> { + let named: std::collections::HashSet = files() + .iter() + .flat_map(|path| read(path)) + .filter_map(|case| case.expected.get("bot")?.get("name")?.as_str().map(str::to_owned)) + .collect(); + + corrections().iter().filter(|correction| !named.contains(&correction.bot)).map(|correction| correction.bot.as_str()).collect() +} + #[derive(serde::Deserialize)] pub struct Case { pub user_agent: String, @@ -78,6 +111,14 @@ fn expected_of(value: &serde_yaml::Value) -> Detection { if let serde_yaml::Value::Mapping(mapping) = &mut value { mapping.remove("headers"); + if let Some(serde_yaml::Value::Mapping(bot)) = mapping.get_mut("bot") { + let name = bot.get("name").and_then(|name| name.as_str()).unwrap_or_default(); + + if let Some(correction) = corrections().iter().find(|correction| correction.bot == name) { + bot.insert("category".into(), correction.category.clone().into()); + } + } + // A fixture writes an absent result as null, or as an empty list. for key in ["os", "client", "device"] { if mapping.get(key).is_some_and(|value| value.is_null() || value.is_sequence()) { diff --git a/examples/report.rs b/examples/report.rs index 8eca658..346e6cf 100644 --- a/examples/report.rs +++ b/examples/report.rs @@ -3,38 +3,24 @@ //! cargo run --example report -- smart_display # only what fails //! cargo run --example report -- smart_display --shapes # failures grouped by shape -use std::collections::BTreeMap; - -use ua_detector::Detection; +#[path = "all/fixtures.rs"] +mod fixtures; -#[derive(serde::Deserialize)] -struct Case { - user_agent: String, - #[serde(default)] - headers: BTreeMap, - #[serde(flatten)] - expected: serde_yaml::Value, -} +use std::collections::BTreeMap; fn main() { let mut args = std::env::args().skip(1); let name = args.next().expect("usage: report [--shapes]"); let shapes = args.any(|arg| arg == "--shapes"); - let path = format!("tests/matomo-device-detector/fixtures/{name}.yml"); - let content = std::fs::read_to_string(&path).unwrap_or_else(|e| panic!("{path}: {e}")); - let cases: Vec = serde_yaml::from_str(&content).expect("a valid fixture"); + let cases = fixtures::read(std::path::Path::new(&format!("{}/{name}.yml", fixtures::FIXTURES))); let detector = ua_detector::shared(); let mut failures = Vec::new(); for case in &cases { - let expected: Detection = expected_of(&case.expected); - let headers: Vec<(String, String)> = case - .headers - .iter() - .map(|(name, value)| (name.clone(), header_of(value))) - .collect(); + let expected = case.expected(); + let headers = case.headers(); let headers: Vec<(&str, &str)> = headers.iter().map(|(name, value)| (name.as_str(), value.as_str())).collect(); let detected = detector.detect_with_headers(&case.user_agent, &headers); @@ -73,42 +59,6 @@ fn main() { println!("{}/{} case(s) failing", failures.len(), cases.len()); } -/// A few fixtures give a brand list as a structure rather than as the header text a browser -/// actually sends. Render it back to the wire form. -fn header_of(value: &serde_yaml::Value) -> String { - match value { - serde_yaml::Value::String(text) => text.clone(), - serde_yaml::Value::Sequence(brands) => brands - .iter() - .map(|brand| { - let text = |key| brand.get(key).and_then(|v| v.as_str()).unwrap_or_default(); - - format!("\"{}\";v=\"{}\"", text("brand"), text("version")) - }) - .collect::>() - .join(", "), - _ => String::new(), - } -} - -/// A fixture spells an undetected operating system as an empty list and an undetected client -/// as null, neither of which our entry format uses. -fn expected_of(value: &serde_yaml::Value) -> Detection { - let mut value = value.clone(); - - if let serde_yaml::Value::Mapping(mapping) = &mut value { - mapping.remove("headers"); - - for key in ["os", "client", "device"] { - if mapping.get(key).is_some_and(|value| value.is_null() || value.is_sequence()) { - mapping.remove(key); - } - } - } - - serde_yaml::from_value(value).expect("a fixture our types can hold") -} - /// Strips the parts of a user agent that vary between otherwise identical cases, so failures /// can be counted per shape rather than one by one. fn shape_of(user_agent: &str) -> String { diff --git a/src/devices/bots.yml b/src/devices/bots.yml index b9c8f65..cbe8430 100644 --- a/src/devices/bots.yml +++ b/src/devices/bots.yml @@ -1746,7 +1746,8 @@ producer: name: Barracuda Networks, Inc. url: https://www.barracudanetworks.com/ -- regex: .*Zeno.* +# matomo's `^Zeno$`: the name alone, or Blackview's Zeno tablets read as the crawler. +- regex: Zeno bot: name: Zeno category: Crawler @@ -3675,7 +3676,7 @@ - regex: .*Bytespider.* bot: name: Bytespider - category: Search bot + category: AI Data Scraper url: https://bytedance.com/ producer: name: ByteDance Ltd. @@ -5288,7 +5289,7 @@ - regex: '.*(?:MJ12bot).*' bot: name: MJ12 Bot - category: Search bot + category: Crawler url: http://majestic12.co.uk/bot.php producer: name: Majestic-12 @@ -5611,6 +5612,13 @@ producer: name: Google Inc. url: https://www.google.com/ +- regex: .*google-xrawler.* + bot: + name: google-xrawler + category: Search bot + producer: + name: Google Inc. + url: https://www.google.com/ - regex: .*SentiBot.* bot: name: SentiBot @@ -5900,7 +5908,7 @@ - regex: '.*meta-externalagent.*' bot: name: Meta-ExternalAgent - category: AI Assistant + category: AI Data Scraper url: https://developers.facebook.com/docs/sharing/webmasters/web-crawlers producer: name: Meta Platforms, Inc. @@ -6719,7 +6727,7 @@ producer: name: Google Inc. url: https://www.google.com -- regex: '.*cert-manager-challenges/v[\d.]+.*' +- regex: '.*cert-manager(?:-challenges)?/v[\d.]+.*' bot: name: cert-manager category: Service Agent @@ -6934,3 +6942,303 @@ name: oha category: Benchmark url: https://github.com/hatoo/oha + +# From the traffic of 2026-10-12, read the same way. + +# Search engines that build an index of their own and serve it in public. +- regex: '.*\bSofyaBot/[\d.]+.*' + bot: + name: SofyaBot + category: Search bot + url: https://sofya.co/bot + producer: + name: Sofya + url: https://sofya.co/ +- regex: '.*\bNikyBot/[\d.]+.*' + bot: + name: NikyBot + category: Search bot + url: https://nikysearch.it/nikybot.html + producer: + name: Nikysearch + url: https://nikysearch.it/ +- regex: '.*\bAIWebIndex/[\d.]+.*' + bot: + name: AIWebIndex + category: AI Search Crawler + url: https://lyrenth.com/bot + producer: + name: Lyrenth + url: https://lyrenth.com/ +# ByteDance publishes no page for it; the address in the string is the whole of what says whose +# it is. +- regex: '.*\bdola-searchbot\b.*' + bot: + name: Dola SearchBot + category: AI Search Crawler + producer: + name: ByteDance + url: https://www.bytedance.com/ +- regex: '.*\bBeansLLM-CorpusBot/[\d.]+.*' + bot: + name: BeansLLM-CorpusBot + category: AI Data Scraper + url: https://scrape.beansllm.ai/bot + producer: + name: BeansLLM + url: https://beansllm.ai/ +# The suffix is a customer's identifier, so the token alone names the crawler. +- regex: '.*\bamazon-Quick-on-behalf-of-[0-9a-f-]+.*' + bot: + name: Amazon Quick + category: AI Assistant + url: https://docs.aws.amazon.com/quick/latest/userguide/web-crawler-integration.html + producer: + name: Amazon.com, Inc. + url: https://aws.amazon.com/ +- regex: '.*\bShap-User/[\d.]+.*' + bot: + name: Shap-User + category: AI Assistant + url: https://parallel.ai/ai/parallel-web-systems-bots + producer: + name: Parallel Web Systems Inc. + url: https://parallel.ai/ + +# Monitors. +- regex: '.*\bcheckmk-active-httpv2/[\w.]+.*' + bot: + name: Checkmk + category: Site Monitor + url: https://checkmk.com/integrations/check_httpv2 + producer: + name: Checkmk GmbH + url: https://checkmk.com/ +- regex: '.*\bDistillWebMonitor/[\w.-]+.*' + bot: + name: Distill Web Monitor + category: Site Monitor + url: https://distill.io/kb/help/cloud-local-monitors + producer: + name: Distill.io + url: https://distill.io/ +- regex: .*HetrixTools Uptime Monitoring Bot.* + bot: + name: HetrixTools + category: Site Monitor + url: https://hetrixtools.com/uptime-monitor-bot/ + producer: + name: HetrixTools + url: https://hetrixtools.com/ +- regex: '.*\(compatible; PingBreak[^)]*\).*' + bot: + name: PingBreak + category: Site Monitor + url: https://pingbreak.com/ +- regex: '.*\(compatible; ipMonitor [\d.]+\).*' + bot: + name: ipMonitor + category: Site Monitor + url: https://documentation.solarwinds.com/en/success_center/ipmonitor/content/introduction.htm + producer: + name: SolarWinds + url: https://www.solarwinds.com/ +- regex: '.*\bsolarwinds/[\d.]+ \([^)]*solarwinds-observability\).*' + bot: + name: SolarWinds Observability + category: Site Monitor + url: https://documentation.solarwinds.com/en/success_center/observability/content/intro/websites/custom-user-agent-headers-guidelines.htm + producer: + name: SolarWinds + url: https://www.solarwinds.com/ + +# Something a platform sends on its own behalf, or on a merchant's. +# Jetpack's image CDN writes nothing but this, and `Photon` alone names too much else. +- regex: 'Photon/[\d.]+' + bot: + name: Jetpack Photon + category: Service Agent + url: https://jetpack.com/support/site-accelerator/ + producer: + name: Automattic Inc. + url: https://automattic.com/ +- regex: '.*\bStripe/[\d.]+ \(\+https://stripe\.com/docs/webhooks\).*' + bot: + name: Stripe Webhooks + category: Service Agent + url: https://docs.stripe.com/webhooks + producer: + name: Stripe, Inc. + url: https://stripe.com/ +- regex: .*Adyen HttpClient [\d.]+.* + bot: + name: Adyen + category: Service Agent + url: https://radar.cloudflare.com/bots/directory/adyen + producer: + name: Adyen N.V. + url: https://www.adyen.com/ +- regex: '.*\bSendCloud/[\d.]+ \([^)]*sendcloud\.sc\).*' + bot: + name: Sendcloud + category: Service Agent + url: https://support.sendcloud.com/hc/en-gb/articles/35936346704017-Self-hosted-Shop-Systems-Troubleshooting-Integration-Issues + producer: + name: Sendcloud + url: https://www.sendcloud.com/ +- regex: .*Shopify Webfile Service.* + bot: + name: Shopify Webfile Service + category: Service Agent + producer: + name: Shopify Inc. + url: https://www.shopify.com/ + +# Link checkers. +- regex: '.*\bOverture-Maps-LinkChecker/[\d.]+.*' + bot: + name: Overture Maps LinkChecker + category: Validator + url: https://overturemaps.org/ + producer: + name: Overture Maps Foundation + url: https://overturemaps.org/ +- regex: .*EPiServer Link Checker.* + bot: + name: EPiServer Link Checker + category: Validator + url: https://docs.optimizely.com/cms-12/docs/link-validation + producer: + name: Optimizely + url: https://www.optimizely.com/ + +# The rest of the crawlers. +- regex: '.*\bCaliperbot/[\d.]+.*' + bot: + name: Caliperbot + category: Crawler + url: http://www.conductor.com/caliperbot + producer: + name: Conductor + url: https://www.conductor.com/ +- regex: '.*\bSEOJuice-SearchBot/[\d.]+.*' + bot: + name: SEOJuice-SearchBot + category: Crawler + url: https://seojuice.com/bot + producer: + name: SEOJuice + url: https://seojuice.com/ +- regex: '.*\bSEOGetsBot/[\d.]+.*' + bot: + name: SEOGetsBot + category: Crawler + url: https://seogets.com/bot + producer: + name: SEO Gets + url: https://seogets.com/ +- regex: '.*\bOseox/[\d.]+.*' + bot: + name: Oseox + category: Crawler + url: https://radar.cloudflare.com/bots/directory/oseox + producer: + name: Oseox + url: https://tool.oseox.com/ +- regex: '.*\bPeecAudit/[\d.]+.*' + bot: + name: PeecAudit + category: Crawler + url: https://peec.ai/ + producer: + name: Peec AI + url: https://peec.ai/ +- regex: '.*\bSenderBot/[\d.]+.*' + bot: + name: SenderBot + category: Crawler + url: https://sender-marketing.de/bot + producer: + name: Sender Online Marketing GmbH + url: https://sender-marketing.de/ +- regex: '.*\bAudigentAdBot\b.*' + bot: + name: AudigentAdBot + category: Crawler + url: https://audigent.com/bot.html + producer: + name: Audigent + url: https://audigent.com/ +- regex: '.*\bcaptify-crawler\b.*' + bot: + name: Captify + category: Crawler + url: https://knownagents.com/agents/captify-crawler + producer: + name: Captify + url: https://www.captifytechnologies.com/ +- regex: '.*\bGnowitNewsbot\b.*' + bot: + name: GnowitNewsbot + category: Crawler + url: https://darkvisitors.com/agents/gnowitnewsbot + producer: + name: Gnowit + url: https://www.gnowit.com/ +- regex: '.*\bPressEngineBot\b.*' + bot: + name: PressEngineBot + category: Crawler + url: https://pressengine.net/crawl-policy + producer: + name: PressEngine + url: https://pressengine.net/ +- regex: '.*\bCookieInformationScanner\b.*' + bot: + name: Cookie Information Scanner + category: Crawler + url: https://support.cookieinformation.com/en/articles/5374116-all-you-need-to-know-about-the-scanner + producer: + name: Cookie Information + url: https://cookieinformation.com/ +# The price comparison sites, which name themselves in the string and publish no page for the +# crawler that fills them. +- regex: '.*\bwine-searcherbot\b.*' + bot: + name: Wine-Searcher + category: Crawler + url: https://www.wine-searcher.com/technology + producer: + name: Wine-Searcher + url: https://www.wine-searcher.com/ +- regex: '.*\(compatible; BOT guenstiger\.de\).*' + bot: + name: guenstiger.de + category: Crawler + producer: + name: guenstiger.de GmbH + url: https://www.guenstiger.de/ +- regex: '.*\bcardpulsebot/[\d.]+.*' + bot: + name: CardPulse + category: Crawler + producer: + name: CardPulse + url: https://cardpulse.nl/ +- regex: '.*\brajahinta-crawler/[\d.]+.*' + bot: + name: Rajahinta + category: Crawler + producer: + name: Rajahinta + url: https://rajahinta.fi/ + +# feedparser 6 names itself in lower case, which the `UniversalFeedParser` rule above does not read. +- regex: '.*\bfeedparser/[\d.]+.*' + bot: + name: UniversalFeedParser + category: Feed Fetcher + url: https://github.com/kurtmckee/feedparser + producer: + name: Kurt McKee + url: https://github.com/kurtmckee diff --git a/src/devices/car_browser.yml b/src/devices/car_browser.yml index adcf99c..08481ef 100644 --- a/src/devices/car_browser.yml +++ b/src/devices/car_browser.yml @@ -692,3 +692,16 @@ model: Apollo {model} Pro os_family: Android browser_family: Chrome + +# Reduced user agents, named by the model hint alone +- + regex: 'Mozilla/5\.0 \(Linux; Android [\d.]+; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36' + headers: + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + sec-ch-ua-platform-version: '^(?[\d.]+)$' + sec-ch-ua-model: '^(?uis8581a2h10_Automotive)$' + os: {name: Android, version: "{os_version}", platform: ""} + client: {type: browser, name: Chrome, version: "{client_version}", engine: Blink, engine_version: "{client_version}"} + device: {type: car browser, brand: "", model: "{model}"} + os_family: Android + browser_family: Chrome diff --git a/src/devices/clienthints.yml b/src/devices/clienthints.yml index 559fbf8..a297005 100644 --- a/src/devices/clienthints.yml +++ b/src/devices/clienthints.yml @@ -199,7 +199,7 @@ sec-ch-ua-model: '^A302SH$' os: {name: Android, version: "{os_version}", platform: ""} client: {type: browser, name: Chrome Mobile, version: "{client_version}", engine: Blink, engine_version: "{client_version}"} - device: {type: smartphone, brand: Sharp, model: Aquos wish3} + device: {type: smartphone, brand: Sharp, model: Aquos Wish 3} os_family: Android browser_family: Chrome @@ -1117,7 +1117,7 @@ http-x-requested-with: '^AlohaBrowser$' sec-ch-ua-platform-version: '^(?[\d.]+)$' sec-ch-ua-full-version: '^(?[\d.]+)$' - sec-ch-ua-model: '^Fairphone (?FP\d+)$' + sec-ch-ua-model: '^Fairphone (?:FP)?(?\d+)$' os: {name: Android, version: "{os_version}", platform: ""} client: {type: browser, name: Aloha Browser, version: "{client_version}", engine: Blink, engine_version: "{engine_version}"} device: {type: smartphone, brand: Fairphone, model: "{model}"} diff --git a/src/devices/clienthints_app.yml b/src/devices/clienthints_app.yml index 2ad7b0e..a9e13e3 100644 --- a/src/devices/clienthints_app.yml +++ b/src/devices/clienthints_app.yml @@ -4043,3 +4043,42 @@ model: P smart Z os_family: Android browser_family: Unknown +- regex: Mozilla\/5\.0 \(Linux; Android (?[\d.]+); Samsung Galaxy Z Fold Special Build\/BP2A\.250605\.031\.A3\) AppleWebKit\/537\.36 \(KHTML, like Gecko\) Chrome\/145\.0\.7632\.120 Mobile Safari\/537\.36 + headers: + x-requested-with: ^com\.siber\.roboform$ + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: RoboForm Passwort Manager + version: '' + engine: '' + engine_version: '' + device: + type: smartphone + brand: Samsung + model: Galaxy Z Fold Special + os_family: Android + browser_family: Unknown +- regex: Mozilla\/5\.0 \(Linux; Android [\d.]+; Fairphone 6 Build\/FP6\.QREL\.16\.95\.0; wv\) AppleWebKit\/537\.36 \(KHTML, like Gecko\) Version\/4\.0 Chrome\/150\.0\.7871\.181 Mobile Safari\/537\.36 + headers: + x-requested-with: ^com\.swisscows\.search$ + sec-ch-ua-platform-version: ^"(?[\d.]+)"$ + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Swisscows Private Search + version: '' + engine: '' + engine_version: '' + device: + type: smartphone + brand: Fairphone + model: '6' + os_family: Android + browser_family: Unknown diff --git a/src/devices/clients.yml b/src/devices/clients.yml index 1a4eb75..0aa502b 100644 --- a/src/devices/clients.yml +++ b/src/devices/clients.yml @@ -9,8 +9,9 @@ # Where a user agent lands that has named no client at all. All at -4, below everything that # names one. +# The token opens a word, as matomo's `\bMacintosh`: `Power%20Macintosh` is an architecture. - - regex: '.*Macintosh.*' + regex: '(?:.*[^a-z0-9_])?Macintosh.*' priority: -4 client: {type: browser, name: 'Safari', version: ""} browser_family: 'Safari' @@ -715,3 +716,38 @@ priority: -2 client: {type: library, name: 'rss-parser', version: ""} browser_family: 'Unknown' + +# From the traffic of 2026-10-12, read the same way. + +- + regex: '.*\bOrpiaroundme/(?[\d.]+) .*' + priority: -2 + client: {type: mobile app, name: 'ORPI around me', version: "{client_version}"} + browser_family: 'Unknown' + +# An import from a URL, where PowerPoint writes the year of the application and no version. +- + regex: 'Microsoft Office PowerPoint 20\d{2}' + priority: -2 + client: {type: mobile app, name: 'Microsoft Office PowerPoint', version: ""} + browser_family: 'Unknown' + +# R's `HTTPUserAgent` option, which is the version and the platform and nothing else. +- + regex: 'R \((?\d+\.[\d.]+) [^)]+\)' + priority: -2 + client: {type: library, name: 'R', version: "{client_version}"} + browser_family: 'Unknown' + +# Deluge's downloader writes its name alone, and a word that common only counts as the whole string. +- + regex: 'Deluge' + priority: -2 + client: {type: library, name: 'Deluge', version: ""} + browser_family: 'Unknown' + +- + regex: '.*\bJersey/(?[\d.]+) \(HttpUrlConnection [\w.]+\).*' + priority: -2 + client: {type: library, name: 'Jersey', version: "{client_version}"} + browser_family: 'Unknown' diff --git a/src/devices/clients_fallback.yml b/src/devices/clients_fallback.yml index 598b2cc..36fe30c 100644 --- a/src/devices/clients_fallback.yml +++ b/src/devices/clients_fallback.yml @@ -11,6 +11,11 @@ # Priority -3, under `clients.yml`: many of these name themselves with a token short or common # enough to turn up inside another string, so they only answer where nothing else does. +- + regex: '.*(?:ocaml-cohttp/(?\d+[.\d]+)).*' + priority: -3 + client: {type: library, name: 'ocaml-cohttp', version: "{client_version}"} + - regex: '.*(?:nscurl).*' priority: -3 @@ -157,9 +162,9 @@ client: {type: library, name: 'cpp-httplib', version: "{client_version}"} - - regex: '.*(?:AppleCoreMedia/1\.0\.0).*' + regex: '.*(?:AppleCoreMedia).*' priority: -3 - client: {type: library, name: 'iOS Application', version: ""} + client: {type: library, name: 'Apple Core Media', version: ""} - regex: '.*(?:OkDownload/(?[\d.]+)).*' @@ -1032,7 +1037,7 @@ client: {type: browser, name: 'Chrome Mobile', version: "{client_version}"} - - regex: '.*(?:(?: wv\)|Version/).* Chrome(?:/(?\d+[.\d]+))?).*' + regex: '.*(?:(?: wv\)|(?:Version|Ojxvms)/).* Chrome(?:/(?\d+[.\d]+))?).*' priority: -3 client: {type: browser, name: 'Chrome Webview', version: "{client_version}"} @@ -1327,7 +1332,7 @@ client: {type: browser, name: 'Iron', version: "{client_version}"} - - regex: '.*(?:Chrome(?:/(?\d+\.[.\d]+) )?.*Iron).*' + regex: '.*(?:Chrome(?:/(?\d+\.[.\d]+) )?.*Iron Safari).*' priority: -3 client: {type: browser, name: 'Iron', version: "{client_version}"} @@ -3501,6 +3506,16 @@ priority: -3 client: {type: browser, name: 'Fulldive', version: "{client_version}"} +- + regex: '.*(?:BLACKBERRY-WorkConnect/(?[\d.]+)).*' + priority: -3 + client: {type: pim, name: 'BlackBerry Work', version: "{client_version}"} + +- + regex: '.*(?:WorxMail/(?[\d.]+)).*' + priority: -3 + client: {type: pim, name: 'Citrix Secure Mail', version: "{client_version}"} + - regex: '.*(?:Android-Gmail).*' priority: -3 @@ -3861,6 +3876,46 @@ priority: -3 client: {type: mediaplayer, name: 'Audacious', version: "{client_version}"} +- + regex: '.*(?:dogtorance/[\d.]+).*' + priority: -3 + client: {type: mobile app, name: 'Dogtorance', version: ""} + +- + regex: '.*(?:Xiaoyuzhou/(?[\d.]+)).*' + priority: -3 + client: {type: mobile app, name: 'XiaoYuZhou', version: "{client_version}"} + +- + regex: '.*(?:com\.sidhbalitech\.ninexplayer).*' + priority: -3 + client: {type: mobile app, name: 'XP IPTV', version: ""} + +- + regex: '.*(?:Aria2App/(?[\d.]+)).*' + priority: -3 + client: {type: mobile app, name: 'Aria2App', version: "{client_version}"} + +- + regex: '.*(?:Grindr/(?[\d.]+)).*' + priority: -3 + client: {type: mobile app, name: 'Grindr', version: "{client_version}"} + +- + regex: '.*(?:newsbreak/(?[\d.]+)).*' + priority: -3 + client: {type: mobile app, name: 'NewsBreak', version: "{client_version}"} + +- + regex: '.*(?:Lotus Notes Traveler (?:Nokia|WM) (?[\d.]+)|SyncML(?: HTTP)? Client).*' + priority: -3 + client: {type: mobile app, name: 'Lotus Notes Traveler', version: "{client_version}"} + +- + regex: '.*(?:FOX Sports GO).*' + priority: -3 + client: {type: mobile app, name: 'FOX Sports GO', version: ""} + - regex: '.*(?:boohee/(?[\d.]+)).*' priority: -3 @@ -5454,7 +5509,7 @@ - regex: '.*(?:RoboForm/(\d+[.\d]+) CFNetwork).*' priority: -3 - client: {type: mobile app, name: 'RoboForm', version: ""} + client: {type: mobile app, name: 'RoboForm Passwort Manager', version: ""} - regex: '.*(?:Papers/(?\d+[.\d]+) CFNetwork).*' @@ -5611,6 +5666,11 @@ priority: -3 client: {type: mobile app, name: 'Skyeng Teachers', version: "{client_version}"} +- + regex: '.*(?:Callpod Keeper for Android 1\.0 \((?:app )?(?[\d.]+)/).*' + priority: -3 + client: {type: mobile app, name: 'Keeper', version: "{client_version}"} + - regex: '.*(?:Keeper/(?[\d.]+)).*' priority: -3 diff --git a/src/devices/clients_promoted.yml b/src/devices/clients_promoted.yml index 56623f3..43840c1 100644 --- a/src/devices/clients_promoted.yml +++ b/src/devices/clients_promoted.yml @@ -8,9 +8,9 @@ # short ones read inside other strings often enough to cost more than they pay. - - regex: '.*AppleCoreMedia/1\.0\.0.*' + regex: '.*AppleCoreMedia.*' priority: -2 - client: {type: library, name: 'iOS Application', version: ""} + client: {type: library, name: 'Apple Core Media', version: ""} - regex: '.*Cypress/(?\d+[.\d]+).*' priority: -2 @@ -104,7 +104,7 @@ priority: -2 client: {type: browser, name: 'LieBaoFast', version: "{client_version}"} - - regex: '.*Chrome(?:/(?\d+\.[.\d]+) )?.*Iron.*' + regex: '.*Chrome(?:/(?\d+\.[.\d]+) )?.*Iron Safari.*' priority: -2 client: {type: browser, name: 'Iron', version: "{client_version}"} - @@ -653,6 +653,11 @@ regex: '.*(?:aria2(?:/(?\d+[.\d]+))?).*' priority: -2 client: {type: library, name: 'Aria2', version: "{client_version}"} +# matomo's `aria2(?!App)`, said as an ordering. +- + regex: '.*Aria2App/(?[\d.]+).*' + priority: -2 + client: {type: mobile app, name: 'Aria2App', version: "{client_version}"} - regex: '.*(?:LeBrowser(?:/(?\d+[.\d]+))?).*' priority: -2 diff --git a/src/devices/desktop.yml b/src/devices/desktop.yml index 5effa02..a177ccb 100644 --- a/src/devices/desktop.yml +++ b/src/devices/desktop.yml @@ -5537,7 +5537,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2011) + model: Mac mini (2011) os_family: Mac browser_family: Safari - regex: Safari/7537\.78\.2 CFNetwork/520\.5\.3 Darwin/11\.4\.2 \(x86_64\) \(MacBook5%2C2\) @@ -5965,7 +5965,7 @@ device: type: desktop brand: Apple - model: Mac mini (2023) + model: Mac mini M2 (2023) os_family: Mac browser_family: Unknown - regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac14,12\) @@ -5980,7 +5980,7 @@ device: type: desktop brand: Apple - model: Mac mini (2023) + model: Mac mini M2 Pro (2023) os_family: Mac browser_family: Unknown - regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/MacBookAir7,2\) @@ -6100,7 +6100,7 @@ device: type: desktop brand: Apple - model: MacBook Air 13" (2020) + model: MacBook Air M1 13" (2020) os_family: Mac browser_family: Unknown - regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/11\.1; Desktop; es-MX; AppStore; Apple/iMac19,2\) @@ -6281,7 +6281,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2012) + model: Mac mini (2012) os_family: Mac browser_family: Safari - regex: Safari/9537\.75\.14 CFNetwork/673\.4 Darwin/13\.2\.0 \(x86_64\) \(MacBookPro8%2C1\) @@ -6392,7 +6392,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 15" (2019) + model: MacBook Pro 15" (2018-2019) os_family: Mac browser_family: Unknown - regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/Macmini7,1\) @@ -6407,7 +6407,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2014) + model: Mac mini (2014) os_family: Mac browser_family: Unknown - regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacBook7,1\) @@ -6512,7 +6512,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2020) + model: Mac mini M1 (2020) os_family: Mac browser_family: Unknown - regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/iMac17,1\) @@ -6545,7 +6545,37 @@ model: iMac 27" (2019) os_family: Mac browser_family: Unknown -- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacBookPro18,(?:1|2)\) +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacBookPro18,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M1 Pro 16" (2021) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacBookPro18,2\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M1 Max 16" (2021) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacBookPro18,3\) os: name: Mac version: '{os_version}' @@ -6557,10 +6587,10 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2021) + model: MacBook Pro M1 Pro 14" (2021) os_family: Mac browser_family: Unknown -- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacBookPro18,(?:3|4)\) +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacBookPro18,4\) os: name: Mac version: '{os_version}' @@ -6572,7 +6602,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2021) + model: MacBook Pro M1 Max 14" (2021) os_family: Mac browser_family: Unknown - regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/iMacPro1,1\) @@ -6632,7 +6662,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 13" (2020) + model: MacBook Pro M1 13" (2020) os_family: Mac browser_family: Unknown - regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/11\.1; Desktop; es-ES; NonAppStore; Apple/MacBookPro15,2\) @@ -6762,7 +6792,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2018) + model: Mac mini (2018) os_family: Mac browser_family: Unknown - regex: Mozilla/5\.0 \(Windows NT 10\.0; Win64; x64\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) AlohaBrowser/(?[\d.]+) Safari/537\.36 @@ -7215,7 +7245,7 @@ device: type: desktop brand: Apple - model: iMac 24" (2021) + model: iMac M1 24" (2021) os_family: Mac browser_family: Unknown - regex: server-bag \[Mac OS X,(?[\d.]+),18G8022,MacBookPro15,4\] @@ -7358,7 +7388,7 @@ - regex: Safari5525\.28\.3 CFNetwork/438\.12 Darwin/9\.7\.0 \(i386\) \(iMac7%2C1\) os: name: Mac - version: '' + version: 10.5.7 platform: x86 client: type: browser @@ -7375,7 +7405,7 @@ - regex: Safari/6533\.19\.4 CFNetwork/454\.11\.5 Darwin/10\.6\.0 \(i386\) \(iMac5%2C1\) os: name: Mac - version: '' + version: 10.6.6 platform: x86 client: type: browser @@ -7392,7 +7422,7 @@ - regex: Safari/6533\.18\.5 CFNetwork/454\.11\.5 Darwin/10\.5\.0 \(i386\) \(MacPro1%2C1\) os: name: Mac - version: '' + version: 10.6.5 platform: x86 client: type: browser @@ -7409,7 +7439,7 @@ - regex: Safari/6533\.20\.27 CFNetwork/454\.11\.5 Darwin/10\.6\.0 \(i386\) \(Macmini3%2C1\) os: name: Mac - version: '' + version: 10.6.6 platform: x86 client: type: browser @@ -7420,13 +7450,13 @@ device: type: desktop brand: Apple - model: Mac Mini (2009) + model: Mac mini (2009) os_family: Mac browser_family: Safari - regex: Safari/6531\.21\.10 CFNetwork/454\.5 Darwin/10\.2\.0 \(i386\) \(iMac11%2C1\) os: name: Mac - version: '' + version: 10.6.2 platform: x86 client: type: browser @@ -7443,7 +7473,7 @@ - regex: Safari5530\.18 CFNetwork/438\.12 Darwin/9\.7\.0 \(i386\) \(MacPro2%2C1\) os: name: Mac - version: '' + version: 10.5.7 platform: x86 client: type: browser @@ -7569,7 +7599,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2006) + model: Mac mini (2006) os_family: Mac browser_family: Safari - regex: Safari/6534\.59\.10 CFNetwork/454\.12\.4 Darwin/10\.8\.0 \(i386\) \(MacBook5%2C1\) @@ -7620,7 +7650,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2007) + model: Mac mini (2007) os_family: Mac browser_family: Safari - regex: Safari5533\.22\.3 CFNetwork/438\.16 Darwin/9\.8\.0 \(i386\) \(MacBook1%2C1\) @@ -7654,7 +7684,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2010) + model: Mac mini (2010) os_family: Mac browser_family: Safari - regex: Safari/7534\.56\.5 CFNetwork/520\.4\.3 Darwin/11\.4\.0 \(i386\) \(MacBook2%2C1\) @@ -7677,7 +7707,7 @@ - regex: Spector%20Pro/3731 CFNetwork/454\.11\.5 Darwin/10\.6\.0 \(i386\) \(iMac11%2C3\) os: name: Mac - version: '' + version: 10.6.6 platform: x86 device: type: desktop @@ -7697,7 +7727,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2011) + model: Mac mini (2011) os_family: Mac browser_family: Unknown - regex: Mail/1874 CFNetwork/673\.2\.1 Darwin/13\.1\.0 \(x86_64\) \(Macmini6%2C1\) @@ -7712,7 +7742,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2012) + model: Mac mini (2012) os_family: Mac browser_family: Unknown - regex: OmniWeb622\.19\.3\.0\.170128 CFNetwork/438\.16 Darwin/9\.8\.0 \(Power%20Macintosh\) \(PowerMac7%2C3\) @@ -7735,7 +7765,7 @@ - regex: Safari5525\.27\.1 CFNetwork/422\.15\.2 Darwin/9\.6\.0 \(Power%20Macintosh\) \(PowerMac8%2C2\) os: name: Mac - version: '' + version: 10.5.6 platform: '' client: type: browser @@ -7752,7 +7782,7 @@ - regex: Safari5525\.28\.3 CFNetwork/438\.12 Darwin/9\.7\.0 \(Power%20Macintosh\) \(PowerMac10%2C1\) os: name: Mac - version: '' + version: 10.5.7 platform: '' client: type: browser @@ -7763,7 +7793,7 @@ device: type: desktop brand: Apple - model: Mac Mini G4 (2005) + model: Mac mini G4 (2005) os_family: Mac browser_family: Safari - regex: Speedy/138 CFNetwork/596\.2\.3 Darwin/12\.2\.0 \(x86_64\) \(Macmini5%2C3\) @@ -7774,7 +7804,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2011) + model: Mac mini (2011) os_family: Mac browser_family: Unknown - regex: com\.apple\.WebKit\.Networking/9601\.7\.8 CFNetwork/673\.6 Darwin/13\.4\.0 \(x86_64\) \(iMac11%2C2\) @@ -8370,7 +8400,22 @@ model: Pixelbook Go os_family: Android browser_family: Unknown -- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,(?:5|9)\) +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,9\) + os: + name: Mac + version: '14.0' + platform: '' + client: + type: mobile app + name: Microsoft Office Word + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M2 Pro 14" (2023) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,5\) os: name: Mac version: '14.0' @@ -8382,7 +8427,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023) + model: MacBook Pro M2 Max 14" (2023) os_family: Mac browser_family: Unknown - regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,2\) @@ -8397,10 +8442,40 @@ device: type: desktop brand: Apple - model: MacBook Air 13" (2022) + model: MacBook Air M2 13" (2022) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac13,1\) + os: + name: Mac + version: '14.0' + platform: '' + client: + type: mobile app + name: Microsoft Office Word + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac Studio M1 Max (2022) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac13,2\) + os: + name: Mac + version: '14.0' + platform: '' + client: + type: mobile app + name: Microsoft Office Word + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac Studio M1 Ultra (2022) os_family: Mac browser_family: Unknown -- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac13,(?:1|2)\) +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,14\) os: name: Mac version: '14.0' @@ -8412,10 +8487,10 @@ device: type: desktop brand: Apple - model: Mac Studio (2022) + model: Mac Studio M2 Ultra (2023) os_family: Mac browser_family: Unknown -- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,1(?:3|4)\) +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,13\) os: name: Mac version: '14.0' @@ -8427,7 +8502,7 @@ device: type: desktop brand: Apple - model: Mac Studio (2023) + model: Mac Studio M2 Max (2023) os_family: Mac browser_family: Unknown - regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; AppStore; Apple/Mac14,7\) @@ -8442,10 +8517,25 @@ device: type: desktop brand: Apple - model: MacBook Pro 13" (2022) + model: MacBook Pro M2 13" (2022) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,6\) + os: + name: Mac + version: '14.0' + platform: '' + client: + type: mobile app + name: Microsoft Office Word + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M2 Max 16" (2023) os_family: Mac browser_family: Unknown -- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,(?:10|6)\) +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,10\) os: name: Mac version: '14.0' @@ -8457,7 +8547,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2023) + model: MacBook Pro M2 Pro 16" (2023) os_family: Mac browser_family: Unknown - regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,15\) @@ -8472,7 +8562,7 @@ device: type: desktop brand: Apple - model: MacBook Air 15" (2023) + model: MacBook Air M2 15" (2023) os_family: Mac browser_family: Unknown - regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac14,8\) @@ -8487,7 +8577,7 @@ device: type: desktop brand: Apple - model: Mac Pro (2023) + model: Mac Pro M2 Ultra (2023) os_family: Mac browser_family: Unknown - regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,(?:4|5)\) @@ -8502,10 +8592,55 @@ device: type: desktop brand: Apple - model: iMac 24" (2023) + model: iMac M3 24" (2023) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,7\) + os: + name: Mac + version: '14.0' + platform: '' + client: + type: mobile app + name: Microsoft Office Word + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M3 Pro 16" (2023-2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,(?:9|11)\) + os: + name: Mac + version: '14.0' + platform: '' + client: + type: mobile app + name: Microsoft Office Word + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M3 Max 16" (2023-2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,3\) + os: + name: Mac + version: '14.0' + platform: '' + client: + type: mobile app + name: Microsoft Office Word + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M3 14" (2023-2024) os_family: Mac browser_family: Unknown -- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,(?:11|7|9)\) +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,6\) os: name: Mac version: '14.0' @@ -8517,10 +8652,10 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2023-2024) + model: MacBook Pro M3 Pro 14" (2023-2024) os_family: Mac browser_family: Unknown -- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,(?:10|3|6|8)\) +- regex: Microsoft Office Word/(?[\d.]+) \(Mac OS/14\.0; Desktop; en-US; NonAppStore; Apple/Mac15,(?:8|10)\) os: name: Mac version: '14.0' @@ -8532,7 +8667,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023-2024) + model: MacBook Pro M3 Max 14" (2023-2024) os_family: Mac browser_family: Unknown - regex: Spotify/(?[\d.]+) OSX/0 \(MacBookPro6,2\) @@ -8741,7 +8876,7 @@ device: type: desktop brand: Apple - model: MacBook Air 13" (2024) + model: MacBook Air M3 13" (2024) os_family: Mac browser_family: Unknown @@ -9071,3 +9206,476 @@ type: desktop os_family: GNU/Linux browser_family: Chrome + +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacPro6,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac Pro (2013) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; es-MX; NonAppStore; Apple/MacPro7,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac Pro (2019) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac15,13\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Air M3 15" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac15,14\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac Studio M3 Ultra (2025) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M4 14" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,2\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office PowerPoint + version: '{client_version}' + device: + type: desktop + brand: Apple + model: iMac M4 24" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/Mac16,3\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: iMac M4 24" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,5\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office PowerPoint + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Max 16" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,6\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office PowerPoint + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Max 14" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Outlook/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/Mac16,7\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: pim + name: Microsoft Outlook + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Pro 16" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,8\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office PowerPoint + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Pro 14" (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,9\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office PowerPoint + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac Studio M4 Max (2025) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,10\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac mini M4 (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,11\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: Mac mini M4 Pro (2024) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,12\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Air M4 13" (2025) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac16,13\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Air M4 15" (2025) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac17,2\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M5 14" (2025) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac17,3\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Air M5 13" (2026) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac17,4\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Air M5 15" (2026) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/Mac17,5\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office PowerPoint + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Neo 13" (2026) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac17,6\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Max 16" (2026) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac17,7\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Max 14" (2026) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac17,8\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Pro 16" (2026) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/Mac17,9\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Pro 14" (2026) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/iMac15,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: iMac 27" (2014-2015) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/iMac16,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: iMac 21.5" (2015) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/iMac16,2\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: iMac 21.5" (2015) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/iMac4,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: iMac (2006) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office Excel/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; NonAppStore; Apple/iMac4,2\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office Excel + version: '{client_version}' + device: + type: desktop + brand: Apple + model: iMac 17" (2006) + os_family: Mac + browser_family: Unknown +- regex: Microsoft Office PowerPoint/(?[\d.]+) \(Mac OS/(?[\d.]+); Desktop; en-US; AppStore; Apple/MacBook10,1\) + os: + name: Mac + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Office PowerPoint + version: '{client_version}' + device: + type: desktop + brand: Apple + model: MacBook 12" (2017) + os_family: Mac + browser_family: Unknown +- regex: Integrityv1\.4\.2 CFNetwork/438\.12 Darwin/9\.7\.0 \(Power%20Macintosh\) \(PowerMac10%2C2\) + os: + name: Mac + version: 10.5.7 + platform: '' + device: + type: desktop + brand: Apple + model: Mac mini G4 (2005) + os_family: Mac + browser_family: Unknown +- regex: BusyCal1\.640 CFNetwork/438\.16 Darwin/9\.8\.0 \(Power%20Macintosh\) \(PowerMac8%2C1\) + os: + name: Mac + version: 10.5.8 + platform: '' + device: + type: desktop + brand: Apple + model: iMac G5 (2004) + os_family: Mac + browser_family: Unknown \ No newline at end of file diff --git a/src/devices/mobile_apps.yml b/src/devices/mobile_apps.yml index 675ab54..3b7e37f 100644 --- a/src/devices/mobile_apps.yml +++ b/src/devices/mobile_apps.yml @@ -213,7 +213,7 @@ - regex: 'RoboForm/[\d.]+ CFNetwork/711\.1\.16 Darwin/[\d.]+' os: {name: iOS, version: "8.1", platform: ""} - client: {type: mobile app, name: RoboForm, version: ""} + client: {type: mobile app, name: RoboForm Passwort Manager, version: ""} device: {type: "", brand: Apple, model: ""} os_family: iOS browser_family: Unknown diff --git a/src/devices/peripheral.yml b/src/devices/peripheral.yml index 5e117ab..76d608d 100644 --- a/src/devices/peripheral.yml +++ b/src/devices/peripheral.yml @@ -468,6 +468,14 @@ os_family: Android browser_family: Chrome +- + regex: 'Mozilla/5\.0 \(Linux; Android (?[\d.]+); CHCNAV Build/[\w.]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36' + os: {name: Android, version: "{os_version}", platform: ""} + client: {type: browser, name: Chrome Webview, version: "{client_version}", engine: Blink, engine_version: "{client_version}"} + device: {type: peripheral, brand: CHCNAV, model: ""} + os_family: Android + browser_family: Chrome + # Projectors reporting through the lite build of Yandex Browser - regex: 'Mozilla/5\.0 \(Linux; Android (?[\d.]+); STI6110 Build/\w+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36' @@ -574,6 +582,14 @@ os_family: Android browser_family: Unknown +- + regex: 'Mozilla/5\.0 \(Linux; Android (?[\d.]+); (?K901) Build/[\w.]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 Line/(?[\d.]+)/IAB' + os: {name: Android, version: "{os_version}", platform: ""} + client: {type: mobile app, name: Line, version: "{client_version}"} + device: {type: peripheral, brand: Kaicom, model: "{model}"} + os_family: Android + browser_family: Unknown + - regex: 'Mozilla/5\.0 \(Linux; U; Android (?[\d.]+); [a-z]{2}-[a-z]{2}; iData_(?\w+) Build/[\w.]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) MQQBrowser/(?[\d.]+) Mobile Safari/537\.36' os: {name: Android, version: "{os_version}", platform: ""} @@ -630,3 +646,16 @@ device: {type: peripheral, brand: HOTACK, model: ""} os_family: Other Smart TV browser_family: Chrome + +# Reduced user agents, named by the model hint alone +- + regex: 'Mozilla/5\.0 \(Linux; Android [\d.]+; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36' + headers: + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + sec-ch-ua-platform-version: '^(?[\d.]+)$' + sec-ch-ua-model: '^the101loop$' + os: {name: Android, version: "{os_version}", platform: ""} + client: {type: browser, name: Chrome Mobile, version: "{client_version}", engine: Blink, engine_version: "{client_version}"} + device: {type: peripheral, brand: LoopDL, model: the101} + os_family: Android + browser_family: Chrome diff --git a/src/devices/phablet_1.yml b/src/devices/phablet_1.yml index f28b324..e1ee5c2 100644 --- a/src/devices/phablet_1.yml +++ b/src/devices/phablet_1.yml @@ -6147,3 +6147,308 @@ model: Redmi Note 15 5G os_family: Android browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); TECNO LK7k Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: phablet + brand: Tecno Mobile + model: Pova Curve 2 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2436A\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 VivoBrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: vivo Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: phablet + brand: Vivo + model: X Fold 5 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SCG41\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F9710 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 Lark/(?[\d.]+) LarkLocale/zh_CN ChannelName/Feishu appid/482431; appname/Feishu; + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Lark + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F971B Build/[\w.-]+; en-in\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 Puffin/(?[\d.]+)AP + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Puffin Web Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F971N Build/[\w.-]+; ko-kr\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 Puffin/(?[\d.]+)AP + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Puffin Web Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F971Q Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Sleipnir/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Sleipnir + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14710101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-F971U Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F971U1 Build/[\w.-]+; en-us\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 Puffin/(?[\d.]+)AP + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Puffin Web Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F971W Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Safari/537\.36 Flipboard/(?[\d.]+)/5514,4\.3\.61\.5514 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Flipboard App + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F971C Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Ojxvms/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F9660 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Safari/537\.36 Xiaoyuzhou/(?[\d.]+) Android/16 StatusBarHeight/89 xyzTheme/defaultLight + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: XiaoYuZhou + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F966B Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Grindr/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Grindr + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F966N; BP2A\.250605\.031\.A3; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 Viber/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Viber + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F966Q Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Sleipnir/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Sleipnir + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F966U Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Grindr/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Grindr + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- regex: iHeartRadio/(?[\d.]+) \(Android (?[\d.]+); SM-F966U1 Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: iHeartRadio + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14630101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-F966W Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-F966Z Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Sleipnir/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Sleipnir + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown diff --git a/src/devices/smart_speaker.yml b/src/devices/smart_speaker.yml index ec6ae15..db8f03e 100644 --- a/src/devices/smart_speaker.yml +++ b/src/devices/smart_speaker.yml @@ -9,7 +9,7 @@ platform: "" client: type: library - name: iOS Application + name: Apple Core Media version: "" device: type: smart speaker @@ -454,3 +454,16 @@ model: "{model}" os_family: Unknown browser_family: Unknown + +# Reduced user agents, named by the model hint alone +- + regex: 'Mozilla/5\.0 \(Linux; Android [\d.]+; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36' + headers: + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + sec-ch-ua-platform-version: '^(?[\d.]+)$' + sec-ch-ua-model: '^theloop_ROW$' + os: {name: Android, version: "{os_version}", platform: ""} + client: {type: browser, name: Chrome Mobile, version: "{client_version}", engine: Blink, engine_version: "{client_version}"} + device: {type: smart speaker, brand: LoopDL, model: loop} + os_family: Android + browser_family: Chrome diff --git a/src/devices/smartphone.yml b/src/devices/smartphone.yml index 973f7af..b7a05ae 100644 --- a/src/devices/smartphone.yml +++ b/src/devices/smartphone.yml @@ -4263,7 +4263,7 @@ engine_version: '{client_version}' device: type: smartphone - brand: Shift Phones + brand: SHIFT model: SHIFT6m os_family: Android browser_family: Chrome diff --git a/src/devices/smartphone_22.yml b/src/devices/smartphone_22.yml index f023b95..337ccbd 100644 --- a/src/devices/smartphone_22.yml +++ b/src/devices/smartphone_22.yml @@ -5446,7 +5446,7 @@ device: type: smartphone brand: Vivo - model: Y31s + model: Y31s 5G os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2068A Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) diff --git a/src/devices/smartphone_26.yml b/src/devices/smartphone_26.yml index fe5474f..115bb19 100644 --- a/src/devices/smartphone_26.yml +++ b/src/devices/smartphone_26.yml @@ -3903,7 +3903,7 @@ device: type: smartphone brand: Fairphone - model: FP3 + model: '3' os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HTC 10\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 diff --git a/src/devices/smartphone_32.yml b/src/devices/smartphone_32.yml index cda15cf..2316812 100644 --- a/src/devices/smartphone_32.yml +++ b/src/devices/smartphone_32.yml @@ -3057,7 +3057,7 @@ device: type: smartphone brand: Vivo - model: Y31s + model: Y31s 5G os_family: Android browser_family: Internet Explorer - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); T776H\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 diff --git a/src/devices/smartphone_37.yml b/src/devices/smartphone_37.yml index 951448e..a024210 100644 --- a/src/devices/smartphone_37.yml +++ b/src/devices/smartphone_37.yml @@ -8686,23 +8686,6 @@ model: '201' os_family: Android browser_family: Chrome -- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); CHCNAV Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 - os: - name: Android - version: '{os_version}' - platform: '' - client: - type: browser - name: Chrome Webview - version: '{client_version}' - engine: Blink - engine_version: '{client_version}' - device: - type: smartphone - brand: CHCNAV - model: '' - os_family: Android - browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); Allure A8 Pro\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 os: name: Android diff --git a/src/devices/smartphone_4.yml b/src/devices/smartphone_4.yml index 9486619..e558f59 100644 --- a/src/devices/smartphone_4.yml +++ b/src/devices/smartphone_4.yml @@ -3362,7 +3362,7 @@ device: type: smartphone brand: Fairphone - model: FP1 + model: '1' os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); FP2 Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 @@ -3379,7 +3379,7 @@ device: type: smartphone brand: Fairphone - model: FP2 + model: '2' os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; U; Android (?[\d.]+); FP1U Build/[\w.-]+\) AppleWebKit/534\.30 \(KHTML, like Gecko\) Version/4\.0 Mobile Safari/(?[\d.]+) @@ -3396,7 +3396,7 @@ device: type: smartphone brand: Fairphone - model: FP1U + model: 1U os_family: Android browser_family: Android Browser - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); Fondi-D66\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 MxBrowser/(?[\d.]+) diff --git a/src/devices/smartphone_40.yml b/src/devices/smartphone_40.yml index 4da7cec..cec402f 100644 --- a/src/devices/smartphone_40.yml +++ b/src/devices/smartphone_40.yml @@ -5176,7 +5176,7 @@ device: type: smartphone brand: Fairphone - model: FP5 + model: '5' os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); Z2350 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 diff --git a/src/devices/smartphone_43.yml b/src/devices/smartphone_43.yml index 62ed97a..4fbd59f 100644 --- a/src/devices/smartphone_43.yml +++ b/src/devices/smartphone_43.yml @@ -1237,3 +1237,2655 @@ model: X7e os_family: Android browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android [\d.]+; [a-z\d]{10}; U; [\w-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?HMD Fusion"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Avast Secure Browser + version: '' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: HMD + model: Fusion + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?TMRV085G"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: T-Mobile + model: REVVL 8 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); TMRV08P5G Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: T-Mobile + model: REVVL 8 Pro 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); TWL M10\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: TWL Mobile + model: M10 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMX5108 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: P4x 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); RMX5057\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/1\.0 YaSearchApp/26\.45\.1 webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Realme + model: '14 Pro 5G' + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?RMX5074"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: '14T 5G' + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMX5107 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: P4 Power 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMX5171 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: '16 5G' + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?RMX5266"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: P4R 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMX5256\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: C83 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMX5258 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: C100 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMX5264 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: Narzo 90x 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMX5353 Build/[\w.-]+; \) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Realme + model: C100 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); RMX5366\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/1\.0 YaSearchApp/26\.47\.1 webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Realme + model: C100x + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?SHIFTphone 8"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: SHIFT + model: SHIFTphone 8 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Spectra J1 PRO"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: SPECTRA + model: J1 Pro + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Spectra_J2"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: SPECTRA + model: J2 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Spectra_J2_Pro"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: SPECTRA + model: J2 Pro + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Spectra_J3_MTN"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: SPECTRA + model: J3 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?LENIX Pro"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: LENIX + model: Pro + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); LLY-NX1-N31\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Pawxy + version: '' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Honor + model: '200 Lite' + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Fairphone 6"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: DuckDuckGo Privacy Browser + version: '' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Fairphone + model: '6' + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?artfone SMART_500"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: artfone + model: smart 500 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Astech S8"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: ASTECH + model: S8 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Astech S9"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chromium + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: ASTECH + model: S9 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Astech IRIS"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: ASTECH + model: IRIS + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Awadjidje"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: MTN + model: Awadjidje + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?BOLD K20"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Blu + model: Bold K20 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?BOLD K30"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Blu + model: Bold K30 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?BOLD N4"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Blu + model: Bold N4 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?BOLD K5"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Blu + model: Bold K5 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?BOLD K12"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Blu + model: Bold K12 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?BUZZ 6 Pro"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Ace + model: Buzz 6 Pro + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?HMD Aura"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: HMD + model: Aura + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?HMD KEY"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: HMD + model: Key + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Konnect 660"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Danew + model: Konnect 660 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Konnect_557"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Danew + model: Konnect 557 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Panther2"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: LAGENIO + model: Panther 2 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; U; Android (?[\d.]+); SERIE_M_100 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 OPR/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Opera Mini + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: DAMASCO + model: M100 + os_family: Android + browser_family: Opera +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?SERIE_M_200"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: DAMASCO + model: M200 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?SERIE_M_300"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: DAMASCO + model: M300 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Stealth 5"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"DuckDuckGo";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: DuckDuckGo Privacy Browser + version: '' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: UltraX Privacy + model: Stealth 5 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Stellar-M6"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Crosscall + model: Stellar-M6 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); Stellar-M6E Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Crosscall + model: Stellar-M6E + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 \(Ecosia android@143\.0\.0\.0\) + headers: + sec-ch-ua-model: '^"?Stellar-M6 Chamonix Mont-Blanc"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Ecosia + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Crosscall + model: Stellar-M6 Chamonix Mont-Blanc + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?TIOK S20"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: TIOK + model: S20 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 EdgA/131\.0\.0\.0 + headers: + sec-ch-ua-model: '^"?U572AA"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Microsoft Edge + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: AT&T + model: Vista 2 + os_family: Android + browser_family: Internet Explorer +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); U655AA Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: OH Private Browser + version: '' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: AT&T + model: Propel 2 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?U656AA"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: AT&T + model: Propel 3 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?U656AC"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Cricket + model: Icon (2026) + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?UE010"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Unnecto + model: Eco 10 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?UB101"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Unnecto + model: Bolt 10 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?UB202"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Unnecto + model: Bolt 20 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?UB501"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Unnecto + model: Bolt 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SN509A Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 OPX/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Opera GX + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: AT&T + model: Motivate Pro 5G + os_family: Android + browser_family: Opera +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SN512A Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: AT&T + model: Motivate Pro 2 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SN512C Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Cricket + model: Icon Pro (2026) + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SN333C Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Cricket + model: Icon Plus (2026) + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SN333A Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: AT&T + model: Verge 2 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2509A Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Vivo + model: X300 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SOG16 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Sony + model: Xperia 10 VII + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SOG15 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Sony + model: Xperia 1 VII + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SOG14 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Sony + model: Xperia 10 VI + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SO-52F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Sony + model: Xperia 10 VII + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SO-51F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Sony + model: Xperia 1 VII + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SCG38\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26+ + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SCG33 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A25 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SCG30 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S24 FE + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SCG31 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SCG32 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 Ultra + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); STYLO MARVEL Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Stylo + model: Marvel + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); FLAT 2C Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: OSCAL + model: Flat 2C + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); COOLMINTT NIU Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Mintt + model: CoolMintt NIU + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); SO-53D\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaApp_Android/(?[\d.]+) YaSearchBrowser/26\.60\.1 BroPP/1\.0 Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Sony + model: Xperia 5 V + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; U; Android (?[\d.]+); zh-CN; V2571A Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Quark/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Quark + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Vivo + model: S60 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; U; Android (?[\d.]+); zh-CN; V2520A Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Quark/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Quark + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Vivo + model: iQOO Neo 11 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); A069P\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Nothing + model: Phone 4a Pro + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); A069\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Nothing + model: Phone 4a + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); A024\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Nothing + model: Phone 3 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); A001T\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/1\.0 YaSearchApp/26\.61\.1 webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Nothing + model: Phone 3a Lite + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); 2602BRT18C\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Xiaomi + model: Redmi Turbo 5 Max + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); UNIWA_F400\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: UNIWA + model: F400 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); motorola edge 70 ultra\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Motorola + model: Edge 70 Ultra + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2578 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Vivo + model: Y11d + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2565\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 VivoBrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: vivo Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Vivo + model: Y05 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2562\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 VivoBrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: vivo Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Vivo + model: X300 Ultra + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2561\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 VivoBrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: vivo Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Vivo + model: X200T + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); DuoQin F22; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 Sapphire/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Bing + version: '{client_version}' + device: + type: smartphone + brand: QIN + model: F22 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); RMX5112\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Realme + model: '15T' + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HMD CREST MAX Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: HMD + model: Crest Max + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); V2536A\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/1\.0 YaSearchApp/26\.61\.1 webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Vivo + model: iQOO Z11 Turbo + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); L5510 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: FiGO + model: Fierce + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); V2546A Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 VivoBrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: vivo Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Vivo + model: iQOO 15 Ultra + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A266B Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 \[FB_IAB/FB4A;FBAV/(?[\d.]+);IABMV/1;\] FBNV/500 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Facebook + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A266M Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 OPX/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Opera GX + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Opera +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A266U Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 OPX/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Opera GX + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Opera +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A266U1 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 MinuteMaid + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; U; Android (?[\d.]+); en-us; SM-S266V Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Hawk/QuickBrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Hawk Quick Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); SM-A1760\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/1\.0 YaSearchApp/26\.47\.1 webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A176U Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); SM-A176U1\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/1\.0 YaSearchApp/26\.47\.1 webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A176W Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 BingWeb/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Microsoft Bing + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A176B Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 \[FB_IAB/FB4A;FBAV/(?[\d.]+);IABMV/1;\] FBNV/500 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Facebook + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A576B Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 Instagram (?[\d.]+) Android \(36/16; 450dpi; 1080x2340; samsung; SM-A576B; a57x; s5e8865; en_IE; 1061744234; IABMV/1\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Instagram + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A5760 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 XWEB/1460217 MMWEBSDK/20260502 MMWEBID/6975 REV/83997a05f4e4d0a3109307f040f3ace3af51e162 MicroMessenger/(?[\d.]+)\(0x28004A3A\) WeChat/arm64 Weixin + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: mobile app + name: WeChat + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A576U; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 newsbreak/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: NewsBreak + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A576U1 Build/[\w.-]+;\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 Zalo android/260801903 ZaloTheme/light ZaloLanguage/en + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Zalo + version: '' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A576Q Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Sleipnir/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Sleipnir + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A576W Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 hexinFont/normal hexinTheme/1 hexinLang/0 hexinLanguage/en hexinChgColor/0 hexinDeviceName/SM-A576W environment/production bundleName/StockScreener GLHBD/5\.3\.4\.0 \(Royal Flush\) hxtheme/1 scheme/lighthorse innerversion/LHSG037\.08\.47205\.3\.4\.0 userid/1883043363 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; U; Android (?[\d.]+); ja-jp; SM-A576Z Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Hawk/QuickBrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Hawk Quick Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S731N Build/[\w.-]+; ko-kr\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 Puffin/(?[\d.]+)AP + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Puffin Web Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S731U Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Grindr/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Grindr + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14630101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-S731U1 Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14560101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-S731B Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S731W Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 com\.ionicframework\.tornv2301860 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SC-51F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.ybrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Yahoo! Japan Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SC-52F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S25 Ultra + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SC-51G Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SC-54G Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S9420 Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S942Q Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Sleipnir/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Sleipnir + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14560101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-S942U Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14630101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-S942U1 Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14560101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-S942W Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S942Z Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 Sleipnir/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Sleipnir + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S942B Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Grindr/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Grindr + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-S942N Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 T7/15\.42 SP-engine/3\.55\.0 bd_dvt/0 baiduboxapp/(?[\d.]+) \(Baidu; P1 16\) NABar/1\.0 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Baidu Box App + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A166L\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy Buddy 4 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); SM-A176L\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/1\.0 YaSearchApp/26\.47\.1 webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy Buddy 5 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A1660 Build/[\w.-]+; wv\) AppleWebKit/(?[\d.]+) \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 Midori/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Midori + version: '{client_version}' + engine: WebKit + engine_version: '{engine_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- regex: Callpod Keeper for Android 1\.0 \(app (?[\d.]+)/14550101\) Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); SM-A166B Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Keeper + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- regex: com\.sidhbalitech\.ninexplayer/30 \(Linux; U; Android (?[\d.]+); es_US; SM-A166M; Build/[\w.-]+; Cronet/140\.0\.7289\.0\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: XP IPTV + version: '' + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- regex: iHeartRadio/(?[\d.]+) \(Android (?[\d.]+); SM-A166U Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: iHeartRadio + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A166U1 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Grindr/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Grindr + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SM-A166W Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 \[FB_IAB/FB4A;FBAV/(?[\d.]+);IABMV/1;\] + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Facebook + version: '{client_version}' + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SH-M25 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Sharp + model: Aquos Wish 3 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SH-M33 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Sharp + model: Aquos Sense 10 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); SH-53E Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Sharp + model: Aquos Sense 9 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); A402SO Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/[\d.]+ Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.yjtop/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: mobile app + name: Yahoo! Japan + version: '{client_version}' + device: + type: smartphone + brand: Sony + model: Xperia 10 VI + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HPPL67A Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Hot Pepper + model: Datil + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HPPL62A Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Hot Pepper + model: Tabasco + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HPPH88C Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Hot Pepper + model: Cascabel + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HPPH88L Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Hot Pepper + model: Verde + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); F-52E Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 YJApp-ANDROID jp\.co\.yahoo\.android\.ybrowser/(?[\d.]+) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Yahoo! Japan Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Fujitsu + model: Arrows We 2 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); F-51F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Fujitsu + model: Arrows Alpha F-51F + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); Infinix X6840 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: Infinix + model: Smart 20 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); Infinix X6840B\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: smartphone + brand: Infinix + model: Smart 20 + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); CPH2735\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: OPPO + model: A5 5G + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); CPH2763 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: smartphone + brand: OPPO + model: F31 Pro 5G + os_family: Android + browser_family: Chrome diff --git a/src/devices/smartphone_5.yml b/src/devices/smartphone_5.yml index 3f3ae5d..efda172 100644 --- a/src/devices/smartphone_5.yml +++ b/src/devices/smartphone_5.yml @@ -8700,7 +8700,7 @@ engine_version: '{engine_version}' device: type: smartphone - brand: Shift Phones + brand: SHIFT model: SHIFT6mq os_family: Android browser_family: Chrome diff --git a/src/devices/smartphone_6.yml b/src/devices/smartphone_6.yml index 76bb985..c6cabc5 100644 --- a/src/devices/smartphone_6.yml +++ b/src/devices/smartphone_6.yml @@ -7542,6 +7542,6 @@ device: type: smartphone brand: Fairphone - model: FP4 + model: '4' os_family: Android browser_family: Chrome diff --git a/src/devices/smartphone_9.yml b/src/devices/smartphone_9.yml index 1dfcc4d..365bcf0 100644 --- a/src/devices/smartphone_9.yml +++ b/src/devices/smartphone_9.yml @@ -4119,8 +4119,8 @@ engine_version: '' device: type: smartphone - brand: Mpman - model: PH350 + brand: Philco + model: PH350B os_family: Android browser_family: Android Browser - regex: Mozilla/5\.0 \(Linux; U; Android 2\.3\.6; fr-ch; PH350 Build/MocorDroid(?[\d.]+)\) AppleWebKit/533\.1 \(KHTML, like Gecko\) Version/4\.0 Mobile Safari/(?[\d.]+) diff --git a/src/devices/systems.yml b/src/devices/systems.yml index 3f320aa..ea698f0 100644 --- a/src/devices/systems.yml +++ b/src/devices/systems.yml @@ -195,7 +195,7 @@ # frameworks, and the architectures name something nobody carries. Two rungs above the entry # for the handheld, since the generated one that reads any Darwin as a Mac sits between them. - - regex: '(?:(?:com\.apple\.WebKit\.Networking|NetworkingExtension|Safari|com\.apple\.Safari\.SearchHelper).*Darwin[/;].*|.*(?:CFNetwork|Mana|StudioDisplay)/.+Darwin(?:/|; )[\d.]+.*(?:x86_64|i386|Power%20Macintosh|PowerMac).*|.*CFNetwork/macOS/.+Darwin/.*|.*(?:x86_64-apple-)?darwin[\d.]+.*|.*C?Python.*Darwin.*)' + regex: '(?:(?:com\.apple\.WebKit\.Networking|NetworkingExtension|Safari|com\.apple\.Safari\.SearchHelper).*Darwin[/;].*|.+Darwin(?:/|;? )[\d.]+.*(?:x86_64|i386|Power%20Macintosh|PowerMac).*|.*CFNetwork/macOS/.+Darwin/.*|.*(?:x86_64-apple-)?darwin[\d.]+.*|.*C?Python.*Darwin.*)' priority: -2 os: {name: 'Mac'} device: {type: 'desktop'} diff --git a/src/devices/systems_fallback.yml b/src/devices/systems_fallback.yml index e1816f1..359e737 100644 --- a/src/devices/systems_fallback.yml +++ b/src/devices/systems_fallback.yml @@ -1079,7 +1079,7 @@ os: {name: 'HELIX OS'} os_family: 'Android' - - regex: '.*(?:SerenityOS|Ladybird/).*' + regex: '.*SerenityOS.*' priority: -4 os: {name: 'SerenityOS'} os_family: 'GNU/Linux' @@ -1328,3 +1328,13 @@ priority: -4 os: {name: 'SteamOS'} os_family: 'Mobile Gaming Console' +- + regex: '.*(?:YNDX-|Yandex).+ TV.*' + priority: -4 + os: {name: 'YaOS'} + os_family: 'Android' +- + regex: '.*RES102(?:[);/ ].*)?' + priority: -4 + os: {name: 'YodaOS-Master'} + os_family: 'Android' diff --git a/src/devices/tablet_10.yml b/src/devices/tablet_10.yml index 8704865..8b2e0ef 100644 --- a/src/devices/tablet_10.yml +++ b/src/devices/tablet_10.yml @@ -7089,7 +7089,7 @@ device: type: tablet brand: NextBook - model: Ares A10 + model: Ares 10A os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); NX16A11264\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Safari/537\.36 @@ -7106,7 +7106,7 @@ device: type: tablet brand: NextBook - model: Ares A11 + model: Ares 11A os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); NX16A8116K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Safari/537\.36 @@ -7123,7 +7123,7 @@ device: type: tablet brand: NextBook - model: Ares A8 + model: Ares 8A os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); ZUR70016\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Safari/537\.36 diff --git a/src/devices/tablet_12.yml b/src/devices/tablet_12.yml index 76d1635..62ed80c 100644 --- a/src/devices/tablet_12.yml +++ b/src/devices/tablet_12.yml @@ -6169,3 +6169,298 @@ model: Genius Tab os_family: Android browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); RMP2402 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Realme + model: Pad 2 Lite + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); RMP2501\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tablet + brand: Realme + model: Pad 3 5G + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?Bastyon\.Mobi"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Bastyon Mobi + model: Mobi Air Pad Pro + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?HIP-T66"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Haitech + model: HIP-T66 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36 + headers: + sec-ch-ua-model: '^"?FreeYond P6"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: FreeYond + model: P6 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36 + headers: + sec-ch-ua-model: '^"?MONZA-T5"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Packard Bell + model: Monza T5 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36 + headers: + sec-ch-ua-model: '^"?SILVERSTONE-T3"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Packard Bell + model: Silverstone T3 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36 + headers: + sec-ch-ua-model: '^"?redbeatA2"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: redbeat + model: A2 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36 + headers: + sec-ch-ua-model: '^"?TAB9_ROW"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Relndoo + model: TAB9 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36 + headers: + sec-ch-ua-model: '^"?TARGA-F10PRO"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Chromium";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Packard Bell + model: Targa F10 Pro + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Safari/537\.36 + headers: + sec-ch-ua-model: '^"?TARGA-F11PRO"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Packard Bell + model: Targa F11 Pro + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android 10; K\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/[\d.]+ Mobile Safari/537\.36 + headers: + sec-ch-ua-model: '^"?TARGA-F7"?$' + sec-ch-ua-platform-version: '^"?(?[\d.]+)"?$' + sec-ch-ua: '"Google Chrome";v="(?[\d.]+)"' + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Mobile + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tablet + brand: Packard Bell + model: Targa F7 + os_family: Android + browser_family: Chrome +- regex: Dalvik/2\.1\.0 \(Linux; U; Android (?[\d.]+); Pulla Build/[\w.-]+\) + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Android Browser + version: '' + engine: WebKit + engine_version: '' + device: + type: tablet + brand: Hot Pepper + model: Pulla + os_family: Android + browser_family: Android Browser +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); ZENO (?1|10)\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tablet + brand: Blackview + model: Zeno {model} + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; arm_64; Android (?[\d.]+); ZENO 100\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) YaSearchBrowser/(?[\d.]+) BroPP/[\d.]+ YaSearchApp/[\d.]+ webOmni Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: ARM + client: + type: browser + name: Yandex Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tablet + brand: Blackview + model: Zeno 100 + os_family: Android + browser_family: Unknown diff --git a/src/devices/tablet_8.yml b/src/devices/tablet_8.yml index d8b742b..8e8f89e 100644 --- a/src/devices/tablet_8.yml +++ b/src/devices/tablet_8.yml @@ -7405,7 +7405,7 @@ device: type: tablet brand: NextBook - model: Ares A8 + model: Ares 8 os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); NX16A10132SPS\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chrome/(?[\d.]+) Safari/537\.36 @@ -7422,7 +7422,7 @@ device: type: tablet brand: NextBook - model: Ares A10 + model: Ares 10A os_family: Android browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); O\+ Stream HDTV Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 diff --git a/src/devices/tv.yml b/src/devices/tv.yml index 90d003f..8808459 100644 --- a/src/devices/tv.yml +++ b/src/devices/tv.yml @@ -1089,7 +1089,7 @@ platform: ARM client: type: library - name: iOS Application + name: Apple Core Media version: '' device: type: tv @@ -6258,7 +6258,7 @@ platform: ARM client: type: library - name: iOS Application + name: Apple Core Media version: '' device: type: tv @@ -6273,7 +6273,7 @@ platform: ARM client: type: library - name: iOS Application + name: Apple Core Media version: '' device: type: tv @@ -9280,7 +9280,7 @@ device: type: tv brand: Apple - model: Apple TV 4K (2021) + model: Apple TV 2 4K os_family: iOS browser_family: Unknown - regex: RokuOS/3\.0\.0\|Roku 3930X\|STB\|RokuOS (?[\d.]+) 4200 diff --git a/src/devices/tv_2.yml b/src/devices/tv_2.yml index 887d0af..91cf3ff 100644 --- a/src/devices/tv_2.yml +++ b/src/devices/tv_2.yml @@ -648,8 +648,8 @@ browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YandexModule2-00001 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -665,8 +665,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00071 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -682,8 +682,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00072 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -699,8 +699,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00073 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -4889,7 +4889,7 @@ device: type: tv brand: Apple - model: Apple TV 4 + model: Apple TV 4 HD os_family: iOS browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); BAFF43YFHD Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 diff --git a/src/devices/tv_3.yml b/src/devices/tv_3.yml index f13ee87..2cd70ed 100644 --- a/src/devices/tv_3.yml +++ b/src/devices/tv_3.yml @@ -3674,8 +3674,8 @@ browser_family: Chrome - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00091 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -3691,8 +3691,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00092 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -3708,8 +3708,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00101 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser diff --git a/src/devices/tv_4.yml b/src/devices/tv_4.yml index c052207..9f63f62 100644 --- a/src/devices/tv_4.yml +++ b/src/devices/tv_4.yml @@ -4118,8 +4118,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00076 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -4135,8 +4135,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00074 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -8813,3 +8813,20 @@ model: YNDX-00077 os_family: Android browser_family: Chrome +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; 65QNED756RB; 13\.40\.97; 0x00000001; DTV_W23M\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, 65QNED756RB, wireless\) + os: + name: webOS + version: '23' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: LG + model: 65QNED756RB + os_family: Other Mobile + browser_family: Unknown diff --git a/src/devices/tv_5.yml b/src/devices/tv_5.yml index 5ef038f..9ddb7fd 100644 --- a/src/devices/tv_5.yml +++ b/src/devices/tv_5.yml @@ -2797,8 +2797,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00095 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -2814,8 +2814,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00094 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -2831,8 +2831,8 @@ browser_family: Unknown - regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); YNDX-00093 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 os: - name: Android - version: '{os_version}' + name: YaOS + version: '' platform: '' client: type: browser @@ -5510,3 +5510,387 @@ model: NIK75MEU4STN os_family: Other Mobile browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); FlowBox-F2 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + headers: + http-x-requested-with: ^com\.tcl\.browser$ + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: BrowseHere + version: '' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: flow + model: FlowBox-F2 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); MOBO-Edition Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tv + brand: NetBox + model: Mobo Edition + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); FlowBox-S2 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tv + brand: flow + model: FlowBox-S2 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); FlowBox-Z4 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tv + brand: flow + model: FlowBox-Z4 + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); FlowBox-Z3 Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tv + brand: flow + model: FlowBox-Z3 + os_family: Android + browser_family: Chrome +- regex: H443NM7F8H\.CBSSportsApp/1\.0 iOS/(?[\d.]+) model/AppleTV5,3 build/13T393 + os: + name: tvOS + version: '{os_version}' + platform: ARM + device: + type: tv + brand: Apple + model: Apple TV 4 HD + os_family: iOS + browser_family: Unknown +- regex: PrimeVideo/(?[\d.]+) \(AppleTV6,2; tvOS (?[\d.]+); Scale/2\.0\) + os: + name: tvOS + version: '{os_version}' + platform: ARM + client: + type: mobile app + name: Amazon Prime Video + version: '{client_version}' + device: + type: tv + brand: Apple + model: Apple TV 4K + os_family: iOS + browser_family: Unknown +- regex: Mozilla/5\.0 \(AppleTV3,1; CPU OS (?[\d.]+) like Mac OS X; en-US\) + os: + name: tvOS + version: '{os_version}' + platform: ARM + device: + type: tv + brand: Apple + model: Apple TV 3 + os_family: iOS + browser_family: Unknown +- regex: Mozilla/5\.0 \(AppleTV3,2; CPU OS (?[\d.]+) like Mac OS X; en-US\) + os: + name: tvOS + version: '{os_version}' + platform: ARM + device: + type: tv + brand: Apple + model: Apple TV 3 + os_family: iOS + browser_family: Unknown +- regex: Mozilla/5\.0 \(AppleTV14,1; CPU OS (?[\d.]+) like Mac OS X; en-US\) + os: + name: tvOS + version: '{os_version}' + platform: ARM + device: + type: tv + brand: Apple + model: Apple TV 3 4K + os_family: iOS + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; GLED7580SWUHD; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, GLED7580SWUHD, wireless\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: GEEPAS + model: GLED7580SWUHD + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; LT-42NQ5155; 03\.11\.77; 0x00000001; DTV_C23L\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, LT-42NQ5155, wireless\) + os: + name: webOS + version: '23' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: JVC + model: LT-42NQ5155 + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; HYLED5017W4KM; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, HYLED5017W4KM, wired\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Hyundai + model: HYLED5017W4KM + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; IK-58A71WOS; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, IK-58A71WOS, wireless\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: iKon + model: IK-58A71WOS + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; V65D2; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, V65D2, wireless\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Viendo + model: V65D2 + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; WUD65KWO60; 04\.50\.63; 0x00000001; DTV_C20P\); webOS\.TV-2020; LG NetCast\.TV-2013 Compatible \(LGE, WUD65KWO60, wireless\) + os: + name: webOS + version: '5' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: WANSA + model: WUD65KWO60 + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; HZ50UHDWOS; 04\.50\.63; 0x00000001; DTV_C20P\); webOS\.TV-2020; LG NetCast\.TV-2013 Compatible \(LGE, HZ50UHDWOS, wireless\) + os: + name: webOS + version: '5' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Homez + model: HZ50UHDWOS + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; LS75UHDNF; 04\.50\.63; 0x00000001; DTV_C20P\); webOS\.TV-2020; LG NetCast\.TV-2013 Compatible \(LGE, LS75UHDNF, wired\) + os: + name: webOS + version: '5' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Linsar + model: LS75UHDNF + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; NC-65T4K-SMART; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, NC-65T4K-SMART, wireless\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Nadco + model: NC-65T4K-SMART + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; 43FSV22; 03\.11\.77; 0x00000001; DTV_C23L\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, 43FSV22, wireless\) + os: + name: webOS + version: '23' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Ssmart + model: 43FSV22 + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; ST50K-LG2200WEB; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, ST50K-LG2200WEB, wireless\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Star Track + model: ST50K-LG2200WEB + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; TZ50WF1; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, TZ50WF1, wireless\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Telezone + model: TZ50WF1 + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; TVTOKHF32WB; 03\.11\.77; 0x00000001; DTV_C23L\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, TVTOKHF32WB, wireless\) + os: + name: webOS + version: '23' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: TOKYO + model: TVTOKHF32WB + os_family: Other Mobile + browser_family: Unknown +- regex: Mozilla/5\.0 \(Web0S; Linux/SmartTV\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Chr0me/(?[\d.]+) Safari/537\.36 LG Browser/(?[\d.]+)\(LGE; VEL55USVW; 04\.42\.26; 0x00000001; DTV_C22P\); webOS\.TV-2022; LG NetCast\.TV-2013 Compatible \(LGE, VEL55USVW, wireless\) + os: + name: webOS + version: '22' + platform: '' + client: + type: browser + name: LG Browser + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Von + model: VEL55USVW + os_family: Other Mobile + browser_family: Unknown diff --git a/src/devices/tv_6.yml b/src/devices/tv_6.yml new file mode 100644 index 0000000..baa8909 --- /dev/null +++ b/src/devices/tv_6.yml @@ -0,0 +1,138 @@ +--- + +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); Solo 8K Build/[\w.-]+\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tv + brand: Dune HD + model: Solo 8k + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); 24R750TS Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Yandex Browser Lite + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: Harper + model: 24R750TS + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); CA24HSY25F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Yandex Browser Lite + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: RAZZ + model: CA24HSY25F + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HC55USY26F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Yandex Browser Lite + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: RAZZ + model: HC55USY26F + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HC50USY26FC Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tv + brand: RAZZ + model: HC50USY26FC + os_family: Android + browser_family: Chrome +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HC50USY26F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Yandex Browser Lite + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: RAZZ + model: HC50USY26F + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HC43FSY26F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Yandex Browser Lite + version: '{client_version}' + engine: Blink + engine_version: '{engine_version}' + device: + type: tv + brand: RAZZ + model: HC43FSY26F + os_family: Android + browser_family: Unknown +- regex: Mozilla/5\.0 \(Linux; Android (?[\d.]+); HC32HSY26F Build/[\w.-]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) Mobile Safari/537\.36 + os: + name: Android + version: '{os_version}' + platform: '' + client: + type: browser + name: Chrome Webview + version: '{client_version}' + engine: Blink + engine_version: '{client_version}' + device: + type: tv + brand: RAZZ + model: HC32HSY26F + os_family: Android + browser_family: Chrome diff --git a/src/devices/wearable.yml b/src/devices/wearable.yml index 3920815..cd52073 100644 --- a/src/devices/wearable.yml +++ b/src/devices/wearable.yml @@ -224,10 +224,74 @@ os_family: iOS browser_family: Unknown +- + regex: 'Darwin/[\d.]+ \(Watch(?:7,12); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch Ultra 3} + os_family: iOS + browser_family: Unknown + +- + regex: 'Darwin/[\d.]+ \(Watch(?:7,13|7,15); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch SE (Gen 3) 40mm} + os_family: iOS + browser_family: Unknown + +- + regex: 'Darwin/[\d.]+ \(Watch(?:7,14|7,16); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch SE (Gen 3) 44mm} + os_family: iOS + browser_family: Unknown + +- + regex: 'Darwin/[\d.]+ \(Watch(?:7,17|7,19); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch Series 11 42mm} + os_family: iOS + browser_family: Unknown + +- + regex: 'Darwin/[\d.]+ \(Watch(?:7,18|7,20); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch Series 11 46mm} + os_family: iOS + browser_family: Unknown + +- + regex: 'Darwin/[\d.]+ \(Watch(?:8,1); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch Ultra 4} + os_family: iOS + browser_family: Unknown + +- + regex: 'Darwin/[\d.]+ \(Watch(?:8,2|8,4); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch Series 12 42mm} + os_family: iOS + browser_family: Unknown + +- + regex: 'Darwin/[\d.]+ \(Watch(?:8,3|8,5); watchOS (?[\d.]+)\) MatomoTrackerSDK/(?[\d.]+)' + os: {name: watchOS, version: "{os_version}", platform: ARM} + client: {type: library, name: MatomoTracker, version: "{client_version}"} + device: {type: wearable, brand: Apple, model: Watch Series 12 46mm} + os_family: iOS + browser_family: Unknown + - regex: 'AppleCoreMedia/[\w.]+ \(Apple Watch; U; CPU OS (?[\d_]+) like Mac OS X; [a-z]{2}_[a-z]{2}\)' os: {name: iOS, version: "{os_version|dots}", platform: ""} - client: {type: library, name: iOS Application, version: ""} + client: {type: library, name: Apple Core Media, version: ""} device: {type: wearable, brand: Apple, model: Watch} os_family: iOS browser_family: Unknown @@ -840,8 +904,8 @@ browser_family: Unknown - - regex: 'Mozilla/5\.0 \(Linux; Android (?[\d.]+); RES102 Build/[\w.]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36' - os: {name: Android, version: "{os_version}", platform: ""} + regex: 'Mozilla/5\.0 \(Linux; Android [\d.]+; RES102 Build/[\w.]+; wv\) AppleWebKit/537\.36 \(KHTML, like Gecko\) Version/4\.0 Chrome/(?[\d.]+) YaBrowser/(?[\d.]+) \(lite\) TV Safari/537\.36' + os: {name: YodaOS-Master, version: "", platform: ""} client: {type: browser, name: Yandex Browser Lite, version: "{client_version}", engine: Blink, engine_version: "{engine_version}"} device: {type: wearable, brand: Rokid, model: Station} os_family: Android diff --git a/tests/corpus/main.rs b/tests/corpus/main.rs index b58a2c1..2c3692d 100644 --- a/tests/corpus/main.rs +++ b/tests/corpus/main.rs @@ -1,6 +1,7 @@ //! Every user agent the fixtures name, one case at a time. //! -//! `tests/matomo-device-detector/fixtures/*.yml` is the specification. The cases are read at +//! `tests/matomo-device-detector/fixtures/*.yml` is the specification, less the few bot +//! categories `tests/corrections.yml` overrules. The cases are read at //! startup and handed to the harness by `libtest-mimic`, so nothing about the corpus is //! compiled and the names and filters read as a `#[test]` would: //! @@ -53,6 +54,15 @@ fn main() { } } + trials.push(Trial::test("corrections::every_one_still_applies", || { + let unused = fixtures::unused_corrections(); + + match unused.is_empty() { + true => Ok(()), + false => Err(format!("no fixture names {unused:?} any more: drop it from tests/corrections.yml").into()), + } + })); + libtest_mimic::run(&arguments, trials).exit(); } diff --git a/tests/corrections.yml b/tests/corrections.yml new file mode 100644 index 0000000..2aecd6f --- /dev/null +++ b/tests/corrections.yml @@ -0,0 +1,30 @@ +# Where this library answers differently from the fixtures on purpose: a category matomo gives a +# bot that the bot's operator, or the evidence, contradicts. Each correction replaces what every +# fixture case naming that bot expects, and one that no case names any more fails the corpus, +# so it is dropped once matomo agrees. +# +# Keep it this short. A correction is a claim against the specification, so it carries the page +# that makes it. + +- bot: Bytespider + category: AI Data Scraper + source: https://github.com/ai-robots-txt/ai.robots.txt + reason: >- + ByteDance documents nothing, and once told the press the crawler served search. Every + tracker since reads it as the collector of the corpora ByteDance trains its models on, at a + volume no search index it runs would explain. + +- bot: MJ12 Bot + category: Crawler + source: https://mj12bot.com/ + reason: >- + Majestic's crawler maps links for an SEO backlink index; "a full text search engine is + currently in the research phase". The crawlers of Semrush and DataForSEO, which do the same, + are Crawler already. + +- bot: Meta-ExternalAgent + category: AI Data Scraper + source: https://developers.facebook.com/docs/sharing/webmasters/web-crawlers + reason: >- + Meta writes that it "crawls the web for use cases such as training foundation AI models". + What fetches on a user's behalf is Meta-ExternalFetcher. diff --git a/tests/matomo-device-detector/axis/parser-client/browser.yml b/tests/matomo-device-detector/axis/parser-client/browser.yml index 3c21044..b51331b 100644 --- a/tests/matomo-device-detector/axis/parser-client/browser.yml +++ b/tests/matomo-device-detector/axis/parser-client/browser.yml @@ -11712,3 +11712,21 @@ engine: Blink engine_version: 85.0.4183.102 family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F971C Build/CP2A.260605.016) AppleWebKit/537.36 (KHTML, like Gecko) Ojxvms/4.0 Chrome/150.0.7871.182 Mobile Safari/537.36 + client: + type: browser + name: Chrome Webview + version: 150.0.7871.182 + engine: Blink + engine_version: 150.0.7871.182 + family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A576W Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.199 Mobile Safari/537.36 hexinFont/normal hexinTheme/1 hexinLang/0 hexinLanguage/en hexinChgColor/0 hexinDeviceName/SM-A576W environment/production bundleName/StockScreener GLHBD/5.3.4.0 (Royal Flush) hxtheme/1 scheme/lighthorse innerversion/LHSG037.08.47205.3.4.0 userid/1883043363 + client: + type: browser + name: Chrome Webview + version: 151.0.7922.199 + engine: Blink + engine_version: 151.0.7922.199 + family: Chrome diff --git a/tests/matomo-device-detector/axis/parser-client/library.yml b/tests/matomo-device-detector/axis/parser-client/library.yml index 2daddfe..46e7592 100644 --- a/tests/matomo-device-detector/axis/parser-client/library.yml +++ b/tests/matomo-device-detector/axis/parser-client/library.yml @@ -833,3 +833,51 @@ type: library name: nscurl version: "" +- + user_agent: AppleCoreMedia/1.0.0.22F76 (iPad; U; CPU OS 18_5 like Mac OS X; en_us) + client: + type: library + name: Apple Core Media + version: "" +- + user_agent: AppleCoreMedia/1.0.0.9A405 (iPod; U; CPU OS 5_0_1 like Mac OS X; en_us) + client: + type: library + name: Apple Core Media + version: "" +- + user_agent: AppleCoreMedia/1.0.0.19H218 (iPod touch; U; CPU OS 15_7_2 like Mac OS X; en_us) + client: + type: library + name: Apple Core Media + version: "" +- + user_agent: AppleCoreMedia/1.0.0.18A347e (Macintosh; U; Intel Mac OS X 10_14; en_us) + client: + type: library + name: Apple Core Media + version: "" +- + user_agent: AppleCoreMedia/1.0.0.18G82 (iPhone; U; CPU OS 14_7_1 like Mac OS X; es_xl) + client: + type: library + name: Apple Core Media + version: "" +- + user_agent: AppleCoreMedia/1.0.0.15F80 (HomePod; U; CPU OS 11_4 like Mac OS X; fr_fr) + client: + type: library + name: Apple Core Media + version: "" +- + user_agent: AppleCoreMedia/1.0.0.17K449 (Apple TV; U; CPU OS 13_3 like Mac OS X; en_us) + client: + type: library + name: Apple Core Media + version: "" +- + user_agent: ocaml-cohttp/6.0.0 + client: + type: library + name: ocaml-cohttp + version: 6.0.0 diff --git a/tests/matomo-device-detector/axis/parser-client/mobile_app.yml b/tests/matomo-device-detector/axis/parser-client/mobile_app.yml index 43cbb1b..27d1a0e 100644 --- a/tests/matomo-device-detector/axis/parser-client/mobile_app.yml +++ b/tests/matomo-device-detector/axis/parser-client/mobile_app.yml @@ -2747,3 +2747,93 @@ type: mobile app name: boohee version: 8.0.5 +- + user_agent: TPA/3.0.507 (+https://thepodcastapp.dev) + client: + type: mobile app + name: The Podcast App (Magnolia) + version: 3.0.507 +- + user_agent: TPA-Wear/1.0 + client: + type: mobile app + name: The Podcast App (Magnolia) + version: "1.0" +- + user_agent: Mozilla/5.0 (Apple TV; U; CPU iPhone OS 10_1_1 like Mac OS X; en-US) FOX Sports GO/1160 + client: + type: mobile app + name: FOX Sports GO + version: "" +- + user_agent: SyncML HTTP Client + client: + type: mobile app + name: Lotus Notes Traveler + version: "" +- + user_agent: IBM SyncML Client + client: + type: mobile app + name: Lotus Notes Traveler + version: "" +- + user_agent: Lotus Notes Traveler Nokia 8.5.3.0 + client: + type: mobile app + name: Lotus Notes Traveler + version: 8.5.3.0 +- + user_agent: Lotus Notes Traveler WM 8.5.3.0 + client: + type: mobile app + name: Lotus Notes Traveler + version: 8.5.3.0 +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A576U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.0.0 Mobile Safari/537.36 newsbreak/26.0.0 + client: + type: mobile app + name: NewsBreak + version: 26.0.0 +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S731U Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.90 Mobile Grindr/26.0.1 + client: + type: mobile app + name: Grindr + version: 26.0.1 +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S731U Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/143.0.7499.34 Mobile Safari/537.36 Aria2App/5.9.18-foss + client: + type: mobile app + name: Aria2App + version: 5.9.18 +- + user_agent: Callpod Keeper for Android 1.0 (app 18.0.10.147101/14710101) Dalvik/2.1.0 (Linux; U; Android 17; SM-F971U Build/CP2A.260605.016) + client: + type: mobile app + name: Keeper + version: 18.0.10.147101 +- + user_agent: Callpod Keeper for Android 1.0 (10.5.6/270) Dalvik/2.1.0 (Linux; U; Android 13; SM-S908B Build/TP1A.220624.014) + client: + type: mobile app + name: Keeper + version: 10.5.6 +- + user_agent: com.sidhbalitech.ninexplayer/30 (Linux; U; Android 15; es_US; SM-A166M; Build/AP3A.240905.015.A2; Cronet/140.0.7289.0) + client: + type: mobile app + name: XP IPTV + version: "" +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-F9660 Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.21 Safari/537.36 Xiaoyuzhou/2.99.1 Android/16 StatusBarHeight/89 xyzTheme/defaultLight + client: + type: mobile app + name: XiaoYuZhou + version: 2.99.1 +- + user_agent: finanzapp-native/0.0.1 dogtorance/1.0 Mozilla/5.0 (Linux; Android 15; 25028RN03A Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.109 Mobile Safari/537.36 + client: + type: mobile app + name: Dogtorance + version: "" diff --git a/tests/matomo-device-detector/axis/parser-client/pim.yml b/tests/matomo-device-detector/axis/parser-client/pim.yml index 93a2a52..e8ebbb3 100644 --- a/tests/matomo-device-detector/axis/parser-client/pim.yml +++ b/tests/matomo-device-detector/axis/parser-client/pim.yml @@ -293,3 +293,15 @@ type: pim name: Mail Master version: 6.22.1 +- + user_agent: Apple-iPhone WorxMail/19.5.5-29 (LENOVOLENOVOTBX704L; 7.1.1) + client: + type: pim + name: Citrix Secure Mail + version: 19.5.5 +- + user_agent: Android/4.4.4 BLACKBERRY-WorkConnect/3.0 + client: + type: pim + name: BlackBerry Work + version: "3.0" diff --git a/tests/matomo-device-detector/axis/parser/oss.yml b/tests/matomo-device-detector/axis/parser/oss.yml index d527dc7..d52f2d9 100644 --- a/tests/matomo-device-detector/axis/parser/oss.yml +++ b/tests/matomo-device-detector/axis/parser/oss.yml @@ -4537,11 +4537,19 @@ - user_agent: Mozilla/5.0 (Linux; x86_64) Ladybird/1.0 os: - name: SerenityOS - short_name: SER + name: GNU/Linux + short_name: LIN version: "" platform: x64 family: GNU/Linux +- + user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) Ladybird/1.0 Chrome/146.0.0.0 AppleWebKit/537.36 Safari/537.36 + os: + name: Mac + short_name: MAC + version: 10.15.7 + platform: "" + family: Mac - user_agent: Mozilla/5.0 (SerenityOS; x86_64) LibWeb+LibJS/1.0 Browser/1.0 os: @@ -7234,3 +7242,163 @@ version: "" platform: x64 family: Mobile Gaming Console +- + user_agent: 'Safari5525.28.3 CFNetwork/438.12 Darwin/9.7.0 (Power%20Macintosh) (PowerMac10%2C1)' + os: + name: Mac + short_name: MAC + version: 10.5.7 + platform: "" + family: Mac +- + user_agent: 'Safari5525.28.3 CFNetwork/438.12 Darwin/9.7.1 (Power%20Macintosh) (PowerMac10%2C1)' + os: + name: Mac + short_name: MAC + version: 10.5.7 + platform: "" + family: Mac +- + user_agent: 'Safari5525.27.1 CFNetwork/422.15.2 Darwin/9.6.0 (i386) (MacBookPro5%2C1)' + os: + name: Mac + short_name: MAC + version: 10.5.6 + platform: x86 + family: Mac +- + user_agent: 'Safari5525.27.1 CFNetwork/422.15.2 Darwin/9.6.1 (i386) (MacBookPro5%2C1)' + os: + name: Mac + short_name: MAC + version: 10.5.6 + platform: x86 + family: Mac +- + user_agent: 'Safari5525.27.1 CFNetwork/422.15.2 Darwin/9.6.2 (i386) (MacBookPro5%2C1)' + os: + name: Mac + short_name: MAC + version: 10.5.6 + platform: x86 + family: Mac +- + user_agent: 'Safari5525.27.1 CFNetwork/422.15.2 Darwin/9.6.3 (i386) (MacBookPro5%2C1)' + os: + name: Mac + short_name: MAC + version: 10.5.6 + platform: x86 + family: Mac +- + user_agent: Safari/5525.26.12 CFNetwork/339.5 Darwin/9.5.0 (i386) (MacBookPro3,1) + os: + name: Mac + short_name: MAC + version: 10.5.5 + platform: x86 + family: Mac +- + user_agent: Safari/5525.26.12 CFNetwork/339.5 Darwin/9.5.1 (i386) (MacBookPro3,1) + os: + name: Mac + short_name: MAC + version: 10.5.5 + platform: x86 + family: Mac +- + user_agent: Safari/5525.26.12 CFNetwork/339.5 Darwin/9.5.2 (i386) (MacBookPro3,1) + os: + name: Mac + short_name: MAC + version: 10.5.5 + platform: x86 + family: Mac +- + user_agent: 'Delibar/180 CFNetwork/454.5 Darwin/10.2.0 (i386) (iMac10%2C1)' + os: + name: Mac + short_name: MAC + version: 10.6.2 + platform: x86 + family: Mac +- + user_agent: 'Integrity/v1.6.2 CFNetwork/454.9.7 Darwin/10.4.0 (i386) (MacBook5%2C2)' + os: + name: Mac + short_name: MAC + version: 10.6.4 + platform: x86 + family: Mac +- + user_agent: 'Integrity/v1.6.2 CFNetwork/454.9.7 Darwin/10.4.1 (i386) (MacBook5%2C2)' + os: + name: Mac + short_name: MAC + version: 10.6.4 + platform: x86 + family: Mac +- + user_agent: 'Integrity/v1.6.2 CFNetwork/454.9.7 Darwin/10.4.2 (i386) (MacBook5%2C2)' + os: + name: Mac + short_name: MAC + version: 10.6.4 + platform: x86 + family: Mac +- + user_agent: 'Integrity/v1.6.2 CFNetwork/454.9.7 Darwin/10.4.3 (i386) (MacBook5%2C2)' + os: + name: Mac + short_name: MAC + version: 10.6.4 + platform: x86 + family: Mac +- + user_agent: 'Colloquy/4617 CFNetwork/454.11.5 Darwin/10.6.0 (i386) (MacBookPro5%2C2)' + os: + name: Mac + short_name: MAC + version: 10.6.6 + platform: x86 + family: Mac +- + user_agent: 'Safari/6533.18.5 CFNetwork/454.11.5 Darwin/10.5.0 (i386) (iMac11%2C1)' + os: + name: Mac + short_name: MAC + version: 10.6.5 + platform: x86 + family: Mac +- + user_agent: 'Leech/2072 CFNetwork/454.11.12 Darwin/10.7.0 (i386) (MacBookAir3%2C2)' + os: + name: Mac + short_name: MAC + version: 10.6.7 + platform: x86 + family: Mac +- + user_agent: Links (0.99; Darwin 11.0.0 x86_64; 77x47) + os: + name: Mac + short_name: MAC + version: "10.7" + platform: x64 + family: Mac +- + user_agent: Mozilla/5.0 (Linux; Android 12; RES102 Build/STTC.230104.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.60 YaBrowser/24.1.2.342 (lite) TV Safari/537.36 + os: + name: YodaOS-Master + short_name: YOD + version: "" + platform: "" + family: Android +- + user_agent: Mozilla/5.0 (Linux; Android 9; YNDX-00072 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.117 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 + os: + name: YaOS + short_name: YAS + version: "" + platform: "" + family: Android diff --git a/tests/matomo-device-detector/fixtures/bots.yml b/tests/matomo-device-detector/fixtures/bots.yml index 5ae3ed7..e1b0c25 100644 --- a/tests/matomo-device-detector/fixtures/bots.yml +++ b/tests/matomo-device-detector/fixtures/bots.yml @@ -1391,6 +1391,14 @@ producer: name: Google Inc. url: https://www.google.com/ +- + user_agent: google-xrawler + bot: + name: google-xrawler + category: Search bot + producer: + name: Google Inc. + url: https://www.google.com/ - user_agent: Googlebot-Video/1.0 bot: diff --git a/tests/matomo-device-detector/fixtures/car_browser.yml b/tests/matomo-device-detector/fixtures/car_browser.yml index 0276913..ce14f23 100644 --- a/tests/matomo-device-detector/fixtures/car_browser.yml +++ b/tests/matomo-device-detector/fixtures/car_browser.yml @@ -1079,3 +1079,25 @@ model: DUDU7 os_family: Android browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="148.0.7778.167", "Google Chrome";v="148.0.7778.167", "Not/A)Brand";v="99.0.0.0"' + Sec-CH-UA-Platform-Version: 12.0.0 + Sec-CH-UA-Model: uis8581a2h10_Automotive + os: + name: Android + version: 12.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 148.0.7778.167 + engine: Blink + engine_version: 148.0.7778.167 + device: + type: car browser + brand: "" + model: uis8581a2h10_Automotive + os_family: Android + browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/clienthints-app.yml b/tests/matomo-device-detector/fixtures/clienthints-app.yml index 26d2934..987f2ba 100644 --- a/tests/matomo-device-detector/fixtures/clienthints-app.yml +++ b/tests/matomo-device-detector/fixtures/clienthints-app.yml @@ -3843,3 +3843,50 @@ model: P smart Z os_family: Android browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; Samsung Galaxy Z Fold Special Build/BP2A.250605.031.A3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.7632.120 Mobile Safari/537.36 + headers: + x-requested-with: com.siber.roboform + sec-ch-ua-platform: '"Android"' + sec-ch-ua: '"Not:A-Brand";v="145", "Android WebView";v="145", "Chromium";v="145"' + sec-ch-ua-mobile: '?1' + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: RoboForm Passwort Manager + version: "" + device: + type: smartphone + brand: Samsung + model: Galaxy Z Fold Special + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; Fairphone 6 Build/FP6.QREL.16.95.0; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.181 Mobile Safari/537.36 + headers: + sec-ch-ua-model: '"Fairphone 6"' + x-requested-with: com.swisscows.search + sec-ch-ua-platform: '"Android"' + sec-ch-ua-platform-version: '"16.0.0"' + sec-ch-ua: '"Not;A=Brand";v="8", "Chromium";v="150", "Android WebView";v="150"' + sec-ch-ua-full-version: '"150.0.7871.181"' + sec-ch-ua-form-factors: '"Mobile"' + sec-ch-ua-mobile: '?1' + sec-ch-ua-wow64: '?0' + os: + name: Android + version: "16.0.0" + platform: "" + client: + type: mobile app + name: Swisscows Private Search + version: "" + device: + type: smartphone + brand: Fairphone + model: '6' + os_family: Android + browser_family: Unknown diff --git a/tests/matomo-device-detector/fixtures/clienthints.yml b/tests/matomo-device-detector/fixtures/clienthints.yml index 6a55c7c..3938345 100644 --- a/tests/matomo-device-detector/fixtures/clienthints.yml +++ b/tests/matomo-device-detector/fixtures/clienthints.yml @@ -1223,7 +1223,7 @@ device: type: smartphone brand: Fairphone - model: FP5 + model: "5" os_family: Android browser_family: Chrome - @@ -3102,7 +3102,7 @@ device: type: smartphone brand: Sharp - model: Aquos wish3 + model: Aquos Wish 3 os_family: Android browser_family: Chrome - diff --git a/tests/matomo-device-detector/fixtures/desktop.yml b/tests/matomo-device-detector/fixtures/desktop.yml index 553b673..c2aa282 100644 --- a/tests/matomo-device-detector/fixtures/desktop.yml +++ b/tests/matomo-device-detector/fixtures/desktop.yml @@ -6073,7 +6073,7 @@ device: type: desktop brand: Apple - model: MacBook Air 13" (2020) + model: MacBook Air M1 13" (2020) os_family: Mac browser_family: Unknown - @@ -6575,7 +6575,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 15" (2019) + model: MacBook Pro 15" (2018-2019) os_family: Mac browser_family: Unknown - @@ -6687,7 +6687,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 13" (2020) + model: MacBook Pro M1 13" (2020) os_family: Mac browser_family: Unknown - @@ -6809,7 +6809,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2018) + model: Mac mini (2018) os_family: Mac browser_family: Unknown - @@ -6843,7 +6843,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2014) + model: Mac mini (2014) os_family: Mac browser_family: Unknown - @@ -7067,7 +7067,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2020) + model: Mac mini M1 (2020) os_family: Mac browser_family: Unknown - @@ -7527,7 +7527,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2021) + model: MacBook Pro M1 Pro 16" (2021) os_family: Mac browser_family: Unknown - @@ -7543,7 +7543,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2021) + model: MacBook Pro M1 Pro 14" (2021) os_family: Mac browser_family: Unknown - @@ -7559,7 +7559,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2021) + model: MacBook Pro M1 Max 16" (2021) os_family: Mac browser_family: Unknown - @@ -7575,7 +7575,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2021) + model: MacBook Pro M1 Max 14" (2021) os_family: Mac browser_family: Unknown - @@ -7639,7 +7639,7 @@ device: type: desktop brand: Apple - model: iMac 24" (2021) + model: iMac M1 24" (2021) os_family: Mac browser_family: Unknown - @@ -7655,7 +7655,7 @@ device: type: desktop brand: Apple - model: iMac 24" (2021) + model: iMac M1 24" (2021) os_family: Mac browser_family: Unknown - @@ -7790,7 +7790,7 @@ user_agent: 'Safari5525.28.3 CFNetwork/438.12 Darwin/9.7.0 (i386) (iMac7%2C1)' os: name: Mac - version: "" + version: 10.5.7 platform: x86 client: type: browser @@ -7941,7 +7941,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2006) + model: Mac mini (2006) os_family: Mac browser_family: Safari - @@ -7959,7 +7959,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2010) + model: Mac mini (2010) os_family: Mac browser_family: Safari - @@ -7977,7 +7977,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2011) + model: Mac mini (2011) os_family: Mac browser_family: Safari - @@ -7995,7 +7995,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2012) + model: Mac mini (2012) os_family: Mac browser_family: Safari - @@ -8056,7 +8056,7 @@ user_agent: 'Safari/6533.19.4 CFNetwork/454.11.5 Darwin/10.6.0 (i386) (iMac5%2C1)' os: name: Mac - version: "" + version: 10.6.6 platform: x86 client: type: browser @@ -8074,7 +8074,7 @@ user_agent: 'Spector%20Pro/3731 CFNetwork/454.11.5 Darwin/10.6.0 (i386) (iMac11%2C3)' os: name: Mac - version: "" + version: 10.6.6 platform: x86 client: null device: @@ -8087,7 +8087,7 @@ user_agent: 'Safari/6533.18.5 CFNetwork/454.11.5 Darwin/10.5.0 (i386) (MacPro1%2C1)' os: name: Mac - version: "" + version: 10.6.5 platform: x86 client: type: browser @@ -8116,14 +8116,14 @@ device: type: desktop brand: Apple - model: Mac Mini (2007) + model: Mac mini (2007) os_family: Mac browser_family: Safari - user_agent: 'Safari/6533.20.27 CFNetwork/454.11.5 Darwin/10.6.0 (i386) (Macmini3%2C1)' os: name: Mac - version: "" + version: 10.6.6 platform: x86 client: type: browser @@ -8134,14 +8134,14 @@ device: type: desktop brand: Apple - model: Mac Mini (2009) + model: Mac mini (2009) os_family: Mac browser_family: Safari - user_agent: 'Safari/6531.21.10 CFNetwork/454.5 Darwin/10.2.0 (i386) (iMac11%2C1)' os: name: Mac - version: "" + version: 10.6.2 platform: x86 client: type: browser @@ -8249,7 +8249,7 @@ user_agent: 'Safari5530.18 CFNetwork/438.12 Darwin/9.7.0 (i386) (MacPro2%2C1)' os: name: Mac - version: "" + version: 10.5.7 platform: x86 client: type: browser @@ -8330,7 +8330,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2011) + model: Mac mini (2011) os_family: Mac browser_family: Unknown - @@ -8346,7 +8346,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2012) + model: Mac mini (2012) os_family: Mac browser_family: Unknown - @@ -8371,7 +8371,7 @@ user_agent: 'Safari5525.27.1 CFNetwork/422.15.2 Darwin/9.6.0 (Power%20Macintosh) (PowerMac8%2C2)' os: name: Mac - version: "" + version: 10.5.6 platform: "" client: type: browser @@ -8389,7 +8389,7 @@ user_agent: 'Safari5525.28.3 CFNetwork/438.12 Darwin/9.7.0 (Power%20Macintosh) (PowerMac10%2C1)' os: name: Mac - version: "" + version: 10.5.7 platform: "" client: type: browser @@ -8400,7 +8400,7 @@ device: type: desktop brand: Apple - model: Mac Mini G4 (2005) + model: Mac mini G4 (2005) os_family: Mac browser_family: Safari - @@ -8413,7 +8413,7 @@ device: type: desktop brand: Apple - model: Mac Mini (2011) + model: Mac mini (2011) os_family: Mac browser_family: Unknown - @@ -9147,7 +9147,7 @@ device: type: desktop brand: Apple - model: Mac mini (2023) + model: Mac mini M2 (2023) os_family: Mac browser_family: Unknown - @@ -9163,7 +9163,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023) + model: MacBook Pro M2 Pro 14" (2023) os_family: Mac browser_family: Unknown - @@ -9179,7 +9179,7 @@ device: type: desktop brand: Apple - model: MacBook Air 13" (2022) + model: MacBook Air M2 13" (2022) os_family: Mac browser_family: Unknown - @@ -9195,7 +9195,7 @@ device: type: desktop brand: Apple - model: Mac Studio (2022) + model: Mac Studio M1 Max (2022) os_family: Mac browser_family: Unknown - @@ -9211,7 +9211,7 @@ device: type: desktop brand: Apple - model: Mac Studio (2022) + model: Mac Studio M1 Ultra (2022) os_family: Mac browser_family: Unknown - @@ -9227,7 +9227,7 @@ device: type: desktop brand: Apple - model: Mac Studio (2023) + model: Mac Studio M2 Ultra (2023) os_family: Mac browser_family: Unknown - @@ -9243,7 +9243,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 13" (2022) + model: MacBook Pro M2 13" (2022) os_family: Mac browser_family: Unknown - @@ -9275,7 +9275,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023) + model: MacBook Pro M2 Max 14" (2023) os_family: Mac browser_family: Unknown - @@ -9291,7 +9291,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2023) + model: MacBook Pro M2 Max 16" (2023) os_family: Mac browser_family: Unknown - @@ -9307,7 +9307,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2023) + model: MacBook Pro M2 Pro 16" (2023) os_family: Mac browser_family: Unknown - @@ -9323,7 +9323,7 @@ device: type: desktop brand: Apple - model: Mac mini (2023) + model: Mac mini M2 Pro (2023) os_family: Mac browser_family: Unknown - @@ -9339,7 +9339,7 @@ device: type: desktop brand: Apple - model: MacBook Air 15" (2023) + model: MacBook Air M2 15" (2023) os_family: Mac browser_family: Unknown - @@ -9355,7 +9355,7 @@ device: type: desktop brand: Apple - model: Mac Studio (2023) + model: Mac Studio M2 Max (2023) os_family: Mac browser_family: Unknown - @@ -9371,7 +9371,7 @@ device: type: desktop brand: Apple - model: Mac Pro (2023) + model: Mac Pro M2 Ultra (2023) os_family: Mac browser_family: Unknown - @@ -9387,7 +9387,7 @@ device: type: desktop brand: Apple - model: iMac 24" (2023) + model: iMac M3 24" (2023) os_family: Mac browser_family: Unknown - @@ -9403,7 +9403,7 @@ device: type: desktop brand: Apple - model: iMac 24" (2023) + model: iMac M3 24" (2023) os_family: Mac browser_family: Unknown - @@ -9419,7 +9419,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2023-2024) + model: MacBook Pro M3 Pro 16" (2023-2024) os_family: Mac browser_family: Unknown - @@ -9435,7 +9435,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2023-2024) + model: MacBook Pro M3 Max 16" (2023-2024) os_family: Mac browser_family: Unknown - @@ -9451,7 +9451,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 16" (2023-2024) + model: MacBook Pro M3 Max 16" (2023-2024) os_family: Mac browser_family: Unknown - @@ -9467,7 +9467,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023-2024) + model: MacBook Pro M3 14" (2023-2024) os_family: Mac browser_family: Unknown - @@ -9483,7 +9483,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023-2024) + model: MacBook Pro M3 Pro 14" (2023-2024) os_family: Mac browser_family: Unknown - @@ -9499,7 +9499,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023-2024) + model: MacBook Pro M3 Max 14" (2023-2024) os_family: Mac browser_family: Unknown - @@ -9515,7 +9515,7 @@ device: type: desktop brand: Apple - model: MacBook Pro 14" (2023-2024) + model: MacBook Pro M3 Max 14" (2023-2024) os_family: Mac browser_family: Unknown - @@ -9811,6 +9811,512 @@ device: type: desktop brand: Apple - model: MacBook Air 13" (2024) + model: MacBook Air M3 13" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.43.1108 (Mac OS/12.7.6; Desktop; es-MX; NonAppStore; Apple/MacPro6,1) + os: + name: Mac + version: 12.7.6 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.43.1108 + device: + type: desktop + brand: Apple + model: Mac Pro (2013) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.43.1108 (Mac OS/26.7.0; Desktop; es-MX; NonAppStore; Apple/MacPro7,1) + os: + name: Mac + version: 26.7.0 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.43.1108 + device: + type: desktop + brand: Apple + model: Mac Pro (2019) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.98.608 (Mac OS/26.5.2; Desktop; en-US; AppStore; Apple/Mac15,13) + os: + name: Mac + version: 26.5.2 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.98.608 + device: + type: desktop + brand: Apple + model: MacBook Air M3 15" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.98.608 (Mac OS/26.5.2; Desktop; en-US; AppStore; Apple/Mac15,14) + os: + name: Mac + version: 26.5.2 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.98.608 + device: + type: desktop + brand: Apple + model: Mac Studio M3 Ultra (2025) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.106.302 (Mac OS/15.7.3; Desktop; en-US; AppStore; Apple/Mac16,1) + os: + name: Mac + version: 15.7.3 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.106.302 + device: + type: desktop + brand: Apple + model: MacBook Pro M4 14" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office PowerPoint/16.112.821 (Mac OS/26.5.2; Desktop; en-US; AppStore; Apple/Mac16,2) + os: + name: Mac + version: 26.5.2 + platform: "" + client: + type: mobile app + name: Microsoft Office PowerPoint + version: 16.112.821 + device: + type: desktop + brand: Apple + model: iMac M4 24" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.112.817 (Mac OS/15.3.1; Desktop; en-US; NonAppStore; Apple/Mac16,3) + os: + name: Mac + version: 15.3.1 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.112.817 + device: + type: desktop + brand: Apple + model: iMac M4 24" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office PowerPoint/16.112.821 (Mac OS/26.5.2; Desktop; en-US; AppStore; Apple/Mac16,5) + os: + name: Mac + version: 26.5.2 + platform: "" + client: + type: mobile app + name: Microsoft Office PowerPoint + version: 16.112.821 + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Max 16" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office PowerPoint/16.111.726 (Mac OS/26.6.2; Desktop; en-US; AppStore; Apple/Mac16,6) + os: + name: Mac + version: 26.6.2 + platform: "" + client: + type: mobile app + name: Microsoft Office PowerPoint + version: 16.111.726 + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Max 14" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Outlook/16.100.824 (Mac OS/15.6.1; Desktop; en-US; NonAppStore; Apple/Mac16,7) + os: + name: Mac + version: 15.6.1 + platform: "" + client: + type: pim + name: Microsoft Outlook + version: 16.100.824 + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Pro 16" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office PowerPoint/16.111.726 (Mac OS/26.6.2; Desktop; en-US; AppStore; Apple/Mac16,8) + os: + name: Mac + version: 26.6.2 + platform: "" + client: + type: mobile app + name: Microsoft Office PowerPoint + version: 16.111.726 + device: + type: desktop + brand: Apple + model: MacBook Pro M4 Pro 14" (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office PowerPoint/16.111.726 (Mac OS/26.6.2; Desktop; en-US; AppStore; Apple/Mac16,9) + os: + name: Mac + version: 26.6.2 + platform: "" + client: + type: mobile app + name: Microsoft Office PowerPoint + version: 16.111.726 + device: + type: desktop + brand: Apple + model: Mac Studio M4 Max (2025) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.103.1109 (Mac OS/26.3.1; Desktop; en-US; AppStore; Apple/Mac16,10) + os: + name: Mac + version: 26.3.1 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.103.1109 + device: + type: desktop + brand: Apple + model: Mac mini M4 (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.112.817 (Mac OS/26.5.1; Desktop; en-US; AppStore; Apple/Mac16,11) + os: + name: Mac + version: 26.5.1 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.112.817 + device: + type: desktop + brand: Apple + model: Mac mini M4 Pro (2024) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.112.817 (Mac OS/26.5.2; Desktop; en-US; AppStore; Apple/Mac16,12) + os: + name: Mac + version: 26.5.2 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.112.817 + device: + type: desktop + brand: Apple + model: MacBook Air M4 13" (2025) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.112.817 (Mac OS/26.6.2; Desktop; en-US; AppStore; Apple/Mac16,13) + os: + name: Mac + version: 26.6.2 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.112.817 + device: + type: desktop + brand: Apple + model: MacBook Air M4 15" (2025) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.112.821 (Mac OS/27.0; Desktop; en-US; AppStore; Apple/Mac17,2) + os: + name: Mac + version: "27.0" + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.112.821 + device: + type: desktop + brand: Apple + model: MacBook Pro M5 14" (2025) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.112.821 (Mac OS/26.4; Desktop; en-US; AppStore; Apple/Mac17,3) + os: + name: Mac + version: "26.4" + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.112.821 + device: + type: desktop + brand: Apple + model: MacBook Air M5 13" (2026) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.112.821 (Mac OS/26.5.2; Desktop; en-US; AppStore; Apple/Mac17,4) + os: + name: Mac + version: 26.5.2 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.112.821 + device: + type: desktop + brand: Apple + model: MacBook Air M5 15" (2026) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office PowerPoint/16.112.817 (Mac OS/26.4.1; Desktop; en-US; NonAppStore; Apple/Mac17,5) + os: + name: Mac + version: 26.4.1 + platform: "" + client: + type: mobile app + name: Microsoft Office PowerPoint + version: 16.112.817 + device: + type: desktop + brand: Apple + model: MacBook Neo 13" (2026) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.111.719 (Mac OS/26.4; Desktop; en-US; AppStore; Apple/Mac17,6) + os: + name: Mac + version: "26.4" + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.111.719 + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Max 16" (2026) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.111.719 (Mac OS/26.4; Desktop; en-US; AppStore; Apple/Mac17,7) + os: + name: Mac + version: "26.4" + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.111.719 + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Max 14" (2026) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.111.719 (Mac OS/26.4; Desktop; en-US; AppStore; Apple/Mac17,8) + os: + name: Mac + version: "26.4" + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.111.719 + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Pro 16" (2026) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.111.719 (Mac OS/26.4; Desktop; en-US; AppStore; Apple/Mac17,9) + os: + name: Mac + version: "26.4" + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.111.719 + device: + type: desktop + brand: Apple + model: MacBook Pro M5 Pro 14" (2026) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.46.212 (Mac OS/11.7.11; Desktop; en-US; NonAppStore; Apple/iMac15,1) + os: + name: Mac + version: 11.7.11 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.46.212 + device: + type: desktop + brand: Apple + model: iMac 27" (2014-2015) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.46.212 (Mac OS/12.7.6; Desktop; en-US; NonAppStore; Apple/iMac16,1) + os: + name: Mac + version: 12.7.6 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.46.212 + device: + type: desktop + brand: Apple + model: iMac 21.5" (2015) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.46.212 (Mac OS/12.7.6; Desktop; en-US; NonAppStore; Apple/iMac16,2) + os: + name: Mac + version: 12.7.6 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.46.212 + device: + type: desktop + brand: Apple + model: iMac 21.5" (2015) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.46.212 (Mac OS/10.6.8; Desktop; en-US; NonAppStore; Apple/iMac4,1) + os: + name: Mac + version: 10.6.8 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.46.212 + device: + type: desktop + brand: Apple + model: iMac (2006) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office Excel/16.46.212 (Mac OS/10.6.8; Desktop; en-US; NonAppStore; Apple/iMac4,2) + os: + name: Mac + version: 10.6.8 + platform: "" + client: + type: mobile app + name: Microsoft Office Excel + version: 16.46.212 + device: + type: desktop + brand: Apple + model: iMac 17" (2006) + os_family: Mac + browser_family: Unknown +- + user_agent: Microsoft Office PowerPoint/16.93.112 (Mac OS/13.7.2; Desktop; en-US; AppStore; Apple/MacBook10,1) + os: + name: Mac + version: 13.7.2 + platform: "" + client: + type: mobile app + name: Microsoft Office PowerPoint + version: 16.93.112 + device: + type: desktop + brand: Apple + model: MacBook 12" (2017) + os_family: Mac + browser_family: Unknown +- + user_agent: 'Integrityv1.4.2 CFNetwork/438.12 Darwin/9.7.0 (Power%20Macintosh) (PowerMac10%2C2)' + os: + name: Mac + version: 10.5.7 + platform: "" + client: null + device: + type: desktop + brand: Apple + model: Mac mini G4 (2005) + os_family: Mac + browser_family: Unknown +- + user_agent: 'BusyCal1.640 CFNetwork/438.16 Darwin/9.8.0 (Power%20Macintosh) (PowerMac8%2C1)' + os: + name: Mac + version: 10.5.8 + platform: "" + client: null + device: + type: desktop + brand: Apple + model: iMac G5 (2004) os_family: Mac browser_family: Unknown diff --git a/tests/matomo-device-detector/fixtures/mobile_apps.yml b/tests/matomo-device-detector/fixtures/mobile_apps.yml index 56a79ae..b6ebd31 100644 --- a/tests/matomo-device-detector/fixtures/mobile_apps.yml +++ b/tests/matomo-device-detector/fixtures/mobile_apps.yml @@ -615,7 +615,7 @@ platform: "" client: type: mobile app - name: RoboForm + name: RoboForm Passwort Manager version: "" device: type: "" diff --git a/tests/matomo-device-detector/fixtures/peripheral.yml b/tests/matomo-device-detector/fixtures/peripheral.yml index b04636f..70ea3c4 100644 --- a/tests/matomo-device-detector/fixtures/peripheral.yml +++ b/tests/matomo-device-detector/fixtures/peripheral.yml @@ -1756,3 +1756,59 @@ model: T3 Pro os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="142.0.7444.171", "Google Chrome";v="142.0.7444.171", "Not_A Brand";v="99.0.0.0"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: the101loop + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 142.0.7444.171 + engine: Blink + engine_version: 142.0.7444.171 + device: + type: peripheral + brand: LoopDL + model: the101 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; K901 Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/138.0.7204.179 Mobile Safari/537.36 Line/15.2.1/IAB + os: + name: Android + version: "9" + platform: "" + client: + type: mobile app + name: Line + version: 15.2.1 + device: + type: peripheral + brand: Kaicom + model: K901 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 10; CHCNAV Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Webview + version: 74.0.3729.186 + engine: Blink + engine_version: 74.0.3729.186 + device: + type: peripheral + brand: CHCNAV + model: "" + os_family: Android + browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/phablet-1.yml b/tests/matomo-device-detector/fixtures/phablet-1.yml index 1aafba7..ab65628 100644 --- a/tests/matomo-device-detector/fixtures/phablet-1.yml +++ b/tests/matomo-device-detector/fixtures/phablet-1.yml @@ -6795,3 +6795,327 @@ model: Redmi Note 15 Pro 5G os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; TECNO LK7k Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.93 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.93 + engine: Blink + engine_version: 149.0.7827.93 + device: + type: phablet + brand: Tecno Mobile + model: Pova Curve 2 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; V2436A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.200 Mobile Safari/537.36 VivoBrowser/28.8.4.0 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: vivo Browser + version: 28.8.4.0 + engine: Blink + engine_version: 131.0.6778.200 + device: + type: phablet + brand: Vivo + model: X Fold 5 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 17; SCG41) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.7922.200 Mobile Safari/537.36 + os: + name: Android + version: "17" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 151.0.7922.200 + engine: Blink + engine_version: 151.0.7922.200 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F9710 Build/CP2A.260605.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/147.0.7727.137 Mobile Safari/537.36 Lark/7.73.11 LarkLocale/zh_CN ChannelName/Feishu appid/482431; appname/Feishu; + os: + name: Android + version: "17" + platform: "" + client: + type: mobile app + name: Lark + version: 7.73.11 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F971B Build/CP2A.260605.016; en-in) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Mobile Safari/537.36 Puffin/10.5.1.70541AP + os: + name: Android + version: "17" + platform: "" + client: + type: browser + name: Puffin Web Browser + version: 10.5.1.70541 + engine: Blink + engine_version: 87.0.4280.66 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F971N Build/CP2A.260605.016; ko-kr) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Mobile Safari/537.36 Puffin/10.5.1.70541AP + os: + name: Android + version: "17" + platform: "" + client: + type: browser + name: Puffin Web Browser + version: 10.5.1.70541 + engine: Blink + engine_version: 87.0.4280.66 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F971Q Build/CP2A.260605.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.199 Mobile Safari/537.36 Sleipnir/3.8.5 + os: + name: Android + version: "17" + platform: "" + client: + type: browser + name: Sleipnir + version: 3.8.5 + engine: Blink + engine_version: 151.0.7922.199 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 18.0.10.147101/14710101) Dalvik/2.1.0 (Linux; U; Android 17; SM-F971U Build/CP2A.260605.016) + os: + name: Android + version: "17" + platform: "" + client: + type: mobile app + name: Keeper + version: 18.0.10.147101 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F971U1 Build/CP2A.260605.016; en-us) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Mobile Safari/537.36 Puffin/10.5.1.70541AP + os: + name: Android + version: "17" + platform: "" + client: + type: browser + name: Puffin Web Browser + version: 10.5.1.70541 + engine: Blink + engine_version: 87.0.4280.66 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F971W Build/CP2A.260605.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.181 Safari/537.36 Flipboard/4.3.61/5514,4.3.61.5514 + os: + name: Android + version: "17" + platform: "" + client: + type: mobile app + name: Flipboard App + version: 4.3.61 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 17; SM-F971C Build/CP2A.260605.016) AppleWebKit/537.36 (KHTML, like Gecko) Ojxvms/4.0 Chrome/150.0.7871.182 Mobile Safari/537.36 + os: + name: Android + version: "17" + platform: "" + client: + type: browser + name: Chrome Webview + version: 150.0.7871.182 + engine: Blink + engine_version: 150.0.7871.182 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-F9660 Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.21 Safari/537.36 Xiaoyuzhou/2.99.1 Android/16 StatusBarHeight/89 xyzTheme/defaultLight + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: XiaoYuZhou + version: 2.99.1 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-F966B Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.109 Mobile Grindr/26.1.0 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Grindr + version: 26.1.0 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-F966N; BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/145.0.7632.120 Mobile Safari/537.36 Viber/27.4.0.0 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Viber + version: 27.4.0.0 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-F966Q Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.85 Mobile Safari/537.36 Sleipnir/3.8.5 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Sleipnir + version: 3.8.5 + engine: Blink + engine_version: 151.0.7922.85 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-F966U Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.90 Mobile Grindr/26.0.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Grindr + version: 26.0.1 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- + user_agent: iHeartRadio/10.59.0 (Android 16; SM-F966U1 Build/BP2A.250605.031.A3) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: iHeartRadio + version: 10.59.0 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 17.5.10.146301/14630101) Dalvik/2.1.0 (Linux; U; Android 16; SM-F966W Build/BP4A.251205.006) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Keeper + version: 17.5.10.146301 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-F966Z Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.199 Mobile Safari/537.36 Sleipnir/3.8.5 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Sleipnir + version: 3.8.5 + engine: Blink + engine_version: 151.0.7922.199 + device: + type: phablet + brand: Samsung + model: Galaxy Z Fold 7 + os_family: Android + browser_family: Unknown diff --git a/tests/matomo-device-detector/fixtures/smart_speaker.yml b/tests/matomo-device-detector/fixtures/smart_speaker.yml index 7ebcb15..5c263d3 100644 --- a/tests/matomo-device-detector/fixtures/smart_speaker.yml +++ b/tests/matomo-device-detector/fixtures/smart_speaker.yml @@ -7,7 +7,7 @@ platform: "" client: type: library - name: iOS Application + name: Apple Core Media version: "" device: type: smart speaker @@ -1074,3 +1074,25 @@ model: Play:3 os_family: Unknown browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="137.0.7151.115", "Chromium";v="137.0.7151.115", "Not/A)Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: theloop_ROW + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 137.0.7151.115 + engine: Blink + engine_version: 137.0.7151.115 + device: + type: smart speaker + brand: LoopDL + model: loop + os_family: Android + browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/smartphone-22.yml b/tests/matomo-device-detector/fixtures/smartphone-22.yml index f444869..73a796b 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-22.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-22.yml @@ -4326,7 +4326,7 @@ device: type: smartphone brand: Vivo - model: Y31s + model: Y31s 5G os_family: Android browser_family: Chrome - diff --git a/tests/matomo-device-detector/fixtures/smartphone-26.yml b/tests/matomo-device-detector/fixtures/smartphone-26.yml index 65a9f01..2748603 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-26.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-26.yml @@ -2098,7 +2098,7 @@ device: type: smartphone brand: Fairphone - model: FP3 + model: "3" os_family: Android browser_family: Chrome - diff --git a/tests/matomo-device-detector/fixtures/smartphone-32.yml b/tests/matomo-device-detector/fixtures/smartphone-32.yml index ac875fe..bdfaa69 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-32.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-32.yml @@ -2300,7 +2300,7 @@ device: type: smartphone brand: Vivo - model: Y31s + model: Y31s 5G os_family: Android browser_family: Internet Explorer - diff --git a/tests/matomo-device-detector/fixtures/smartphone-37.yml b/tests/matomo-device-detector/fixtures/smartphone-37.yml index 2979220..5579bca 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-37.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-37.yml @@ -9201,24 +9201,6 @@ model: "201" os_family: Android browser_family: Chrome -- - user_agent: Mozilla/5.0 (Linux; Android 10; CHCNAV Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Mobile Safari/537.36 - os: - name: Android - version: "10" - platform: "" - client: - type: browser - name: Chrome Webview - version: 74.0.3729.186 - engine: Blink - engine_version: 74.0.3729.186 - device: - type: smartphone - brand: CHCNAV - model: "" - os_family: Android - browser_family: Chrome - user_agent: Mozilla/5.0 (Linux; Android 10; Allure A8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 os: diff --git a/tests/matomo-device-detector/fixtures/smartphone-4.yml b/tests/matomo-device-detector/fixtures/smartphone-4.yml index c68bcd3..33583ca 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-4.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-4.yml @@ -3702,7 +3702,7 @@ device: type: smartphone brand: Fairphone - model: FP1 + model: "1" os_family: Android browser_family: Chrome - @@ -3720,7 +3720,7 @@ device: type: smartphone brand: Fairphone - model: FP1U + model: 1U os_family: Android browser_family: Android Browser - @@ -3738,7 +3738,7 @@ device: type: smartphone brand: Fairphone - model: FP2 + model: "2" os_family: Android browser_family: Chrome - diff --git a/tests/matomo-device-detector/fixtures/smartphone-40.yml b/tests/matomo-device-detector/fixtures/smartphone-40.yml index 5dc00d8..acf113e 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-40.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-40.yml @@ -4132,7 +4132,7 @@ device: type: smartphone brand: Fairphone - model: FP5 + model: "5" os_family: Android browser_family: Chrome - diff --git a/tests/matomo-device-detector/fixtures/smartphone-43.yml b/tests/matomo-device-detector/fixtures/smartphone-43.yml index 696990e..a2c231e 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-43.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-43.yml @@ -1309,3 +1309,2823 @@ model: X7e os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; KNgiKwqEVT; U; en) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.7204.63 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not)A;Brand";v="8.0.0.0", "Chromium";v="138.0.7204.63"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: HMD Fusion + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Avast Secure Browser + version: "" + engine: Blink + engine_version: 138.0.7204.63 + device: + type: smartphone + brand: HMD + model: Fusion + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="131.0.6778.260", "Chromium";v="131.0.6778.260", "Not_A Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: TMRV085G + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 131.0.6778.260 + engine: Blink + engine_version: 131.0.6778.260 + device: + type: smartphone + brand: T-Mobile + model: REVVL 8 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; TMRV08P5G Build/BQ2A.250925.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.120 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 148.0.7778.120 + engine: Blink + engine_version: 148.0.7778.120 + device: + type: smartphone + brand: T-Mobile + model: REVVL 8 Pro 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0; TWL M10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Mobile Safari/537.36 + os: + name: Android + version: "6.0" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 100.0.4896.88 + engine: Blink + engine_version: 100.0.4896.88 + device: + type: smartphone + brand: TWL Mobile + model: M10 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 15; RMX5108 Build/UKQ1.231108.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.217 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: "" + client: + type: browser + name: Chrome Webview + version: 148.0.7778.217 + engine: Blink + engine_version: 148.0.7778.217 + device: + type: smartphone + brand: Realme + model: P4x 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; RMX5057) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.64 YaSearchBrowser/26.45.1 BroPP/1.0 YaSearchApp/26.45.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.45.1 + engine: Blink + engine_version: 146.0.7680.64 + device: + type: smartphone + brand: Realme + model: 14 Pro 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="143.0.7499.109", "Chromium";v="143.0.7499.109", "Not A(Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: RMX5074 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 143.0.7499.109 + engine: Blink + engine_version: 143.0.7499.109 + device: + type: smartphone + brand: Realme + model: 14T 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; RMX5107 Build/UKQ1.231108.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Realme + model: P4 Power 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; RMX5171 Build/BP2A.250605.015; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Realme + model: 16 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not=A?Brand";v="99.0.0.0", "Google Chrome";v="151.0.7922.173", "Chromium";v="151.0.7922.173"' + Sec-CH-UA-Platform-Version: 16.0.0 + Sec-CH-UA-Model: RMX5266 + os: + name: Android + version: 16.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 151.0.7922.173 + engine: Blink + engine_version: 151.0.7922.173 + device: + type: smartphone + brand: Realme + model: P4R 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; RMX5256) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.93 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.93 + engine: Blink + engine_version: 149.0.7827.93 + device: + type: smartphone + brand: Realme + model: C83 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; RMX5258 Build/BP2A.250605.015; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Realme + model: C100 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; RMX5264 Build/BP2A.250605.015; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Realme + model: Narzo 90x 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; RMX5353 Build/BP2A.250605.015; ) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Realme + model: C100 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; RMX5366) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.43 YaSearchBrowser/26.47.1 BroPP/1.0 YaSearchApp/26.47.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.47.1 + engine: Blink + engine_version: 146.0.7680.43 + device: + type: smartphone + brand: Realme + model: C100x + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="135.0.7049.79", "Not-A.Brand";v="8.0.0.0", "Chromium";v="135.0.7049.79"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: SHIFTphone 8 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 135.0.7049.79 + engine: Blink + engine_version: 135.0.7049.79 + device: + type: smartphone + brand: SHIFT + model: SHIFTphone 8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="143.0.7499.109", "Chromium";v="143.0.7499.109", "Not A(Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: Spectra J1 PRO + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 143.0.7499.109 + engine: Blink + engine_version: 143.0.7499.109 + device: + type: smartphone + brand: SPECTRA + model: J1 Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="8.0.0.0", "Chromium";v="150.0.7871.181", "Google Chrome";v="150.0.7871.181"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: Spectra_J2 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 150.0.7871.181 + engine: Blink + engine_version: 150.0.7871.181 + device: + type: smartphone + brand: SPECTRA + model: J2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="8.0.0.0", "Chromium";v="150.0.7871.128", "Google Chrome";v="150.0.7871.128"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: Spectra_J2_Pro + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 150.0.7871.128 + engine: Blink + engine_version: 150.0.7871.128 + device: + type: smartphone + brand: SPECTRA + model: J2 Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="152.0.7977.42", "Not?A_Brand";v="24.0.0.0", "Google Chrome";v="152.0.7977.42"' + Sec-CH-UA-Platform-Version: 16.0.0 + Sec-CH-UA-Model: Spectra_J3_MTN + os: + name: Android + version: 16.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 152.0.7977.42 + engine: Blink + engine_version: 152.0.7977.42 + device: + type: smartphone + brand: SPECTRA + model: J3 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="8.0.0.0", "Chromium";v="150.0.7871.129", "Google Chrome";v="150.0.7871.129"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: LENIX Pro + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 150.0.7871.129 + engine: Blink + engine_version: 150.0.7871.129 + device: + type: smartphone + brand: LENIX + model: Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; LLY-NX1-N31) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.6943.121 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not(A:Brand";v="99.0.0.0", "Google Chrome";v="133.0.6943.121", "Chromium";v="133.0.6943.121"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: LLY-NX1 + Sec-CH-UA-Form-Factors: Mobile + http-x-requested-with: com.pawxy.browser + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Pawxy + version: "" + engine: Blink + engine_version: 133.0.6943.121 + device: + type: smartphone + brand: Honor + model: 200 Lite + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not)A;Brand";v="8.0.0.0", "Chromium";v="138.0.7204.179", "DuckDuckGo";v="138.0.7204.179"' + Sec-CH-UA-Full-Version: 138.0.7204.179 + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: Fairphone 6 + http-x-requested-with: com.duckduckgo.mobile.android + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: DuckDuckGo Privacy Browser + version: "" + engine: Blink + engine_version: 138.0.7204.179 + device: + type: smartphone + brand: Fairphone + model: "6" + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="142.0.7444.171", "Google Chrome";v="142.0.7444.171", "Not_A Brand";v="99.0.0.0"' + Sec-CH-UA-Platform-Version: 12.0.0 + Sec-CH-UA-Model: artfone SMART_500 + os: + name: Android + version: 12.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 142.0.7444.171 + engine: Blink + engine_version: 142.0.7444.171 + device: + type: smartphone + brand: artfone + model: smart 500 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not(A:Brand";v="8.0.0.0", "Chromium";v="144.0.7559.90", "Google Chrome";v="144.0.7559.90"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: Astech S8 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 144.0.7559.90 + engine: Blink + engine_version: 144.0.7559.90 + device: + type: smartphone + brand: ASTECH + model: S8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not=A?Brand";v="24.0.0.0", "Chromium";v="140.0.7339.208"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: Astech S9 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chromium + version: 140.0.7339.208 + engine: Blink + engine_version: 140.0.7339.208 + device: + type: smartphone + brand: ASTECH + model: S9 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="140.0.7339.207", "Not=A?Brand";v="24.0.0.0", "Google Chrome";v="140.0.7339.207"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: Astech IRIS + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 140.0.7339.207 + engine: Blink + engine_version: 140.0.7339.207 + device: + type: smartphone + brand: ASTECH + model: IRIS + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="128.0.6613.148", "Not;A=Brand";v="24.0.0.0", "Google Chrome";v="128.0.6613.148"' + Sec-CH-UA-Platform-Version: 13.0.0 + Sec-CH-UA-Model: Awadjidje + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 128.0.6613.148 + engine: Blink + engine_version: 128.0.6613.148 + device: + type: smartphone + brand: MTN + model: Awadjidje + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="142.0.7444.48", "Google Chrome";v="142.0.7444.48", "Not_A Brand";v="99.0.0.0"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: BOLD K20 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 142.0.7444.48 + engine: Blink + engine_version: 142.0.7444.48 + device: + type: smartphone + brand: Blu + model: Bold K20 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="99.0.0.0", "Google Chrome";v="139.0.7258.158", "Chromium";v="139.0.7258.158"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: BOLD K30 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 139.0.7258.158 + engine: Blink + engine_version: 139.0.7258.158 + device: + type: smartphone + brand: Blu + model: Bold K30 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="143.0.7499.146", "Chromium";v="143.0.7499.146", "Not A(Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: BOLD N4 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 143.0.7499.146 + engine: Blink + engine_version: 143.0.7499.146 + device: + type: smartphone + brand: Blu + model: Bold N4 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="99.0.0.0", "Google Chrome";v="139.0.7258.158", "Chromium";v="139.0.7258.158"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: BOLD K5 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 139.0.7258.158 + engine: Blink + engine_version: 139.0.7258.158 + device: + type: smartphone + brand: Blu + model: Bold K5 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="8.0.0.0", "Chromium";v="150.0.7871.124", "Google Chrome";v="150.0.7871.124"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: BOLD K12 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 150.0.7871.124 + engine: Blink + engine_version: 150.0.7871.124 + device: + type: smartphone + brand: Blu + model: Bold K12 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not)A;Brand";v="99.0.0.0", "Google Chrome";v="127.0.6533.64", "Chromium";v="127.0.6533.64"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: BUZZ 6 Pro + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 127.0.6533.64 + engine: Blink + engine_version: 127.0.6533.64 + device: + type: smartphone + brand: Ace + model: Buzz 6 Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not(A:Brand";v="99.0.0.0", "Google Chrome";v="133.0.6943.121", "Chromium";v="133.0.6943.121"' + Sec-CH-UA-Platform-Version: 13.0.0 + Sec-CH-UA-Model: HMD Aura + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 133.0.6943.121 + engine: Blink + engine_version: 133.0.6943.121 + device: + type: smartphone + brand: HMD + model: Aura + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not)A;Brand";v="8.0.0.0", "Chromium";v="138.0.7204.157", "Google Chrome";v="138.0.7204.157"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: HMD KEY + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 138.0.7204.157 + engine: Blink + engine_version: 138.0.7204.157 + device: + type: smartphone + brand: HMD + model: Key + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="140.0.7339.207", "Not=A?Brand";v="24.0.0.0", "Google Chrome";v="140.0.7339.207"' + Sec-CH-UA-Platform-Version: 16.0.0 + Sec-CH-UA-Model: Konnect 660 + os: + name: Android + version: 16.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 140.0.7339.207 + engine: Blink + engine_version: 140.0.7339.207 + device: + type: smartphone + brand: Danew + model: Konnect 660 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="131.0.6778.200", "Chromium";v="131.0.6778.200", "Not_A Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 13.0.0 + Sec-CH-UA-Model: Konnect_557 + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 131.0.6778.200 + engine: Blink + engine_version: 131.0.6778.200 + device: + type: smartphone + brand: Danew + model: Konnect 557 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="148.0.7778.178", "Google Chrome";v="148.0.7778.178", "Not/A)Brand";v="99.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: Panther2 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 148.0.7778.178 + engine: Blink + engine_version: 148.0.7778.178 + device: + type: smartphone + brand: LAGENIO + model: Panther 2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 15; SERIE_M_100 Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.109 Mobile Safari/537.36 OPR/98.0.2254.81553 + headers: + Sec-CH-UA: '"Opera Mini Android";v="98.0.2254.81553", "Not(A:Brand";v="8.0.0.0", "Chromium";v="144.0.7559.109", "Android WebView";v="144.0.7559.109"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: SERIE_M_100 + os: + name: Android + version: "15" + platform: "" + client: + type: browser + name: Opera Mini + version: 98.0.2254.81553 + engine: Blink + engine_version: 144.0.7559.109 + device: + type: smartphone + brand: DAMASCO + model: M100 + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="143.0.7499.146", "Chromium";v="143.0.7499.146", "Not A(Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: SERIE_M_200 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 143.0.7499.146 + engine: Blink + engine_version: 143.0.7499.146 + device: + type: smartphone + brand: DAMASCO + model: M200 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="147.0.7727.137", "Not.A/Brand";v="8.0.0.0", "Chromium";v="147.0.7727.137"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: SERIE_M_300 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 147.0.7727.137 + engine: Blink + engine_version: 147.0.7727.137 + device: + type: smartphone + brand: DAMASCO + model: M300 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"DuckDuckGo";v="129.0.6668.70", "Not=A?Brand";v="8.0.0.0", "Chromium";v="129.0.6668.70"' + Sec-CH-UA-Platform-Version: 12.0.0 + Sec-CH-UA-Model: Stealth 5 + http-x-requested-with: com.duckduckgo.mobile.android + os: + name: Android + version: 12.0.0 + platform: "" + client: + type: browser + name: DuckDuckGo Privacy Browser + version: "" + engine: Blink + engine_version: 129.0.6668.70 + device: + type: smartphone + brand: UltraX Privacy + model: Stealth 5 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="131.0.6778.261", "Chromium";v="131.0.6778.261", "Not_A Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: Stellar-M6 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 131.0.6778.261 + engine: Blink + engine_version: 131.0.6778.261 + device: + type: smartphone + brand: Crosscall + model: Stellar-M6 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 15; Stellar-M6E Build/AQ3A.250226.002) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Crosscall + model: Stellar-M6E + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36 (Ecosia android@143.0.0.0) + headers: + Sec-CH-UA: '"Chromium";v="143.0.7499.52", "Not A(Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: Stellar-M6 Chamonix Mont-Blanc + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Ecosia + version: 143.0.7499.52 + engine: Blink + engine_version: 143.0.7499.52 + device: + type: smartphone + brand: Crosscall + model: Stellar-M6 Chamonix Mont-Blanc + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not.A/Brand";v="8.0.0.0", "Chromium";v="114.0.5735.196", "Google Chrome";v="114.0.5735.196"' + Sec-CH-UA-Platform-Version: 11.0.0 + Sec-CH-UA-Model: TIOK S20 + os: + name: Android + version: 11.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 114.0.5735.196 + engine: Blink + engine_version: 114.0.5735.196 + device: + type: smartphone + brand: TIOK + model: S20 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36 EdgA/131.0.0.0 + headers: + Sec-CH-UA: '"Microsoft Edge";v="131.0.2903.48", "Chromium";v="131.0.6778.70", "Not_A Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: U572AA + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Microsoft Edge + version: 131.0.6778.70 + engine: Blink + engine_version: 131.0.6778.70 + device: + type: smartphone + brand: 'AT&T' + model: Vista 2 + os_family: Android + browser_family: Internet Explorer +- + user_agent: Mozilla/5.0 (Linux; Android 14; U655AA Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.200 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Android WebView";v="131.0.6778.200", "Chromium";v="131.0.6778.200", "Not_A Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: U655AA + http-x-requested-with: com.oh.brop + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: OH Private Browser + version: "" + engine: Blink + engine_version: 131.0.6778.200 + device: + type: smartphone + brand: 'AT&T' + model: Propel 2 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="143.0.7499.109", "Chromium";v="143.0.7499.109", "Not A(Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: U656AA + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 143.0.7499.109 + engine: Blink + engine_version: 143.0.7499.109 + device: + type: smartphone + brand: 'AT&T' + model: Propel 3 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="142.0.7444.173", "Google Chrome";v="142.0.7444.173", "Not_A Brand";v="99.0.0.0"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: U656AC + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 142.0.7444.173 + engine: Blink + engine_version: 142.0.7444.173 + device: + type: smartphone + brand: Cricket + model: Icon (2026) + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not=A?Brand";v="99.0.0.0", "Google Chrome";v="151.0.7922.137", "Chromium";v="151.0.7922.137"' + Sec-CH-UA-Platform-Version: 16.0.0 + Sec-CH-UA-Model: UE010 + os: + name: Android + version: 16.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 151.0.7922.137 + engine: Blink + engine_version: 151.0.7922.137 + device: + type: smartphone + brand: Unnecto + model: Eco 10 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not A(Brand";v="8.0.0.0", "Chromium";v="132.0.6834.79", "Google Chrome";v="132.0.6834.79"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: UB101 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 132.0.6834.79 + engine: Blink + engine_version: 132.0.6834.79 + device: + type: smartphone + brand: Unnecto + model: Bolt 10 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not A(Brand";v="8.0.0.0", "Chromium";v="132.0.6834.79", "Google Chrome";v="132.0.6834.79"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: UB202 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 132.0.6834.79 + engine: Blink + engine_version: 132.0.6834.79 + device: + type: smartphone + brand: Unnecto + model: Bolt 20 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="141.0.7390.122", "Not?A_Brand";v="8.0.0.0", "Chromium";v="141.0.7390.122"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: UB501 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 141.0.7390.122 + engine: Blink + engine_version: 141.0.7390.122 + device: + type: smartphone + brand: Unnecto + model: Bolt 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; SN509A Build/UP1A.231005.007) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.91 Mobile Safari/537.36 OPX/3.3 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Opera GX + version: "3.3" + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: 'AT&T' + model: Motivate Pro 5G + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 15; SN512A Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: 'AT&T' + model: Motivate Pro 2 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 15; SN512C Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Cricket + model: Icon Pro (2026) + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 15; SN333C Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Cricket + model: Icon Plus (2026) + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 15; SN333A Build/AP3A.240905.015.A2) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: 'AT&T' + model: Verge 2 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; V2509A Build/BP2A.250605.031.A3_V000L1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Vivo + model: X300 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SOG16 Build/72.1.A.2.184; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Sony + model: Xperia 10 VII + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SOG15 Build/71.1.A.2.210; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Sony + model: Xperia 1 VII + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SOG14 Build/70.2.A.4.22; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.217 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 148.0.7778.217 + engine: Blink + engine_version: 148.0.7778.217 + device: + type: smartphone + brand: Sony + model: Xperia 10 VI + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SO-52F Build/72.1.A.2.160; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Sony + model: Xperia 10 VII + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SO-51F Build/71.1.A.2.169; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.221.0 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.221.0 + device: + type: smartphone + brand: Sony + model: Xperia 1 VII + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SCG38) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Samsung + model: Galaxy S26+ + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SCG33 Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Samsung + model: Galaxy A25 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SCG30 Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.159 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.159 + engine: Blink + engine_version: 149.0.7827.159 + device: + type: smartphone + brand: Samsung + model: Galaxy S24 FE + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SCG31 Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SCG32 Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.215 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 148.0.7778.215 + engine: Blink + engine_version: 148.0.7778.215 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 Ultra + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; STYLO MARVEL Build/UP1A.231005.007) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Stylo + model: Marvel + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; FLAT 2C Build/UP1A.231005.007) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.93 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.93 + engine: Blink + engine_version: 149.0.7827.93 + device: + type: smartphone + brand: OSCAL + model: Flat 2C + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; COOLMINTT NIU Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.215 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Webview + version: 148.0.7778.215 + engine: Blink + engine_version: 148.0.7778.215 + device: + type: smartphone + brand: Mintt + model: CoolMintt NIU + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 15; SO-53D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.148 YaApp_Android/26.60.1 YaSearchBrowser/26.60.1 BroPP/1.0 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.60.1 + engine: Blink + engine_version: 148.0.7778.148 + device: + type: smartphone + brand: Sony + model: Xperia 5 V + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; U; Android 16; zh-CN; V2571A Build/BP2A.250605.031.A3_V000L1) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.86 Quark/10.11.5.1090 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Quark + version: 10.11.5.1090 + engine: Blink + engine_version: 144.0.7559.86 + device: + type: smartphone + brand: Vivo + model: S60 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 16; zh-CN; V2520A Build/BP2A.250605.031.A3_V000L1) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.58 Quark/10.12.3.1098 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Quark + version: 10.12.3.1098 + engine: Blink + engine_version: 100.0.4896.58 + device: + type: smartphone + brand: Vivo + model: iQOO Neo 11 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; A069P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.307 YaBrowser/26.6.0.307.00 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.6.0.307.00 + engine: Blink + engine_version: 148.0.7778.307 + device: + type: smartphone + brand: Nothing + model: Phone 4a Pro + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; A069) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.307 YaBrowser/26.6.0.307.00 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.6.0.307.00 + engine: Blink + engine_version: 148.0.7778.307 + device: + type: smartphone + brand: Nothing + model: Phone 4a + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; A024) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.307 YaBrowser/26.6.0.307.00 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.6.0.307.00 + engine: Blink + engine_version: 148.0.7778.307 + device: + type: smartphone + brand: Nothing + model: Phone 3 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; A001T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.59 YaSearchBrowser/26.61.1 BroPP/1.0 YaSearchApp/26.61.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.61.1 + engine: Blink + engine_version: 148.0.7778.59 + device: + type: smartphone + brand: Nothing + model: Phone 3a Lite + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; 2602BRT18C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.304 YaBrowser/26.6.0.304.00 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.6.0.304.00 + engine: Blink + engine_version: 148.0.7778.304 + device: + type: smartphone + brand: Xiaomi + model: Redmi Turbo 5 Max + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 15; UNIWA_F400) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.123 YaBrowser/26.4.5.123.00 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.4.5.123.00 + engine: Blink + engine_version: 146.0.7680.123 + device: + type: smartphone + brand: UNIWA + model: F400 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 17; motorola edge 70 ultra) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7523.126 Mobile Safari/537.36 + os: + name: Android + version: "17" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 148.0.7523.126 + engine: Blink + engine_version: 148.0.7523.126 + device: + type: smartphone + brand: Motorola + model: Edge 70 Ultra + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; V2578 Build/BP2A.250605.031.A3_NND1_V000L1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.215 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 148.0.7778.215 + engine: Blink + engine_version: 148.0.7778.215 + device: + type: smartphone + brand: Vivo + model: Y11d + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; V2565) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.200 Mobile Safari/537.36 VivoBrowser/16.2.1.0 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: vivo Browser + version: 16.2.1.0 + engine: Blink + engine_version: 131.0.6778.200 + device: + type: smartphone + brand: Vivo + model: Y05 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; V2562) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.118 Mobile Safari/537.36 VivoBrowser/14.7.4.2 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: vivo Browser + version: 14.7.4.2 + engine: Blink + engine_version: 123.0.6312.118 + device: + type: smartphone + brand: Vivo + model: X300 Ultra + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; V2561) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.200 Mobile Safari/537.36 VivoBrowser/16.2.1.0 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: vivo Browser + version: 16.2.1.0 + engine: Blink + engine_version: 131.0.6778.200 + device: + type: smartphone + brand: Vivo + model: X200T + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; DuoQin F22; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 Mobile Safari/537.36 Sapphire/1.11.1 + os: + name: Android + version: "11" + platform: "" + client: + type: mobile app + name: Microsoft Bing + version: 1.11.1 + device: + type: smartphone + brand: QIN + model: F22 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 15; RMX5112) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.117 YaBrowser/26.4.4.117.00 Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.4.4.117.00 + engine: Blink + engine_version: 146.0.7680.117 + device: + type: smartphone + brand: Realme + model: 15T + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 14; HMD CREST MAX Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: HMD + model: Crest Max + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; V2536A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.59 YaSearchBrowser/26.61.1 BroPP/1.0 YaSearchApp/26.61.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.61.1 + engine: Blink + engine_version: 148.0.7778.59 + device: + type: smartphone + brand: Vivo + model: iQOO Z11 Turbo + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 14; L5510 Build/UP1A.231065.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.159 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.159 + engine: Blink + engine_version: 149.0.7827.159 + device: + type: smartphone + brand: FiGO + model: Fierce + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; V2546A Build/BP2A.250605.031.A3_V000L1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.178 Mobile Safari/537.36 VivoBrowser/30.9.3.1 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: vivo Browser + version: 30.9.3.1 + engine: Blink + engine_version: 146.0.7680.178 + device: + type: smartphone + brand: Vivo + model: iQOO 15 Ultra + os_family: Android + browser_family: Unknown +- + user_agent: 'Mozilla/5.0 (Linux; Android 16; SM-A266B Build/BP4A.251205.006) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/152.0.7977.72 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/577.0.0.50.72;IABMV/1;] FBNV/500' + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Facebook + version: 577.0.0.50.72 + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A266M Build/BP4A.251205.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.93 Mobile Safari/537.36 OPX/3.3 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Opera GX + version: "3.3" + engine: Blink + engine_version: 149.0.7827.93 + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A266U Build/BP2A.250605.031.A3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.91 Mobile Safari/537.36 OPX/3.3 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Opera GX + version: "3.3" + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A266U1 Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 MinuteMaid + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 16; en-us; SM-S266V Build/BP2A.250605.031.A3) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/148.0.7778.217 Mobile Safari/537.36 Hawk/QuickBrowser/1.1.8 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Hawk Quick Browser + version: 1.1.8 + engine: Blink + engine_version: 148.0.7778.217 + device: + type: smartphone + brand: Samsung + model: Galaxy A26 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; SM-A1760) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.51 YaSearchBrowser/26.47.1 BroPP/1.0 YaSearchApp/26.47.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.47.1 + engine: Blink + engine_version: 146.0.7680.51 + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A176U Build/BP4A.251205.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.159 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.159 + engine: Blink + engine_version: 149.0.7827.159 + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; SM-A176U1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.51 YaSearchBrowser/26.47.1 BroPP/1.0 YaSearchApp/26.47.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.47.1 + engine: Blink + engine_version: 146.0.7680.51 + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A176W Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.199 Mobile Safari/537.36 BingWeb/6.8.25183598 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Microsoft Bing + version: 6.8.25183598 + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- + user_agent: 'Mozilla/5.0 (Linux; Android 16; SM-A176B Build/BP4A.251205.006) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/153.0.8010.33 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/578.0.0.40.75;IABMV/1;] FBNV/500' + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Facebook + version: 578.0.0.40.75 + device: + type: smartphone + brand: Samsung + model: Galaxy A17 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A576B Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/153.0.8010.26 Mobile Safari/537.36 Instagram 446.0.0.49.77 Android (36/16; 450dpi; 1080x2340; samsung; SM-A576B; a57x; s5e8865; en_IE; 1061744234; IABMV/1) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Instagram + version: 446.0.0.49.77 + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A5760 Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.7680.178 Mobile Safari/537.36 XWEB/1460217 MMWEBSDK/20260502 MMWEBID/6975 REV/83997a05f4e4d0a3109307f040f3ace3af51e162 MicroMessenger/8.0.74.3120(0x28004A3A) WeChat/arm64 Weixin + os: + name: Android + version: "16" + platform: ARM + client: + type: mobile app + name: WeChat + version: 8.0.74.3120 + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A576U; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.0.0 Mobile Safari/537.36 newsbreak/26.0.0 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: NewsBreak + version: 26.0.0 + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A576U1 Build/BP4A.251205.006;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.199 Mobile Safari/537.36 Zalo android/260801903 ZaloTheme/light ZaloLanguage/en + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Zalo + version: "" + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A576Q Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.181 Mobile Safari/537.36 Sleipnir/3.8.5 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Sleipnir + version: 3.8.5 + engine: Blink + engine_version: 150.0.7871.181 + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A576W Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.199 Mobile Safari/537.36 hexinFont/normal hexinTheme/1 hexinLang/0 hexinLanguage/en hexinChgColor/0 hexinDeviceName/SM-A576W environment/production bundleName/StockScreener GLHBD/5.3.4.0 (Royal Flush) hxtheme/1 scheme/lighthorse innerversion/LHSG037.08.47205.3.4.0 userid/1883043363 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 151.0.7922.199 + engine: Blink + engine_version: 151.0.7922.199 + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 16; ja-jp; SM-A576Z Build/BP4A.251205.006) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.181 Mobile Safari/537.36 Hawk/QuickBrowser/4.23.5.1975 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Hawk Quick Browser + version: 4.23.5.1975 + engine: Blink + engine_version: 150.0.7871.181 + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S731N Build/BP2A.250605.031.A3; ko-kr) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Mobile Safari/537.36 Puffin/10.5.1.70541AP + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Puffin Web Browser + version: 10.5.1.70541 + engine: Blink + engine_version: 87.0.4280.66 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S731U Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.90 Mobile Grindr/26.0.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Grindr + version: 26.0.1 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 17.5.10.146301/14630101) Dalvik/2.1.0 (Linux; U; Android 16; SM-S731U1 Build/BP4A.251205.006) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Keeper + version: 17.5.10.146301 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 17.4.1.145601/14560101) Dalvik/2.1.0 (Linux; U; Android 16; SM-S731B Build/BP2A.250605.031.A3) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Keeper + version: 17.4.1.145601 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S731W Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.202 Mobile Safari/537.36 com.ionicframework.tornv2301860 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 151.0.7922.202 + engine: Blink + engine_version: 151.0.7922.202 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 FE + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SC-51F Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/152.0.7977.88 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.ybrowser/3.67.0.1 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Yahoo! Japan Browser + version: 3.67.0.1 + engine: Blink + engine_version: 152.0.7977.88 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SC-52F Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.200 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.227.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.227.1 + device: + type: smartphone + brand: Samsung + model: Galaxy S25 Ultra + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SC-51G Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/152.0.7977.88 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.227.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.227.1 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SC-54G Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.202 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.227.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.227.1 + device: + type: smartphone + brand: Samsung + model: Galaxy A57 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S9420 Build/shopback-inapp-web-androidBP4A.251205.006shopback-inapp-web-android) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.184 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 150.0.7871.184 + engine: Blink + engine_version: 150.0.7871.184 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S942Q Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.183 Mobile Safari/537.36 Sleipnir/3.8.5 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Sleipnir + version: 3.8.5 + engine: Blink + engine_version: 150.0.7871.183 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 17.4.1.145601/14560101) Dalvik/2.1.0 (Linux; U; Android 16; SM-S942U Build/BP4A.251205.006) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Keeper + version: 17.4.1.145601 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 17.5.10.146301/14630101) Dalvik/2.1.0 (Linux; U; Android 16; SM-S942U1 Build/BP4A.251205.006) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Keeper + version: 17.5.10.146301 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 17.4.1.145601/14560101) Dalvik/2.1.0 (Linux; U; Android 16; SM-S942W Build/BP4A.251205.006) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Keeper + version: 17.4.1.145601 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S942Z Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.181 Mobile Safari/537.36 Sleipnir/3.8.5 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Sleipnir + version: 3.8.5 + engine: Blink + engine_version: 150.0.7871.181 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S942B Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/146.0.7680.177 Mobile Grindr/26.6.0 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Grindr + version: 26.6.0 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-S942N Build/BP4A.251205.006; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/97.0.4692.98 Mobile Safari/537.36 T7/15.42 SP-engine/3.55.0 bd_dvt/0 baiduboxapp/15.44.0.10 (Baidu; P1 16) NABar/1.0 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Baidu Box App + version: 15.44.0.10 + device: + type: smartphone + brand: Samsung + model: Galaxy S26 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A166L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.93 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.93 + engine: Blink + engine_version: 149.0.7827.93 + device: + type: smartphone + brand: Samsung + model: Galaxy Buddy 4 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; SM-A176L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.51 YaSearchBrowser/26.47.1 BroPP/1.0 YaSearchApp/26.47.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.47.1 + engine: Blink + engine_version: 146.0.7680.51 + device: + type: smartphone + brand: Samsung + model: Galaxy Buddy 5 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 14; SM-A1660 Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/132.0.6834.163 Mobile Safari/537.36 Midori/6 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Midori + version: "6" + engine: WebKit + engine_version: "537.36" + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- + user_agent: Callpod Keeper for Android 1.0 (app 17.4.0.145501/14550101) Dalvik/2.1.0 (Linux; U; Android 16; SM-A166B Build/BP2A.250605.031.A3) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Keeper + version: 17.4.0.145501 + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- + user_agent: com.sidhbalitech.ninexplayer/30 (Linux; U; Android 15; es_US; SM-A166M; Build/AP3A.240905.015.A2; Cronet/140.0.7289.0) + os: + name: Android + version: "15" + platform: "" + client: + type: mobile app + name: XP IPTV + version: "" + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- + user_agent: iHeartRadio/10.59.0 (Android 16; SM-A166U Build/BP2A.250605.031.A3) + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: iHeartRadio + version: 10.59.0 + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SM-A166U1 Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/144.0.7559.90 Mobile Grindr/26.0.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Grindr + version: 26.0.1 + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- + user_agent: 'Mozilla/5.0 (Linux; Android 16; SM-A166W Build/BP4A.251205.006) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.71 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/575.1.0.55.73;IABMV/1;]' + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Facebook + version: 575.1.0.55.73 + device: + type: smartphone + brand: Samsung + model: Galaxy A16 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 15; SH-M25 Build/AP3A.240905.015.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/153.0.8010.36 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.227.1 + os: + name: Android + version: "15" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.227.1 + device: + type: smartphone + brand: Sharp + model: Aquos Wish 3 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SH-M33 Build/S849N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.200 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.227.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.227.1 + device: + type: smartphone + brand: Sharp + model: Aquos Sense 10 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; SH-53E Build/SB547; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/151.0.7922.200 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.227.1 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.227.1 + device: + type: smartphone + brand: Sharp + model: Aquos Sense 9 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; A402SO Build/70.2.A.4.168; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/152.0.7977.87 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.yjtop/3.226.0 + os: + name: Android + version: "16" + platform: "" + client: + type: mobile app + name: Yahoo! Japan + version: 3.226.0 + device: + type: smartphone + brand: Sony + model: Xperia 10 VI + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 14; HPPL67A Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/154.0.8037.22 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Webview + version: 154.0.8037.22 + engine: Blink + engine_version: 154.0.8037.22 + device: + type: smartphone + brand: Hot Pepper + model: Datil + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 12; HPPL62A Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Mobile Safari/537.36 + os: + name: Android + version: "12" + platform: "" + client: + type: browser + name: Chrome Webview + version: 101.0.4951.61 + engine: Blink + engine_version: 101.0.4951.61 + device: + type: smartphone + brand: Hot Pepper + model: Tabasco + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 13; HPPH88C Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "13" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Hot Pepper + model: Cascabel + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; HPPH88L Build/UP1A.231005.007) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Hot Pepper + model: Verde + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; F-52E Build/V54RD51B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/152.0.7977.88 Mobile Safari/537.36 YJApp-ANDROID jp.co.yahoo.android.ybrowser/3.67.0.1 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Yahoo! Japan Browser + version: 3.67.0.1 + engine: Blink + engine_version: 152.0.7977.88 + device: + type: smartphone + brand: Fujitsu + model: Arrows We 2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; F-51F Build/W1VHS36H.80-34-2-2-1-1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: smartphone + brand: Fujitsu + model: Arrows Alpha F-51F + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; Infinix X6840 Build/BP2A.250605.031.A3; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/152.0.7977.87 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 152.0.7977.87 + engine: Blink + engine_version: 152.0.7977.87 + device: + type: smartphone + brand: Infinix + model: Smart 20 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; Infinix X6840B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.55 YaBrowser/26.4.7.55.00 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.4.7.55.00 + engine: Blink + engine_version: 146.0.7680.55 + device: + type: smartphone + brand: Infinix + model: Smart 20 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 16; CPH2735) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 152.0.0.0 + engine: Blink + engine_version: 152.0.0.0 + device: + type: smartphone + brand: OPPO + model: A5 5G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 16; CPH2763 Build/BP2A.250605.015; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/152.0.7977.64 Mobile Safari/537.36 + os: + name: Android + version: "16" + platform: "" + client: + type: browser + name: Chrome Webview + version: 152.0.7977.64 + engine: Blink + engine_version: 152.0.7977.64 + device: + type: smartphone + brand: OPPO + model: F31 Pro 5G + os_family: Android + browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/smartphone-5.yml b/tests/matomo-device-detector/fixtures/smartphone-5.yml index 9040d53..4238fee 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-5.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-5.yml @@ -9700,7 +9700,7 @@ engine_version: 88.0.4324.181 device: type: smartphone - brand: Shift Phones + brand: SHIFT model: SHIFT6mq os_family: Android browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/smartphone-6.yml b/tests/matomo-device-detector/fixtures/smartphone-6.yml index eab178b..4bc5cfe 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-6.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-6.yml @@ -9231,6 +9231,6 @@ device: type: smartphone brand: Fairphone - model: FP4 + model: "4" os_family: Android browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/smartphone-9.yml b/tests/matomo-device-detector/fixtures/smartphone-9.yml index 0ecffae..0c6ba91 100644 --- a/tests/matomo-device-detector/fixtures/smartphone-9.yml +++ b/tests/matomo-device-detector/fixtures/smartphone-9.yml @@ -4435,8 +4435,8 @@ engine_version: "" device: type: smartphone - brand: Mpman - model: PH350 + brand: Philco + model: PH350B os_family: Android browser_family: Android Browser - diff --git a/tests/matomo-device-detector/fixtures/smartphone.yml b/tests/matomo-device-detector/fixtures/smartphone.yml index 2858613..cabb35d 100644 --- a/tests/matomo-device-detector/fixtures/smartphone.yml +++ b/tests/matomo-device-detector/fixtures/smartphone.yml @@ -4549,7 +4549,7 @@ engine_version: 75.0.3770.101 device: type: smartphone - brand: Shift Phones + brand: SHIFT model: SHIFT6m os_family: Android browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/tablet-10.yml b/tests/matomo-device-detector/fixtures/tablet-10.yml index f6ca3b4..782a9c1 100644 --- a/tests/matomo-device-detector/fixtures/tablet-10.yml +++ b/tests/matomo-device-detector/fixtures/tablet-10.yml @@ -5616,7 +5616,7 @@ device: type: tablet brand: NextBook - model: Ares A10 + model: Ares 10A os_family: Android browser_family: Chrome - @@ -5634,7 +5634,7 @@ device: type: tablet brand: NextBook - model: Ares A11 + model: Ares 11A os_family: Android browser_family: Chrome - @@ -5652,7 +5652,7 @@ device: type: tablet brand: NextBook - model: Ares A8 + model: Ares 8A os_family: Android browser_family: Chrome - diff --git a/tests/matomo-device-detector/fixtures/tablet-12.yml b/tests/matomo-device-detector/fixtures/tablet-12.yml index 507a1d3..935880e 100644 --- a/tests/matomo-device-detector/fixtures/tablet-12.yml +++ b/tests/matomo-device-detector/fixtures/tablet-12.yml @@ -6801,3 +6801,331 @@ model: Genius Tab os_family: Android browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 14; RMP2402 Build/UKQ1.231108.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: tablet + brand: Realme + model: Pad 2 Lite + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 16; RMP2501) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.49 YaBrowser/26.4.7.49.01 Safari/537.36 + os: + name: Android + version: "16" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.4.7.49.01 + engine: Blink + engine_version: 146.0.7680.49 + device: + type: tablet + brand: Realme + model: Pad 3 5G + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not)A;Brand";v="8.0.0.0", "Chromium";v="138.0.7204.157", "Google Chrome";v="138.0.7204.157"' + Sec-CH-UA-Platform-Version: 13.0.0 + Sec-CH-UA-Model: Bastyon.Mobi + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 138.0.7204.157 + engine: Blink + engine_version: 138.0.7204.157 + device: + type: tablet + brand: Bastyon Mobi + model: Mobi Air Pad Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="147.0.7727.137", "Not.A/Brand";v="8.0.0.0", "Chromium";v="147.0.7727.137"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: HIP-T66 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 147.0.7727.137 + engine: Blink + engine_version: 147.0.7727.137 + device: + type: tablet + brand: Haitech + model: HIP-T66 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/150.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="8.0.0.0", "Chromium";v="150.0.7871.186", "Google Chrome";v="150.0.7871.186"' + Sec-CH-UA-Platform-Version: 13.0.0 + Sec-CH-UA-Model: FreeYond P6 + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 150.0.7871.186 + engine: Blink + engine_version: 150.0.7871.186 + device: + type: tablet + brand: FreeYond + model: P6 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="135.0.7049.111", "Not-A.Brand";v="8.0.0.0", "Chromium";v="135.0.7049.111"' + Sec-CH-UA-Platform-Version: 13.0.0 + Sec-CH-UA-Model: MONZA-T5 + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 135.0.7049.111 + engine: Blink + engine_version: 135.0.7049.111 + device: + type: tablet + brand: Packard Bell + model: Monza T5 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Not)A;Brand";v="8.0.0.0", "Chromium";v="138.0.7204.179", "Google Chrome";v="138.0.7204.179"' + Sec-CH-UA-Platform-Version: 13.0.0 + Sec-CH-UA-Model: SILVERSTONE-T3 + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 138.0.7204.179 + engine: Blink + engine_version: 138.0.7204.179 + device: + type: tablet + brand: Packard Bell + model: Silverstone T3 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="131.0.6778.200", "Chromium";v="131.0.6778.200", "Not_A Brand";v="24.0.0.0"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: redbeatA2 + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 131.0.6778.200 + engine: Blink + engine_version: 131.0.6778.200 + device: + type: tablet + brand: redbeat + model: A2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="146.0.7680.120", "Not-A.Brand";v="24.0.0.0", "Google Chrome";v="146.0.7680.120"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: TAB9_ROW + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 146.0.7680.120 + engine: Blink + engine_version: 146.0.7680.120 + device: + type: tablet + brand: Relndoo + model: TAB9 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="140.0.7339.207", "Not=A?Brand";v="24.0.0.0", "Google Chrome";v="140.0.7339.207"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: TARGA-F10PRO + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 140.0.7339.207 + engine: Blink + engine_version: 140.0.7339.207 + device: + type: tablet + brand: Packard Bell + model: Targa F10 Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Not=A?Brand";v="99.0.0.0", "Google Chrome";v="151.0.7922.173", "Chromium";v="151.0.7922.173"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: TARGA-F11PRO + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 151.0.7922.173 + engine: Blink + engine_version: 151.0.7922.173 + device: + type: tablet + brand: Packard Bell + model: Targa F11 Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not=A?Brand";v="99.0.0.0", "Google Chrome";v="151.0.7922.137", "Chromium";v="151.0.7922.137"' + Sec-CH-UA-Platform-Version: 15.0.0 + Sec-CH-UA-Model: TARGA-F7 + os: + name: Android + version: 15.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 151.0.7922.137 + engine: Blink + engine_version: 151.0.7922.137 + device: + type: tablet + brand: Packard Bell + model: Targa F7 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 15; ZENO 1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.7680.290 YaBrowser/26.4.0.290.01 Safari/537.36 + os: + name: Android + version: "15" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.4.0.290.01 + engine: Blink + engine_version: 146.0.7680.290 + device: + type: tablet + brand: Blackview + model: Zeno 1 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 15; ZENO 10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.304 YaBrowser/26.6.0.304.01 Safari/537.36 + os: + name: Android + version: "15" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.6.0.304.01 + engine: Blink + engine_version: 148.0.7778.304 + device: + type: tablet + brand: Blackview + model: Zeno 10 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 15; ZENO 100) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.7559.384 YaSearchBrowser/26.37.1 BroPP/1.0 YaSearchApp/26.37.1 webOmni Mobile Safari/537.36 + os: + name: Android + version: "15" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 26.37.1 + engine: Blink + engine_version: 144.0.7559.384 + device: + type: tablet + brand: Blackview + model: Zeno 100 + os_family: Android + browser_family: Unknown +- + user_agent: Dalvik/2.1.0 (Linux; U; Android 13; Pulla Build/TP1A.220624.014) + os: + name: Android + version: "13" + platform: "" + client: + type: browser + name: Android Browser + version: "" + engine: WebKit + engine_version: "" + device: + type: tablet + brand: Hot Pepper + model: Pulla + os_family: Android + browser_family: Android Browser diff --git a/tests/matomo-device-detector/fixtures/tablet-8.yml b/tests/matomo-device-detector/fixtures/tablet-8.yml index a9c5ea8..c5613bc 100644 --- a/tests/matomo-device-detector/fixtures/tablet-8.yml +++ b/tests/matomo-device-detector/fixtures/tablet-8.yml @@ -9657,7 +9657,7 @@ device: type: tablet brand: NextBook - model: Ares A8 + model: Ares 8 os_family: Android browser_family: Chrome - @@ -9675,7 +9675,7 @@ device: type: tablet brand: NextBook - model: Ares A10 + model: Ares 10A os_family: Android browser_family: Chrome - diff --git a/tests/matomo-device-detector/fixtures/tv-2.yml b/tests/matomo-device-detector/fixtures/tv-2.yml index 8be68eb..904715d 100644 --- a/tests/matomo-device-detector/fixtures/tv-2.yml +++ b/tests/matomo-device-detector/fixtures/tv-2.yml @@ -416,8 +416,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 9; YandexModule2-00001 Build/PI; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 YaBrowser/22.8.0.15 (lite) TV Safari/537.36 os: - name: Android - version: "9" + name: YaOS + version: "" platform: "" client: type: browser @@ -3268,7 +3268,7 @@ device: type: tv brand: Apple - model: Apple TV 4 + model: Apple TV 4 HD os_family: iOS browser_family: Unknown - @@ -4445,8 +4445,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 9; YNDX-00071 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.117 YaBrowser/22.8.0.15 (lite) TV Safari/537.36 os: - name: Android - version: "9" + name: YaOS + version: "" platform: "" client: type: browser @@ -4463,8 +4463,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 9; YNDX-00072 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.117 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 os: - name: Android - version: "9" + name: YaOS + version: "" platform: "" client: type: browser @@ -9849,8 +9849,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 9; YNDX-00073 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 os: - name: Android - version: "9" + name: YaOS + version: "" platform: "" client: type: browser diff --git a/tests/matomo-device-detector/fixtures/tv-3.yml b/tests/matomo-device-detector/fixtures/tv-3.yml index 1123cb5..ba60c9b 100644 --- a/tests/matomo-device-detector/fixtures/tv-3.yml +++ b/tests/matomo-device-detector/fixtures/tv-3.yml @@ -3750,8 +3750,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00091 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser @@ -3858,8 +3858,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00092 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser @@ -4074,8 +4074,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00101 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser diff --git a/tests/matomo-device-detector/fixtures/tv-4.yml b/tests/matomo-device-detector/fixtures/tv-4.yml index a1c829f..b667cc6 100644 --- a/tests/matomo-device-detector/fixtures/tv-4.yml +++ b/tests/matomo-device-detector/fixtures/tv-4.yml @@ -4071,6 +4071,24 @@ model: 28TN525S-PZ os_family: Other Mobile browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/94.0.4606.128 Safari/537.36 LG Browser/8.00.00(LGE; 65QNED756RB; 13.40.97; 0x00000001; DTV_W23M); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, 65QNED756RB, wireless) + os: + name: webOS + version: "23" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 94.0.4606.128 + device: + type: tv + brand: LG + model: 65QNED756RB + os_family: Other Mobile + browser_family: Unknown - user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/108.0.5359.211 Safari/537.36 LG Browser/8.00.00(LGE; 55NANO81T6A.BPISLJP; 23.20.65; 0x00000001; DTV_W24P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, 55NANO81T6A.BPISLJP, wireless) os: @@ -4362,8 +4380,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00076 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.279 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser @@ -4380,8 +4398,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00074 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.279 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser diff --git a/tests/matomo-device-detector/fixtures/tv-5.yml b/tests/matomo-device-detector/fixtures/tv-5.yml index b0506de..26e44d5 100644 --- a/tests/matomo-device-detector/fixtures/tv-5.yml +++ b/tests/matomo-device-detector/fixtures/tv-5.yml @@ -2962,8 +2962,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00095 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.12.0.453 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser @@ -2980,8 +2980,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00094 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.12.0.453 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser @@ -2998,8 +2998,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00093 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.12.0.453 (lite) TV Safari/537.36 os: - name: Android - version: "11" + name: YaOS + version: "" platform: "" client: type: browser @@ -5838,3 +5838,418 @@ model: NIK75MEU4STN os_family: Other Mobile browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 14; FlowBox-F2 Build/UKG3.250518.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/150.0.7871.46 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not;A=Brand";v="8.0.0.0", "Chromium";v="150.0.7871.46", "Android WebView";v="150.0.7871.46"' + Sec-CH-UA-Platform-Version: 14.0.0 + Sec-CH-UA-Model: FlowBox-F2 + http-x-requested-with: com.tcl.browser + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: BrowseHere + version: "" + engine: Blink + engine_version: 150.0.7871.46 + device: + type: tv + brand: flow + model: FlowBox-F2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 12; MOBO-Edition Build/SP1A.211105.004; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "12" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: tv + brand: NetBox + model: Mobo Edition + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; FlowBox-S2 Build/RTT0.211009.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.159 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.159 + engine: Blink + engine_version: 149.0.7827.159 + device: + type: tv + brand: flow + model: FlowBox-S2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; FlowBox-Z4 Build/UKG3.250826.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: tv + brand: flow + model: FlowBox-Z4 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 14; FlowBox-Z3 Build/UKG3.250826.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/149.0.7827.91 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Chrome Webview + version: 149.0.7827.91 + engine: Blink + engine_version: 149.0.7827.91 + device: + type: tv + brand: flow + model: FlowBox-Z3 + os_family: Android + browser_family: Chrome +- + user_agent: H443NM7F8H.CBSSportsApp/1.0 iOS/9.0 model/AppleTV5,3 build/13T393 + os: + name: tvOS + version: "9.0" + platform: ARM + client: null + device: + type: tv + brand: Apple + model: Apple TV 4 HD + os_family: iOS + browser_family: Unknown +- + user_agent: PrimeVideo/2.9.1 (AppleTV6,2; tvOS 26.4; Scale/2.0) + os: + name: tvOS + version: "26.4" + platform: ARM + client: + type: mobile app + name: Amazon Prime Video + version: 2.9.1 + device: + type: tv + brand: Apple + model: Apple TV 4K + os_family: iOS + browser_family: Unknown +- + user_agent: Mozilla/5.0 (AppleTV3,1; CPU OS 11.1 like Mac OS X; en-US) + os: + name: tvOS + version: "11.1" + platform: ARM + client: null + device: + type: tv + brand: Apple + model: Apple TV 3 + os_family: iOS + browser_family: Unknown +- + user_agent: Mozilla/5.0 (AppleTV3,2; CPU OS 11.1 like Mac OS X; en-US) + os: + name: tvOS + version: "11.1" + platform: ARM + client: null + device: + type: tv + brand: Apple + model: Apple TV 3 + os_family: iOS + browser_family: Unknown +- + user_agent: Mozilla/5.0 (AppleTV14,1; CPU OS 26.6 like Mac OS X; en-US) + os: + name: tvOS + version: "26.6" + platform: ARM + client: null + device: + type: tv + brand: Apple + model: Apple TV 3 4K + os_family: iOS + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; GLED7580SWUHD; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, GLED7580SWUHD, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: GEEPAS + model: GLED7580SWUHD + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/94.0.4606.128 Safari/537.36 LG Browser/8.00.00(LGE; LT-42NQ5155; 03.11.77; 0x00000001; DTV_C23L); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, LT-42NQ5155, wireless) + os: + name: webOS + version: "23" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 94.0.4606.128 + device: + type: tv + brand: JVC + model: LT-42NQ5155 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; HYLED5017W4KM; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, HYLED5017W4KM, wired) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Hyundai + model: HYLED5017W4KM + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; IK-58A71WOS; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, IK-58A71WOS, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: iKon + model: IK-58A71WOS + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; V65D2; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, V65D2, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Viendo + model: V65D2 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/68.0.3440.106 Safari/537.36 LG Browser/8.00.00(LGE; WUD65KWO60; 04.50.63; 0x00000001; DTV_C20P); webOS.TV-2020; LG NetCast.TV-2013 Compatible (LGE, WUD65KWO60, wireless) + os: + name: webOS + version: "5" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 68.0.3440.106 + device: + type: tv + brand: WANSA + model: WUD65KWO60 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/68.0.3440.106 Safari/537.36 LG Browser/8.00.00(LGE; HZ50UHDWOS; 04.50.63; 0x00000001; DTV_C20P); webOS.TV-2020; LG NetCast.TV-2013 Compatible (LGE, HZ50UHDWOS, wireless) + os: + name: webOS + version: "5" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 68.0.3440.106 + device: + type: tv + brand: Homez + model: HZ50UHDWOS + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/68.0.3440.106 Safari/537.36 LG Browser/8.00.00(LGE; LS75UHDNF; 04.50.63; 0x00000001; DTV_C20P); webOS.TV-2020; LG NetCast.TV-2013 Compatible (LGE, LS75UHDNF, wired) + os: + name: webOS + version: "5" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 68.0.3440.106 + device: + type: tv + brand: Linsar + model: LS75UHDNF + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; NC-65T4K-SMART; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, NC-65T4K-SMART, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Nadco + model: NC-65T4K-SMART + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/94.0.4606.128 Safari/537.36 LG Browser/8.00.00(LGE; 43FSV22; 03.11.77; 0x00000001; DTV_C23L); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, 43FSV22, wireless) + os: + name: webOS + version: "23" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 94.0.4606.128 + device: + type: tv + brand: Ssmart + model: 43FSV22 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; ST50K-LG2200WEB; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, ST50K-LG2200WEB, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Star Track + model: ST50K-LG2200WEB + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; TZ50WF1; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, TZ50WF1, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Telezone + model: TZ50WF1 + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/94.0.4606.128 Safari/537.36 LG Browser/8.00.00(LGE; TVTOKHF32WB; 03.11.77; 0x00000001; DTV_C23L); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, TVTOKHF32WB, wireless) + os: + name: webOS + version: "23" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 94.0.4606.128 + device: + type: tv + brand: TOKYO + model: TVTOKHF32WB + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chr0me/87.0.4280.88 Safari/537.36 LG Browser/8.00.00(LGE; VEL55USVW; 04.42.26; 0x00000001; DTV_C22P); webOS.TV-2022; LG NetCast.TV-2013 Compatible (LGE, VEL55USVW, wireless) + os: + name: webOS + version: "22" + platform: "" + client: + type: browser + name: LG Browser + version: 8.00.00 + engine: Blink + engine_version: 87.0.4280.88 + device: + type: tv + brand: Von + model: VEL55USVW + os_family: Other Mobile + browser_family: Unknown diff --git a/tests/matomo-device-detector/fixtures/tv-6.yml b/tests/matomo-device-detector/fixtures/tv-6.yml new file mode 100644 index 0000000..0cb9a94 --- /dev/null +++ b/tests/matomo-device-detector/fixtures/tv-6.yml @@ -0,0 +1,145 @@ +--- +- + user_agent: Mozilla/5.0 (Linux; Android 11; Solo 8K Build/RD2A.211001.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Webview + version: 83.0.4103.120 + engine: Blink + engine_version: 83.0.4103.120 + device: + type: tv + brand: Dune HD + model: Solo 8k + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; 24R750TS Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.86 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Harper + model: 24R750TS + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; CA24HSY25F Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.86 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: RAZZ + model: CA24HSY25F + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; HC55USY26F Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.86 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: RAZZ + model: HC55USY26F + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; HC50USY26FC Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Webview + version: 113.0.5672.163 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: RAZZ + model: HC50USY26FC + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; HC50USY26F Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.86 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: RAZZ + model: HC50USY26F + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; HC43FSY26F Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.86 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: RAZZ + model: HC43FSY26F + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; HC32HSY26F Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Webview + version: 113.0.5672.163 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: RAZZ + model: HC32HSY26F + os_family: Android + browser_family: Chrome diff --git a/tests/matomo-device-detector/fixtures/tv.yml b/tests/matomo-device-detector/fixtures/tv.yml index 9f0a96c..682271c 100644 --- a/tests/matomo-device-detector/fixtures/tv.yml +++ b/tests/matomo-device-detector/fixtures/tv.yml @@ -1136,7 +1136,7 @@ platform: ARM client: type: library - name: iOS Application + name: Apple Core Media version: "" device: type: tv @@ -6601,7 +6601,7 @@ platform: ARM client: type: library - name: iOS Application + name: Apple Core Media version: "" device: type: tv @@ -6617,7 +6617,7 @@ platform: ARM client: type: library - name: iOS Application + name: Apple Core Media version: "" device: type: tv @@ -6631,7 +6631,10 @@ name: tvOS version: 10.1.1 platform: ARM - client: null + client: + type: mobile app + name: FOX Sports GO + version: "" device: type: tv brand: Apple @@ -10077,7 +10080,7 @@ device: type: tv brand: Apple - model: Apple TV 4K (2021) + model: Apple TV 2 4K os_family: iOS browser_family: Unknown - diff --git a/tests/matomo-device-detector/fixtures/wearable.yml b/tests/matomo-device-detector/fixtures/wearable.yml index dfd3983..779328b 100644 --- a/tests/matomo-device-detector/fixtures/wearable.yml +++ b/tests/matomo-device-detector/fixtures/wearable.yml @@ -1274,7 +1274,7 @@ platform: "" client: type: library - name: iOS Application + name: Apple Core Media version: "" device: type: wearable @@ -2701,8 +2701,8 @@ - user_agent: Mozilla/5.0 (Linux; Android 12; RES102 Build/STTC.230104.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.60 YaBrowser/24.1.2.342 (lite) TV Safari/537.36 os: - name: Android - version: "12" + name: YodaOS-Master + version: "" platform: "" client: type: browser @@ -2716,3 +2716,227 @@ model: Station os_family: Android browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,13; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch SE (Gen 3) 40mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,14; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch SE (Gen 3) 44mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,15; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch SE (Gen 3) 40mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,16; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch SE (Gen 3) 44mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,17; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 11 42mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,18; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 11 46mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,19; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 11 42mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,20; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 11 46mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/25.6.0 (Watch7,12; watchOS 26.6) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "26.6" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Ultra 3 + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/27.0.0 (Watch8,1; watchOS 27.0) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "27.0" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Ultra 4 + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/27.0.0 (Watch8,2; watchOS 27.0) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "27.0" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 12 42mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/27.0.0 (Watch8,3; watchOS 27.0) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "27.0" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 12 46mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/27.0.0 (Watch8,4; watchOS 27.0) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "27.0" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 12 42mm + os_family: iOS + browser_family: Unknown +- + user_agent: Darwin/27.0.0 (Watch8,5; watchOS 27.0) MatomoTrackerSDK/7.8.0 + os: + name: watchOS + version: "27.0" + platform: ARM + client: + type: library + name: MatomoTracker + version: 7.8.0 + device: + type: wearable + brand: Apple + model: Watch Series 12 46mm + os_family: iOS + browser_family: Unknown diff --git a/tests/pinned/production.rs b/tests/pinned/production.rs index 81f7e50..d78a6eb 100644 --- a/tests/pinned/production.rs +++ b/tests/pinned/production.rs @@ -574,6 +574,13 @@ fn a_crawler_the_web_cannot_place_stays_generic() { "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AldiScraper/1.0", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ExitChecker/1.0.0", "netcheck-probe/13.0.2.fa7b625f (HEAD, go1.24.13, linux/amd64)", + "AmazonSelectionExplorerBot", + "Mozilla/5.0 (compatible; WP-Safe-Scanner/1.0)", + "MetadataScraper", + "Pumoxbot", + "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; SFbot/1.0; +http://www.salesforce.com/bot.html) Chrome/W.X.Y.Z Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko, Yokohama Institute of Information Security https://www.iisec.ac.jp) Chrome/124.0.0.0 Safari/537.36", + "SSLPing-Checker/1.0", ]; for user_agent in unnamed { @@ -587,6 +594,72 @@ fn a_crawler_the_web_cannot_place_stays_generic() { } } +/// The crawlers, monitors and agents of the traffic of 2026-10-12, one case per entry. +#[test] +fn the_traffic_of_2026_10_12_names_its_crawlers() { + let cases = [ + // Search, and the crawlers that feed an answer rather than an index. + ("SofyaBot/1.0 (+https://sofya.co/bot)", "SofyaBot", "Search bot"), + ("NikyBot/0.1 (prototipo NikySearch; +https://nikysearch.it/nikybot.html)", "NikyBot", "Search bot"), + ("AIWebIndex/2.0 (+https://lyrenth.com/bot; AI-readable web index)", "AIWebIndex", "AI Search Crawler"), + ("mozilla/5.0 (linux; android 14; pixel 8 pro) applewebkit/537.36 (khtml, like gecko) chrome/149.0.0.0 mobile safari/537.36 (compatible; dola-searchbot; dola-searchbot-feedback@bytedance.com)", "Dola SearchBot", "AI Search Crawler"), + ("BeansLLM-CorpusBot/1.1 (+https://scrape.beansllm.ai/bot; respects robots.txt)", "BeansLLM-CorpusBot", "AI Data Scraper"), + ("amazon-Quick-on-behalf-of-ded61f40", "Amazon Quick", "AI Assistant"), + ("Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; Shap-User/0.1.0", "Shap-User", "AI Assistant"), + // Monitors. + ("checkmk-active-httpv2/2.5.0", "Checkmk", "Site Monitor"), + ("mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) distillwebmonitor/4.1.1-beta chrome/140.0.7339.249 electron/38.5.0 safari/537.36", "Distill Web Monitor", "Site Monitor"), + ("HetrixTools Uptime Monitoring Bot. https://hetrix.tools/uptime-monitoring-bot.html", "HetrixTools", "Site Monitor"), + ("Mozilla/5.0 (compatible; PingBreak Free monitoring; +https://pingbreak.com/)", "PingBreak", "Site Monitor"), + ("Mozilla/4.0 (compatible; ipMonitor 11.1.1)", "ipMonitor", "Site Monitor"), + ("solarwinds/1.0 (www.solarwinds.com/solarwinds-observability)", "SolarWinds Observability", "Site Monitor"), + // Something a platform sends on its own behalf, or on a merchant's. + ("Photon/1.0", "Jetpack Photon", "Service Agent"), + ("Stripe/1.0 (+https://stripe.com/docs/webhooks)", "Stripe Webhooks", "Service Agent"), + ("Adyen HttpClient 1.0", "Adyen", "Service Agent"), + ("sendcloud/1.0 (magento_v2; https://www.sendcloud.sc)", "Sendcloud", "Service Agent"), + ("Shopify Webfile Service. http://www.shopify.com/contact", "Shopify Webfile Service", "Service Agent"), + ("cert-manager/v1.7.1 (clean)", "cert-manager", "Service Agent"), + // Link checkers. + ("Overture-Maps-LinkChecker/1.0 (+https://overturemaps.org)", "Overture Maps LinkChecker", "Validator"), + ("EPiServer Link Checker", "EPiServer Link Checker", "Validator"), + // The rest of the crawlers. + ("Caliperbot/1.0 (+http://www.conductor.com/caliperbot)", "Caliperbot", "Crawler"), + ("Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; SEOJuice-SearchBot/1.0; +https://seojuice.io/bot", "SEOJuice-SearchBot", "Crawler"), + ("Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; SEOGetsBot/1.0; +https://seogets.com/bot)", "SEOGetsBot", "Crawler"), + ("oseox/1.0", "Oseox", "Crawler"), + ("PeecAudit/1.0 (+https://peec.ai)", "PeecAudit", "Crawler"), + ("Mozilla/5.0 (compatible; SenderBot/1.0; Sender Online Marketing GmbH; +https://sender-marketing.de/bot)", "SenderBot", "Crawler"), + ("Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; AudigentAdBot; +http://www.audigent.com/bot.html) Chrome/W.X.Y.Z Safari/537.36", "AudigentAdBot", "Crawler"), + ("captify-crawler", "Captify", "Crawler"), + ("Java 1.7 Apache HttpClient (Linux x86_64) / GnowitNewsbot / Contact information at http://www.gnowit.com", "GnowitNewsbot", "Crawler"), + ("PressEngineBot (+http://pressengine.net/crawl-policy)", "PressEngineBot", "Crawler"), + ("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/131.0.0.0 Safari/537.36 CookieInformationScanner", "Cookie Information Scanner", "Crawler"), + ("wine-searcherbot (+https://www.wine-searcher.com/technology; crawler@wine-searcher.com)", "Wine-Searcher", "Crawler"), + ("Mozilla/5.0 (compatible; BOT guenstiger.de)", "guenstiger.de", "Crawler"), + ("cardpulsebot/0.1 (+https://cardpulse.nl)", "CardPulse", "Crawler"), + ("rajahinta-crawler/1.0 (+https://rajahinta.fi)", "Rajahinta", "Crawler"), + ("feedparser/6.0.8 +https://github.com/kurtmckee/feedparser/", "UniversalFeedParser", "Feed Fetcher"), + ]; + + let wrong: Vec = cases + .iter() + .filter_map(|(user_agent, name, category)| { + let found = detect(user_agent) + .and_then(|detection| detection.bot) + .map(|bot| { + (bot.name, bot.category.map(|category| category.as_str().to_owned()).unwrap_or_default()) + }) + .unwrap_or_default(); + + (found != ((*name).to_owned(), (*category).to_owned())) + .then(|| format!("\n wanted {name:?} {category:?}, got {found:?}\n {user_agent}")) + }) + .collect(); + + assert!(wrong.is_empty(), "{}", wrong.join("")); +} + /// The applications and the libraries of that same dump, which production read as nothing. /// /// The client and only the client: nothing in `GoCityAndroid/10.2.0` or in an Android package @@ -623,3 +696,30 @@ fn the_traffic_of_2026_09_21_names_its_applications() { assert!(wrong.is_empty(), "{}", wrong.join("")); } + +/// The applications and the libraries of the traffic of 2026-10-12. +#[test] +fn the_traffic_of_2026_10_12_names_its_applications() { + let cases = [ + ("Orpiaroundme/1 CFNetwork/3860.700.2 Darwin/25.6.0", "ORPI around me", "1", "mobile app"), + ("microsoft office powerpoint 2014", "Microsoft Office PowerPoint", "", "mobile app"), + ("R (4.5.2 x86_64-apple-darwin20 x86_64 darwin20)", "R", "4.5.2", "library"), + ("Deluge", "Deluge", "", "library"), + ("Jersey/2.35 (HttpUrlConnection 11.0.32)", "Jersey", "2.35", "library"), + ]; + + let wrong: Vec = cases + .iter() + .filter_map(|(user_agent, name, version, kind)| { + let client = detect(user_agent).and_then(|detection| detection.client); + let found = client + .map(|client| (client.name, client.version, client_kind(client.kind).to_owned())) + .unwrap_or_default(); + let want = ((*name).to_owned(), (*version).to_owned(), (*kind).to_owned()); + + (found != want).then(|| format!("\n wanted {want:?}, got {found:?}\n {user_agent}")) + }) + .collect(); + + assert!(wrong.is_empty(), "{}", wrong.join("")); +} diff --git a/tests/pinned/traffic/false-negatives.yml b/tests/pinned/traffic/false-negatives.yml index acaf4bc..9d797ea 100644 --- a/tests/pinned/traffic/false-negatives.yml +++ b/tests/pinned/traffic/false-negatives.yml @@ -222,3 +222,20 @@ Shenma's crawler, which matomo does not name at the revision this library is pinned to. It feeds a search index, so the category it is given lands it in the log injector's search-bot column rather than the tool one production counted it in. + +- pattern: 'SofyaBot/|NikyBot/' + says: Generic Bot + we_say_type: 4 + reason: >- + crawlers of two independent search engines, Sofya and Nikysearch, which matomo does not name + at the revision this library is pinned to. Each feeds an index of its own, so the category + lands it in the log injector's search-bot column rather than the tool one production counted + it in. + +- pattern: 'Bytespider|MJ12bot' + names_agree: true + we_say_type: 3 + reason: >- + matomo files ByteDance's crawler and Majestic's under Search bot, which put them in the log + injector's search-bot column. One collects training data and the other maps links for an SEO + index, so `tests/corrections.yml` gives them a category that lands them in the tool one.