device_detector 1.0.4 → 1.0.7

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.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +8 -7
  4. data/lib/device_detector/browser.rb +364 -0
  5. data/lib/device_detector/client.rb +8 -0
  6. data/lib/device_detector/device.rb +1204 -2
  7. data/lib/device_detector/os.rb +39 -12
  8. data/lib/device_detector/parser.rb +1 -1
  9. data/lib/device_detector/version.rb +1 -1
  10. data/lib/device_detector/version_extractor.rb +28 -0
  11. data/lib/device_detector.rb +57 -13
  12. data/regexes/bots.yml +651 -61
  13. data/regexes/client/browser_engine.yml +7 -1
  14. data/regexes/client/browsers.yml +774 -78
  15. data/regexes/client/feed_readers.yml +4 -10
  16. data/regexes/client/libraries.yml +71 -2
  17. data/regexes/client/mediaplayers.yml +25 -1
  18. data/regexes/client/mobile_apps.yml +923 -73
  19. data/regexes/client/pim.yml +65 -2
  20. data/regexes/device/cameras.yml +5 -5
  21. data/regexes/device/car_browsers.yml +16 -0
  22. data/regexes/device/consoles.yml +13 -1
  23. data/regexes/device/mobiles.yml +17029 -3889
  24. data/regexes/device/notebooks.yml +114 -0
  25. data/regexes/device/portable_media_player.yml +36 -9
  26. data/regexes/device/shell_tv.yml +117 -0
  27. data/regexes/device/televisions.yml +439 -34
  28. data/regexes/oss.yml +620 -284
  29. metadata +9 -131
  30. data/.gitignore +0 -14
  31. data/.rubocop.yml +0 -49
  32. data/.ruby-version +0 -1
  33. data/.travis.yml +0 -14
  34. data/Gemfile +0 -8
  35. data/Rakefile +0 -85
  36. data/device_detector.gemspec +0 -27
  37. data/spec/device_detector/bot_fixtures_spec.rb +0 -30
  38. data/spec/device_detector/client_fixtures_spec.rb +0 -31
  39. data/spec/device_detector/concrete_user_agent_spec.rb +0 -135
  40. data/spec/device_detector/detector_fixtures_spec.rb +0 -100
  41. data/spec/device_detector/device_fixtures_spec.rb +0 -36
  42. data/spec/device_detector/device_spec.rb +0 -131
  43. data/spec/device_detector/memory_cache_spec.rb +0 -148
  44. data/spec/device_detector/model_extractor_spec.rb +0 -63
  45. data/spec/device_detector/os_fixtures_spec.rb +0 -26
  46. data/spec/device_detector/version_extractor_spec.rb +0 -79
  47. data/spec/device_detector_spec.rb +0 -189
  48. data/spec/fixtures/client/browser.yml +0 -2836
  49. data/spec/fixtures/client/feed_reader.yml +0 -199
  50. data/spec/fixtures/client/library.yml +0 -193
  51. data/spec/fixtures/client/mediaplayer.yml +0 -163
  52. data/spec/fixtures/client/mobile_app.yml +0 -217
  53. data/spec/fixtures/client/pim.yml +0 -115
  54. data/spec/fixtures/detector/bots.yml +0 -3726
  55. data/spec/fixtures/detector/camera.yml +0 -141
  56. data/spec/fixtures/detector/car_browser.yml +0 -81
  57. data/spec/fixtures/detector/console.yml +0 -321
  58. data/spec/fixtures/detector/desktop.yml +0 -5461
  59. data/spec/fixtures/detector/feature_phone.yml +0 -891
  60. data/spec/fixtures/detector/feed_reader.yml +0 -551
  61. data/spec/fixtures/detector/mediaplayer.yml +0 -253
  62. data/spec/fixtures/detector/mobile_apps.yml +0 -494
  63. data/spec/fixtures/detector/phablet.yml +0 -4167
  64. data/spec/fixtures/detector/portable_media_player.yml +0 -178
  65. data/spec/fixtures/detector/smart_display.yml +0 -61
  66. data/spec/fixtures/detector/smart_speaker.yml +0 -55
  67. data/spec/fixtures/detector/smartphone-1.yml +0 -9927
  68. data/spec/fixtures/detector/smartphone-10.yml +0 -9977
  69. data/spec/fixtures/detector/smartphone-11.yml +0 -9891
  70. data/spec/fixtures/detector/smartphone-12.yml +0 -9906
  71. data/spec/fixtures/detector/smartphone-13.yml +0 -9920
  72. data/spec/fixtures/detector/smartphone-14.yml +0 -2662
  73. data/spec/fixtures/detector/smartphone-2.yml +0 -9992
  74. data/spec/fixtures/detector/smartphone-3.yml +0 -9945
  75. data/spec/fixtures/detector/smartphone-4.yml +0 -9923
  76. data/spec/fixtures/detector/smartphone-5.yml +0 -9914
  77. data/spec/fixtures/detector/smartphone-6.yml +0 -9962
  78. data/spec/fixtures/detector/smartphone-7.yml +0 -9899
  79. data/spec/fixtures/detector/smartphone-8.yml +0 -9931
  80. data/spec/fixtures/detector/smartphone-9.yml +0 -9899
  81. data/spec/fixtures/detector/smartphone.yml +0 -9984
  82. data/spec/fixtures/detector/tablet-1.yml +0 -9995
  83. data/spec/fixtures/detector/tablet-2.yml +0 -9977
  84. data/spec/fixtures/detector/tablet-3.yml +0 -9959
  85. data/spec/fixtures/detector/tablet-4.yml +0 -4528
  86. data/spec/fixtures/detector/tablet.yml +0 -9971
  87. data/spec/fixtures/detector/tv.yml +0 -4933
  88. data/spec/fixtures/detector/unknown.yml +0 -3236
  89. data/spec/fixtures/detector/wearable.yml +0 -61
  90. data/spec/fixtures/device/camera.yml +0 -19
  91. data/spec/fixtures/device/car_browser.yml +0 -13
  92. data/spec/fixtures/device/console.yml +0 -79
  93. data/spec/fixtures/parser/oss.yml +0 -1082
  94. data/spec/fixtures/parser/vendorfragments.yml +0 -168
  95. data/spec/spec_helper.rb +0 -9
@@ -19,11 +19,31 @@
19
19
  name: 'bPod'
20
20
  version: ''
21
21
 
22
- # Facebook Messenger
23
- - regex: '(?:MessengerForiOS|MESSENGER).(?:FBAV)(?:[ /]([\d\.]+))?'
22
+ # Facebook Audience Network
23
+ - regex: 'AudienceNetworkForAndroid.+(?:FBAV)(?:[ /]([\d\.]+))?'
24
+ name: 'Facebook Audience Network'
25
+ version: '$1'
26
+
27
+ # Facebook Messenger (https://play.google.com/store/apps/details?id=com.facebook.orca)
28
+ - regex: '(?:MessengerForiOS|MESSENGER|FB_IAB/Orca-Android).(?:FBAV)(?:[ /]([\d\.]+))?'
24
29
  name: 'Facebook Messenger'
25
30
  version: '$1'
