browser 6.0.0 → 6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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.
|