Giter Site home page Giter Site logo

foroco / php-browser-detection Goto Github PK

View Code? Open in Web Editor NEW
118.0 11.0 34.0 15.37 MB

Ultra fast PHP library to detect browser, OS, platform and device type by User-Agent parsing

License: MIT License

PHP 100.00%
user-agent php browser detection user-agent-parsing mobile-detection browser-detection os-detection device-detection

php-browser-detection's People

Contributors

foroco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

php-browser-detection's Issues

Feature request

Would it be possible to also detect "Crawlers/Robots".....

Here are a few "User-Agents" from one of my server logs....

Mozilla/5.0 (compatible; MegaIndex.ru/2.0; +http://megaindex.com/crawler)
CCBot/2.0 (https://commoncrawl.org/faq/)
Mozilla/5.0 (X11; compatible; semantic-visions.com crawler; HTTPClient 3.1)
Mozilla/5.0 (compatible; BLEXBot/1.0; +http://webmeup-crawler.com/)
mozilla/5.0 (compatible; hubspot crawler; [email protected]; +@operator_contact_url@)
Mozilla/5.0 (compatible; Seekport Crawler; http://seekport.com/)
Y!J-ASR/1.0 crawler (https://www.yahoo-help.jp/app/answers/detail/p/595/a_id/42716/)
Barkrowler/0.9 (+https://babbar.tech/crawler)
SearchAtlas.com SEO Crawler
MauiBot
Mozilla/5.0 (compatible; VelenPublicWebCrawler/1.0; +https://velen.io)
GarlikCrawler/1.2 (http://garlik.com/, [email protected])
MauiBot ([email protected])
pimeyes.com crawler
Mozilla/5.0 (compatible; Barkrowler/0.9; +https://babbar.tech/crawler)
Mozilla/5.0 (compatible; MixrankBot; [email protected])
netEstate NE Crawler (+http://www.website-datenbank.de/)
SiteCheckerBotCrawler/1.0 (+http://sitechecker.pro)
MTRobot/0.2 (Metrics Tools Analytics Crawler; https://metrics-tools.de/robot.html; [email protected])
crawler/js-crawler
Mozilla/5.0 (compatible; TombaPublicWebCrawler/1.0; +https://tombascraper.com)
LCC (+http://corpora.uni-leipzig.de/crawler_faq.html)
clark-crawler2/Nutch-1.19-SNAPSHOT

2.5 unknown detections

here's a sample list of UA that are returning unknown with 2.5:

[11-Mar-2023 16:19:39 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 15_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mo PTT iOS/2022091900
[11-Mar-2023 16:20:15 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MQBHD/6.9.1 Safari/537.22
[11-Mar-2023 16:21:51 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPad; CPU OS 15_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) KodeiOS/3.8b3.8.2 Mobile/15E148/TansoDL
[11-Mar-2023 16:22:44 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 NewPlayIPTV
[11-Mar-2023 16:23:10 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 12_5_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko)
[11-Mar-2023 16:23:12 UTC] ###BROWSER DETECT UNKNOWN### > yacybot (/global; amd64 Windows 10 10.0; java 17.0.6; Europe/en) http://yacy.net/bot.html
[11-Mar-2023 16:25:00 UTC] ###BROWSER DETECT UNKNOWN### > NetSurf/1.2 (RISC OS; armv4l)
[11-Mar-2023 16:25:20 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080313
[11-Mar-2023 16:28:38 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 Version/9.0 Safari/601.1
[11-Mar-2023 16:29:23 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; U; Linux i586; de-AT; rv:1.4) Gecko/20030908 Debian/1.4-4
[11-Mar-2023 16:29:28 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko)
[11-Mar-2023 16:29:33 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; fr-CA) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:29:33 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; fr-CA) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:29:39 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) KodeiOS/3.25b3.25.2  Mobile/15E148 Safari/605.1.15 /TansoDL
[11-Mar-2023 16:32:46 UTC] ###BROWSER DETECT UNKNOWN### > BlackBerry9700/5.0.0.862 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/167
[11-Mar-2023 16:34:34 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 15_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Safari/605.1.15 Version/15.2.1.1.4
[11-Mar-2023 16:35:23 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040616
[11-Mar-2023 16:36:43 UTC] ###BROWSER DETECT UNKNOWN### > retawq/0.2.6c [en] (text)
[11-Mar-2023 16:36:43 UTC] ###OS DETECT UNKNOWN### > retawq/0.2.6c [en] (text)
[11-Mar-2023 16:37:09 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; ru-KZ) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:37:09 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; ru-KZ) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:37:37 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/4.76 [en] (X11; U; SunOS 5.8 sun4u)
[11-Mar-2023 16:37:48 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Mozilla/5.0 (iPad; CPU OS 15_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MQBHD/6.9.5 Safari/537.22
[11-Mar-2023 16:38:08 UTC] ###BROWSER DETECT UNKNOWN### > SAMSUNG-GT-C3222/C3222JNKA1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Untrusted/1.0
[11-Mar-2023 16:38:18 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU OS 12_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) KodeiOS/3.16b3.16.3  Mobile/15E148 Safari/605.1.15 /TansoDL
[11-Mar-2023 16:40:58 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; en-TH) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:40:58 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; en-TH) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:42:13 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Linux; U; Android 4.2.2; en-us;GIONEE S5.5 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko)  Mobile Safari/534.30
[11-Mar-2023 16:42:33 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804
[11-Mar-2023 16:52:43 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4455.0 Mobile Safari/537.36
[11-Mar-2023 16:56:32 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:0.9.4) Gecko/20011019 Netscape6/6.2
[11-Mar-2023 16:58:14 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; pl-PL) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:58:14 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; pl-PL) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 16:58:22 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPad; CPU OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MQBHD/6.9.4 Safari/537.22
[11-Mar-2023 17:04:15 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Windows; U; Windows NT 5.1; es-AR; rv:1.7.5) Gecko/20060912 Netscape/8.1.2
[11-Mar-2023 17:09:31 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.6) Gecko/20040113
[11-Mar-2023 17:10:01 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36 HeyTapBrowser/45.9.0.1
[11-Mar-2023 17:23:14 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 16_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) (everytimeApp; iOS/6.3.10 (iOS/16.1; iPhone))
[11-Mar-2023 17:24:31 UTC] ###BROWSER DETECT UNKNOWN### > Links (0.98; Darwin 6.6 Power Macintosh)
[11-Mar-2023 17:25:44 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.10) Gecko/20070306 Thunderbird/1.5.0.10
[11-Mar-2023 17:25:47 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36 HeyTapBrowser/15.7.8.1
[11-Mar-2023 17:26:52 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Linux; U; Android 4.4.2;  zh-cn; S50D; Android/4.4.2; Release/07.29.2015)  AppleWebKit/534.30 (KHTML, like Gecko) Mobile Safari/534.30
[11-Mar-2023 17:32:11 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 16_0_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mo PTT iOS/2020102800
[11-Mar-2023 17:39:40 UTC] ###BROWSER DETECT UNKNOWN### > MXPlayer/1.50.8/1330001698; Android/27
[11-Mar-2023 17:40:20 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Android; U; pt-PT) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/32.0
[11-Mar-2023 17:42:27 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; zh-ES) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 17:42:27 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (iOS; U; zh-ES) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/29.0
[11-Mar-2023 17:42:30 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.1) Gecko/20060027 (Debian-1.8.0.1-11) Galeon/2.0.1 (Debian package 2.0.1-3)
[11-Mar-2023 17:42:32 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.9a1) Gecko/20051119 MultiZilla/1.8.1.0s SeaMonkey/1.5a
[11-Mar-2023 17:42:46 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Linux; U; Android 4.2.2; en-us; C9660 Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko)  Mobile Safari/534.30
[11-Mar-2023 17:43:23 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (Linux; ; es_GT; moto e20 Build/RON31.267-88) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.116 Mobile Safari/537.36
[11-Mar-2023 17:45:21 UTC] ###OS DETECT UNKNOWN### > UCWEB/2.0(Linux; U; Opera Mini/7.1.32052/30.3697; en-US; Z90 Build/NRD90M) U2/1.0.0 UCBrowser/11.4.8.1012 Mobile
[11-Mar-2023 18:00:26 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (SMART-TV; LINUX; Tizen 5.5) AppleWebKit/537.36 (KHTML, like Gecko) 69.0.3497.106/5.5 TV Safari/537.36
[11-Mar-2023 18:02:51 UTC] ###BROWSER DETECT UNKNOWN### > IBrowse/2.4demo (AmigaOS 3.9; 68K)
[11-Mar-2023 18:04:47 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.3a1pre) Gecko/20091002 Minefield/3.7a1pre
[11-Mar-2023 18:05:09 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36 HeyTapBrowser/15.8.5.1
[11-Mar-2023 18:26:51 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 14_8_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko)
[11-Mar-2023 18:26:57 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36 HeyTapBrowser/45.8.4.9
[11-Mar-2023 18:28:32 UTC] ###BROWSER DETECT UNKNOWN### > Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15
[11-Mar-2023 18:28:51 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.5) Gecko/20050519 Netscape/8.0.1
[11-Mar-2023 18:30:44 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.11) Gecko/20071206
[11-Mar-2023 18:31:55 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Linux; U; Android 4.4.2;  zh-cn; QC-1013G; Android/4.4.2; Release/10.28.2016)  AppleWebKit/534.30 (KHTML, like Gecko) Mobile Safari/534.30
[11-Mar-2023 18:41:23 UTC] ###BROWSER DETECT UNKNOWN### > MXPlayer/1.59.4/2000001874; Android/30
[11-Mar-2023 18:41:24 UTC] ###BROWSER DETECT UNKNOWN### > Microsoft Office/16.0 (OMDroid 11; Microsoft Office Word 16.0.15726; Pro)
[11-Mar-2023 18:41:24 UTC] ###OS DETECT UNKNOWN### > Microsoft Office/16.0 (OMDroid 11; Microsoft Office Word 16.0.15726; Pro)
[11-Mar-2023 18:42:00 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU OS 14_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) KodeiOS/3.20b3.20.7  Mobile/15E148 Safari/605.1.15 /TansoDL
[11-Mar-2023 18:46:34 UTC] ###OS DETECT UNKNOWN### > Mozilla/5.0 (compatible; Konqueror/4.1; DragonFly) KHTML/4.1.4 (like Gecko)
[11-Mar-2023 18:50:25 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Geck o) Version/14.4 Mobile/15E148 Safari/604.1
[11-Mar-2023 18:52:52 UTC] ###BROWSER DETECT UNKNOWN### > BlackBerry7250/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/104
[11-Mar-2023 18:55:39 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; es-ES; rv:1.7.3) Gecko/20040910
[11-Mar-2023 19:26:37 UTC] ###BROWSER DETECT UNKNOWN### > Mozilla/5.0 (Windows; U; Windows NT 5.1; de-AT; rv:1.0.0) Gecko/20020530
[11-Mar-2023 19:26:59 UTC] ###BROWSER DETECT UNKNOWN### > Rediptv Plus 2.0.14
[11-Mar-2023 19:26:59 UTC] ###OS DETECT UNKNOWN### > Rediptv Plus 2.0.14
[11-Mar-2023 19:28:27 UTC] ###BROWSER DETECT UNKNOWN### > GT-I9300 Linux/3.0.13 Android/4.0.4 Release/09.04.2012 Browser/AppleWebKit534.30 Profile/MIDP-2.0 Configuration/CLDC-1.1 Mobile Safari/534.30 Android 4.0.1;

MacOS Big Sur

Hi @foroco,

I hope this finds you well.

MacOS BigSur is represented in Chrome variant browsers as MAC OSX 11_1_0 whilst in Firefox is Mac OS X 10.16. I don't think Apple bothered to update their UA for Safari though.

  1. Chrome: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36

  2. Brave: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36

  3. Edge: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 Edg/86.0.622.69

  4. Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:85.0) Gecko/20100101 Firefox/85.0

  5. Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15

I edited my copy of BrowserDetection.php starting at line 327:

if ($os_need_continue && $this->match_ua('Mac OS X|Mac_PowerPC|Macintosh|Mac_68K'))
{
$this->result_os_version = 0;
$this->result_os_name = 'MacOS';
if ($this->match_ua('Mac OS X'))
{
	$matches = $this->match_ua('/Mac OS X (\d+)[_.](\d+)/');
	$version = $matches[1];
	$version_minor = $matches[2];
	
	if (!empty($version_minor) && $version == 10)
	{
		switch($version_minor)
		{
			case 0: $this->result_os_version = 'Cheetah'; break;
			case 1: $this->result_os_version = 'Puma'; break;
			case 2: $this->result_os_version = 'Jaguar'; break;
			case 3: $this->result_os_version = 'Panther'; break;
			case 4: $this->result_os_version = 'Tiger'; break;
			case 5: $this->result_os_version = 'Leopard'; break;
			case 6: $this->result_os_version = 'Snow Leopard'; break;
			case 7: $this->result_os_version = 'Lion'; break;
			case 8: $this->result_os_version = 'Mountain Lion'; break;
			case 9: $this->result_os_version = 'Mavericks'; break;
			case 10: $this->result_os_version = 'Yosemite'; break;
			case 11: $this->result_os_version = 'El Capitan'; break;
			case 12: $this->result_os_version = 'Sierra'; break;
			case 13: $this->result_os_version = 'High Sierra'; break;
			case 14: $this->result_os_version = 'Mojave'; break;
			case 15: $this->result_os_version = 'Catalina'; break;
			case 16: $this->result_os_version = 'Big Sur'; break;
			default: $this->result_os_version = 'New'; break;
		}
	}

	if (!empty($version_minor) && $version == 11) 
	{
		switch($version_minor) 
		{
			case 1: $this->result_os_version = 'Big Sur'; break;
			default: $this->result_os_version = 'New'; break;
		}
	}
	
	if (!empty($this->result_os_version)) $this->result_os_title = 'MacOS '.$this->result_os_version;
	else $this->result_os_title = 'MacOS (unknown version)';
}

Cheers,
YG

Version package

Hi @foroco,

I hope you're well.

I got this warning from "composer": I added "foroco/php-browser-detection": "dev-master" in my composer.json file for now but will you consider versioning you script in the future?

[InvalidArgumentException]                                                                                                          
Could not find a version of package foroco/php-browser-detection matching your minimum-stability (stable). Require it with an explicit version constraint allowing its desired stability.     

Thank you in advance.

YG

Interner Explorer 11 example?

Hi

This script looks very useful, I was wondering could you show an example of how it could be implemented to serve an alternative CSS file for IE11?

I'm using Tailwind CSS, which doesn't support IE11. I'd like to be able to use Tailwind for modern browsers and fall back to ie11.css if IE11 is detected.

// If IE11 load this
    <link rel="stylesheet" href="/css/ie11.css">
// else use Tailwind
    <link rel="stylesheet" href="/css/tailwind.css">

Hope you can help.

Snapchat browser is not being detected

Hi,

I used your code to detect snapchat browser but it did not detect.
Useragent: Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Mobile/15E148 Snapchat/11.68.0.37 (like Safari/8612.3.6.0.4, panda)

In windows 11 user agent always is "Windows NT 10.0"

In windows 11 user agent always is "Windows NT 10.0"

If you want to read the "Sec-CH-UA-Platform-Version" header

  1. The server needs set header("accept-ch: Sec-Ch-Ua-Platform, Sec-Ch-Ua-Platform-Version") ;
  2. Subsequent requests will have Sec-CH-UA-Platform and Sec-CH-UA-Platform-Version headers.
  3. Check header: Sec-CH-UA-Platform = "Windows" and Sec-CH-UA-Platform-Version >= 13

Related links
https://learn.microsoft.com/en-us/microsoft-edge/web-platform/how-to-detect-win11

This is an example:

<?php
header("accept-ch: Sec-Ch-Ua-Platform, Sec-Ch-Ua-Platform-Version");

function isWin11(){
    if(isset($_SERVER['HTTP_SEC_CH_UA_PLATFORM']) &&
            $_SERVER['HTTP_SEC_CH_UA_PLATFORM'] == '"Windows"' && 
            isset($_SERVER['HTTP_SEC_CH_UA_PLATFORM_VERSION'])){

        if(13 <= intval(explode(".", preg_replace('/^"|"$/i', "", $_SERVER['HTTP_SEC_CH_UA_PLATFORM_VERSION']))[0])){
            return true;
        }

    }
    return false;
}

echo isWin11();

Test environment:

Sccess
✅ Windows 11 ; Chrome/117
✅ Windows 11 ; Edge/117

Not support
❌ Windows 11 ; Firefox/113

On iPad Pro not correctly detect OS and Device type

First of all, incredible work done. Thanks.

In iPadPro with Safari it detects as "desktop" (it is believed, in my case, that it has the Catalina OS and other errors):

Array ( [os_type] => desktop [os_family] => macintosh [os_name] => MacOS [os_version] => Catalina [os_title] => MacOS Catalina [device_type] => desktop [browser_name] => Safari [browser_version] => 15.5 [browser_title] => Safari 15.5 [browser_chrome_original] => 0 [browser_firefox_original] => 0 [browser_safari_original] => 1 [browser_chromium_version] => 0 [browser_gecko_version] => 0 [browser_webkit_version] => 605.1 [browser_android_webview] => 0 [browser_ios_webview] => 0 [browser_desktop_mode] => 0 [64bits_mode] => 1 )

On iPad Pro with Chrome something similar happens:

Array ( [os_type] => mobile [os_family] => macintosh [os_name] => iOS [os_version] => 15.5 [os_title] => iOS 15.5 [device_type] => mobile [browser_name] => Chrome [browser_version] => 102 [browser_title] => Chrome 102 [browser_chrome_original] => 0 [browser_firefox_original] => 0 [browser_safari_original] => 0 [browser_chromium_version] => 0 [browser_gecko_version] => 0 [browser_webkit_version] => 605.1 [browser_android_webview] => 0 [browser_ios_webview] => 0 [browser_desktop_mode] => 0 [64bits_mode] => 1 )

On iPad Pro with Firefox something similar happens with Safari:

Array ( [os_type] => desktop [os_family] => macintosh [os_name] => MacOS [os_version] => Catalina [os_title] => MacOS Catalina [device_type] => desktop [browser_name] => Safari [browser_version] => 13.1 [browser_title] => Safari 13.1 [browser_chrome_original] => 0 [browser_firefox_original] => 0 [browser_safari_original] => 1 [browser_chromium_version] => 0 [browser_gecko_version] => 0 [browser_webkit_version] => 605.1 [browser_android_webview] => 0 [browser_ios_webview] => 0 [browser_desktop_mode] => 0 [64bits_mode] => 1 )

macOS Monterey not working

Hi,

as the title says, it's not detecting macOS Monterey. I have installed macOS Monterey today and it still detect my system as macOS Big Sur.

Best regards
maisen20

Foroco - Can we get an update on this?

Hey Buddy,

Hope you're having a good year. When you get some time, can you update this with new browsers, devices and other good stuff to last us another year or so?

Thanks!

Error Undefined index for BrowserDetection.php

good afternoon

  • IILoader/1.0 CFNetwork/609.1.4 Darwin/12.4.0
    Undefined index: 12.6 in Line 733 in File vendor\foroco\php-browser-detection\src\BrowserDetection.php

  • CachedWebView/1.0 CFNetwork/672.1.13 Darwin/13.3.0
    Undefined index: 13.4 in Line 733 in File vendor\foroco\php-browser-detection\src\BrowserDetection.php

Trident based Edge are detect as Chromium based

Old versions of Edge are Trident/EdgeHTML based but are detected as Chromium based.
For example this edge useragent (one of the first versions of Edge):
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136
$Browser->getAll returns:
Array
(
[os_type] => desktop
[os_family] => windows
[os_name] => Windows
[os_version] => 10
[os_title] => Windows 10
[device_type] => desktop
[browser_name] => Edge
[browser_version] => 12
[browser_title] => Edge 12
[browser_chrome_original] => 0
[browser_firefox_original] => 0
[browser_safari_original] => 0
[browser_chromium_version] => 42
[browser_gecko_version] => 0
[browser_webkit_version] => 0
[browser_android_webview] => 0
[browser_ios_webview] => 0
[browser_desktop_mode] => 0
[64bits_mode] => 0
)

As it is not based on Chromium, browser_chromium_version should be 0
[browser_chromium_version] => 0

If the last token identifier start whith "Edge/" it is based on Trident if start whith "Edg/" it is based on Chromium.

not detecting bigsur

Im running bigsur 11.3 but its detected as Catalina

Useragent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36

Also could be handy to pass full browser version number alongside decimalised version please. Great script. Cheers

"Trying to access array offset on value of type bool"

On PHP 7.4.22 calling getDevice on Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Silk/60.2.12 like Chrome/60.0.3112.107 Safari/537.36 results in:

Notice: Trying to access array offset on value of type bool in /.../vendor/foroco/php-browser-detection/src/BrowserDetection.php on line 587

Device name

Good day,

please consider adding a new array element - device_name
Mozilla/5.0 (Linux; Android 11; M2012K11G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36
M2012K11G - model of device.

Added 64bits detection

I like your browser detection script.
I however missed 64 bits detection.
It is very easy to add.
Here is my code

	 OS DETECTION
		--------------
		*/
        
        // 64 bits Detection
        $data = 'WOW64|Win64|AMD64|x86_64|x86-64|ia64|IRIX64|ppc64|sparc64|x64;|x64_64';
        if ($this->matchi_ua($data))
            $this->result_os_64bit = 'yes';

Chrome OS UA returns device unknown

The following Crome OS User Agents return device unknown, but should be desktop:

Mozilla/5.0 (X11; CrOS x86_64 13982.69.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.130 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13904.41.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.81 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13904.66.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13816.55.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.86 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13904.97.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.167 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13816.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.218 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13904.97.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.167 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12239.92.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.136 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13982.69.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.130 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13816.80.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.215 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 10323.67.9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.209 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12239.92.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.136 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13904.77.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.147 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 12371.89.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13310.93.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.133 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13729.56.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.95 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8743.83.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.93 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13597.105.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.208 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 11151.51.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.85 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13597.66.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.109 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13597.84.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.153 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13816.64.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.100 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12239.92.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.136 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13816.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.218 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13505.111.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.152 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13904.55.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.102 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13597.94.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.186 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13421.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.199 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13310.76.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.108 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13904.55.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.102 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 14119.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4588.0 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13729.85.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.130 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12499.66.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.106 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 12105.100.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.144 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13729.72.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.116 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13729.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12239.92.4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.136 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12739.105.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.158 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 14092.13.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.15 Safari/537.36
Mozilla/5.0 (X11; U; CrOS i686 0.9.128; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.339
Mozilla/5.0 (X11; U; CrOS i686 0.9.128; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.339 Safari/534.10
Mozilla/5.0 (X11; CrOS x86_64 13505.100.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.142 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9000.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 11647.154.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.114 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13729.84.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.130 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13904.77.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.147 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 1.7.1 CSOS/cs-go-2016-launch) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12739.94.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.137 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 7647.84.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12871.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 10895.78.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.120 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13729.56.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.95 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 14092.19.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.22 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9592.71.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.80 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 14092.19.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.22 Safari/537.36
Mozilla/5.0 (X11; U; CrOS i686 0.9.128; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.343 Safari/534.10
Mozilla/5.0 (X11; CrOS x86_64 13421.73.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.112 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13310.91.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.131 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9000.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13421.53.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.77 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13505.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12871.91.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.127 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13505.73.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.109 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13421.99.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13597.67.13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.171 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 13099.110.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.136 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13099.90.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.116 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13099.110.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.136 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12239.67.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.102 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9334.58.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.89 Safari/537.36
Mozilla/5.0 (X11; CrOS x8664 6680.78.0) AppleWebKit/537.36 (KHTML like Gecko) Chrome/41.0.2272.102 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 7390.68.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.82 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9460.42.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.57 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13020.67.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13729.84.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.130 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13597.66.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.109 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13870.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4456.0 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12371.75.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.105 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 1.7.3 CSOS/cs-go-2016-launch) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13904.66.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 11316.148.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.117 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13421.73.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.112 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13421.73.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.112 Safari/537.36
Mozilla/5.0 (X11; U; CrOS i686 0.9.128; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.341 Safari/534.10
Mozilla/5.0 (X11; CrOS x86_64 8743.87.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.101 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9460.73.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.134 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13982.60.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.111 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13505.73.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.109 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13020.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.112 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9460.60.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.91 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9202.64.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.146 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12105.100.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.144 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13904.41.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.81 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9334.69.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.112 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12607.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.123 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9460.73.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.134 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8172.62.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 9887.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3198.0 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9765.31.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.51 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 8530.96.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.154 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9592.66.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.72 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 13597.84.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.187 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 9592.90.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.114 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9765.48.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.70 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13816.63.21) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.106 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12739.111.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13310.59.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.84 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12105.100.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.144 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 13816.64.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.100 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 12371.75.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.105 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 13310.94.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.134 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9592.85.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.112 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9202.60.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.137 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13421.89.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9334.72.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.140 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9592.22.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.34 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 7647.73.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.92 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9334.56.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.87 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13099.102.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.127 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13729.8.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.16 Safari/537.36
Mozilla/5.0 (X11; CrOS armv7l 9765.31.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.51 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8530.93.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.144 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9592.82.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9887.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3198.0 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 6457.83.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8872.70.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9202.60.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.137 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9334.58.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.89 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8172.47.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 9765.53.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.80 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8872.76.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.105 Safari/537.36
Mozilla/5.0 (X11; CrOS i686 7834.70.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13904.94.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.165 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 12607.81.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.119 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 7978.66.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.91 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 8350.68.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36
Mozilla/5.0 (X11; CrOS aarch64 9765.48.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.70 Safari/537.36
Mozilla/5.0 (X11; CrOS x86_64 13020.87.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.119 Safari/537.36

[Feature Request] Add Browser Language

It would be great if the detected data could include the user's browser language.
Currently, I have to manually add the language to the result set when necessary.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.