26
31
 
32
+ # Facebook Messenger Lite
33
+ - regex: '(?:mLite|MessengerLite(?:ForiOS)?).(?:FBAV)(?:[ /]([\d\.]+))?'
34
+ name: 'Facebook Messenger Lite'
35
+ version: '$1'
36
+
37
+ # Facebook Groups
38
+ - regex: '(?:GroupsForiOS).(?:FBAV)(?:[ /]([\d\.]+))?'
39
+ name: 'Facebook Groups'
40
+ version: '$1'
41
+
42
+ # Facebook Lite (https://play.google.com/store/apps/details?id=com.facebook.lite)
43
+ - regex: 'FBAN/EMA.+FBAV(?:[ /]([\d\.]+))?'
44
+ name: 'Facebook Lite'
45
+ version: '$1'
46
+
27
47
  # Facebook
28
48
  - regex: '(?:FBAV|com.facebook.katana)(?:[ /]([\d\.]+))?'
29
49
  name: 'Facebook'
@@ -52,10 +72,26 @@
52
72
  name: 'Google Plus'
53
73
  version: ''
54
74
 
75
+ # Google Drive (https://apps.apple.com/us/app/google-drive/id507874739)
76
+ - regex: 'Google.DriveExtension(?:/([\d\.]+))?'
77
+ name: 'Google Drive'
78
+ version: '$1'
79
+
55
80
  # WeChat
56
- - regex: 'MicroMessenger/([^ ]+)'
81
+ - regex: 'MicroMessenger/([^; ]+)'
82
+ name: 'WeChat'
83
+ version: '$1'
84
+ - regex: 'WeChat/([\d\.]+)'
57
85
  name: 'WeChat'
58
86
  version: '$1'
87
+ - regex: 'WeChatShareExtensionNew/([\d\.]+)'
88
+ name: 'WeChat Share Extension'
89
+ version: '$1'
90
+
91
+ # DingTalk
92
+ - regex: 'DingTalk/([0-9\.]+)'
93
+ name: 'DingTalk'
94
+ version: '$1'
59
95
 
60
96
  # Sina Weibo
61
97
  - regex: '.*__weibo__([0-9\.]+)__'
@@ -63,7 +99,7 @@
63
99
  version: '$1'
64
100
 
65
101
  # Pinterest
66
- - regex: 'Pinterest(?:/([\d\.]+))?'
102
+ - regex: 'Pinterest(?: for (?:Android(?: Tablet)?|iOS))?(?:/([\d\.]+))?'
67
103
  name: 'Pinterest'
68
104
  version: '$1'
69
105
 
@@ -77,6 +113,25 @@
77
113
  name: 'YouTube'
78
114
  version: '$1'
79
115
 
116
+ # Netflix (https://play.google.com/store/apps/details?id=com.netflix.mediaclient)
117
+ - regex: 'com.netflix.mediaclient(?:/(\d+\.[\d\.]+))?'
118
+ name: 'Netflix'
119
+ version: '$1'
120
+
121
+ # Downcast (www.downcastapp.com | https://apps.apple.com/us/app/downcast/id393858566)
122
+ - regex: 'Downcast/(\d+\.[\d\.]+)?(?:.+(?:!Mac)|$)'
123
+ name: 'Downcast'
124
+ version: '$1'
125
+
126
+ # Flipp (https://apps.apple.com/us/app/flipp-weekly-shopping/id725097967)
127
+ - regex: 'Flipp-iOS/.+CFNetwork'
128
+ name: 'Flipp'
129
+ version: ''
130
+
131
+ - regex: 'Flipp-iOS/(\d+[\.\d]+)'
132
+ name: 'Flipp'
133
+ version: '$1'
134
+
80
135
  # AFNetworking generic
81
136
  - regex: '([^/]+)/(\d+(?:\.\d+)+) \((?:iPhone|iPad); iOS [0-9\.]+; Scale/[0-9\.]+\)'
82
137
  name: '$1'
@@ -96,136 +151,931 @@
96
151
  - regex: 'Instacast(?:HD)?/(\d\.[\d\.abc]+) CFNetwork/([\d\.]+) Darwin/([\d\.]+)'
97
152
  name: 'Instacast'
98
153
  version: '$1'
99
- -
100
- regex: 'Podcasts/([\d\.]+)'
154
+ - regex: 'Podcasts/([\d\.]+)'
101
155
  name: 'Podcasts'
102
156
  version: '$1'
103
- -
104
- regex: 'Pocket Casts(?:, (?:Android|iOS) v([\d\.]+))?'
157
+ - regex: 'Pocket Casts(?:, (?:Android|iOS) v([\d\.]+))?'
105
158
  name: 'Pocket Casts'
106
159
  version: '$1'
107
- -
108
- regex: 'Podcat/([\d\.]+)'
160
+ - regex: 'Podcat/([\d\.]+)'
109
161
  name: 'Podcat'
110
162
  version: '$1'
111
-
112
- -
113
- regex: 'BeyondPod'
163
+ - regex: 'BeyondPod'
114
164
  name: 'BeyondPod'
115
165
  version:
116
- -
117
- regex: 'AntennaPod/?([\d\.]+)?'
166
+ - regex: 'AntennaPod/?([\d\.]+)?'
118
167
  name: 'AntennaPod'
119
168
  version: '$1'
120
- -
121
- regex: 'Overcast/([\d\.]+)'
169
+ - regex: 'Overcast/([\d\.]+)'
122
170
  name: 'Overcast'
123
171
  version: '$1'
124
- -
125
- regex: '(?:CastBox|fm.castbox.audiobook.radio.podcast)/?([\d\.]+)?'
172
+ - regex: '(?:CastBox|fm.castbox.audiobook.radio.podcast)/?([\d\.]+)?'
126
173
  name: 'CastBox'
127
174
  version: '$1'
128
- -
129
- regex: 'Player FM'
175
+ - regex: 'Player FM'
130
176
  name: 'Player FM'
131
177
  version: ''
132
- -
133
- regex: 'Podkicker(?: Pro)?/([\d\.]+)'
134
- name: 'Podkicker'
135
- version: '$1'
136
- -
137
- regex: 'PodcastRepublic/([\d\.]+)'
178
+ - regex: 'Podkicker( (?:Pro|Classic))?/([\d\.]+)'
179
+ name: 'Podkicker$1'
180
+ version: '$2'
181
+ - regex: 'PodcastRepublic/([\d\.]+)'
138
182
  name: 'Podcast Republic'
139
183
  version: '$1'
140
- -
141
- regex: 'Castro/(\d+)'
184
+ - regex: 'Castro/(\d+)'
142
185
  name: 'Castro'
143
186
  version: '$1'
144
- -
145
- regex: 'Castro 2 ([\d\.]+)/[\d]+ Like iTunes'
187
+ - regex: 'Castro 2 ([\d\.]+)/[\d]+ Like iTunes'
146
188
  name: 'Castro 2'
147
189
  version: '$1'
148
- -
149
- regex: 'Castro 2'
190
+ - regex: 'Castro 2'
150
191
  name: 'Castro 2'
151
192
  version: ''
