diff --git a/ua.go b/ua.go index 000812c..c203ca9 100644 --- a/ua.go +++ b/ua.go @@ -53,6 +53,7 @@ const ( NetFront = "NetFront" Mozilla = "Mozilla" Msie = "MSIE" + SamsungBrowser = "Samsung Browser" GoogleAdsBot = "Google Ads Bot" Googlebot = "Googlebot" @@ -250,9 +251,10 @@ func Parse(userAgent string) UserAgent { ua.Bot = true case tokens.get("SamsungBrowser") != "": - ua.Name = "Samsung Browser" + ua.Name = SamsungBrowser ua.Version = tokens.get("SamsungBrowser") ua.Mobile = tokens.existsAny(Mobile, MobileSafari) + ua.OS = Android case tokens.get("HeadlessChrome") != "": ua.Name = HeadlessChrome diff --git a/ua_test.go b/ua_test.go index 18a395a..56da06b 100644 --- a/ua_test.go +++ b/ua_test.go @@ -54,6 +54,7 @@ var testTable = [][]string{ {"Mozilla/5.0 (Linux; U; Android 11; ru-ru; Redmi Note 10S Build/RP1A.200720.011) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/89.0.4389.116 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.13.2-gn", "Miui Browser", "12.13.2-gn", "mobile", ua.Android, "Redmi Note 10S"}, {"Mozilla/5.0 (Linux; Android 10; MED-LX9N; HMSCore 6.6.0.311) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.1.0.303 Mobile Safari/537.36", "Huawei Browser", "12.1.0.303", "mobile", "Android"}, + {"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/22.0 Chrome/111.0.5563.116 Safari/537.36", ua.SamsungBrowser, "22.0", "mobile", ua.Android}, // useragent, name, version, mobile, os {"Mozilla/5.0 (Linux; Android 9; ONEPLUS A6003) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36", ua.Chrome, "71.0.3578.99", "mobile", ua.Android},