browser 6.0.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby-tests.yml +1 -1
- data/CHANGELOG.md +12 -7
- data/README.md +1 -1
- data/bots.yml +23 -0
- data/lib/browser/device.rb +1 -1
- data/lib/browser/platform/ios.rb +1 -1
- data/lib/browser/version.rb +1 -1
- data/test/sample_app.rb +2 -2
- data/test/ua.yml +7 -6
- data/test/ua_bots.yml +18 -0
- data/test/unit/chrome_test.rb +6 -0
- data/test/unit/ios_test.rb +6 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 454eed87d491bb62265a7d32ac73b3be33021a13a14424f3f234783a635b4ee6
|
|
4
|
+
data.tar.gz: 59a05cfaa289926bd7961d87e2d75a0cc5ffb1836ce862dc813d24a16ec19ca0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 027f23bb5b3e06133d025f8870f5b8685e6cbf81463fff5d169a34ed45abd9df41e66435bbcb897849de312a00c7ac4574babea4dc95e1d255802aa25e5d3db8
|
|
7
|
+
data.tar.gz: e8bfa31ce8370a4fe398daefa4321ec6d8878dcc2a14eb147734a4001ea14a2a8ca0771e8e97358d839e49efff3236c5c41c6fa2c444d6417295eae8f80d82a2
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 6.1.0
|
|
4
|
+
|
|
5
|
+
- Add more bots (mostly related to AI crawlers)
|
|
6
|
+
- Add AppSignal bot
|
|
7
|
+
- Add Checkly bot
|
|
8
|
+
- Detect Chrome when requesting desktop site.
|
|
9
|
+
|
|
3
10
|
## 6.0.0
|
|
4
11
|
|
|
5
12
|
- Add `Browser::Base#chromium_based?`.
|
|
@@ -96,13 +103,11 @@
|
|
|
96
103
|
- You can now define new bot matchers by adding a callable object to
|
|
97
104
|
`Browser::Bot.matchers`.
|
|
98
105
|
- Fix `browser.yandex?` and `browser.sputnik?`.
|
|
99
|
-
- [BREAKING CHANGE] Removed methods to enable the bot's empty user agent
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
`crawl|fetch|search|monitoring|spider|bot`, and anything listed under
|
|
105
|
-
https://github.com/fnando/browser/blob/master/bots.yml.
|
|
106
|
+
- [BREAKING CHANGE] Removed methods to enable the bot's empty user agent detection
|
|
107
|
+
(`Browser::Bot.detect_empty_ua!` and `Browser::Bot.detect_empty_ua?`).
|
|
108
|
+
- [BREAKING CHANGE] Bot detection is now more aggressive by default. It matches empty
|
|
109
|
+
user agents, anything that matches `crawl|fetch|search|monitoring|spider|bot`,
|
|
110
|
+
and anything listed under https://github.com/fnando/browser/blob/master/bots.yml.
|
|
106
111
|
- Add Jaunt to the bot list.
|
|
107
112
|
|
|
108
113
|
## 2.7.1
|
data/README.md
CHANGED
data/bots.yml
CHANGED
|
@@ -16,6 +16,7 @@ apachebench: ApacheBench (ab)
|
|
|
16
16
|
apis-google: APIs-Google
|
|
17
17
|
appengine-google: Google App Engine
|
|
18
18
|
applebot: Apple Bot
|
|
19
|
+
appsignal: AppSignal Bot
|
|
19
20
|
archive.org_bot: Internet Archive (archive.org)
|
|
20
21
|
archiveteam archivebot: ArchiveTeam ArchiveBot
|
|
21
22
|
ask jeeves: Ask Jeeves
|
|
@@ -38,6 +39,7 @@ buzzbot: Buzzbot
|
|
|
38
39
|
buzztalk: buzztalk
|
|
39
40
|
catchbot: CatchBot (catchbot.com)
|
|
40
41
|
check_http: Nagios monitor
|
|
42
|
+
checkly: Checkly
|
|
41
43
|
chrome-lighthouse: Chrome-Lighthouse
|
|
42
44
|
cipacrawler: CipaCrawler
|
|
43
45
|
cliqzbot: Cliqzbot
|
|
@@ -291,7 +293,28 @@ zoombot: ZoomBot
|
|
|
291
293
|
zoominfobot: ZoominfoBot
|
|
292
294
|
zyborg: Zyborg
|
|
293
295
|
|
|
296
|
+
# AI Crawlers
|
|
297
|
+
# https://darkvisitors.com
|
|
298
|
+
amazonbot: Amazon
|
|
299
|
+
anthropic-ai: Anthropic-AI
|
|
300
|
+
applebot: Apple
|
|
301
|
+
bytespider: TikTok
|
|
302
|
+
ccbot: Common Crawl
|
|
303
|
+
chatgpt-user: ChatGPT
|
|
304
|
+
claude-web: Anthropic-AI
|
|
305
|
+
cohere-ai: Cohere
|
|
306
|
+
diffbot: Diffbot
|
|
307
|
+
facebookbot: Facebook
|
|
308
|
+
google-extended: Google
|
|
309
|
+
googleother: Google
|
|
310
|
+
gptbot: ChatGPT
|
|
311
|
+
omgili: Webz.io
|
|
312
|
+
perplexitybot: Perplexity
|
|
313
|
+
webz.io: Webz.io
|
|
314
|
+
youbot: You.com
|
|
315
|
+
|
|
294
316
|
# Generic lib user agents go here.
|
|
317
|
+
httpie: HTTPie
|
|
295
318
|
eventmachine httpclient: Ruby http library
|
|
296
319
|
go 1.1 package http: Go 1.1 package http
|
|
297
320
|
htmlparser: HTMLParser
|
data/lib/browser/device.rb
CHANGED
|
@@ -202,7 +202,7 @@ module Browser
|
|
|
202
202
|
# rubocop:disable Layout/LineLength
|
|
203
203
|
private def detect_mobile?
|
|
204
204
|
psp? ||
|
|
205
|
-
/zunewp7/i.match?(ua) ||
|
|
205
|
+
/zunewp7|crios/i.match?(ua) ||
|
|
206
206
|
%r{(android|bb\d+|meego).+mobile|avantgo|bada/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino}i.match(ua) ||
|
|
207
207
|
%r{1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-}i.match?(ua[0..3])
|
|
208
208
|
end
|
data/lib/browser/platform/ios.rb
CHANGED
data/lib/browser/version.rb
CHANGED
data/test/sample_app.rb
CHANGED
|
@@ -9,7 +9,7 @@ class PagesController < ActionController::Base
|
|
|
9
9
|
end
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
class
|
|
12
|
+
class BotsController < ActionController::API
|
|
13
13
|
def index
|
|
14
14
|
render json: {
|
|
15
15
|
isBot: browser.bot?,
|
|
@@ -42,7 +42,7 @@ class SampleApp < Rails::Application
|
|
|
42
42
|
|
|
43
43
|
get "/home", to: "pages#home"
|
|
44
44
|
|
|
45
|
-
get "/api/pages", to: "
|
|
45
|
+
get "/api/pages", to: "bots#index"
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
config.middleware.use Browser::Middleware do
|
data/test/ua.yml
CHANGED
|
@@ -30,6 +30,7 @@ BLACKBERRY7: "Mozilla/5.0 (BlackBerry; U; BlackBerry AAAA; en-US) AppleWebKit/53
|
|
|
30
30
|
BLACKBERRY: "BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103"
|
|
31
31
|
CHROME: "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.99 Safari/533.4"
|
|
32
32
|
CHROME_OS: "Mozilla/5.0 (X11; CrOS x86_64 3701.81.0) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.57 Safari/537.31."
|
|
33
|
+
CHROME_REQUEST_DESKTOP_SITE: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/130 Version/11.1.1 Safari/605.1.15"
|
|
33
34
|
COREMEDIA: "Apple Mac OS X v10.6.4 CoreMedia v1.0.0.10F569"
|
|
34
35
|
CUSTOM_APP: "Our App 0.0.1 (Linux; Android 4.0.3; HTC Ruby Build/IML74K; en_CA)"
|
|
35
36
|
DUCKDUCKGO_BROWSER_ANDROID: Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36 DuckDuckGo/5"
|
|
@@ -83,11 +84,11 @@ KINDLE: "Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Sa
|
|
|
83
84
|
KINDLE_FIRE: "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Kindle Fire Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
|
|
84
85
|
KINDLE_FIRE_HD: "Mozilla/5.0 (Linux; U; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Safari/535.19 Silk-Accelerated=true"
|
|
85
86
|
KINDLE_FIRE_HD_MOBILE: "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.4 Mobile Safari/535.19 Silk-Accelerated=true"
|
|
86
|
-
KINDLE_SILK_TABLET: Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.54 like Chrome/44.0.2403.63 Safari/537.36
|
|
87
87
|
KINDLE_SILK_DESKTOP: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.54 like Chrome/44.0.2403.63 Safari/537.36
|
|
88
88
|
KINDLE_SILK_MOBILE: Mozilla/5.0 (Linux; U; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.54 like Chrome/44.0.2403.63 Mobile Safari/537.36
|
|
89
|
-
KINDLE_SILK_TABLET_1ST_GEN: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.13.81_10003810) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true
|
|
90
89
|
KINDLE_SILK_MOBILE_1ST_GEN: Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Silk/1.0.13.81_10003810) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Silk-Accelerated=true
|
|
90
|
+
KINDLE_SILK_TABLET: Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.54 like Chrome/44.0.2403.63 Safari/537.36
|
|
91
|
+
KINDLE_SILK_TABLET_1ST_GEN: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.0.13.81_10003810) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true
|
|
91
92
|
LUMIA800: "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7"
|
|
92
93
|
MAC_OS: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Safari/605.1.15"
|
|
93
94
|
MAC_OSX: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9"
|
|
@@ -127,8 +128,6 @@ QQ_BROWSER_ANDROID: "Mozilla/5.0 (Linux; Android 5.1.1; SM-N9108V Build/LMY47X)
|
|
|
127
128
|
QQ_BROWSER_IOS: "Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13E238 QQ/6.3.3.432 V1_IPH_SQ_6.3.3_1_APP_A Pixel/640 Core/UIWebView NetType/WIFI Mem/47"
|
|
128
129
|
QQ_BROWSER_MAC: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36 QQBrowser/4.2.4753.400"
|
|
129
130
|
QQ_BROWSER_MAC_LITE: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14 QQBrowserLite/1.0.4"
|
|
130
|
-
SOUGOU_BROWSER: "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0"
|
|
131
|
-
SOUGOU_BROWSER_MOBILE: "Mozilla/5.0 (Linux; Android 7.1.2; Redmi 4X Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.106 Mobile Safari/537.36 AWP/2.0 SogouMSE,SogouMobileBrowser/5.28.12"
|
|
132
131
|
QUICKTIME: "QuickTime/7.6.8 (qtver=7.6.8;os=Windows NT 5.1Service Pack 3)"
|
|
133
132
|
SAFARI3: "Mozilla/5.0 (Windows; U; Windows NT 6.0; en) AppleWebKit/522.15.5 (KHTML, like Gecko) Version/3.0.3 Safari/522.15.5"
|
|
134
133
|
SAFARI4: "Mozilla/5.0 (Windows; U; Windows NT 6.0; fr-ch) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9"
|
|
@@ -143,14 +142,16 @@ SAFARI_IPHONE_WEBAPP_MODE: "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_2 like Mac O
|
|
|
143
142
|
SAMSUNG: "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; SAMSUNG-SGH-I497 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30"
|
|
144
143
|
SAMSUNG_BROWSER: "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-N960U) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.1 Chrome/75.0.3770.143 Mobile Safari/537.36"
|
|
145
144
|
SAMSUNG_CHROME: "Mozilla/5.0 (Linux; Android 4.4.2; en-gb; SAMSUNG GT-I9195/I9195XXUCNEA Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36"
|
|
146
|
-
SAMSUNG_SM-G975F: "Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36"
|
|
147
|
-
SAMSUNG_SM-G960F: "Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36"
|
|
148
145
|
SAMSUNG_SM-F700F: "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-F700F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.1 Chrome/75.0.3770.143 Mobile Safari/537.36"
|
|
149
146
|
SAMSUNG_SM-FAKE: "Mozilla/5.0 (Linux; Android 8.0.0; SM-0000) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36"
|
|
147
|
+
SAMSUNG_SM-G960F: "Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36"
|
|
148
|
+
SAMSUNG_SM-G975F: "Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36"
|
|
150
149
|
SMART_TV: "Mozilla/5.0 (SmartHub; SMART-TV; U; Linux/SmartTV) AppleWebKit/531.2+ (KHTML, like Gecko) WebBrowser/1.0 SmartTV Safari/531.2+"
|
|
151
150
|
SNAPCHAT: Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Snapchat/10.69.5.72 (iPhone10,3; iOS 13.2.2; gzip)
|
|
152
151
|
SNAPCHAT_EMPTY_STRING_VERSION: "Mozilla/5.0 (Linux; Android 9; SM-N960U Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36Snapchat10.70.0.0 (SM-N960U; Android 9#N960USQS3CSJ2#28; gzip)"
|
|
153
152
|
SNAPCHAT_SPACE_VERSION: "Mozilla/5.0 (Linux; Android 9; SM-N960U Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36Snapchat 10.70.0.0 (SM-N960U; Android 9#N960USQS3CSJ2#28; gzip)"
|
|
153
|
+
SOUGOU_BROWSER: "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0"
|
|
154
|
+
SOUGOU_BROWSER_MOBILE: "Mozilla/5.0 (Linux; Android 7.1.2; Redmi 4X Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.106 Mobile Safari/537.36 AWP/2.0 SogouMSE,SogouMobileBrowser/5.28.12"
|
|
154
155
|
SPUTNIK: "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 SputnikBrowser/4.1.2801.0 Safari/537.36"
|
|
155
156
|
SURFACE: "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; ARM; Trident/6.0; Touch)"
|
|
156
157
|
SYMBIAN: "Nokia5250/10.0.011 (SymbianOS/9.4; U; Series60/5.0 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525 3gpp-gba"
|
data/test/ua_bots.yml
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
ADLXBOT: "Mozilla/5.0 (compatible; adidxbot/2.0; +http://www.bing.com/bingbot.htm)"
|
|
3
3
|
ADS_TXT_CRAWLER: "AdsTxtCrawler/1.0"
|
|
4
|
+
AMAZONBOT: Amazonbot
|
|
4
5
|
ANDERSPINK: "Mozilla/5.0 (compatible; AndersPinkBot/1.0; +http://anderspink.com/bot.html)"
|
|
6
|
+
ANTHROPIC_AI: anthropic-ai
|
|
5
7
|
APIS_GOOGLE: "APIs-Google; (+https://developers.google.com/webmasters/APIs-Google.html)"
|
|
6
8
|
APPLE_BOT: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Applebot/0.1)"
|
|
9
|
+
APPLEBOT: Applebot
|
|
10
|
+
APPSIGNALBOT: "AppSignalBot/1.0 (+https://appsignal.com)"
|
|
7
11
|
ARCHIVEBOT: "ArchiveTeam ArchiveBot/20190617.01 (wpull 2.0.3) and not Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36"
|
|
8
12
|
ASK: "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)"
|
|
9
13
|
AWS_ELB: ELB-HealthChecker/1.0
|
|
@@ -13,25 +17,35 @@ BINGBOT: "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm
|
|
|
13
17
|
BINGPREVIEW: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b"
|
|
14
18
|
BUBING: "BUbiNG (+http://law.di.unimi.it/BUbiNG.html)"
|
|
15
19
|
BUZZBOT: "Buzzbot/1.0 (Buzzbot; http://www.buzzstream.com; buzzbot@buzzstream.com)"
|
|
20
|
+
BYTESPIDER: Bytespider
|
|
21
|
+
CCBOT: CCBot
|
|
22
|
+
CHATGPT_USER: ChatGPT-User
|
|
23
|
+
CHECKLY: "Checkly/1.0 (https://www.checklyhq.com)"
|
|
16
24
|
CHROME_LIGHTHOUSE: "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3694.0 Mobile Safari/537.36 Chrome-Lighthouse"
|
|
17
25
|
CIPACRAWLER: "CipaCrawler/3.0 (info@domaincrawler.com; http://www.domaincrawler.com/www.example.com)"
|
|
26
|
+
CLAUDE_WEB: Claude-Web
|
|
27
|
+
CLAUDEBOT: ClaudeBot
|
|
18
28
|
CLOUDFLARE: "Mozilla/5.0 (compatible; CloudFlare-AlwaysOnline/1.0; +http://www.cloudflare.com/always-online) AppleWebKit/534.34"
|
|
29
|
+
COHERE-AI: cohere-ai
|
|
19
30
|
COMMONCRAWL: "CCBot/2.0 (http://commoncrawl.org/faq/)"
|
|
20
31
|
COMODO_SSL_CHECKER: "COMODO SSL Checker"
|
|
21
32
|
COPYPANTS: "Mozilla/5.0 (compatible; BotPants/1.0; Linux; +info@copypants.com) KHTML/3.5.5 (like Gecko)"
|
|
22
33
|
DATAFEEDWATCH: "Datafeedwatch/2.1.x"
|
|
23
34
|
DATANYZE: "Mozilla/5.0 (X11; Datanyze; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"
|
|
24
35
|
DAUMOA: "Mozilla/5.0 (compatible; MSIE or Firefox mutant; not on Windows server;) Daumoa 4.0"
|
|
36
|
+
DIFFBOT: Diffbot
|
|
25
37
|
DOMAINAREANIMATOR: "Domain Re-Animator Bot (http://domainreanimator.com) - support@domainreanimator.com"
|
|
26
38
|
DOT_BOT: "Mozilla/5.0 (compatible; DotBot/1.1; http://www.opensiteexplorer.org/dotbot, help@moz.com)"
|
|
27
39
|
DUCKDUCKGO: "DuckDuckBot/1.0; (+http://duckduckgo.com/duckduckbot.html)"
|
|
28
40
|
EZPUBLISH: "eZ Publish Link Validator"
|
|
29
41
|
FACEBOOK_BOT: "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)"
|
|
42
|
+
FACEBOOKBOT: FacebookBot
|
|
30
43
|
FYREBOT: "Fyrebot/1.0"
|
|
31
44
|
GARLIK: "GarlikCrawler/1.2 (http://garlik.com/, crawler@garlik.com)"
|
|
32
45
|
GERMCRAWLER: "GermCrawler"
|
|
33
46
|
GO_1.1_PACKAGE_HTTP: "Go 1.1 package http"
|
|
34
47
|
GO_HTTP_CLIENT: "Go-http-client"
|
|
48
|
+
GOOGLE-EXTENDED: Google-Extended
|
|
35
49
|
GOOGLE_BOT: "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
|
|
36
50
|
GOOGLE_IMAGE_PROXY: "Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)"
|
|
37
51
|
GOOGLE_PAGE_SPEED_INSIGHTS: "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.4 (KHTML, like Gecko; Google Page Speed Insights) Chrome/22.0.1229 Safari/537.4"
|
|
@@ -40,6 +54,7 @@ GOOGLE_SITE_VERIFICATION: Mozilla/5.0 (compatible; Google-Site-Verification/1.0)
|
|
|
40
54
|
GOOGLE_STACKDRIVER_UPTIME_CHECKS: "GoogleStackdriverMonitoring-UptimeChecks"
|
|
41
55
|
GOOGLE_STRUCTURED_DATA_TESTING_TOOL2: "Mozilla/5.0 (compatible; Google-Structured-Data-Testing-Tool +http://developers.google.com/structured-data/testing-tool/)"
|
|
42
56
|
GOOGLE_STRUCTURED_DATA_TESTING_TOOL: "Mozilla/5.0 (compatible; X11; Linux x86_64; Google-StructuredDataTestingTool; +http://www.google.com/webmasters/tools/richsnippets)"
|
|
57
|
+
GPTBOT: GPTBot
|
|
43
58
|
GRAPESHOT: "Mozilla/5.0 (compatible; GrapeshotCrawler/2.0; +http://www.grapeshot.co.uk/crawler.php)"
|
|
44
59
|
HTTRACK: "Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98)"
|
|
45
60
|
IMPLISENSEBOT: "ImplisenseBot 1.0"
|
|
@@ -61,7 +76,9 @@ MSNBOT_MEDIA: "msnbot-media/1.1 (+http://search.msn.com/msnbot.htm)"
|
|
|
61
76
|
NETCRAFT2: Netcraft SSL Server Survey - contact info@netcraft.com
|
|
62
77
|
NETCRAFT: Mozilla/5.0 (compatible; NetcraftSurveyAgent/1.0; +info@netcraft.com)
|
|
63
78
|
NEWRELICPINGER: NewRelicPinger/1.0 (12345)
|
|
79
|
+
OMGILI: omgili
|
|
64
80
|
PAESSLER: Mozilla/5.0 (compatible; PRTG Network Monitor (www.paessler.com); Windows)
|
|
81
|
+
PERPLEXITYBOT: PerplexityBot
|
|
65
82
|
PR-CY_RU: Mozilla/5.0 (compatible; PR-CY.RU; + https://a.pr-cy.ru)
|
|
66
83
|
PRIVACYAWAREBOT: "Mozilla/5.0 (compatible; PrivacyAwareBot/1.1; +http://www.privacyaware.org)"
|
|
67
84
|
PROXIMIC: "Mozilla/5.0 (compatible; proximic; +http://www.proximic.com/info/spider.php)"
|
|
@@ -98,6 +115,7 @@ YAHOO_SLURP: "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/
|
|
|
98
115
|
YANDEX_DIRECT: "Mozilla/5.0 (compatible; YandexDirect/3.0; +http://yandex.com/bots)"
|
|
99
116
|
YANDEX_METRIKA: "Mozilla/5.0 (compatible; YandexMetrika/3.0; +http://yandex.com/bots)"
|
|
100
117
|
YANGA: "Yanga WorldSearch Bot v1.1/beta (http://www.yanga.co.uk/)"
|
|
118
|
+
YOUBOT: YouBot
|
|
101
119
|
ZABBIX: "Zabbix"
|
|
102
120
|
ZOOMBOT: "ZoomBot (Linkbot 1.0 http://suite.seozoom.it/bot.html)"
|
|
103
121
|
ZOOMINFOBOT: "ZoominfoBot (zoominfobot at zoominfo dot com)"
|
data/test/unit/chrome_test.rb
CHANGED
|
@@ -26,6 +26,12 @@ class ChromeTest < Minitest::Test
|
|
|
26
26
|
assert_equal "19", browser.version
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
+
test "detects chrome in desktop mode" do
|
|
30
|
+
browser = Browser.new(Browser["CHROME_REQUEST_DESKTOP_SITE"])
|
|
31
|
+
assert browser.chromium_based?
|
|
32
|
+
assert browser.chrome?
|
|
33
|
+
end
|
|
34
|
+
|
|
29
35
|
test "detects samsung chrome" do
|
|
30
36
|
browser = Browser.new(Browser["SAMSUNG_CHROME"])
|
|
31
37
|
|
data/test/unit/ios_test.rb
CHANGED
|
@@ -25,6 +25,12 @@ class IosTest < Minitest::Test
|
|
|
25
25
|
assert_equal "5", browser.version
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
+
test "detects chrome in desktop mode" do
|
|
29
|
+
browser = Browser.new(Browser["CHROME_REQUEST_DESKTOP_SITE"])
|
|
30
|
+
assert browser.platform.ios?
|
|
31
|
+
assert browser.device.mobile?
|
|
32
|
+
end
|
|
33
|
+
|
|
28
34
|
test "detects safari in webapp mode" do
|
|
29
35
|
browser = Browser.new(Browser["SAFARI_IPAD_WEBAPP_MODE"])
|
|
30
36
|
refute browser.safari?
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: browser
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.
|
|
4
|
+
version: 6.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nando Vieira
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-11-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -348,7 +348,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
348
348
|
- !ruby/object:Gem::Version
|
|
349
349
|
version: '0'
|
|
350
350
|
requirements: []
|
|
351
|
-
rubygems_version: 3.5.
|
|
351
|
+
rubygems_version: 3.5.16
|
|
352
352
|
signing_key:
|
|
353
353
|
specification_version: 4
|
|
354
354
|
summary: Do some browser detection with Ruby.
|