pod_ident 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 +7 -0
- data/.circleci/config.yml +52 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/.rubocop.yml +20 -0
- data/.ruby-version +1 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +44 -0
- data/README.md +80 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/parse-rules +8 -0
- data/bin/setup +8 -0
- data/lib/detection_rules.yml +978 -0
- data/lib/pod_ident/detection_result.rb +24 -0
- data/lib/pod_ident/detection_rules.rb +3 -0
- data/lib/pod_ident/rule_parser.rb +60 -0
- data/lib/pod_ident/version.rb +5 -0
- data/lib/pod_ident.rb +108 -0
- data/pod_ident.gemspec +33 -0
- metadata +134 -0
@@ -0,0 +1,978 @@
|
|
1
|
+
# Detection rules for user agents of podcast clients
|
2
|
+
# Most extracted from Podigee's server logs
|
3
|
+
# Some extracted from here: https://podnews.net/article/podcast-app-useragents
|
4
|
+
|
5
|
+
- app: Apple Podcasts
|
6
|
+
match:
|
7
|
+
startsWith: AppleCoreMedia
|
8
|
+
platform:
|
9
|
+
regex: '\((\w+\s*\w*)'
|
10
|
+
replacements:
|
11
|
+
- name: Macintosh
|
12
|
+
replaceWith: Mac
|
13
|
+
test:
|
14
|
+
userAgents:
|
15
|
+
- userAgent: AppleCoreMedia/1.0.0.10B500 (iPod; U; CPU OS 6_1_6 like Mac OS X; en_gb)
|
16
|
+
platform: iPod
|
17
|
+
- userAgent: AppleCoreMedia/1.0.0.17D2102 (Macintosh; U; Intel Mac OS X 10_13_3; de_de)
|
18
|
+
platform: Mac
|
19
|
+
- userAgent: AppleCoreMedia/1.0.0.15L5186e (Apple TV; U; CPU OS 11_3 like Mac OS X; fr_fr)
|
20
|
+
platform: Apple TV
|
21
|
+
|
22
|
+
- app: Apple Podcasts
|
23
|
+
match:
|
24
|
+
startsWith: itunesstored
|
25
|
+
platform:
|
26
|
+
regex: '(iPad|iPod|iPhone)'
|
27
|
+
test:
|
28
|
+
userAgents:
|
29
|
+
- userAgent: itunesstored/1.0 iOS/10.1 model/iPhone9,3 hwp/t8010 build/14B72c (6; dt:139)
|
30
|
+
platform: iPhone
|
31
|
+
- userAgent: itunesstored/1.0 iOS/10.1.1 model/iPad3,4 hwp/s5l8955x build/14B100 (5; dt:83)
|
32
|
+
platform: iPad
|
33
|
+
|
34
|
+
- app: iTunes
|
35
|
+
match:
|
36
|
+
startsWith: iTunes
|
37
|
+
excluding:
|
38
|
+
regex: 'Downcast|iCatcher|SqueezeCenter|SqueezeNetwork|MusicServer'
|
39
|
+
platform:
|
40
|
+
regex: '\((\w+\s*\w*)'
|
41
|
+
replacements:
|
42
|
+
- name: Macintosh
|
43
|
+
replaceWith: Mac
|
44
|
+
test:
|
45
|
+
userAgents:
|
46
|
+
- userAgent: iTunes/12.7.3 (Macintosh; OS X 10.13.4) AppleWebKit/605.1.33.1.2
|
47
|
+
platform: Mac
|
48
|
+
- userAgent: iTunes/12.7.3 (Windows; Microsoft Windows 10 Home Premium Edition (Build 10240)) AppleWebKit/7604.5002.1000.1
|
49
|
+
platform: Windows
|
50
|
+
- userAgent: iTunes (iCatcher!/2.7.4)
|
51
|
+
negative: true
|
52
|
+
|
53
|
+
- app: Apple Podcasts
|
54
|
+
match:
|
55
|
+
includes: watchOS
|
56
|
+
platform:
|
57
|
+
text: watchOS
|
58
|
+
test:
|
59
|
+
userAgents:
|
60
|
+
- userAgent: '(null)/(null) watchOS/5.0 model/Watch2,3 hwp/t8002 build/16R364 (6; dt:133)'
|
61
|
+
platform: watchOS
|
62
|
+
|
63
|
+
- app: CastBox
|
64
|
+
match:
|
65
|
+
startsWith:
|
66
|
+
- CastBox
|
67
|
+
- Castbox
|
68
|
+
platform:
|
69
|
+
regexes:
|
70
|
+
- '(Android|iOS|OS\sVersion)'
|
71
|
+
- '(CastBox)'
|
72
|
+
replacements:
|
73
|
+
- name: OS Version
|
74
|
+
replaceWith: iOS
|
75
|
+
- name: CastBox
|
76
|
+
replaceWith: Android
|
77
|
+
test:
|
78
|
+
userAgents:
|
79
|
+
- userAgent: CastBox/7.11.3-180226133 (Linux;Android 4.1.2) ExoPlayerLib/2.4.0
|
80
|
+
platform: Android
|
81
|
+
- userAgent: Castbox/3.4.1 (fm.castbox.audiobook.radio.podcast; build:1; iOS 11.3.0) Alamofire/4.4.0
|
82
|
+
platform: iOS
|
83
|
+
- userAgent: CastBox/com.castbox.CastBox (1.0; OS Version 10.3.2 (Build 14F89))
|
84
|
+
platform: iOS
|
85
|
+
|
86
|
+
|
87
|
+
- app: Amazon Alexa
|
88
|
+
match:
|
89
|
+
startsWith: Alexa
|
90
|
+
platform:
|
91
|
+
text: 'Alexa-capable device'
|
92
|
+
test:
|
93
|
+
userAgents:
|
94
|
+
- userAgent: AlexaMediaPlayer/1.0.2353.0_16xxxxxx (Linux;Android 5.1.1) ExoPlayerLib/1.5.9
|
95
|
+
platform: Alexa-capable device
|
96
|
+
- userAgent: Alexa Mobile Voice/2.2.1615.0 (Linux;Android 7.0) ExoPlayerLib/2.2.0
|
97
|
+
platform: Alexa-capable device
|
98
|
+
- userAgent: AlexaService/1.20.1010746 (Linux;Android 8.0.0) ExoPlayerLib/2.4.3
|
99
|
+
platform: Alexa-capable device
|
100
|
+
|
101
|
+
- app: Amazon Alexa
|
102
|
+
match:
|
103
|
+
startsWith: Echo
|
104
|
+
platform:
|
105
|
+
text: 'Amazon Echo'
|
106
|
+
userAgents:
|
107
|
+
- userAgent: Echo/1.0(APNG)
|
108
|
+
platform: Amazon Echo
|
109
|
+
|
110
|
+
- app: Deezer
|
111
|
+
match:
|
112
|
+
startsWith: Deezer
|
113
|
+
platform:
|
114
|
+
regexes:
|
115
|
+
- '(Android|Darwin)'
|
116
|
+
- '\((\w+\s*\w*)'
|
117
|
+
replacements:
|
118
|
+
- name: osx
|
119
|
+
replaceWith: Mac
|
120
|
+
- name: Darwin
|
121
|
+
replaceWith: Apple Device
|
122
|
+
test:
|
123
|
+
userAgents:
|
124
|
+
- userAgent: Deezer/5.4.22.54 (Android; 8.0.0; Mobile; de) samsung SM-G930F
|
125
|
+
platform: Android
|
126
|
+
- userAgent: Deezer/6.0.2.1 CFNetwork/808.3 Darwin/16.3.0
|
127
|
+
platform: Apple Device
|
128
|
+
- userAgent: DeezerJukebox/5.4.17.23 (Linux;Android 7.0) ExoPlayerLib/1.5.16
|
129
|
+
platform: Android
|
130
|
+
- userAgent: DeezerSDK/1.2.14 (Windows; 6.3.9600; Desktop; de) pc
|
131
|
+
platform: Windows
|
132
|
+
- userAgent: DeezerSDK/1.2.14 (osx; 10.12.3; Desktop; en) MacBookAir7_2
|
133
|
+
platform: Mac
|
134
|
+
|
135
|
+
- app: Overcast
|
136
|
+
match:
|
137
|
+
startsWith: Overcast
|
138
|
+
platform:
|
139
|
+
text: 'iOS'
|
140
|
+
test:
|
141
|
+
userAgents:
|
142
|
+
- userAgent: Overcast/2.0 (+http://overcast.fm/; iOS podcast app)
|
143
|
+
platform: iOS
|
144
|
+
- userAgent: Overcast/3.0 (+http://overcast.fm/; iOS podcast app) BMID/E67A460F81
|
145
|
+
platform: iOS
|
146
|
+
|
147
|
+
- app: Radio.net
|
148
|
+
match:
|
149
|
+
startsWith:
|
150
|
+
- radio.net
|
151
|
+
- radio.de
|
152
|
+
- radio.at
|
153
|
+
- radio.fr
|
154
|
+
- radio.dk
|
155
|
+
- radio.es
|
156
|
+
- radio.it
|
157
|
+
- radio.pt
|
158
|
+
- radio.pl
|
159
|
+
platform:
|
160
|
+
regex: '(Android|Darwin)'
|
161
|
+
replacements:
|
162
|
+
- name: Darwin
|
163
|
+
replaceWith: iOS
|
164
|
+
test:
|
165
|
+
userAgents:
|
166
|
+
- userAgent: radio.de 4.9.3 (softwinner/QT-7; Android 4.4.2; de_DE)
|
167
|
+
platform: Android
|
168
|
+
- userAgent: radio.de/3735 CFNetwork/758.5.3 Darwin/15.6.0
|
169
|
+
platform: iOS
|
170
|
+
|
171
|
+
- app: PocketCasts
|
172
|
+
match:
|
173
|
+
startsWith:
|
174
|
+
- PocketCasts
|
175
|
+
- Pocket Casts
|
176
|
+
- Shifty Jelly Pocket Casts
|
177
|
+
platform:
|
178
|
+
regex: '(Android)'
|
179
|
+
test:
|
180
|
+
userAgents:
|
181
|
+
- userAgent: Pocket Casts
|
182
|
+
platform: null
|
183
|
+
- userAgent: PocketCasts/1.0 (Pocket Casts Feed Parser; +http://pocketcasts.com/)
|
184
|
+
platform: null
|
185
|
+
- userAgent: Shifty Jelly Pocket Casts, Android v4.5.1
|
186
|
+
platform: Android
|
187
|
+
|
188
|
+
- app: Himalaya
|
189
|
+
match:
|
190
|
+
startsWith: Himalaya
|
191
|
+
platform:
|
192
|
+
regex: '(Darwin|Android)'
|
193
|
+
replacements:
|
194
|
+
- name: Darwin
|
195
|
+
replaceWith: iOS
|
196
|
+
test:
|
197
|
+
userAgents:
|
198
|
+
- userAgent: Himalaya/1460 CFNetwork/974.2.1 Darwin/18.0.0
|
199
|
+
platform: iOS
|
200
|
+
- userAgent: Himalaya/2.2.2 Android/27 (COL-AL10)
|
201
|
+
platform: Android
|
202
|
+
|
203
|
+
- app: ExoPlayer
|
204
|
+
match:
|
205
|
+
startsWith:
|
206
|
+
- ExoPlayer
|
207
|
+
- yourApplicationName
|
208
|
+
- 'null'
|
209
|
+
- md5d42223d6ee7473da82e8136ffb794439.App
|
210
|
+
platform:
|
211
|
+
text: Android
|
212
|
+
test:
|
213
|
+
userAgents:
|
214
|
+
- userAgent: ExoPlayer/3.15.12.5 (Linux;Android 5.0) ExoPlayerLib/1.5.0
|
215
|
+
platform: Android
|
216
|
+
- userAgent: yourApplicationName/2.9.10 (Linux;Android 8.0.0) ExoPlayerLib/2.8.1
|
217
|
+
platform: Android
|
218
|
+
- userAgent: null/4.100 (Linux;Android 7.0) ExoPlayerLib/2.8.3
|
219
|
+
platform: Android
|
220
|
+
- userAgent: md5d42223d6ee7473da82e8136ffb794439.App/4.100 (Linux;Android 8.0.0) ExoPlayerLib/2.8.3
|
221
|
+
platform: Android
|
222
|
+
|
223
|
+
- app: Download Manager
|
224
|
+
match:
|
225
|
+
startsWith: AndroidDownloadManager
|
226
|
+
platform:
|
227
|
+
text: Android
|
228
|
+
test:
|
229
|
+
userAgents:
|
230
|
+
- userAgent: AndroidDownloadManager/8.1.0 (Linux; U; Android 8.1.0; TA-1012 Build/OPR1.170623.026)
|
231
|
+
platform: Android
|
232
|
+
|
233
|
+
- app: Castamatic
|
234
|
+
match:
|
235
|
+
startsWith: Castamatic
|
236
|
+
platform:
|
237
|
+
text: iOS
|
238
|
+
test:
|
239
|
+
userAgents:
|
240
|
+
- userAgent: Castamatic/2639 CFNetwork/975.0.3 Darwin/18.2.0
|
241
|
+
platform: iOS
|
242
|
+
- userAgent: Castamatic/4.5.2 (com.gunpmedia.Castamatic; build:2609; iOS 12.0.0) Alamofire/4.7.3
|
243
|
+
platform: iOS
|
244
|
+
|
245
|
+
- app: The Podcast App (podcast.app)
|
246
|
+
match:
|
247
|
+
includes: The Podcast App
|
248
|
+
platform:
|
249
|
+
text: iOS
|
250
|
+
test:
|
251
|
+
userAgents:
|
252
|
+
- userAgent: podcast/577 iOS/Version 12.0.1 (Build 16A404) The Podcast App/2.19.1
|
253
|
+
platform: iOS
|
254
|
+
|
255
|
+
- app: CastMix
|
256
|
+
match:
|
257
|
+
startsWith: CastMix
|
258
|
+
platform:
|
259
|
+
text: Android
|
260
|
+
test:
|
261
|
+
userAgents:
|
262
|
+
- userAgent: CastMix/2.6.10 (Linux;Android 8.1.0) ExoPlayerLib/2.8.4
|
263
|
+
platform: Android
|
264
|
+
|
265
|
+
- app: Unknown App
|
266
|
+
match:
|
267
|
+
startsWith: okhttp
|
268
|
+
platform:
|
269
|
+
text: Android
|
270
|
+
test:
|
271
|
+
userAgents:
|
272
|
+
- userAgent: okhttp/3.9.0
|
273
|
+
platform: Android
|
274
|
+
- userAgent: okhttp/3.9.1 BMID/E67A45D491
|
275
|
+
platform: Android
|
276
|
+
|
277
|
+
- app: Stagefright Media Playback Engine
|
278
|
+
match:
|
279
|
+
includes: stagefright
|
280
|
+
excluding:
|
281
|
+
text: stagefright alternative
|
282
|
+
platform:
|
283
|
+
regex: '(Fire OS|Android)'
|
284
|
+
test:
|
285
|
+
userAgents:
|
286
|
+
- userAgent: 5050X-SVN/010 03; stagefright/1.2 (Linux;Android 4.3)
|
287
|
+
platform: Android
|
288
|
+
- userAgent: Fire OS/5.2.6.0 stagefright/1.2 (Linux;Android 5.1.1)
|
289
|
+
platform: Fire OS
|
290
|
+
- userAgent: HUAWEI P7 mini/C150B118 stagefright/1.2 (Linux;Android 4.3)
|
291
|
+
platform: Android
|
292
|
+
- userAgent: Samsung GT-I9100 stagefright/1.2 (Linux;Android 4.0.3)
|
293
|
+
platform: Android
|
294
|
+
- userAgent: SonyC1505 Build/11.3.A.2.23 stagefright/1.2 (Linux;Android 4.1.1)
|
295
|
+
platform: Android
|
296
|
+
- userAgent: TCL-6039Y-SVN/010 12; stagefright/1.2 (Linux;Android 5.0.2)
|
297
|
+
platform: Android
|
298
|
+
- userAgent: stagefright/1.2 (Linux;Android NexPlayer LG-E410i10g-EUR-XX)
|
299
|
+
platform: Android
|
300
|
+
- userAgent: LG-D331/V10f Player/LG Player 1.0 for Android 4.4.2 (stagefright alternative)
|
301
|
+
negative: true
|
302
|
+
|
303
|
+
- app: LG Player
|
304
|
+
match:
|
305
|
+
startsWith: Player/LG Player
|
306
|
+
includes:
|
307
|
+
- LG Player
|
308
|
+
- LG-Player
|
309
|
+
platform:
|
310
|
+
text: Android
|
311
|
+
test:
|
312
|
+
userAgents:
|
313
|
+
- userAgent: Player/LG Player 1.0 for Android(stagefright alternative)
|
314
|
+
platform: Android
|
315
|
+
- userAgent: Player/LG Player 1.0 for Android(stagefright alternative) (SKT-HLS; SKT-LG-p.0.1; LG-F240S)
|
316
|
+
platform: Android
|
317
|
+
- userAgent: P88020c-EUR/XXX; LG-Player/NexPlayer4.0 for Android(stagefright alternative)
|
318
|
+
platform: Android
|
319
|
+
|
320
|
+
- app: Android Browser
|
321
|
+
match:
|
322
|
+
startsWith: Dalvik
|
323
|
+
platform:
|
324
|
+
text: Android
|
325
|
+
test:
|
326
|
+
userAgents:
|
327
|
+
- userAgent: Dalvik/2.1.0 (Linux; U; Android 8.1.0; Pixel 2 XL Build/OPM1.171019.018)
|
328
|
+
platform: Android
|
329
|
+
|
330
|
+
- app: Acast
|
331
|
+
match:
|
332
|
+
startsWith: Acast
|
333
|
+
platform:
|
334
|
+
regex: '(Darwin|Android|Windows)'
|
335
|
+
replacements:
|
336
|
+
- name: Darwin
|
337
|
+
replaceWith: iOS
|
338
|
+
test:
|
339
|
+
userAgents:
|
340
|
+
- userAgent: Acast/1.29.0 (Linux;Android 7.0) ExoPlayerLib/2.5.4
|
341
|
+
platform: Android
|
342
|
+
- userAgent: Acast/3346 CFNetwork/758.4.3 Darwin/15.5.0
|
343
|
+
platform: iOS
|
344
|
+
- userAgent: Acast Windows # we don't have a real user agent for the Windows app yet
|
345
|
+
platform: Windows
|
346
|
+
|
347
|
+
- app: Castro
|
348
|
+
match:
|
349
|
+
startsWith: Castro
|
350
|
+
platform:
|
351
|
+
text: iOS
|
352
|
+
test:
|
353
|
+
userAgents:
|
354
|
+
- userAgent: Castro/98 CFNetwork/894 Darwin/17.4.0
|
355
|
+
platform: iOS
|
356
|
+
- userAgent: Castro 2 2.6.2/723 Like iTunes
|
357
|
+
platform: iOS
|
358
|
+
|
359
|
+
- app: Breaker
|
360
|
+
match:
|
361
|
+
startsWith: Breaker
|
362
|
+
platform:
|
363
|
+
regex: '(Darwin|Android)'
|
364
|
+
replacements:
|
365
|
+
- name: Darwin
|
366
|
+
replaceWith: iOS
|
367
|
+
test:
|
368
|
+
userAgents:
|
369
|
+
- userAgent: Breaker/671 CFNetwork/893.14.2 Darwin/17.3.0
|
370
|
+
platform: iOS
|
371
|
+
- userAgent: Breaker/671 (Linux;Android 1.2.3) # Breaker for Android is coming soon, so guessing on the user agent
|
372
|
+
platform: Android
|
373
|
+
|
374
|
+
- app: Podcast Addict
|
375
|
+
match:
|
376
|
+
startsWith:
|
377
|
+
- PodcastAddict
|
378
|
+
- Podcast Addict
|
379
|
+
platform:
|
380
|
+
text: Android
|
381
|
+
test:
|
382
|
+
userAgents:
|
383
|
+
- userAgent: PodcastAddict/v2 - Dalvik/2.1.0 (Linux; U; Android 8.1.0; Z2 Plus Build/OPM1.171019.011)
|
384
|
+
platform: Android
|
385
|
+
- userAgent: Podcast Addict - Dalvik/2.1.0 (Linux; U; Android 6.0; K6000 Pro Build/MRA58K)
|
386
|
+
platform: Android
|
387
|
+
|
388
|
+
- app: Podbean
|
389
|
+
match:
|
390
|
+
startsWith: Podbean
|
391
|
+
platform:
|
392
|
+
regex: '(iOS|Android)'
|
393
|
+
test:
|
394
|
+
userAgents:
|
395
|
+
- userAgent: Podbean/Android App 5.8.0 (http://podbean.com),f87ecb5ac4d803301e79655314ebee5d
|
396
|
+
platform: Android
|
397
|
+
- userAgent: Podbean/iOS (http://podbean.com) 4.1.7 - c343a7bce038f51b71dbd907f06b0cdd
|
398
|
+
platform: iOS
|
399
|
+
|
400
|
+
- app: Google Podcasts
|
401
|
+
match:
|
402
|
+
includes:
|
403
|
+
- GSA
|
404
|
+
excluding:
|
405
|
+
regex: 'iPhone|iPad'
|
406
|
+
platform:
|
407
|
+
text: Android
|
408
|
+
test:
|
409
|
+
userAgents:
|
410
|
+
- userAgent: Mozilla/5.0 (Linux; Android 7.0; MI 5 Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 GSA/7.21.23.21.arm64
|
411
|
+
platform: Android
|
412
|
+
|
413
|
+
- app: Google Search App
|
414
|
+
match:
|
415
|
+
includes:
|
416
|
+
- GSA
|
417
|
+
excluding:
|
418
|
+
regex: 'Android'
|
419
|
+
platform:
|
420
|
+
regexes:
|
421
|
+
- '(iPhone|iPad)'
|
422
|
+
test:
|
423
|
+
userAgents:
|
424
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) GSA/42.0.183854831 Mobile/13G36 Safari/601.1
|
425
|
+
platform: iPhone
|
426
|
+
|
427
|
+
- app: Google Podcasts
|
428
|
+
match:
|
429
|
+
includes: GoogleChirp
|
430
|
+
platform:
|
431
|
+
text: Google Smart Speaker
|
432
|
+
test:
|
433
|
+
userAgents:
|
434
|
+
- userAgent: Mozilla/5.0 Android GoogleChirp # only guessing
|
435
|
+
platform: Google Smart Speaker
|
436
|
+
|
437
|
+
- app: Stitcher
|
438
|
+
match:
|
439
|
+
startsWith: Stitcher
|
440
|
+
platform:
|
441
|
+
regex: '(iOS|Android)'
|
442
|
+
test:
|
443
|
+
userAgents:
|
444
|
+
- userAgent: Stitcher/Android
|
445
|
+
platform: Android
|
446
|
+
- userAgent: Stitcher/iOS
|
447
|
+
platform: iOS
|
448
|
+
|
449
|
+
- app: TuneIn
|
450
|
+
match:
|
451
|
+
startsWith: TuneIn
|
452
|
+
platform:
|
453
|
+
regex: '(Darwin|Android)'
|
454
|
+
replacements:
|
455
|
+
- name: Darwin
|
456
|
+
replaceWith: iOS
|
457
|
+
test:
|
458
|
+
userAgents:
|
459
|
+
- userAgent: TuneIn%20Radio%20Pro/1044 CFNetwork/894 Darwin/17.4.0
|
460
|
+
platform: iOS
|
461
|
+
- userAgent: TuneIn%20Radio/1016 CFNetwork/811.5.4 Darwin/16.6.0
|
462
|
+
platform: iOS
|
463
|
+
- userAgent: TuneIn%20Radio/1011 (Linux;Android 123 # There is no Android version currently, bit it might change
|
464
|
+
platform: Android
|
465
|
+
|
466
|
+
- app: PodCruncher
|
467
|
+
match:
|
468
|
+
startsWith: PodCruncher
|
469
|
+
platform:
|
470
|
+
text: iOS
|
471
|
+
test:
|
472
|
+
userAgents:
|
473
|
+
- userAgent: PodCruncher/3.3.1 CFNetwork/811.5.4 Darwin/16.7.0
|
474
|
+
platform: iOS
|
475
|
+
|
476
|
+
- app: iCatcher!
|
477
|
+
match:
|
478
|
+
startsWith: iCatcher!
|
479
|
+
includes: iCatcher!
|
480
|
+
platform:
|
481
|
+
regex: '\((iPhone|iPad|iPod touch)'
|
482
|
+
fallback: iOS
|
483
|
+
test:
|
484
|
+
userAgents:
|
485
|
+
- userAgent: iCatcher! Podcast Player/2.6.1
|
486
|
+
platform: iOS
|
487
|
+
- userAgent: iCatcher!/3.1 (iPhone; iOS 10.3.3; Scale/2.0)
|
488
|
+
platform: iPhone
|
489
|
+
- userAgent: iCatcher!/3.4 (iPod touch; iOS 9.3.5; Scale/2.0)
|
490
|
+
platform: iPod touch
|
491
|
+
- userAgent: iTunes (iCatcher!/2.7.4)
|
492
|
+
platform: iOS
|
493
|
+
|
494
|
+
- app: Castaway
|
495
|
+
match:
|
496
|
+
startsWith: Castaway
|
497
|
+
platform:
|
498
|
+
text: iOS
|
499
|
+
test:
|
500
|
+
userAgents:
|
501
|
+
- userAgent: Castaway/6 CFNetwork/894 Darwin/17.4.0
|
502
|
+
platform: iOS
|
503
|
+
|
504
|
+
- app: Instacast
|
505
|
+
match:
|
506
|
+
startsWith: Instacast
|
507
|
+
platform:
|
508
|
+
text: Apple Device
|
509
|
+
test:
|
510
|
+
userAgents:
|
511
|
+
- userAgent: Instacast/2763 CFNetwork/897.15 Darwin/17.5.0
|
512
|
+
platform: Apple Device
|
513
|
+
- userAgent: Instacast/4.5.1 CFNetwork/894 Darwin/17.4.0
|
514
|
+
platform: Apple Device
|
515
|
+
|
516
|
+
- app: VLC
|
517
|
+
match:
|
518
|
+
startsWith:
|
519
|
+
- VLC
|
520
|
+
- LibVLC
|
521
|
+
includes: VLC
|
522
|
+
platform:
|
523
|
+
regex: '(Android|iPhone)'
|
524
|
+
test:
|
525
|
+
userAgents:
|
526
|
+
- userAgent: LibVLC/2.0.1 (Linux; U; Android 8.1.0;walleye/OPM1.171019.021)
|
527
|
+
platform: Android
|
528
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/10.0.2 Mobile/11A465 Safari/9537.53 VLC for iOS/3.0.2
|
529
|
+
platform: iPhone
|
530
|
+
- userAgent: VLC/2.2.0-git LibVLC/2.2.0-git (Radioline)
|
531
|
+
platform: null
|
532
|
+
|
533
|
+
- app: Podcast Republic
|
534
|
+
match:
|
535
|
+
startsWith: PodcastRepublic
|
536
|
+
platform:
|
537
|
+
text: Android
|
538
|
+
test:
|
539
|
+
userAgents:
|
540
|
+
- userAgent: PodcastRepublic/18.0 (Linux; U; Android 8.0.0;HWVTR/HUAWEIVTR-L29)
|
541
|
+
platform: Android
|
542
|
+
|
543
|
+
- app: DoggCatcher
|
544
|
+
match:
|
545
|
+
includes: DoggCatcher
|
546
|
+
platform:
|
547
|
+
text: Android
|
548
|
+
test:
|
549
|
+
userAgents:
|
550
|
+
- userAgent: Mozilla/5.0 (Linux; U; Windows NT 6.1; en-us; dream) DoggCatcher
|
551
|
+
platform: Android
|
552
|
+
|
553
|
+
- app: Player FM
|
554
|
+
match:
|
555
|
+
startsWith:
|
556
|
+
- Player FM
|
557
|
+
- Player%20FM
|
558
|
+
platform:
|
559
|
+
regex: '(Darwin)'
|
560
|
+
fallback: Android
|
561
|
+
replacements:
|
562
|
+
- name: Darwin
|
563
|
+
replaceWith: iOS
|
564
|
+
test:
|
565
|
+
userAgents:
|
566
|
+
- userAgent: Player FM BMID/E6807A587C
|
567
|
+
platform: Android
|
568
|
+
- userAgent: Player FM
|
569
|
+
platform: Android
|
570
|
+
- userAgent: Player%20FM/214 CFNetwork/975.0.3 Darwin/18.2.0
|
571
|
+
platform: iOS
|
572
|
+
|
573
|
+
- app: Podkicker
|
574
|
+
match:
|
575
|
+
startsWith: Podkicker
|
576
|
+
platform:
|
577
|
+
text: Android
|
578
|
+
test:
|
579
|
+
userAgents:
|
580
|
+
- userAgent: Podkicker Pro/2.3.3
|
581
|
+
platform: Android
|
582
|
+
- userAgent: Podkicker/1.2.10
|
583
|
+
platform: Android
|
584
|
+
|
585
|
+
- app: AntennaPod
|
586
|
+
match:
|
587
|
+
startsWith: AntennaPod
|
588
|
+
platform:
|
589
|
+
text: Android
|
590
|
+
test:
|
591
|
+
userAgents:
|
592
|
+
- userAgent: AntennaPod/
|
593
|
+
platform: Android
|
594
|
+
- userAgent: AntennaPod/1.4.2.2
|
595
|
+
platform: Android
|
596
|
+
|
597
|
+
- app: Downcast
|
598
|
+
match:
|
599
|
+
startsWith: Downcast
|
600
|
+
includes: Downcast
|
601
|
+
platform:
|
602
|
+
regex: '\((iPhone|iPad|iPod touch|Mac)'
|
603
|
+
test:
|
604
|
+
userAgents:
|
605
|
+
- userAgent: Downcast/2.9.30 (iPhone; iOS 11.2.6; Scale/3.00)
|
606
|
+
platform: iPhone
|
607
|
+
- userAgent: Downcast/2.9.30 (Mac OS X Version 10.13.3 (Build 17D102))
|
608
|
+
platform: Mac
|
609
|
+
- userAgent: iTunes/10.6 (Downcast v2.7.9 (Build 1004))
|
610
|
+
platform: null
|
611
|
+
|
612
|
+
- app: gPodder
|
613
|
+
match:
|
614
|
+
startsWith: gPodder
|
615
|
+
platform:
|
616
|
+
regex: '(Linux|Windows)'
|
617
|
+
test:
|
618
|
+
userAgents:
|
619
|
+
- userAgent: gPodder/3.9.0 (+http://gpodder.org/)
|
620
|
+
platform: null
|
621
|
+
- userAgent: gPodder/3.9.1 (+http://gpodder.org/) Linux/4.14.16-gentoo
|
622
|
+
platform: Linux
|
623
|
+
- userAgent: gPodder/3.9.2 (+http://gpodder.org/) Windows/10
|
624
|
+
platform: Windows
|
625
|
+
|
626
|
+
- app: Podcatcher Deluxe
|
627
|
+
match:
|
628
|
+
includes: Podcatcher Deluxe
|
629
|
+
platform:
|
630
|
+
text: Android
|
631
|
+
test:
|
632
|
+
userAgents:
|
633
|
+
- userAgent: Podcatcher Deluxe/2016.06
|
634
|
+
platform: Android
|
635
|
+
- userAgent: Video Podcatcher Deluxe/2016.06
|
636
|
+
platform: Android
|
637
|
+
|
638
|
+
- app: Procast
|
639
|
+
match:
|
640
|
+
startsWith:
|
641
|
+
- Procast
|
642
|
+
- ProCast
|
643
|
+
platform:
|
644
|
+
text: iOS
|
645
|
+
test:
|
646
|
+
userAgents:
|
647
|
+
- userAgent: Procast (iOS)
|
648
|
+
platform: iOS
|
649
|
+
- userAgent: ProCast/1 CFNetwork/897.15 Darwin/17.5.0
|
650
|
+
platform: iOS
|
651
|
+
|
652
|
+
- app: RSSRadio
|
653
|
+
match:
|
654
|
+
startsWith: RSSRadio
|
655
|
+
platform:
|
656
|
+
regex: '(iPhone|iPad|iPod touch|Darwin)'
|
657
|
+
replacements:
|
658
|
+
- name: Darwin
|
659
|
+
replaceWith: iOS
|
660
|
+
fallback: iOS
|
661
|
+
test:
|
662
|
+
userAgents:
|
663
|
+
- userAgent: RSSRadio/9186 (iPhone;iOS;11.2.6)
|
664
|
+
platform: iPhone
|
665
|
+
- userAgent: RSSRadio/9186
|
666
|
+
platform: iOS
|
667
|
+
- userAgent: RSSRadio7/9172 CFNetwork/889.9 Darwin/17.2.0
|
668
|
+
platform: iOS
|
669
|
+
|
670
|
+
- app: Podcat
|
671
|
+
match:
|
672
|
+
startsWith: Podcat
|
673
|
+
excluding:
|
674
|
+
regex: Podcatcher
|
675
|
+
platform:
|
676
|
+
text: iOS
|
677
|
+
test:
|
678
|
+
userAgents:
|
679
|
+
- userAgent: Podcat%202/18084 CFNetwork/894 Darwin/17.4.0
|
680
|
+
platform: iOS
|
681
|
+
- userAgent: Podcatcher Deluxe/2016.06
|
682
|
+
negative: true
|
683
|
+
|
684
|
+
- app: Audio Now
|
685
|
+
match:
|
686
|
+
startsWith: AudioNow
|
687
|
+
includes: audionow
|
688
|
+
platform:
|
689
|
+
regex: '(iOS|Android)'
|
690
|
+
test:
|
691
|
+
userAgents:
|
692
|
+
- userAgent: AudioNow/1.0.12 (de.dmhub.AudioNow; build:210789.411167595; iOS 10.3.3) Alamofire/4.8.2
|
693
|
+
platform: iOS
|
694
|
+
- userAgent: Android_de.dmhub.audionow_1.1.0
|
695
|
+
platform: Android
|
696
|
+
|
697
|
+
- app: DIE ZEIT App
|
698
|
+
match:
|
699
|
+
includes: ZONApp
|
700
|
+
platform:
|
701
|
+
regex: '(iPhone|iPad|iPod touch|Android)'
|
702
|
+
test:
|
703
|
+
userAgents:
|
704
|
+
- userAgent: Mozilla/5.0 (Linux; U; Android 4.4.2; de-de; HTC Desire 526G dual sim Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 ZONApp/Android/1.8.1 67206782-afbc-4e20-b7c0-1a234bc662ae
|
705
|
+
platform: Android
|
706
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A403 ZONApp/iOS/1.6 1136a267-238a-4e27-8ca4-365357db1292
|
707
|
+
platform: iPhone
|
708
|
+
|
709
|
+
- app: F.A.Z Der Tag App
|
710
|
+
match:
|
711
|
+
includes: FAZDERTAG
|
712
|
+
platform:
|
713
|
+
regexes:
|
714
|
+
- '(Android)'
|
715
|
+
- '\((iPhone|iPad|iPod touch)'
|
716
|
+
test:
|
717
|
+
userAgents:
|
718
|
+
- userAgent: Mozilla/5.0 (Linux; Android 8.1.0; INE-LX2 Build/HUAWEIINE-LX2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36; FAZDERTAG FAZNETAPPS
|
719
|
+
platform: Android
|
720
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 FAZDERTAG FAZNETAPPS
|
721
|
+
platform: iPhone
|
722
|
+
|
723
|
+
- app: ANTENNE BAYERN App
|
724
|
+
match:
|
725
|
+
includes: AntenneBayern
|
726
|
+
platform:
|
727
|
+
regexes:
|
728
|
+
- '(Android)'
|
729
|
+
- '\((iPhone|iPad|iPod touch)'
|
730
|
+
test:
|
731
|
+
userAgents:
|
732
|
+
- userAgent: Mozilla/5.0 (Linux; Android 8.1.0; ONEPLUS A5000 Build/OPM1.171019.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 AppName/AntenneRadioApps Station/AntenneBayern AppVersion/4.3.5
|
733
|
+
platform: Android
|
734
|
+
- userAgent: Mozilla/5.0 (iPad; CPU OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 AppName/AntenneRadioApps Station/AntenneBayern AppVersion/4.3.4 OS/iOS_10.3.3
|
735
|
+
platform: iPad
|
736
|
+
|
737
|
+
- app: BuzzFeed App
|
738
|
+
match:
|
739
|
+
includes: buzzfeed
|
740
|
+
platform:
|
741
|
+
regexes:
|
742
|
+
- '(Android)'
|
743
|
+
- '\((iPhone|iPad|iPod touch)'
|
744
|
+
test:
|
745
|
+
userAgents:
|
746
|
+
- userAgent: Mozilla/5.0 (Linux; Android 9; Pixel Build/PPR2.181005.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 buzzfeed/543001 (progressiveloading)
|
747
|
+
platform: Android
|
748
|
+
- userAgent: Mozilla/5.0 (iPad; CPU OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16A366 QuantcastSDK/iOS_1.6.0/16m6ajz048305w9k-tkkr70msrzxq3eee buzzfeed/5520004 (progressiveloading)
|
749
|
+
platform: iPad
|
750
|
+
|
751
|
+
- app: Facebook in-app browser
|
752
|
+
match:
|
753
|
+
includes:
|
754
|
+
- FBAN
|
755
|
+
- FBAV
|
756
|
+
platform:
|
757
|
+
regexes:
|
758
|
+
- '\((iPhone|iPad|iPod touch)'
|
759
|
+
- '(Android)'
|
760
|
+
test:
|
761
|
+
userAgents:
|
762
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Mobile/15A372 [FBAN/MessengerForiOS;FBAV/153.0.0.47.97;FBBV/91923955;FBDV/iPhone9,3;FBMD/iPhone;FBSN/iOS;FBSV/11.0;FBSS/2;FBCR/OrangeFrance;FBID/phone;FBLC/fr_FR;FBOP/5;FBRV/0]
|
763
|
+
platform: iPhone
|
764
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0_1 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Mobile/15A402 [FBAN/FBIOS;FBAV/160.0.0.34.96;FBBV/93101108;FBDV/iPhone7,2;FBMD/iPhone;FBSN/iOS;FBSV/11.0.1;FBSS/2;FBCR/E-Plus;FBID/phone;FBLC/de_DE;FBOP/5;FBRV/0]
|
765
|
+
platform: iPhone
|
766
|
+
- userAgent: Mozilla/5.0 (iPod touch; CPU iPhone OS 11_2_6 like Mac OS X) AppleWebKit/604.5.6 (KHTML, like Gecko) Mobile/15D100 [FBAN/FBIOS;FBAV/160.0.0.34.96;FBBV/93101108;FBDV/iPod7,1;FBMD/iPod touch;FBSN/iOS;FBSV/11.2.6;FBSS/2;FBCR/;FBID/phone;FBLC/fr_FR;FBOP/5;FBRV/0]
|
767
|
+
platform: iPod touch
|
768
|
+
- userAgent: Mozilla/5.0 (Linux; Android 8.1.0; TA-1012 Build/OPR1.170623.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/161.0.0.35.93;]
|
769
|
+
platform: Android
|
770
|
+
|
771
|
+
- app: Instagram in-app browser
|
772
|
+
match:
|
773
|
+
includes: Instagram
|
774
|
+
platform:
|
775
|
+
regexes:
|
776
|
+
- '(iPad)' # iPhone app can be installed on iPad
|
777
|
+
- '(iPhone|Android)'
|
778
|
+
test:
|
779
|
+
userAgents:
|
780
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36 Instagram 32.0.0.14.97 (iPad2,5; iPhone OS 9_3_5; de_AT; de-AT; scale=2.00; gamut=normal; 640x960)
|
781
|
+
platform: iPad
|
782
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36 Instagram 34.0.0.10.95 (iPhone8,1; iPhone OS 9_3_5; de_AT; de-AT; scale=2.00; gamut=normal; 750x1334)
|
783
|
+
platform: iPhone
|
784
|
+
- userAgent: Mozilla/5.0 (Linux; U; Android 4.1.2; de-de; ST26i Build/11.2.A.0.31) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 Instagram 30.0.0.12.95 Android (16/4.1.2; 240dpi; 480x854; Sony; ST26i; ST26i; Sony; de_DE; 89867438)
|
785
|
+
platform: Android
|
786
|
+
|
787
|
+
- app: Twitter in-app browser
|
788
|
+
match:
|
789
|
+
includes: Twitter
|
790
|
+
platform:
|
791
|
+
regex: '(iPhone|iPad|Darwin|Android)'
|
792
|
+
replacements:
|
793
|
+
- name: Darwin
|
794
|
+
replaceWith: Apple device
|
795
|
+
test:
|
796
|
+
userAgents:
|
797
|
+
- userAgent: Mozilla/5.0 (Linux; Android 7.1.1; XT1650 Build/NPLS26.118-20-5-11; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 TwitterAndroid
|
798
|
+
platform: Android
|
799
|
+
- userAgent: Mozilla/5.0 (iPad; CPU OS 11_2_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/15C202 Twitter for iPhone/7.18
|
800
|
+
platform: iPad
|
801
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 Twitter for iPhone
|
802
|
+
platform: iPhone
|
803
|
+
- userAgent: Twitter/7.18 CFNetwork/893.14.2 Darwin/17.3.0
|
804
|
+
platform: Apple device
|
805
|
+
|
806
|
+
- app: Pinterest in-app browser
|
807
|
+
match:
|
808
|
+
includes: Pinterest
|
809
|
+
platform:
|
810
|
+
regexes:
|
811
|
+
- '(Android)'
|
812
|
+
- '\((iPhone|iPad|iPod touch)'
|
813
|
+
test:
|
814
|
+
userAgents:
|
815
|
+
- userAgent: Mozilla/5.0 (Linux; Android 8.1.0; EML-L09 Build/HUAWEIEML-L09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 [Pinterest/Android]
|
816
|
+
platform: Android
|
817
|
+
- userAgent: Mozilla/5.0 (iPad; CPU OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 [Pinterest/iOS]
|
818
|
+
platform: iPad
|
819
|
+
- userAgent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Mobile/14C92 [Pinterest/iOS]
|
820
|
+
platform: iPhone
|
821
|
+
|
822
|
+
- app: Windows Media Player
|
823
|
+
match:
|
824
|
+
startsWith:
|
825
|
+
- NSPlayer
|
826
|
+
- WMPlayer
|
827
|
+
platform:
|
828
|
+
text: Windows
|
829
|
+
test:
|
830
|
+
userAgents:
|
831
|
+
- userAgent: NSPlayer/12.00.9651.0000 WMFSDK/12.00.9651.0000
|
832
|
+
platform: Windows
|
833
|
+
- userAgent: NSPlayer/4.1.0.3856
|
834
|
+
platform: Windows
|
835
|
+
- userAgent: WMPlayer/10.0.0.364 guid/2F8D1CB4-0A5A-4FD7-986F-FFDBA14156C7
|
836
|
+
platform: Windows
|
837
|
+
|
838
|
+
- app: Sonos
|
839
|
+
match:
|
840
|
+
includes: Sonos
|
841
|
+
platform:
|
842
|
+
text: Sonos
|
843
|
+
test:
|
844
|
+
userAgents:
|
845
|
+
- userAgent: Linux UPnP/1.0 Sonos/47.2-58300 (ZPS13)
|
846
|
+
platform: Sonos
|
847
|
+
- userAgent: Sonos
|
848
|
+
platform: Sonos
|
849
|
+
|
850
|
+
- app: Internet Explorer
|
851
|
+
match:
|
852
|
+
includes: Trident
|
853
|
+
platform:
|
854
|
+
regex: '(Windows Phone)'
|
855
|
+
fallback: Windows
|
856
|
+
test:
|
857
|
+
userAgents:
|
858
|
+
- userAgent: Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/8.0; Touch; rv:11.0; WebBrowser/8.1; IEMobile/11.0; NOKIA; Lumia 930) like Gecko
|
859
|
+
platform: Windows Phone
|
860
|
+
- userAgent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
|
861
|
+
platform: Windows
|
862
|
+
- userAgent: Mozilla/5.0; TOB 6.12 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
|
863
|
+
platform: Windows
|
864
|
+
- userAgent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASJB; rv:11.0) like Gecko
|
865
|
+
platform: Windows
|
866
|
+
|
867
|
+
- app: Kodi Media Center
|
868
|
+
match:
|
869
|
+
startsWith: Kodi
|
870
|
+
includes: Kodi
|
871
|
+
platform:
|
872
|
+
regex: '(X11|Android|Windows)'
|
873
|
+
replacements:
|
874
|
+
- name: X11
|
875
|
+
replaceWith: Linux
|
876
|
+
test:
|
877
|
+
userAgents:
|
878
|
+
- userAgent: Kodi/14.0 (X11; Linux armv6l) Raspbian GNU/Linux/7 HW_RaspberryPi/1.0 App_Bitness/32 Version/14.0-Git:2014-12-24-e044d5a-dirty
|
879
|
+
platform: Linux
|
880
|
+
- userAgent: Kodi/15.0 (Linux; Android 4.4.2; Gecko Build/KOT49H) Android/4.4.2 Sys_CPU/armv7l App_Bitness/32 Version/15.0-Git:Unknown
|
881
|
+
platform: Android
|
882
|
+
- userAgent: Kodi/16.1 (Windows NT 10.0; WOW64) App_Bitness/32 Version/16.1-Git:20160424-c327c53
|
883
|
+
platform: Windows
|
884
|
+
|
885
|
+
- app: HermesPod
|
886
|
+
match:
|
887
|
+
startsWith: +hermespod.com
|
888
|
+
platform:
|
889
|
+
text: Windows
|
890
|
+
test:
|
891
|
+
userAgents:
|
892
|
+
- userAgent: +hermespod.com/v1.5.x
|
893
|
+
platform: Windows
|
894
|
+
|
895
|
+
- app: ViennaRSS
|
896
|
+
match:
|
897
|
+
includes: Vienna
|
898
|
+
platform:
|
899
|
+
text: Mac
|
900
|
+
test:
|
901
|
+
userAgents:
|
902
|
+
- userAgent: (Macintosh; Intel Mac OS X 10_9_x) AppleWebKit/9537.78.2 (KHTML, like Gecko) Version/9.1.3 Safari/604.1.38 Vienna/3.2.1
|
903
|
+
platform: Mac
|
904
|
+
|
905
|
+
- app: Unknown client
|
906
|
+
match:
|
907
|
+
startsWith: '(null)'
|
908
|
+
platform:
|
909
|
+
regex: '(iPhone|iPad|iPod touch)'
|
910
|
+
test:
|
911
|
+
userAgents:
|
912
|
+
- userAgent: '(null) (iPhone; iPhone OS 9.0.2; de_DE)'
|
913
|
+
platform: iPhone
|
914
|
+
|
915
|
+
- app: Clementine Music Player
|
916
|
+
match:
|
917
|
+
startsWith: Clementine
|
918
|
+
platform:
|
919
|
+
text: Unknown
|
920
|
+
test:
|
921
|
+
userAgents:
|
922
|
+
- userAgent: Clementine 1.3.1 Clementine 1.3.1
|
923
|
+
platform: Unknown
|
924
|
+
|
925
|
+
- app: Flipboard
|
926
|
+
match:
|
927
|
+
includes: Flipboard
|
928
|
+
platform:
|
929
|
+
regexes:
|
930
|
+
- '(Android)'
|
931
|
+
- '\((iPhone|iPad|iPod touch|Macintosh)'
|
932
|
+
replacements:
|
933
|
+
- name: Macintosh
|
934
|
+
replaceWith: Mac
|
935
|
+
test:
|
936
|
+
userAgents:
|
937
|
+
- userAgent: Mozilla/5.0 (Linux; Android 9; ONEPLUS A6003 Build/PKQ1.180716.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/69.0.3497.100 Mobile Safari/537.36 Flipboard/4.2.2/4495,4.2.2.4495
|
938
|
+
platform: Android
|
939
|
+
- userAgent: Mozilla/5.0 (iPad; CPU OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Mobile/14E304 Flipboard/4.2.20
|
940
|
+
platform: iPad
|
941
|
+
- userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:49.0) Gecko/20100101 Firefox/49.0 (FlipboardProxy/1.2; +http://flipboard.com/browserproxy)
|
942
|
+
platform: Mac
|
943
|
+
|
944
|
+
- app: iVoox
|
945
|
+
match:
|
946
|
+
startsWith:
|
947
|
+
- ivoox
|
948
|
+
- iVoox
|
949
|
+
platform:
|
950
|
+
regexes:
|
951
|
+
- '(Android)'
|
952
|
+
- '(Darwin)\/'
|
953
|
+
- '\((iPhone|iPad|iPod touch|Macintosh)'
|
954
|
+
replacements:
|
955
|
+
- name: Darwin
|
956
|
+
replaceWith: Apple device
|
957
|
+
- name: Macintosh
|
958
|
+
replaceWith: Mac
|
959
|
+
test:
|
960
|
+
userAgents:
|
961
|
+
- userAgent: iVooxApp/3.23_29 (iPhone; iOS; iOS 12.1.4; ; B106)
|
962
|
+
platform: iPhone
|
963
|
+
- userAgent: iVooxApp/3.23_29 (iPad; iOS; iOS 12.2; ; 44CE)
|
964
|
+
platform: iPad
|
965
|
+
- userAgent: ivooxNew/1 CFNetwork/975.0.3 Darwin/18.2.0
|
966
|
+
platform: Apple device
|
967
|
+
|
968
|
+
- app: FYEO
|
969
|
+
match:
|
970
|
+
startsWith: FYEO
|
971
|
+
platform:
|
972
|
+
regex: "(iOS|Android)"
|
973
|
+
test:
|
974
|
+
userAgents:
|
975
|
+
- userAgent: FYEO/0.9.0.2450-ce56a8c4/iOS_13.3.0/iPhone8,1
|
976
|
+
platform: iOS
|
977
|
+
- userAgent: FYEO/0.9.0.2290-6393b910/Android_10/SM-G973F
|
978
|
+
platform: Android
|