152
- -
153
- regex: 'DoggCatcher'
193
+ - regex: 'DoggCatcher'
154
194
  name: 'DoggCatcher'
155
195
  version:
156
- -
157
- regex: 'PodcastAddict/v([\d]+)'
196
+ - regex: 'PodcastAddict/v([\d]+)'
158
197
  name: 'Podcast & Radio Addict'
159
198
  version: '$1'
160
- -
161
- regex: 'Podcat/([\d]+) CFNetwork/([\d\.]+) Darwin/([\d\.]+)'
199
+ - regex: 'Podcat(?:%202)?/([\d]+) CFNetwork'
162
200
  name: 'Podcat'
163
201
  version: '$1'
164
- -
165
- regex: 'i[cC]atcher[^\d]+([\d\.]+)'
202
+ - regex: 'iCatcher[^\d]+([\d\.]+)'
166
203
  name: 'iCatcher'
167
204
  version: '$1'
168
- -
169
- regex: 'YelpApp/([\d\.]+)'
205
+ - regex: 'YelpApp/([\d\.]+)'
170
206
  name: 'Yelp Mobile'
171
207
  version: '$1'
172
- -
173
- regex: 'jp.co.yahoo.android.yjtop/([\d\.]+)'
208
+ - regex: 'jp.co.yahoo.android.yjtop/([\d\.]+)'
174
209
  name: 'Yahoo! Japan'
175
210
  version: '$1'
176
- -
177
- regex: 'RSSRadio/([\d]+)?'
211
+ - regex: 'RSSRadio/([\d]+)?'
178
212
  name: 'RSSRadio'
179
213
  version: '$1'
180
- -
181
- regex: 'SogouSearch Android[\d\.]+ version([\d\.]+)?'
214
+ - regex: 'SogouSearch Android[\d\.]+ version([\d\.]+)?'
182
215
  name: 'SogouSearch App'
183
216
  version: '$1'
184
- -
185
- regex: 'NewsArticle/([\d\.]+)?'
217
+ - regex: 'NewsArticle/([\d\.]+)?'
186
218
  name: 'NewsArticle App'
187
219
  version: '$1'
188
- -
189
- regex: 'tieba/([\d\.]+)?'
220
+ - regex: 'tieba/([\d\.]+)?'
190
221
  name: 'tieba'
191
222
  version: '$1'
192
- -
193
- regex: 'com\.douban\.group/([\d\.]+)?'
223
+ - regex: 'com\.douban\.group/([\d\.]+)?'
194
224
  name: 'douban App'
195
225
  version: '$1'
196
- -
197
- regex: 'BingWeb/([\d\.]+)?'
226
+ - regex: 'BingWeb/([\d\.]+)?'
198
227
  name: 'BingWebApp'
199
228
  version: '$1'
200
- -
201
- regex: 'GSA/([\d\.]+)?'
229
+ - regex: '(?:com.google.GoogleMobile|GSA)/([\d\.]+)?'
202
230
  name: 'Google Search App'
203
231
  version: '$1'
204
- -
205
- regex: 'Flipboard/([\d\.]+)?'
232
+ - regex: 'Flipboard/([\d\.]+)?'
206
233
  name: 'Flipboard App'
207
234
  version: '$1'
208
- -
209
- regex: 'Instagram[ /]([\d\.]+)?'
235
+ - regex: 'Instagram[ /]([\d\.]+)?'
210
236
  name: 'Instagram App'
211
237
  version: '$1'
212
- -
213
- regex: 'baiduboxapp/([\d\.]+)?'
238
+ - regex: 'baiduboxapp/([\d\.]+)?'
214
239
  name: 'Baidu Box App'
215
240
  version: '$1'
216
- -
217
- regex: 'Crosswalk(?!.*(?:Streamy|QwantMobile))/([\d\.]+)?'
241
+ - regex: 'Crosswalk(?!.*(?:Streamy|QwantMobile))/([\d\.]+)?'
218
242
  name: 'CrosswalkApp'
219
243
  version: '$1'
220
- -
221
- regex: 'Twitter for iPhone[/]?([\d\.]+)?'
244
+ - regex: 'Twitter for iPhone[/]?([\d\.]+)?'
245
+ name: 'Twitter'
246
+ version: '$1'
247
+ - regex: 'Twitter/([\d\.]+)'
248
+ name: 'Twitter'
249
+ version: '$1'
250
+ - regex: 'TwitterAndroid[/]?([\d\.]+)?'
222
251
  name: 'Twitter'
223
252
  version: '$1'
224
- -
225
- regex: 'TopBuzz/([\d\.]+)'
253
+ # Pocket Casts (https://pocketcasts.com)
254
+ - regex: '^Pocket Casts'
255
+ name: 'Pocket Casts'
256
+ version: ''
257
+ # Gaana (https://gaana.com)
258
+ - regex: '^GaanaAndroid-([\d\.]+)'
259
+ name: 'Gaana'
260
+ version: '$1'
261
+ - regex: 'TopBuzz/([\d\.]+)'
226
262
  name: 'TopBuzz'
227
263
  version: '$1'
228
- -
229
- regex: 'Snapchat/([\d\.]+)'
264
+ - regex: 'Snapchat/([\d\.]+)'
230
265
  name: 'Snapchat'
231
266
  version: '$1'
