device_detector 1.0.0 → 1.0.1
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/.travis.yml +5 -4
- data/CHANGELOG.md +4 -4
- data/README.md +6 -8
- data/lib/device_detector.rb +2 -2
- data/lib/device_detector/version.rb +1 -1
- data/regexes/bots.yml +461 -10
- data/regexes/client/browser_engine.yml +4 -1
- data/regexes/client/browsers.yml +167 -17
- data/regexes/client/feed_readers.yml +30 -0
- data/regexes/client/libraries.yml +38 -0
- data/regexes/client/mediaplayers.yml +4 -0
- data/regexes/client/mobile_apps.yml +82 -1
- data/regexes/client/pim.yml +4 -0
- data/regexes/device/mobiles.yml +1761 -138
- data/regexes/device/portable_media_player.yml +2 -4
- data/regexes/device/televisions.yml +16 -2
- data/regexes/oss.yml +25 -4
- data/spec/device_detector/detector_fixtures_spec.rb +51 -11
- data/spec/device_detector_spec.rb +20 -0
- data/spec/fixtures/client/browser.yml +446 -11
- data/spec/fixtures/client/feed_reader.yml +25 -1
- data/spec/fixtures/client/library.yml +55 -1
- data/spec/fixtures/client/mediaplayer.yml +6 -0
- data/spec/fixtures/client/mobile_app.yml +81 -1
- data/spec/fixtures/client/pim.yml +7 -1
- data/spec/fixtures/detector/bots.yml +668 -108
- data/spec/fixtures/detector/camera.yml +14 -8
- data/spec/fixtures/detector/car_browser.yml +4 -3
- data/spec/fixtures/detector/console.yml +38 -24
- data/spec/fixtures/detector/desktop.yml +981 -687
- data/spec/fixtures/detector/feature_phone.yml +82 -41
- data/spec/fixtures/detector/feed_reader.yml +37 -0
- data/spec/fixtures/detector/mobile_apps.yml +257 -0
- data/spec/fixtures/detector/phablet.yml +569 -163
- data/spec/fixtures/detector/portable_media_player.yml +24 -16
- data/spec/fixtures/detector/smart_display.yml +8 -5
- data/spec/fixtures/detector/smartphone-1.yml +4698 -4235
- data/spec/fixtures/detector/smartphone-2.yml +4804 -4256
- data/spec/fixtures/detector/smartphone-3.yml +5060 -4603
- data/spec/fixtures/detector/smartphone-4.yml +6803 -2637
- data/spec/fixtures/detector/smartphone-5.yml +7044 -0
- data/spec/fixtures/detector/smartphone.yml +4380 -3904
- data/spec/fixtures/detector/tablet-1.yml +4530 -4036
- data/spec/fixtures/detector/tablet-2.yml +4875 -25
- data/spec/fixtures/detector/tablet.yml +3266 -2764
- data/spec/fixtures/detector/tv.yml +563 -206
- data/spec/fixtures/detector/unknown.yml +1033 -863
- data/spec/fixtures/parser/oss.yml +114 -2
- data/spec/fixtures/parser/vendorfragments.yml +2 -2
- metadata +5 -3
data/regexes/client/browsers.yml
CHANGED
@@ -12,6 +12,20 @@
|
|
12
12
|
engine:
|
13
13
|
default: 'Edge'
|
14
14
|
|
15
|
+
# Microsoft Edge for iOS
|
16
|
+
- regex: 'EdgiOS[ /](\d+[\.\d]+)'
|
17
|
+
name: 'Microsoft Edge'
|
18
|
+
version: '$1'
|
19
|
+
engine:
|
20
|
+
default: 'WebKit'
|
21
|
+
|
22
|
+
# Microsoft Edge for Android
|
23
|
+
- regex: 'EdgA[ /](\d+[\.\d]+)'
|
24
|
+
name: 'Microsoft Edge'
|
25
|
+
version: '$1'
|
26
|
+
engine:
|
27
|
+
default: 'Blink'
|
28
|
+
|
15
29
|
# 360 Browser
|
16
30
|
- regex: 'QIHU 360[ES]E'
|
17
31
|
name: '360 Browser'
|
@@ -45,6 +59,25 @@
|
|
45
59
|
engine:
|
46
60
|
default: 'Gecko'
|
47
61
|
|
62
|
+
# Waterfox
|
63
|
+
- regex: 'Waterfox(?:/(\d+[\.\d]+))?'
|
64
|
+
name: 'Waterfox'
|
65
|
+
version: '$1'
|
66
|
+
engine:
|
67
|
+
default: 'Gecko'
|
68
|
+
|
69
|
+
#AlohaBrowser
|
70
|
+
- regex: 'AlohaBrowser(?:/(\d+[\.\d]+))?'
|
71
|
+
name: 'Aloha Browser'
|
72
|
+
version: '$1'
|
73
|
+
|
74
|
+
#Epic
|
75
|
+
- regex: 'Epic(?:/(\d+[\.\d]+))?'
|
76
|
+
name: 'Epic'
|
77
|
+
version: '$1'
|
78
|
+
engine:
|
79
|
+
default: 'Gecko'
|
80
|
+
|
48
81
|
#Fennec (Firefox for mobile)
|
49
82
|
- regex: 'Fennec(?:/(\d+[\.\d]+))?'
|
50
83
|
name: 'Fennec'
|
@@ -103,6 +136,11 @@
|
|
103
136
|
engine:
|
104
137
|
default: 'Blink'
|
105
138
|
|
139
|
+
#Iridium
|
140
|
+
- regex: 'Iridium(?:/(\d+[\.\d]+))?'
|
141
|
+
name: 'Iridium'
|
142
|
+
version: '$1'
|
143
|
+
|
106
144
|
#Iceweasel
|
107
145
|
- regex: 'Iceweasel(?:/(\d+[\.\d]+))?'
|
108
146
|
name: 'Iceweasel'
|
@@ -167,6 +205,18 @@
|
|
167
205
|
engine:
|
168
206
|
default: 'Gecko'
|
169
207
|
|
208
|
+
#Firefox Focus / Firefox Klar
|
209
|
+
- regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))?'
|
210
|
+
name: 'Firefox Focus'
|
211
|
+
version: '$1'
|
212
|
+
|
213
|
+
#Cyberfox
|
214
|
+
- regex: 'Cyberfox(?:/(\d+[\.\d]+))?'
|
215
|
+
name: 'Cyberfox'
|
216
|
+
version: '$1'
|
217
|
+
engine:
|
218
|
+
default: 'Gecko'
|
219
|
+
|
170
220
|
#Swiftfox
|
171
221
|
- regex: 'Firefox/(\d+[\.\d]+).*\(Swiftfox\)'
|
172
222
|
name: 'Swiftfox'
|
@@ -174,6 +224,13 @@
|
|
174
224
|
engine:
|
175
225
|
default: 'Gecko'
|
176
226
|
|
227
|
+
#Firefox Mobile
|
228
|
+
- regex: '(Mobile|Tablet).*Firefox(?:/(\d+[\.\d]+))?'
|
229
|
+
name: 'Firefox Mobile'
|
230
|
+
version: '$2'
|
231
|
+
engine:
|
232
|
+
default: 'Gecko'
|
233
|
+
|
177
234
|
#Firefox
|
178
235
|
- regex: 'Firefox(?:/(\d+[\.\d]+))?'
|
179
236
|
name: 'Firefox'
|
@@ -186,7 +243,7 @@
|
|
186
243
|
engine:
|
187
244
|
default: 'Gecko'
|
188
245
|
- regex: 'FxiOS/(\d+[\.\d]+)'
|
189
|
-
name: 'Firefox'
|
246
|
+
name: 'Firefox Mobile'
|
190
247
|
version: 'iOS $1'
|
191
248
|
engine:
|
192
249
|
default: 'WebKit'
|
@@ -230,6 +287,21 @@
|
|
230
287
|
engine:
|
231
288
|
default: '' # Mosaic in the first versions, then Gecko
|
232
289
|
|
290
|
+
#Polarity
|
291
|
+
- regex: '(?:Polarity)(?:[/ ](\d+[\.\d]+))?'
|
292
|
+
name: 'Polarity'
|
293
|
+
version: '$1'
|
294
|
+
|
295
|
+
#QupZilla
|
296
|
+
- regex: '(?:QupZilla)(?:[/ ](\d+[\.\d]+))?'
|
297
|
+
name: 'QupZilla'
|
298
|
+
version: '$1'
|
299
|
+
|
300
|
+
#Dooble
|
301
|
+
- regex: '(?:Dooble)(?:[/ ](\d+[\.\d]+))?'
|
302
|
+
name: 'Dooble'
|
303
|
+
version: '$1'
|
304
|
+
|
233
305
|
#Opera
|
234
306
|
- regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
|
235
307
|
name: 'Opera Mobile'
|
@@ -238,7 +310,19 @@
|
|
238
310
|
default: 'Presto'
|
239
311
|
versions:
|
240
312
|
15: 'Blink'
|
241
|
-
- regex: 'Opera
|
313
|
+
- regex: 'Opera/(\d+[\.\d]+).+Opera Mobi'
|
314
|
+
name: 'Opera Mobile'
|
315
|
+
version: '$1'
|
316
|
+
engine:
|
317
|
+
default: 'Presto'
|
318
|
+
versions:
|
319
|
+
15: 'Blink'
|
320
|
+
- regex: 'Opera ?Mini/(?:att/)?(\d+[\.\d]+)'
|
321
|
+
name: 'Opera Mini'
|
322
|
+
version: '$1'
|
323
|
+
engine:
|
324
|
+
default: 'Presto'
|
325
|
+
- regex: 'Opera ?Mini.+Version/(\d+[\.\d]+)'
|
242
326
|
name: 'Opera Mini'
|
243
327
|
version: '$1'
|
244
328
|
engine:
|
@@ -257,13 +341,13 @@
|
|
257
341
|
default: 'Presto'
|
258
342
|
versions:
|
259
343
|
15: 'Blink'
|
260
|
-
- regex: '(?:Opera
|
344
|
+
- regex: '(?:Opera[/ ]?|OPR[/ ])(?:9.80.*Version/)?(\d+[\.\d]+)'
|
261
345
|
name: 'Opera'
|
262
346
|
version: '$1'
|
263
347
|
engine:
|
264
348
|
default: ''
|
265
349
|
versions:
|
266
|
-
3.5: 'Elektra'
|
350
|
+
'3.5': 'Elektra'
|
267
351
|
7: 'Presto'
|
268
352
|
15: 'Blink'
|
269
353
|
|
@@ -385,15 +469,15 @@
|
|
385
469
|
versions:
|
386
470
|
28: 'Blink'
|
387
471
|
|
388
|
-
#
|
472
|
+
#GNOME Web
|
389
473
|
- regex: 'Epiphany(?:/(\d+[\.\d]+))?'
|
390
|
-
name: '
|
474
|
+
name: 'GNOME Web'
|
391
475
|
version: '$1'
|
392
476
|
engine:
|
393
477
|
default: 'Gecko'
|
394
478
|
versions:
|
395
|
-
2.9.16: '' # multi engine
|
396
|
-
2.28: 'WebKit'
|
479
|
+
'2.9.16': '' # multi engine
|
480
|
+
'2.28': 'WebKit'
|
397
481
|
|
398
482
|
# Liebao
|
399
483
|
- regex: 'LBBrowser(?:[ /](\d+[\.\d]+))?'
|
@@ -433,6 +517,32 @@
|
|
433
517
|
name: 'Samsung Browser'
|
434
518
|
version: '$1'
|
435
519
|
|
520
|
+
#Streamy
|
521
|
+
#This browser is built on top of Chromium.
|
522
|
+
#It should be checked first.
|
523
|
+
- regex: 'Streamy(?:/(\d+[\.\d]+))?'
|
524
|
+
name: 'Streamy'
|
525
|
+
version: '$1'
|
526
|
+
engine:
|
527
|
+
default: 'WebKit'
|
528
|
+
|
529
|
+
#Isivioo
|
530
|
+
#Andorid version of the browser is built on top of Chrome Mobile.
|
531
|
+
#It should be checked first.
|
532
|
+
- regex: 'isivioo'
|
533
|
+
name: 'Isivioo'
|
534
|
+
version: ''
|
535
|
+
engine:
|
536
|
+
default: 'WebKit'
|
537
|
+
|
538
|
+
#UC Browser
|
539
|
+
- regex: 'UC[ ]?Browser(?:[ /]?(\d+[\.\d]+))?'
|
540
|
+
name: 'UC Browser'
|
541
|
+
version: '$1'
|
542
|
+
- regex: 'UCWEB(?:[ /]?(\d+[\.\d]+))?'
|
543
|
+
name: 'UC Browser'
|
544
|
+
version: '$1'
|
545
|
+
|
436
546
|
#Chrome
|
437
547
|
- regex: 'CrMo(?:/(\d+[\.\d]+))?'
|
438
548
|
name: 'Chrome Mobile'
|
@@ -473,14 +583,6 @@
|
|
473
583
|
versions:
|
474
584
|
28: 'Blink'
|
475
585
|
|
476
|
-
#UC Browser
|
477
|
-
- regex: 'UC[ ]?Browser(?:[ /]?(\d+[\.\d]+))?'
|
478
|
-
name: 'UC Browser'
|
479
|
-
version: '$1'
|
480
|
-
- regex: 'UCWEB(?:[ /]?(\d+[\.\d]+))?'
|
481
|
-
name: 'UC Browser'
|
482
|
-
version: '$1'
|
483
|
-
|
484
586
|
#Tizen Browser
|
485
587
|
- regex: '(?:Tizen|SLP) Browser(?:/(\d+[\.\d]+))?'
|
486
588
|
name: 'Tizen Browser'
|
@@ -560,6 +662,13 @@
|
|
560
662
|
engine:
|
561
663
|
default: 'Gecko'
|
562
664
|
|
665
|
+
#B-Line
|
666
|
+
- regex: 'bline(?:/(\d+[\.\d]+))?'
|
667
|
+
name: 'B-Line'
|
668
|
+
version: '$1'
|
669
|
+
engine:
|
670
|
+
default: 'WebKit'
|
671
|
+
|
563
672
|
#BrowseX
|
564
673
|
- regex: 'BrowseX \((\d+[\.\d]+)'
|
565
674
|
name: 'BrowseX'
|
@@ -575,6 +684,13 @@
|
|
575
684
|
name: 'Cheshire'
|
576
685
|
version: '$1'
|
577
686
|
|
687
|
+
#dbrowser
|
688
|
+
- regex: 'dbrowser'
|
689
|
+
name: 'dbrowser'
|
690
|
+
version: ''
|
691
|
+
engine:
|
692
|
+
default: 'WebKit'
|
693
|
+
|
578
694
|
#Dillo
|
579
695
|
- regex: 'Dillo(?:/(\d+[\.\d]+))?'
|
580
696
|
name: 'Dillo'
|
@@ -639,6 +755,13 @@
|
|
639
755
|
name: 'IBrowse'
|
640
756
|
version: '$1'
|
641
757
|
|
758
|
+
#iCabMobile
|
759
|
+
- regex: 'iCabMobile(?:[ /](\d+[\.\d]+))?'
|
760
|
+
name: 'iCab Mobile'
|
761
|
+
version: '$1'
|
762
|
+
engine:
|
763
|
+
default: 'WebKit'
|
764
|
+
|
642
765
|
#iCab
|
643
766
|
- regex: 'iCab(?:[ /](\d+[\.\d]+))?'
|
644
767
|
name: 'iCab'
|
@@ -905,6 +1028,11 @@
|
|
905
1028
|
name: 'BlackBerry Browser'
|
906
1029
|
version: ''
|
907
1030
|
|
1031
|
+
#BriskBard
|
1032
|
+
- regex: 'BriskBard(?:/(\d+[\.\d]+))?'
|
1033
|
+
name: 'BriskBard'
|
1034
|
+
version: '$1'
|
1035
|
+
|
908
1036
|
#Android Browser
|
909
1037
|
- regex: 'Android'
|
910
1038
|
name: 'Android Browser'
|
@@ -912,13 +1040,23 @@
|
|
912
1040
|
engine:
|
913
1041
|
default: 'WebKit'
|
914
1042
|
|
1043
|
+
#Coast
|
1044
|
+
- regex: 'Coast(?:/(\d+[\.\d]+))?'
|
1045
|
+
name: 'Coast'
|
1046
|
+
version: '$1'
|
1047
|
+
|
1048
|
+
#Qutebrowser
|
1049
|
+
- regex: 'qutebrowser(?:/(\d+[\.\d]+))?'
|
1050
|
+
name: 'Qutebrowser'
|
1051
|
+
version: '$1'
|
1052
|
+
|
915
1053
|
#Safari
|
916
1054
|
- regex: '(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\d+[\.\d]+)'
|
917
1055
|
name: 'Mobile Safari'
|
918
1056
|
version: '$1'
|
919
1057
|
engine:
|
920
1058
|
default: 'WebKit'
|
921
|
-
- regex: 'Version/(\d+[\.\d]+).*Mobile.*Safari/'
|
1059
|
+
- regex: '(?:Version/(\d+[\.\d]+).*)?Mobile.*Safari/'
|
922
1060
|
name: 'Mobile Safari'
|
923
1061
|
version: '$1'
|
924
1062
|
engine:
|
@@ -933,3 +1071,15 @@
|
|
933
1071
|
version: '$1'
|
934
1072
|
engine:
|
935
1073
|
default: 'WebKit'
|
1074
|
+
|
1075
|
+
#Dorado
|
1076
|
+
- regex: 'Dorado WAP-Browser[/ ](\d+[\.\d]+)'
|
1077
|
+
name: 'Dorado'
|
1078
|
+
version: '$1'
|
1079
|
+
|
1080
|
+
#NetSurf
|
1081
|
+
- regex: 'NetSurf(?:/(\d+[\.\d]+))?'
|
1082
|
+
name: 'NetSurf'
|
1083
|
+
version: '$1'
|
1084
|
+
engine:
|
1085
|
+
default: 'NetSurf'
|
@@ -17,6 +17,18 @@
|
|
17
17
|
url: 'https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pubsub.1.html'
|
18
18
|
type: 'Feed Reader'
|
19
19
|
|
20
|
+
- regex: 'BashPodder'
|
21
|
+
name: 'BashPodder'
|
22
|
+
version: ''
|
23
|
+
url: 'http://lincgeek.org/bashpodder/'
|
24
|
+
type: 'Feed Reader'
|
25
|
+
|
26
|
+
- regex: 'Downcast/([\d\.]+)'
|
27
|
+
name: 'Downcast'
|
28
|
+
version: '$1'
|
29
|
+
url: 'http://downcastapp.com/'
|
30
|
+
type: 'Feed Reader App'
|
31
|
+
|
20
32
|
- regex: 'FeedDemon(?:/(\d+[\.\d]+))?'
|
21
33
|
name: 'FeedDemon'
|
22
34
|
version: '$1'
|
@@ -29,6 +41,18 @@
|
|
29
41
|
url: 'http://www.chebinliu.com/projects/iphone/feeddler-rss-reader/'
|
30
42
|
type: 'Feed Reader App'
|
31
43
|
|
44
|
+
- regex: 'gPodder/([\d\.]+)'
|
45
|
+
name: 'gPodder'
|
46
|
+
version: '$1'
|
47
|
+
url: 'http://gpodder.org/'
|
48
|
+
type: 'Feed Reader App'
|
49
|
+
|
50
|
+
- regex: 'Instacast/(\d+) CFNetwork/([\d\.]+)'
|
51
|
+
name: 'Instacast'
|
52
|
+
version: '$1'
|
53
|
+
url: 'http://vemedio.com/products/instacast-mac'
|
54
|
+
type: 'Feed Reader App'
|
55
|
+
|
32
56
|
- regex: 'JetBrains Omea Reader(?:[/ ](\d+[\.\d]+))?'
|
33
57
|
name: 'JetBrains Omea Reader'
|
34
58
|
version: '$1'
|
@@ -65,6 +89,12 @@
|
|
65
89
|
url: 'http://www.newsbeuter.org/'
|
66
90
|
type: 'Feed Reader'
|
67
91
|
|
92
|
+
- regex: 'PritTorrent/([\d\.]+)'
|
93
|
+
name: 'PritTorrent'
|
94
|
+
version: '$1'
|
95
|
+
url: 'http://bitlove.org'
|
96
|
+
type: 'Feed Reader'
|
97
|
+
|
68
98
|
- regex: 'Pulp(?:[/ ](\d+[\.\d]+))?'
|
69
99
|
name: 'Pulp'
|
70
100
|
version: '$1'
|
@@ -31,4 +31,42 @@
|
|
31
31
|
|
32
32
|
- regex: '(?:perlclient|libwww-perl)(?:/?(\d+[\.\d]+))?'
|
33
33
|
name: 'Perl'
|
34
|
+
version: '$1'
|
35
|
+
|
36
|
+
- regex: 'okhttp/([\d\.]+)'
|
37
|
+
name: 'OkHttp'
|
38
|
+
version: '$1'
|
39
|
+
|
40
|
+
- regex: 'HTTP_Request2(?:/(\d+[\.\d]+))?'
|
41
|
+
name: 'HTTP_Request2'
|
42
|
+
version: '$1'
|
43
|
+
|
44
|
+
- regex: 'HTTP_Request2(?:/(\d+[\.\d]+))?'
|
45
|
+
name: 'HTTP_Request2'
|
46
|
+
version: '$1'
|
47
|
+
url: 'http://pear.php.net/package/http_request2'
|
48
|
+
|
49
|
+
- regex: 'Mechanize(?:/(\d+[\.\d]+))?'
|
50
|
+
name: 'Mechanize'
|
51
|
+
version: '$1'
|
52
|
+
url: 'http://github.com/sparklemotion/mechanize/'
|
53
|
+
|
54
|
+
- regex: 'aiohttp(?:/(\d+[\.\d]+))?'
|
55
|
+
name: 'aiohttp'
|
56
|
+
version: '$1'
|
57
|
+
|
58
|
+
- regex: 'Google-HTTP-Java-Client(?:/(\d+[\.\d\w-]+))?'
|
59
|
+
name: 'Google HTTP Java Client'
|
60
|
+
version: '$1'
|
61
|
+
|
62
|
+
- regex: 'WWW-Mechanize(?:/(\d+[\.\d]+))?'
|
63
|
+
name: 'WWW-Mechanize'
|
64
|
+
version: '$1'
|
65
|
+
|
66
|
+
- regex: 'Faraday(?: v(\d+[\.\d]+))?'
|
67
|
+
name: 'Faraday'
|
68
|
+
version: '$1'
|
69
|
+
|
70
|
+
- regex: '(?:Go-http-client|Go )/?(?:(\d+[\.\d]+))?(?: package http)?'
|
71
|
+
name: 'Go-http-client'
|
34
72
|
version: '$1'
|
@@ -10,6 +10,20 @@
|
|
10
10
|
name: 'AndroidDownloadManager'
|
11
11
|
version: '$1'
|
12
12
|
|
13
|
+
# Apple News
|
14
|
+
- regex: '(?:Apple)?News(?:[ /][\d\.]+)? Version(?:[ /]([\d\.]+))?'
|
15
|
+
name: 'Apple News'
|
16
|
+
version: '$1'
|
17
|
+
|
18
|
+
- regex: 'bPod'
|
19
|
+
name: 'bPod'
|
20
|
+
version: ''
|
21
|
+
|
22
|
+
# Facebook Messenger
|
23
|
+
- regex: '(?:MessengerForiOS|MESSENGER).(?:FBAV)(?:[ /]([\d\.]+))?'
|
24
|
+
name: 'Facebook Messenger'
|
25
|
+
version: '$1'
|
26
|
+
|
13
27
|
# Facebook
|
14
28
|
- regex: '(?:FBAV|com.facebook.katana)(?:[ /]([\d\.]+))?'
|
15
29
|
name: 'Facebook'
|
@@ -45,6 +59,11 @@
|
|
45
59
|
name: 'Pinterest'
|
46
60
|
version: '$1'
|
47
61
|
|
62
|
+
# Podcatcher Deluxe
|
63
|
+
- regex: 'Podcatcher Deluxe'
|
64
|
+
name: 'Podcatcher Deluxe'
|
65
|
+
version: ''
|
66
|
+
|
48
67
|
# YouTube
|
49
68
|
- regex: 'com.google.android.youtube(?:/([\d\.]+))?'
|
50
69
|
name: 'YouTube'
|
@@ -63,4 +82,66 @@
|
|
63
82
|
# Line
|
64
83
|
- regex: 'Line(?:[ /]([\d\.]+))'
|
65
84
|
name: 'Line'
|
66
|
-
version: '$1'
|
85
|
+
version: '$1'
|
86
|
+
|
87
|
+
# Instacast
|
88
|
+
- regex: 'Instacast(?:HD)?/(\d\.[\d\.abc]+) CFNetwork/([\d\.]+) Darwin/([\d\.]+)'
|
89
|
+
name: 'Instacast'
|
90
|
+
version: '$1'
|
91
|
+
-
|
92
|
+
regex: 'Podcasts/([\d\.]+)'
|
93
|
+
name: 'Podcasts'
|
94
|
+
version: '$1'
|
95
|
+
-
|
96
|
+
regex: 'Pocket Casts(?:, (?:Android|iOS) v([\d\.]+))?'
|
97
|
+
name: 'Pocket Casts'
|
98
|
+
version: '$1'
|
99
|
+
-
|
100
|
+
regex: 'Podcat/([\d\.]+)'
|
101
|
+
name: 'Podcat'
|
102
|
+
version: '$1'
|
103
|
+
|
104
|
+
-
|
105
|
+
regex: 'BeyondPod'
|
106
|
+
name: 'BeyondPod'
|
107
|
+
version:
|
108
|
+
-
|
109
|
+
regex: 'AntennaPod/?([\d\.]+)?'
|
110
|
+
name: 'AntennaPod'
|
111
|
+
version: '$1'
|
112
|
+
-
|
113
|
+
regex: 'Overcast/([\d\.]+)'
|
114
|
+
name: 'Overcast'
|
115
|
+
version: '$1'
|
116
|
+
-
|
117
|
+
regex: 'Player FM'
|
118
|
+
name: 'Player FM'
|
119
|
+
version: ''
|
120
|
+
-
|
121
|
+
regex: 'Podkicker(?: Pro)?/([\d\.]+)'
|
122
|
+
name: 'Podkicker'
|
123
|
+
version: '$1'
|
124
|
+
-
|
125
|
+
regex: 'Castro/(\d+)'
|
126
|
+
name: 'Castro'
|
127
|
+
version: '$1'
|
128
|
+
-
|
129
|
+
regex: 'Castro 2 ([\d\.]+)/[\d]+ Like iTunes'
|
130
|
+
name: 'Castro 2'
|
131
|
+
version: '$1'
|
132
|
+
-
|
133
|
+
regex: 'Castro 2'
|
134
|
+
name: 'Castro 2'
|
135
|
+
version: ''
|
136
|
+
-
|
137
|
+
regex: 'DoggCatcher'
|
138
|
+
name: 'DoggCatcher'
|
139
|
+
version:
|
140
|
+
-
|
141
|
+
regex: 'Podcat/([\d]+) CFNetwork/([\d\.]+) Darwin/([\d\.]+)'
|
142
|
+
name: 'Podcat'
|
143
|
+
version: '$1'
|
144
|
+
-
|
145
|
+
regex: 'i[cC]atcher[^\d]+([\d\.]+)'
|
146
|
+
name: 'iCatcher'
|
147
|
+
version: '$1'
|