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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 955928c52746af052fa9e4acb5555ba3d438326670ee5b587f7a66eff89193f5
4
- data.tar.gz: a9a9a822b3dcac0fa8b5a1f946e60c1c4eef3bc2801c41b990b33c496bb635ed
3
+ metadata.gz: 454eed87d491bb62265a7d32ac73b3be33021a13a14424f3f234783a635b4ee6
4
+ data.tar.gz: 59a05cfaa289926bd7961d87e2d75a0cc5ffb1836ce862dc813d24a16ec19ca0
5
5
  SHA512:
6
- metadata.gz: b35967db554e9dc880c4998418fde96e2fd8c75283ebc9549c948754ce9b9b383fc5977cfe1008ae176e4e00c7ecf1318d0ed8bc31f987ed19aaef294cbb669b
7
- data.tar.gz: 845a5a586f88a402f967a1c5ce43cdb3f736c33aa78288e23972f4ee14e07d81fa805bef169000979d14dcb9d24299ef008d452c29c04b88b50e3516f76b3baf
6
+ metadata.gz: 027f23bb5b3e06133d025f8870f5b8685e6cbf81463fff5d169a34ed45abd9df41e66435bbcb897849de312a00c7ac4574babea4dc95e1d255802aa25e5d3db8
7
+ data.tar.gz: e8bfa31ce8370a4fe398daefa4321ec6d8878dcc2a14eb147734a4001ea14a2a8ca0771e8e97358d839e49efff3236c5c41c6fa2c444d6417295eae8f80d82a2
@@ -23,7 +23,7 @@ jobs:
23
23
  gemfile:
24
24
  - Gemfile
25
25
  - gemfiles/7_1.gemfile
26
- - gemfiles/6_1.gemfile
26
+ - gemfiles/7_0.gemfile
27
27
 
28
28
  steps:
29
29
  - uses: actions/checkout@v2.4.0
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
- detection (`Browser::Bot.detect_empty_ua!` and
101
- `Browser::Bot.detect_empty_ua?`).
102
- - [BREAKING CHANGE] Bot detection is now more aggressive by default. It matches
103
- empty user agents, anything that matches
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
@@ -432,7 +432,7 @@ information.
432
432
 
433
433
  ## Maintainer
434
434
 
435
- - Nando Vieira - http://nandovieira.com
435
+ - Nando Vieira - https://nandovieira.com
436
436
 
437
437
  ## Contributors
438
438
 
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
@@ -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
@@ -3,7 +3,7 @@
3
3
  module Browser
4
4
  class Platform
5
5
  class IOS < Base
6
- MATCHER = /(iPhone|iPad|iPod)/.freeze
6
+ MATCHER = /(iPhone|iPad|iPod|CriOS)/.freeze
7
7
  VERSION_MATCHER =
8
8
  /OS (?<major>\d+)_(?<minor>\d+)_?(?<patch>\d+)?/.freeze
9
9
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Browser
4
- VERSION = "6.0.0"
4
+ VERSION = "6.1.0"
5
5
  end
data/test/sample_app.rb CHANGED
@@ -9,7 +9,7 @@ class PagesController < ActionController::Base
9
9
  end
10
10
  end
11
11
 
12
- class PotsController < ActionController::API
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: "pots#index"
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)"
@@ -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
 
@@ -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.0.0
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-04-30 00:00:00.000000000 Z
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.9
351
+ rubygems_version: 3.5.16
352
352
  signing_key:
353
353
  specification_version: 4
354
354
  summary: Do some browser detection with Ruby.