267
+ - regex: 'AhaRadio2/([\d\.]+)'
268
+ name: 'Aha Radio 2'
269
+ version: '$1'
270
+ # Unibox (https://apps.apple.com/app/id933879046)
271
+ - regex: 'Unibox/([\d\.]+)'
272
+ name: 'Unibox'
273
+ version: ''
274
+
275
+ # Strimio (https://www.strimio.com/)
276
+ - regex: 'strimio(?:-desktop)/(\d+\.(?:[\.\d]+))?'
277
+ name: 'Strimio'
278
+ version: '$1'
279
+
280
+ # UnityPlayer
281
+ - regex: 'UnityPlayer/([\d\.]+)'
282
+ name: 'UnityPlayer'
283
+ version: '$1'
284
+
285
+ # (https://play.google.com/store/apps/details?id=cl.uchile.ing.adi.ucursos)
286
+ - regex: 'UCURSOS/v([\d\.]+)'
287
+ name: 'U-Cursos'
288
+ version: '$1'
289
+
290
+ # HeyTabBrowser or HeyTabAccount
291
+ - regex: 'HeyTapBrowser/([\d\.]+)'
292
+ name: 'HeyTapBrowser'
293
+ version: '$1'
294
+
295
+ # Roblox App
296
+ - regex: 'RobloxApp/([\d\.]+)'
297
+ name: 'Roblox'
298
+ version: '$1'
299
+
300
+ - regex: 'Viber/([\d\.]+)'
301
+ name: 'Viber'
302
+ version: '$1'
303
+
304
+ - regex: 'Siri/1'
305
+ name: 'Siri'
306
+ version: '1.0'
307
+
308
+ - regex: 'LinkedIn(?:App)?(?:/([\d\.]+))?'
309
+ name: 'LinkedIn'
310
+ version: '$1'
311
+
312
+ # https://apps.apple.com/ru/app/instapaper/id288545208
313
+ - regex: 'Instapaper/([\d\.]+)'
314
+ name: 'Instapaper'
315
+ version: '$1'
316
+
317
+ # https://apps.apple.com/us/app/keeper-password-manager/id287170072
318
+ - regex: 'Keeper/([\d\.]+)'
319
+ name: 'Keeper Password Manager'
320
+ version: '$1'
321
+
322
+ # https://apps.apple.com/us/app/skyeng-teachers/id1483049537
323
+ - regex: 'Skyeng Teachers/([\d\.]+)'
324
+ name: 'Skyeng Teachers'
325
+ version: '$1'
326
+
327
+ - regex: 'Kik/([\d\.]+) \(Android'
328
+ name: 'Kik'
329
+ version: '$1'
330
+
331
+ - regex: 'Procast/?([\d\.]+)?'
332
+ name: 'Procast'
333
+ version: '$1'
334
+
335
+ # DeviantArt (https://apps.apple.com/us/app/deviantart/id925219396)
336
+ - regex: 'DeviantArt/([\d\.]+)'
337
+ name: 'DeviantArt'
338
+ version: ''
339
+
340
+ # Discord (https://apps.apple.com/us/app/discord-talk-chat-hang-out/id985746746)
341
+ - regex: 'discord/([\d\.]+).+Electron'
342
+ name: 'Discord'
343
+ version: '$1'
344
+
345
+ - regex: 'discord(?:-Updater)?/([\d\.]+)'
346
+ name: 'Discord'
347
+ version: ''
348
+
349
+ # Covenant Eyes (https://apps.apple.com/us/app/covenant-eyes/id335318146)
350
+ - regex: 'Covenant%20Eyes/([\d\.]+)'
351
+ name: 'Covenant Eyes'
352
+ version: '$1'
353
+
354
+ # HP Smart (https://apps.apple.com/us/app/hp-smart/id469284907)
355
+ - regex: 'HP%20Smart/([\d\.]+)'
356
+ name: 'HP Smart'
357
+ version: ''
358
+
359
+ # Bitsboard (https://apps.apple.com/us/app/bitsboard-flashcards-games/id516842210)
360
+ - regex: 'Bitsboard/([\d\.]+)'
361
+ name: 'Bitsboard'
362
+ version: '$1'
363
+
364
+ # BetBull (https://apps.apple.com/us/app/betbull-sport-tips-casino/id1032680895)
365
+ - regex: 'Betbull/([\d\.]+)'
366
+ name: 'BetBull'
367
+ version: ''
368
+
369
+ # U-Cursos (https://apps.apple.com/us/app/u-cursos/id834515435)
370
+ - regex: 'U-Cursos/([\d\.]+)'
371
+ name: 'U-Cursos'
372
+ version: ''
373
+
374
+ # https://apps.apple.com/mt/app/1password-password-manager/id568903335
375
+ - regex: '1PasswordThumbs/([\d\.]+)'
376
+ name: '1Password'
377
+ version: '$1'
378
+
379
+ - regex: '(?:Microsoft Office )?(Access|Excel|OneDrive for Business|OneNote|PowerPoint|Project|Publisher|Visio|Word)[ /]([\d\.]+)'
380
+ name: 'Microsoft Office $1'
381
+ version: '$2'
382
+
383
+ # https://apps.apple.com/us/app/microsoft-onedrive/id477537958
384
+ - regex: 'OneDriveiOSApp/([\d\.]+)'
385
+ name: 'Microsoft OneDrive'
386
+ version: '$1'
387
+
388
+ - regex: 'Microsoft Office Mobile/([\d\.]+)'
389
+ name: 'Microsoft Office Mobile'
390
+ version: '$1'
391
+
392
+ # Skype
393
+ - regex: 'Skype/([\d\.]+)'
394
+ name: 'Skype'
395
+ version: '$1'
396
+
397
+ - regex: 'OC/([\d\.]+) \(Skype for Business\)'
398
+ name: 'Skype for Business'
399
+ version: '$1'
400
+
401
+ # https://apps.apple.com/us/app/skype-for-business/id605841731
402
+ - regex: 'iPhoneLync/([\d\.]+)'
403
+ name: 'Skype for Business'
404
+ version: '$1'
405
+
406
+ # TikTok (https://apps.apple.com/app/id835599320 | https://play.google.com/store/apps/details?id=com.zhiliaoapp.musically)
407
+ - regex: '(?:TikTok[/ ]|musical_ly_|AppName/musical_ly app_version/)(\d+\.(?:[\.\d]+))?'
408
+ name: 'TikTok'
409
+ version: '$1'
410
+
411
+ # https://apps.apple.com/app/id393499958
412
+ - regex: 'NAVER/(\d+[\.\d]+) CFNetwork'
413
+ name: 'Naver'
414
+ version: '$1'
415
+
416
+ # https://apps.apple.com/app/id1026349850
417
+ - regex: 'Copied/(\d+[\.\d]+) CFNetwork'
418
+ name: 'Copied'
419
+ version: ''
420
+
421
+ # https://apps.apple.com/app/id448639966
422
+ - regex: 'Pic%20Collage/(\d+[\.\d]+) CFNetwork'
423
+ name: 'Pic Collage'
424
+ version: '$1'
425
+
426
+ # https://apps.apple.com/app/id506003812
427
+ - regex: 'Papers/(\d+[\.\d]+) CFNetwork'
428
+ name: 'Papers'
429
+ version: '$1'
430
+
431
+ # https://apps.apple.com/app/id331787573
432
+ - regex: 'RoboForm/(\d+[\.\d]+) CFNetwork'
433
+ name: 'RoboForm'
434
+ version: ''
435
+
436
+ # https://apps.apple.com/app/id618783545
437
+ - regex: 'Slack/(\d+[\.\d]+) CFNetwork'
438
+ name: 'Slack'
439
+ version: ''
440
+
441
+ # https://apps.apple.com/us/app/id362057947
442
+ - regex: 'KAKAOTALK (\d+\.(?:[\.\d]+))?'
443
+ name: 'KakaoTalk'
444
+ version: '$1'
445
+
446
+ # https://apps.apple.com/us/app/shopee-t%E1%BA%BFt-sale-27-01/id959841449
447
+ - regex: 'ShopeeVN/([\d\.]+)'
448
+ name: 'Shopee'
449
+ version: '$1'
450
+
451
+ # https://apps.apple.com/us/app/sport1/id1185932089
452
+ - regex: 'SPORT1/([\d\.]+)'
453
+ name: 'SPORT1'
454
+ version: ''
455
+
456
+ # https://apps.apple.com/us/app/clovia-lingerie-shopping-app/id1243996857
457
+ - regex: 'Clovia/([\d\.]+)'
458
+ name: 'Clovia'
459
+ version: '$1'
460
+
461
+ # https://apps.apple.com/us/app/showme-interactive-whiteboard/id445066279
462
+ - regex: 'ShowMe/([\d\.]+)'
463
+ name: 'ShowMe'
464
+ version: '$1'
465
+
466
+ # https://apps.apple.com/us/app/wattpad-read-write-stories/id306310789
467
+ - regex: 'Wattpad/([\d\.]+)'
468
+ name: 'Wattpad'
469
+ version: '$1'
470
+
471
+ # https://apps.apple.com/us/app/the-wall-street-journal/id364387007
472
+ - regex: 'WSJ/([\d\.]+)'
473
+ name: 'The Wall Street Journal'
474
+ version: ''
475
+
476
+ # https://apps.apple.com/us/app/wh-question-cards-pro-who-what-when-where-why/id544870563
477
+ - regex: 'WH%20Questions/([\d\.]+)'
478
+ name: 'WH Questions'
479
+ version: '$1'
480
+
481
+ # https://apps.apple.com/us/app/whisper-share-express-meet/id506141837
482
+ - regex: 'whisper/([\d\.]+)'
483
+ name: 'Whisper'
484
+ version: ''
485
+
486
+ # https://apps.apple.com/us/app/opal-travel/id941006607
487
+ - regex: 'Opal/([\d\.]+)'
488
+ name: 'Opal Travel'
489
+ version: '$1'
490
+
491
+ # https://apps.apple.com/us/app/zalo/id579523206
492
+ - regex: 'Zalo/([\d\.]+)'
493
+ name: 'Zalo'
494
+ version: '$1'
495
+
496
+ # https://apps.apple.com/us/app/%D1%8F%D0%BD%D0%B4%D0%B5%D0%BA%D1%81/id1050704155
497
+ - regex: 'Yandex/([\d\.]+)'
498
+ name: 'Yandex'
499
+ version: ''
500
+
501
+ - regex: 'Zoho%20Chat/([\d\.]+)'
502
+ name: 'Zoho Chat'
503
+ version: '$1'
504
+
505
+ # Thunder (https://xl11.xunlei.com/)
506
+ - regex: 'Thunder/(\d+[\.\d]+)'
507
+ name: 'Thunder'
508
+ version: '$1'
509
+
510
+ # CGN (https://www.cgn.it/)
511
+ - regex: 'CGNBrowser/(\d+[\.\d]+)'
512
+ name: 'CGN'
513
+ version: '$1'
514
+
515
+ # Podbean (http://podbean.com | https://play.google.com/store/apps/details?id=com.podbean.app.podcast)
516
+ - regex: 'Podbean/.+App (\d+[\.\d]+)'
517
+ name: 'Podbean'
518
+ version: '$1'
519
+
520
+ # Alexa Media Player
521
+ - regex: 'AlexaMediaPlayer/(\d+[\.\d]+)'
522
+ name: 'Alexa Media Player'
523
+ version: '$1'
524
+
525
+ # TuneIn Radio Pro
526
+ - regex: 'TuneIn Radio Pro(?:[^/]*)/(\d+[\.\d]+)'
527
+ name: 'TuneIn Radio Pro'
528
+ version: '$1'
529
+ - regex: 'TuneIn(?: Radio(?:[^/]*))?/(\d+[\.\d]+)'
530
+ name: 'TuneIn Radio'
531
+ version: '$1'
532
+
533
+ # Podcaster
534
+ - regex: 'Podcaster/(\d+[\.\d]+)'
535
+ name: 'Podcaster'
536
+ version: '$1'
537
+
538
+ # DevCasts (https://apps.apple.com/app/id1481596184)
539
+ - regex: 'devcasts/(\d+[\.\d]+)'
540
+ name: 'DevCasts'
541
+ version: '$1'
542
+
543
+ # Swoot
544
+ - regex: 'Swoot/(\d+[\.\d]+)'
545
+ name: 'Swoot'
546
+ version: '$1'
547
+
548
+ # RadioPublic (https://play.google.com/store/apps/details?id=com.radiopublic.android)
549
+ - regex: 'RadioPublic/android-(\d+[\.\d]+)'
550
+ name: 'RadioPublic'
551
+ version: '$1'
552
+
553
+ # Podimo (https://play.google.com/store/apps/details?id=com.podimo)
554
+ - regex: 'Podimo/(\d+[\.\d]+)'
555
+ name: 'Podimo'
556
+ version: '$1'
557
+
558
+ # Evolve Podcast (https://apps.apple.com/us/app/id1199070742)
559
+ - regex: 'com.evolve.podcast/(\d+[\.\d]+)'
560
+ name: 'Evolve Podcast'
561
+ version: '$1'
562
+
563
+ - regex: ' Rocket.Chat\+?/(\d+[\.\d]+)'
564
+ name: 'Rocket Chat'
565
+ version: '$1'
566
+
567
+ # Pandora
568
+ - regex: '^Pandora Audio.+Android'
569
+ name: 'Pandora'
570
+ version: ''
571
+
572
+ # NPR One https://play.google.com/store/apps/details?id=org.npr.one
573
+ - regex: '^NPROneAndroid'
574
+ name: 'NPR One'
575
+ version: ''
576
+
577
+ # Wirtschafts Woche Nachrichte https://apps.apple.com/de/app/wirtschaftswoche-nachrichten/id1339187646
578
+ - regex: '^WirtschaftsWoche-iOS-(\d+[\.\d]+)'
579
+ name: 'Wirtschafts Woche'
580
+ version: '$1'
581
+
582
+ - regex: '^TVirl/(\d+[\.\d]+)'
583
+ name: 'TVirl'
584
+ version: '$1'
585
+
586
+ # ChMate https://play.google.com/store/apps/details?id=jp.co.airfront.android.a2chMate
587
+ - regex: '2?chMate/(\d+[\.\d]+)'
588
+ name: 'ChMate'
589
+ version: '$1'
590
+
591
+ # 2tch https://apps.apple.com/jp/app/2tch/id305982914
592
+ - regex: '2tch/(\d+[\.\d]+)'
593
+ name: '2tch'
594
+ version: '$1'
595
+
596
+ # Ciisaa https://play.google.com/store/apps/details?id=com.gmail.aosoan.ciisaa
597
+ - regex: 'Ciisaa/(\d+[\.\d]+)'
598
+ name: 'Ciisaa'
599
+ version: '$1'
600
+
601
+ # BB2C https://itunes.apple.com/us/app/bb2c/id298820042?mt=8
602
+ - regex: 'BB2C (\d+[\.\d]+)'
603
+ name: 'BB2C'
604
+ version: '$1'
605
+
606
+ # twinkle https://itunes.apple.com/app/twinkle/id463142843
607
+ - regex: 'twinkle/(\d+[\.\d]+)'
608
+ name: 'twinkle'
609
+ version: '$1'
610
+
611
+ # JaneStyle https://apps.apple.com/app/id1157926535
612
+ - regex: 'JaneStyle_iOS/(\d+[\.\d]+)'
613
+ name: 'JaneStyle'
614
+ version: '$1'
615
+
616
+ # Binance https://play.google.com/store/apps/details?id=com.binance.dev
617
+ - regex: 'BNC/.+\(Android (\d+[\.\d]+)\)'
618
+ name: 'Binance'
619
+ version: '$1'
620
+
621
+ # Binance (https://www.binance.com/en/desktop-download)
622
+ - regex: 'Binance/(\d+[\.\d]+)'
623
+ name: 'Binance'
624
+ version: '$1'
625
+
626
+ # My World https://apps.apple.com/app/id598556821
627
+ - regex: 'ru\.mail\.my/(\d+[\.\d]+)'
628
+ name: 'My World'
629
+ version: '$1'
630
+
631
+ # Odnoklassniki https://play.google.com/store/apps/details?id=ru.ok.android https://apps.apple.com/app/id398465290
632
+ - regex: 'OK(?:Android|iOS)/([\d\.]+)'
633
+ name: 'Odnoklassniki'
634
+ version: '$1'
635
+
636
+ # YakYak https://github.com/yakyak/yakyak
637
+ - regex: 'yakyak/(\d+[\.\d]+)'
638
+ name: 'YakYak'
639
+ version: '$1'
640
+
641
+ # Microsoft Teams (https://www.microsoft.com/en/microsoft-teams/group-chat-software)
642
+ - regex: 'Teams/(\d+[\.\d]+)'
643
+ name: 'Teams'
644
+ version: '$1'
645
+
646
+ - regex: 'TeamsMobile-iOS'
647
+ name: 'Teams'
648
+ version: ''
649
+
650
+ # Streamlabs OBS (https://streamlabs.com/)
651
+ - regex: 'StreamlabsOBS/(\d+[\.\d]+)'
652
+ name: 'Streamlabs OBS'
653
+ version: '$1'
654
+
655
+ # Blitz (https://blitz.gg/)
656
+ - regex: 'Blitz/([\d\.]+)'
657
+ name: 'Blitz'
658
+ version: '$1'
659
+
660
+ # OfferUp (https://play.google.com/store/apps/details?id=com.offerup)
661
+ - regex: 'OfferUp/([\d\.]+)'
662
+ name: 'OfferUp'
663
+ version: '$1'
664
+
665
+ # Vuhuv (https://play.google.com/store/apps/details?id=com.vuhuv)
666
+ - regex: 'Vuhuv/([\d\.]+)'
667
+ name: 'Vuhuv'
668
+ version: '$1'
669
+
670
+ - regex: '.+/(?:gfibertv|gftv200)-([\d]+)-'
671
+ name: 'Google Fiber TV'
672
+ version: '$1'
673
+
674
+ # QuickCast (https://play.google.com/store/apps/details?id=com.wukongtv.wkcast.intl)
675
+ - regex: 'QuickCast$'
676
+ name: 'QuickCast'
677
+ version: ''
678
+
679
+ # AliExpress (https://play.google.com/store/apps/details?id=com.alibaba.aliexpresshd)
680
+ - regex: 'Aliexpress(?:Android)?/([\d\.]+)'
681
+ name: 'AliExpress'
682
+ version: '$1'
683
+
684
+ # Blue Proxy (https://play.google.com/store/apps/details?id=com.udicorn.proxy)
685
+ - regex: 'Blue Proxy/([\d\.]+)'
686
+ name: 'Blue Proxy'
687
+ version: '$1'
688
+
689
+ # https://www.n-tv.de/
690
+ - regex: 'ntvmobil/'
691
+ name: 'NTV Mobil'
692
+ version: ''
693
+
694
+ # COAF SMART Citizen (https://apps.apple.com/app/id1478339047)
695
+ - regex: 'COAF%20SMART%20Citizen/'
696
+ name: 'COAF SMART Citizen'
697
+ version: ''
698
+
699
+ # GitHub Desktop (https://desktop.github.com/)
700
+ - regex: 'GitHubDesktop/([\d\.]+)'
701
+ name: 'GitHub Desktop'
702
+ version: '$1'
703
+
704
+ # Logi Options+ (https://www.logitech.com/en-us/software/logi-options-plus.html)
705
+ - regex: 'logioptionsplus/([\d\.]+)'
706
+ name: 'Logi Options+'
707
+ version: '$1'
708
+
709
+ # Emby Theater (https://emby.media/emby-theater.html)
710
+ - regex: 'EmbyTheater/([\d\.]+)'
711
+ name: 'Emby Theater'
712
+ version: '$1'
713
+
714
+ # Y8 Browser (https://www.y8.com/)
715
+ - regex: 'y8-browser/([\d\.]+)'
716
+ name: 'Y8 Browser'
717
+ version: '$1'
718
+
719
+ # NuMuKi Browser (https://www.numuki.com/app-download/)
720
+ - regex: 'NuMuKiBrowser/([\d\.]+)'
721
+ name: 'NuMuKi Browser'
722
+ version: '$1'
723
+
724
+ # Landis+Gyr AIM Browser (https://www.landisgyr.eu/product/gridstream-aim/)
725
+ - regex: 'LandisGyrAIMbrowser/(\d+[\.\d]+)'
726
+ name: 'Landis+Gyr AIM Browser'
727
+ version: '$1'
728
+
729
+ # Visual Studio Code (https://code.visualstudio.com/)
730
+ - regex: 'Code/(\d+[\.\d]+)'
731
+ name: 'Visual Studio Code'
732
+ version: '$1'
733
+
734
+ # Wireshark (https://www.wireshark.org)
735
+ - regex: 'Wireshark/(\d+[\.\d]+)'
736
+ name: 'Wireshark'
737
+ version: '$1'
738
+
739
+ # Samsung Magician (https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/magician/)
740
+ - regex: 'Magician'
741
+ name: 'Samsung Magician'
742
+ version: ''
743
+
744
+ # Razer Synapse (https://www.razer.com/synapse-3)
745
+ - regex: 'Razer Central PC'
746
+ name: 'Razer Synapse'
747
+ version: ''
748
+
749
+ # Git (https://git-scm.com/download/win)
750
+ - regex: 'git/(\d+[\.\d]+)'
751
+ name: 'Git'
752
+ version: '$1'
753
+
754
+ # Google Podcasts (https://apps.apple.com/us/app/google-podcasts/id1398000105)
755
+ - regex: 'GooglePodcasts/(\d+[\.\d]+)'
756
+ name: 'Google Podcasts'
757
+ version: '$1'
758
+
759
+ # Windows CryptoAPI (https://www.microsoft.com/en-us/)
760
+ - regex: 'Microsoft-CryptoAPI/(\d+[\.\d]+)'
761
+ name: 'Windows CryptoAPI'
762
+ version: ''
763
+
764
+ # Windows Delivery Optimization (https://www.microsoft.com/en-us/)
765
+ - regex: 'Microsoft-Delivery-Optimization'
766
+ name: 'Windows Delivery Optimization'
767
+ version: ''
768
+
769
+ # Windows Update Agent (https://www.microsoft.com/en-us/)
770
+ - regex: 'Windows-Update-Agent'
771
+ name: 'Windows Update Agent'
772
+ version: ''
773
+
774
+ # Dr. Watson (https://www.microsoft.com/en-us/)
775
+ - regex: '^MSDW'
776
+ name: 'Dr. Watson'
777
+ version: ''
778
+
779
+ # qBittorrent (https://www.qbittorrent.org/)
780
+ - regex: 'qBittorrent/(\d+[\.\d]+)'
781
+ name: 'qBittorrent'
782
+ version: '$1'
783
+
784
+ # CPU-Z (https://www.cpuid.com/)
785
+ - regex: '^CPUID'
786
+ name: 'CPU-Z'
787
+ version: ''
788
+
789
+ # AIDA64 (https://www.aida64.com/)
790
+ - regex: 'AIDA64'
791
+ name: 'AIDA64'
792
+ version: ''
793
+
794
+ # HandBrake (https://handbrake.fr/)
795
+ - regex: 'HandBrake Win Upd (\d+[\.\d]+)'
796
+ name: 'HandBrake'
797
+ version: '$1'
798
+
799
+ # CCleaner (https://www.ccleaner.com/)
800
+ - regex: 'CCleaner, (\d+[\.\d]+)'
801
+ name: 'CCleaner'
802
+ version: '$1'
803
+
804
+ # Edge Update (https://www.microsoft.com/en-us/)
805
+ - regex: 'Microsoft Edge Update/(\d+[\.\d]+)'
806
+ name: 'Edge Update'
807
+ version: '$1'
808
+
809
+ # Chrome Update (https://www.google.com/chrome/)
810
+ - regex: 'Google(?:Software| )Update/(\d+[\.\d]+)'
811
+ name: 'Chrome Update'
812
+ version: '$1'
813
+
814
+ # Bose Music (https://apps.apple.com/us/app/bose-music/id1364986984)
815
+ - regex: 'Bose Music'
816
+ name: 'Bose Music'
817
+ version: ''
818
+
819
+ # HikConnect (https://apps.apple.com/us/app/hik-connect-for-end-user/id1087803190)
820
+ - regex: 'HikConnect'
821
+ name: 'Hik-Connect'
822
+ version: ''
823
+
824
+ # Cortana (https://www.microsoft.com/en-us/)
825
+ - regex: 'Cortana (\d+[\.\d]+)'
826
+ name: 'Cortana'
827
+ version: '$1'
828
+
829
+ # Opera News (https://play.google.com/store/apps/details?id=com.opera.app.news)
830
+ - regex: 'Opera News/(\d+[\.\d]+)'
831
+ name: 'Opera News'
832
+ version: '$1'
833
+
834
+ # Adobe Creative Cloud (https://apps.apple.com/us/app/adobe-creative-cloud/id852473028)
835
+ - regex: 'CreativeCloud/(\d+[\.\d]+)'
836
+ name: 'Adobe Creative Cloud'
837
+ version: '$1'
838
+
839
+ # rekordbox (https://rekordbox.com/en/)
840
+ - regex: 'rekordbox/(\d+[\.\d]+)'
841
+ name: 'rekordbox'
842
+ version: '$1'
843
+
844
+ # Windows Push Notification Services (https://www.microsoft.com/en-us/)
845
+ - regex: 'Microsoft-WNS/(\d+[\.\d]+)'
846
+ name: 'Windows Push Notification Services'
847
+ version: '$1'
848
+
849
+ # Background Intelligent Transfer Service (https://www.microsoft.com/en-us/)
850
+ - regex: 'Microsoft BITS/(\d+[\.\d]+)'
851
+ name: 'Background Intelligent Transfer Service'
852
+ version: '$1'
853
+
854
+ # ESET Remote Administrator (https://www.eset.com/me/business/remote-management/remote-administrator/)
855
+ - regex: 'ERA Agent Update'
856
+ name: 'ESET Remote Administrator'
857
+ version: ''
858
+
859
+ # Epic Games Launcher (https://www.epicgames.com/store/en-US/download)
860
+ - regex: 'EpicGamesLauncher/(\d+[\.\d]+)'
861
+ name: 'Epic Games Launcher'
862
+ version: '$1'
863
+
864
+ # WebDAV (https://www.microsoft.com/en-us/)
865
+ - regex: 'Microsoft-WebDAV-MiniRedir'
866
+ name: 'WebDAV'
867
+ version: ''
868
+
869
+ # Battle.net (https://eu.shop.battle.net/en-us)
870
+ - regex: 'Battle.net/(\d+[\.\d]+)'
871
+ name: 'Battle.net'
872
+ version: '$1'
873
+
874
+ # Bookshelf (https://play.google.com/store/apps/details?id=com.vitalsource.bookshelf)
875
+ - regex: 'Bookshelf-Android/(\d+[\.\d]+)'
876
+ name: 'Bookshelf'
877
+ version: '$1'
878
+
879
+ # Rave Social (https://www.ravesocial.com/)
880
+ - regex: 'RaveSocial/(\d+[\.\d]+)'
881
+ name: 'Rave Social'
882
+ version: '$1'
883
+
884
+ # Word Cookies! (https://apps.apple.com/us/app/word-cookies/id1153883316)
885
+ - regex: 'wordcookies/(\d+[\.\d]+)'
886
+ name: 'Word Cookies!'
887
+ version: '$1'
888
+
889
+ # Bible KJV (https://apps.apple.com/us/app/bible-kjv/id544098932)
890
+ - regex: 'com.meevii.bibleKJV/(\d+[\.\d]+)'
891
+ name: 'Bible KJV'
892
+ version: '$1'
893
+
894
+ # MetaTrader (https://www.metatrader5.com/)
895
+ - regex: 'MetaTrader 5 Terminal/(\d+[\.\d]+)'
896
+ name: 'MetaTrader'
897
+ version: '$1'
898
+
899
+ # Paint by Number (https://apps.apple.com/us/app/paint-by-number-coloring-games/id1420058690)
900
+ - regex: 'com.paint.bynumber/(\d+[\.\d]+)'
901
+ name: 'Paint by Number'
902
+ version: '$1'
903
+
904
+ # ZEPETO (https://apps.apple.com/app/id1350301428)
905
+ - regex: 'zepeto_global/(\d+[\.\d]+)'
906
+ name: 'ZEPETO'
907
+ version: '$1'
908
+
909
+ # Jungle Disk (https://www.jungledisk.com/)
910
+ - regex: 'Jungle Disk Workgroup HTTP'
911
+ name: 'Jungle Disk'
912
+ version: ''
913
+
914
+ # Nextcloud (https://play.google.com/store/apps/details?id=com.nextcloud.client)
915
+ - regex: '(?:mirall|Nextcloud-android)/(\d+[\.\d]+)'
916
+ name: 'Nextcloud'
917
+ version: '$1'
918
+
919
+ # GoNative (https://gonative.io/)
920
+ - regex: 'GoNativeIOS/(\d+[\.\d]+)'
921
+ name: 'GoNative'
922
+ version: '$1'
923
+
924
+ # Pandora (https://apps.apple.com/us/app/pandora-music-podcasts/id284035177)
925
+ - regex: 'Pandora/(\d+[\.\d]+)'
926
+ name: 'Pandora'
927
+ version: '$1'
928
+
929
+ # Blackboard (https://apps.apple.com/us/app/blackboard/id950424861)
930
+ - regex: 'Blackboard/(\d+[\.\d]+)'
931
+ name: 'Blackboard'
932
+ version: '$1'
933
+
934
+ - regex: 'Blackboard/unspecified'
935
+ name: 'Blackboard'
936
+ version: ''
937
+
938
+ # QQMusic (https://apps.apple.com/cn/app/qq%E9%9F%B3%E4%B9%90-%E5%90%AC%E6%88%91%E6%83%B3%E5%90%AC/id414603431)
939
+ - regex: 'QQMusic/(\d+[\.\d]+)'
940
+ name: 'QQMusic'
941
+ version: '$1'
942
+
943
+ # eToro (https://www.etoro.com/)
944
+ - regex: 'etoro-cordova-app'
945
+ name: 'eToro'
946
+ version: ''
947
+
948
+ # Avid Link (https://www.avid.com/products/avid-link)
949
+ - regex: 'Avid Link Desktop App/(\d+[\.\d]+)'
950
+ name: 'Avid Link'
951
+ version: '$1'
952
+
953
+ # Netflix (https://www.netflix.com/)
954
+ - regex: 'Netflix/(\d+[\.\d]+)'
955
+ name: 'Netflix'
956
+ version: '$1'
957
+
958
+ # Google Tag Manager (https://www.google.com/)
959
+ - regex: 'GoogleTagManager/(\d+[\.\d]+)'
960
+ name: 'Google Tag Manager'
961
+ version: '$1'
962
+
963
+ # Adobe Synchronizer (https://www.adobe.com/)
964
+ - regex: 'Adobe Synchronizer (\d+[\.\d]+)'
965
+ name: 'Adobe Synchronizer'
966
+ version: '$1'
967
+
968
+ # BlueStacks (https://www.bluestacks.com/)
969
+ - regex: 'BlueStacks(?: 5)?/(\d+[\.\d]+)'
970
+ name: 'BlueStacks'
971
+ version: '$1'
972
+
973
+ # PowerShell (https://www.microsoft.com/en-us/)
974
+ - regex: 'WindowsPowerShell/(\d+[\.\d]+)'
975
+ name: 'PowerShell'
976
+ version: '$1'
977
+
978
+ # GlobalProtect (https://www.paloaltonetworks.com/products/globalprotect)
979
+ - regex: 'PAN GlobalProtect/(\d+[\.\d]+)'
980
+ name: 'GlobalProtect'
981
+ version: '$1'
982
+
983
+ # Theyub
984
+ - regex: 'Theyub v(\d+[\.\d]+)'
985
+ name: 'Theyub'
986
+ version: '$1'
987
+
988
+ # BBC News
989
+ - regex: 'BBCNewsUKWatchApp/(\d+[\.\d]+)'
990
+ name: 'BBC News'
991
+ version: '$1'
992
+
993
+ # TradingView (https://www.tradingview.com/)
994
+ - regex: 'TradingView/(\d+[\.\d]+)'
995
+ name: 'TradingView'
996
+ version: '$1'
997
+
998
+ # Instabridge (https://instabridge.com/en/)
999
+ - regex: 'Instabridge'
1000
+ name: 'Instabridge'
1001
+ version: ''
1002
+
1003
+ # Be Focused (https://apps.apple.com/app/id973130201)
1004
+ - regex: 'Be Focused/(\d+\.[\.\d]+)?'
1005
+ name: 'Be Focused'
1006
+ version: '$1'
1007
+
1008
+ # Focus Matrix (https://apps.apple.com/app/id1087284172)
1009
+ - regex: 'Focus Matrix/(\d+\.[\.\d]+)?'
1010
+ name: 'Focus Matrix'
1011
+ version: '$1'
1012
+
1013
+ # Focus Keeper (https://apps.apple.com/app/id867374917)
1014
+ - regex: 'Focuskeeper/(\d+\.[\.\d]+)?'
1015
+ name: 'Focus Keeper'
1016
+ version: '$1'
1017
+
1018
+ # Quick Search TV (https://play.google.com/store/apps/details?id=com.aospstudio.tvsearch)
1019
+ - regex: 'Quick Search TV/(\d+\.[\.\d]+)'
1020
+ name: 'Quick Search TV'
1021
+ version: '$1'
1022
+
1023
+ # Microsoft Store (https://www.microsoft.com/en-us/store/apps/windows)
1024
+ - regex: 'WindowsStoreSDK'
1025
+ name: 'Microsoft Store'
1026
+ version: ''
1027
+
1028
+ # ASUS Updater (https://www.asus.com/)
1029
+ - regex: 'Asus Update/(\d+\.[\.\d]+)'
1030
+ name: 'ASUS Updater'
1031
+ version: '$1'
1032
+
1033
+ # IMO.IM HD Version https://play.google.com/store/apps/details?id=com.imo.android.imoimhd
1034
+ - regex: 'imoAndroid/(20\d{2}.[\.\d]+)'
1035
+ name: 'IMO HD Video Calls & Chat'
1036
+ version: '$1'
1037
+
1038
+ # IMO.IM https://play.google.com/store/apps/details?id=com.imo.android.imoim
1039
+ - regex: 'imoAndroid/(\d+\.[\.\d]+)'
1040
+ name: 'IMO International Calls & Chat'
1041
+ version: '$1'
1042
+
1043
+ # Microsoft Bing Search (https://play.google.com/store/apps/details?id=com.microsoft.bing | https://apps.apple.com/us/app/microsoft-bing-search/id345323231)
1044
+ - regex: 'BingSapphire/(\d+\.[\.\d]+)'
1045
+ name: 'Microsoft Bing Search'
1046
+ version: '$1'
1047
+
1048
+ # HiSearch
1049
+ - regex: '.+HiSearch/(\d+\.[\.\d]+)'
1050
+ name: 'HiSearch'
1051
+ version: '$1'
1052
+
1053
+ # RDDocuments (https://apps.apple.com/app/id364901807)
1054
+ - regex: 'RDDocuments/(\d+\.[\.\d]+)'
1055
+ name: 'RDDocuments'
1056
+ version: '$1'
1057
+
1058
+ # F-Secure SAFE (https://apps.apple.com/app/f-secure-safe/id572847748)
1059
+ - regex: 'FSCDCSafe (\d+\.[\.\d]+)'
1060
+ name: 'F-Secure SAFE'
1061
+ version: '$1'
1062
+
1063
+ # Twitterrific (https://apps.apple.com/us/app/twitterrific-tweet-your-way/id580311103)
1064
+ - regex: 'Twitterrific'
1065
+ name: 'Twitterrific'
1066
+ version: ''
1067
+
1068
+ # Uconnect LIVE (https://apps.apple.com/it/app/uconnect-live/id881830261?l=en)
1069
+ - regex: 'UconnectLive'
1070
+ name: 'Uconnect LIVE'
1071
+ version: ''
1072
+
1073
+ # Wayback Machine (https://apps.apple.com/us/app/wayback-machine/id1472432422)
1074
+ - regex: 'Wayback%20Machine%20Extension'
1075
+ name: 'Wayback Machine'
1076
+ version: ''
1077
+
1078
+ # Q-municate (https://www.qmunicateh10.com | https://apps.apple.com/gb/app/q-municate/id909698517)
1079
+ - regex: 'com.Nanoteq.QmunicateH10p.+/(\d+\.[\.\d]+) \('
1080
+ name: 'Q-municate'
1081
+ version: '$1'