device_detector 1.1.0 → 1.1.2

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.
@@ -33,8 +33,9 @@
33
33
  name: 'Apple News'
34
34
  version: '$1'
35
35
 
36
- - regex: 'bPod'
37
- name: 'bPod'
36
+ # Apple TV
37
+ - regex: 'appletv.client'
38
+ name: 'Apple TV'
38
39
  version: ''
39
40
 
40
41
  # Facebook Audience Network
@@ -68,7 +69,7 @@
68
69
  version: '$1'
69
70
 
70
71
  # Facebook
71
- - regex: '(?:FBAV|com.facebook.katana)(?:[ /]([\d\.]+))?'
72
+ - regex: '(?:FBAV|com.facebook.katana|facebook-mobile/1.0|facebook-mobile/|Facebook/)(?:[ /]([\d\.]+))?'
72
73
  name: 'Facebook'
73
74
  version: '$1'
74
75
  - regex: '(?:FBAN|FBSV|FBID|FBBV)/'
@@ -141,6 +142,11 @@
141
142
  name: 'YouTube'
142
143
  version: '$1'
143
144
 
145
+ # Rutube
146
+ - regex: 'Rutube(?:TV)?BlackAndroid'
147
+ name: 'Rutube'
148
+ version: '$1'
149
+
144
150
  # Netflix (https://play.google.com/store/apps/details?id=com.netflix.mediaclient)
145
151
  - regex: 'com.netflix.mediaclient(?:/(\d+\.[\d\.]+))?'
146
152
  name: 'Netflix'
@@ -161,7 +167,7 @@
161
167
  version: '$1'
162
168
 
163
169
  # AFNetworking generic
164
- - regex: '([^/]+)/(\d+(?:\.\d+)+) \((?:iPhone|iPad); iOS [0-9\.]+; Scale/[0-9\.]+\)'
170
+ - regex: '(?!AlohaBrowser)([^/;]*)/(\d+\.[\d.]+) \((?:iPhone|iPad); (?:iOS|iPadOS) [0-9\.]+; Scale/[0-9\.]+\)'
165
171
  name: '$1'
166
172
  version: '$2'
167
173
 
@@ -176,12 +182,9 @@
176
182
  version: '$1'
177
183
 
178
184
  # Instacast
179
- - regex: 'Instacast(?:HD)?/(\d\.[\d\.abc]+) CFNetwork/([\d\.]+) Darwin/([\d\.]+)'
185
+ - regex: 'Instacast(?:HD)?/([\d\.abc]+) CFNetwork/([\d\.]+) Darwin/([\d\.]+)'
180
186
  name: 'Instacast'
181
187
  version: '$1'
182
- - regex: 'Podcasts/([\d\.]+)'
183
- name: 'Podcasts'
184
- version: '$1'
185
188
  - regex: 'Pocket Casts(?:, (?:Android|iOS) v([\d\.]+))?'
186
189
  name: 'Pocket Casts'
187
190
  version: '$1'
@@ -191,18 +194,13 @@
191
194
  - regex: 'BeyondPod'
192
195
  name: 'BeyondPod'
193
196
  version:
194
- - regex: 'AntennaPod/?([\d\.]+)?'
195
- name: 'AntennaPod'
196
- version: '$1'
197
- - regex: 'Overcast/([\d\.]+)'
197
+
198
+ - regex: '(?:^Overcast/([\d\.]+)|^Overcast.*Apple Watch)'
198
199
  name: 'Overcast'
199
200
  version: '$1'
200
201
  - regex: '(?:CastBox|fm.castbox.audiobook.radio.podcast)/?([\d\.]+)?'
201
202
  name: 'CastBox'
202
203
  version: '$1'
203
- - regex: 'Player FM'
204
- name: 'Player FM'
205
- version: ''
206
204
  - regex: 'Podkicker( (?:Pro|Classic))?/([\d\.]+)'
207
205
  name: 'Podkicker$1'
208
206
  version: '$2'
@@ -221,9 +219,10 @@
221
219
  - regex: 'DoggCatcher'
222
220
  name: 'DoggCatcher'
223
221
  version:
224
- - regex: 'PodcastAddict/v([\d]+)'
222
+ - regex: '(?:PodcastAddict/v([\d]+)|^Podcast Addict)'
225
223
  name: 'Podcast & Radio Addict'
226
224
  version: '$1'
225
+
227
226
  - regex: 'Podcat(?:%202)?/([\d]+) CFNetwork'
228
227
  name: 'Podcat'
229
228
  version: '$1'
@@ -288,10 +287,12 @@
288
287
  - regex: '^Pocket Casts'
289
288
  name: 'Pocket Casts'
290
289
  version: ''
291
- # Gaana (https://gaana.com)
292
- - regex: '^GaanaAndroid-([\d\.]+)'
290
+ # Podcast app from India (https://gaana.com)
291
+ - regex: '(?:^GaanaAndroid-|^Gaana-iOS|^Gaana/)([\d\.]+)?'
293
292
  name: 'Gaana'
294
293
  version: '$1'
294
+
295
+
295
296
  - regex: 'TopBuzz/([\d\.]+)'
296
297
  name: 'TopBuzz'
297
298
  version: '$1'
@@ -551,7 +552,7 @@
551
552
  version: '$1'
552
553
 
553
554
  # https://apps.apple.com/us/app/zalo/id579523206
554
- - regex: 'Zalo/([\d\.]+)'
555
+ - regex: 'Zalo/([\d\.]+)|Zalo android'
555
556
  name: 'Zalo'
556
557
  version: '$1'
557
558
 
@@ -575,28 +576,21 @@
575
576
  version: '$1'
576
577
 
577
578
  # Podbean (http://podbean.com | https://play.google.com/store/apps/details?id=com.podbean.app.podcast)
578
- - regex: 'Podbean/.+App (\d+[\.\d]+)'
579
+ - regex: '(?:Podbean/.+App |Podbean/Android generic |Podbean/iOS \([^)]+\) )(\d+[\.\d]+)'
579
580
  name: 'Podbean'
580
581
  version: '$1'
581
582
 
582
- # Alexa Media Player
583
- - regex: 'AlexaMediaPlayer/(\d+[\.\d]+)'
583
+ - regex: '(?:AlexaMediaPlayer/|^AlexaMediaPlayer/|^Echo/|^AlexaService/|^Alexa Mobile Voice/)([a-z\d]+\.[a-z.\d]+)?'
584
584
  name: 'Alexa Media Player'
585
585
  version: '$1'
586
586
 
587
- # TuneIn Radio Pro
588
587
  - regex: 'TuneIn Radio Pro(?:[^/]*)/(\d+[\.\d]+)'
589
588
  name: 'TuneIn Radio Pro'
590
589
  version: '$1'
591
- - regex: 'TuneIn(?: Radio(?:[^/]*))?/(\d+[\.\d]+)'
590
+ - regex: 'TuneIn(?:(?: |%20)Radio(?:[^/]*))?/?(\d+[\.\d]+)?'
592
591
  name: 'TuneIn Radio'
593
592
  version: '$1'
594
593
 
595
- # Podcaster
596
- - regex: 'Podcaster/(\d+[\.\d]+)'
597
- name: 'Podcaster'
598
- version: '$1'
599
-
600
594
  # DevCasts (https://apps.apple.com/app/id1481596184)
601
595
  - regex: 'devcasts/(\d+[\.\d]+)'
602
596
  name: 'DevCasts'
@@ -608,7 +602,7 @@
608
602
  version: '$1'
609
603
 
610
604
  # RadioPublic (https://play.google.com/store/apps/details?id=com.radiopublic.android)
611
- - regex: 'RadioPublic/android-(\d+[\.\d]+)'
605
+ - regex: '(?:^RadioPublic[/ ](?:Android|iOS)[- ])(\d+\.[.\d]+)'
612
606
  name: 'RadioPublic'
613
607
  version: '$1'
614
608
 
@@ -631,11 +625,6 @@
631
625
  name: 'Pandora'
632
626
  version: ''
633
627
 
634
- # NPR One https://play.google.com/store/apps/details?id=org.npr.one
635
- - regex: '^NPROneAndroid'
636
- name: 'NPR One'
637
- version: ''
638
-
639
628
  # Wirtschafts Woche Nachrichte https://apps.apple.com/de/app/wirtschaftswoche-nachrichten/id1339187646
640
629
  - regex: '^WirtschaftsWoche-iOS-(\d+[\.\d]+)'
641
630
  name: 'Wirtschafts Woche'
@@ -747,6 +736,21 @@
747
736
  name: 'AliExpress'
748
737
  version: '$1'
749
738
 
739
+ # Lazada
740
+ - regex: '(?:lazada_android|AliApp\(LA)[/ _](\d+\.[\d.]+)'
741
+ name: 'Lazada'
742
+ version: '$1'
743
+
744
+ # Taobao
745
+ - regex: '(?:taobao_android|AliApp\(TB)[/ _](\d+\.[\d.]+)'
746
+ name: 'Taobao'
747
+ version: '$1'
748
+
749
+ # Alipay
750
+ - regex: '(?:AlipayClient|AliApp\(AP)[/ _](\d+\.[\d.]+)'
751
+ name: 'Alipay'
752
+ version: '$1'
753
+
750
754
  # Blue Proxy (https://play.google.com/store/apps/details?id=com.udicorn.proxy)
751
755
  - regex: 'Blue Proxy/([\d\.]+)'
752
756
  name: 'Blue Proxy'
@@ -818,10 +822,11 @@
818
822
  version: '$1'
819
823
 
820
824
  # Google Podcasts (https://apps.apple.com/us/app/google-podcasts/id1398000105)
821
- - regex: 'GooglePodcasts/(\d+[\.\d]+)'
825
+ - regex: '^GooglePodcasts/(\d+\.[.\d]+)'
822
826
  name: 'Google Podcasts'
823
827
  version: '$1'
824
828
 
829
+
825
830
  # Windows CryptoAPI (https://www.microsoft.com/en-us/)
826
831
  - regex: 'Microsoft-CryptoAPI/(\d+[\.\d]+)'
827
832
  name: 'Windows CryptoAPI'
@@ -1285,6 +1290,11 @@
1285
1290
  name: 'Bitcoin Core'
1286
1291
  version: '$1'
1287
1292
 
1293
+ # Dogecoin Core (https://github.com/dogecoin/dogecoin)
1294
+ - regex: '/Shibetoshi:(\d+\.[\.\d]+)/'
1295
+ name: 'Dogecoin Core'
1296
+ version: '$1'
1297
+
1288
1298
  # Amazon Shopping (https://play.google.com/store/apps/details?id=com.amazon.mShop.android.shopping)
1289
1299
  - regex: 'Amazon.com/(\d+\.[\.\d]+)'
1290
1300
  name: 'Amazon Shopping'
@@ -1364,15 +1374,16 @@
1364
1374
  version: '$1'
1365
1375
 
1366
1376
  # Spotify (https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580)
1367
- - regex: 'Spotify/(\d+\.[.\d]+)'
1377
+ - regex: '(?:Spotify(?:-Lite)?/(\d+\.[.\d]+)|^spotify_)'
1368
1378
  name: 'Spotify'
1369
1379
  version: '$1'
1370
1380
 
1371
- # Amazon Music (https://apps.apple.com/us/app/amazon-music-songs-podcasts/id510855668)
1372
- - regex: 'AmazonMusic/(\d+\.[.\d]+)'
1381
+ # A music and podcasts streaming app
1382
+ - regex: '(?:AmazonMusic|^Harley)(?:(?:%2F|/)(\d+\.[.\d]+))?'
1373
1383
  name: 'Amazon Music'
1374
1384
  version: '$1'
1375
1385
 
1386
+
1376
1387
  # Klarna (https://apps.apple.com/us/app/klarna-shop-now-pay-later/id1115120118)
1377
1388
  - regex: 'Klarna/(\d+\.[.\d]+)'
1378
1389
  name: 'Klarna'
@@ -1383,7 +1394,814 @@
1383
1394
  name: 'WhatsApp+2'
1384
1395
  version: '$1'
1385
1396
 
1397
+ # GBWhatsApp
1398
+ - regex: 'GBWhatsApp(?:/(\d+[\.\d]+))?'
1399
+ name: 'GBWhatsApp'
1400
+ version: '$1'
1401
+
1386
1402
  # R (https://www.r-project.org/)
1387
1403
  - regex: '^R/(\d+[\.\d]+)'
1388
1404
  name: 'R'
1389
1405
  version: '$1'
1406
+
1407
+ # RadioApp (https://apps.apple.com/us/app/radioapp-a-simple-radio/id720291153)
1408
+ - regex: 'RadioAppFree/'
1409
+ name: 'RadioApp'
1410
+ version: ''
1411
+
1412
+ # Audible
1413
+ - regex: '^(?:Audible, Android, |com.audible.playersdk.player/|Audible/)(\d+\.[.\d]+)?'
1414
+ name: 'Audible'
1415
+ version: '$1'
1416
+
1417
+ # Overcast (http://overcast.fm/)
1418
+ - regex: 'Overcast/?(\d+\.[.\d]+)? \(\+http://overcast.fm/; (?:Apple Watch|iOS) podcast'
1419
+ name: 'Overcast'
1420
+ version: '$1'
1421
+
1422
+ # HTTP request maker (https://play.google.com/store/apps/details?id=com.proj.httprequestmaker)
1423
+ - regex: '^HTTPrequestmaker'
1424
+ name: 'HTTP request maker'
1425
+ version: ''
1426
+
1427
+ # bonprix (https://play.google.com/store/apps/details?id=com.proj.httprequestmaker)
1428
+ - regex: '^bonprix mobile App (\d+\.[.\d]+)'
1429
+ name: 'BonPrix'
1430
+ version: '$1'
1431
+
1432
+ # Quora https://apps.apple.com/us/app/quora/id456034437
1433
+ - regex: 'Safari Quora (\d+\.[.\d]+)'
1434
+ name: 'Quora'
1435
+ version: '$1'
1436
+
1437
+ # jj2go https://apps.apple.com/us/app/jj2go/id1438749275
1438
+ - regex: 'RelesysApp/(\d+\.[.\d]+) \(\d{1,2}\) net.relesysapp.jj2go'
1439
+ name: 'JJ2GO'
1440
+ version: '$1'
1441
+
1442
+ # My Watch Party
1443
+ - regex: 'MyWatchParty/(\d+\.[.\d]+)'
1444
+ name: 'My Watch Party'
1445
+ version: '$1'
1446
+
1447
+ - regex: 'LoseIt!/(\d+\.[.\d]+)'
1448
+ name: 'LoseIt!'
1449
+ version: '$1'
1450
+
1451
+ - regex: 'ActionExtension/([\d\.]+)'
1452
+ name: 'ActionExtension'
1453
+ version: '$1'
1454
+
1455
+ - regex: '^Adori(?:-Dev|-Listen)?/([\d\.]+)'
1456
+ name: 'Adori'
1457
+ version: '$1'
1458
+
1459
+ - regex: '^Agora/([\d\.]+)'
1460
+ name: 'Agora'
1461
+ version: '$1'
1462
+
1463
+ - regex: '^Airr(?:%20Beta)?/([\d\.]+)|^Airr \('
1464
+ name: 'Airr'
1465
+ version: '$1'
1466
+
1467
+ - regex: '^Airsonic/(\d+\.[.\d]+)'
1468
+ name: 'Airsonic'
1469
+ version: '$1'
1470
+
1471
+ - regex: '(?:AllYouCanBooksApp|^AllYouCanBooks/([\d\.]+))'
1472
+ name: 'All You Can Books'
1473
+ version: '$1'
1474
+
1475
+ - regex: '^AllHitMusicRadio/([\d\.]+)'
1476
+ name: 'AllHitMusicRadio'
1477
+ version: '$1'
1478
+
1479
+ - regex: '^Amazon;AF'
1480
+ name: 'Amazon Fire'
1481
+ version: ''
1482
+
1483
+ - regex: '^Anchor/([\d\.]+)'
1484
+ name: 'Anchor'
1485
+ version: '$1'
1486
+
1487
+ - regex: '^AnchorFM/(\d+\.[.\d]+)'
1488
+ name: 'AnchorFM'
1489
+ version: '$1'
1490
+
1491
+ - regex: '(?:^Anghami Android |^Anghami/|^أنغامي/)([\d\.]+)'
1492
+ name: 'Anghami'
1493
+ version: '$1'
1494
+
1495
+ - regex: '(?:^AntennaPod/|^de\.danoeh\.antennapod/|antenna/)([\d\.]+)?'
1496
+ name: 'AntennaPod'
1497
+ version: '$1'
1498
+
1499
+ - regex: '^Anybox/([\d\.]+)'
1500
+ name: 'Anybox'
1501
+ version: '$1'
1502
+
1503
+ - regex: '^Anytime/(\d+\.[.\d]+).*amugofjava'
1504
+ name: 'Anytime Podcast Player'
1505
+ version: '$1'
1506
+
1507
+ - regex: '^APKXDL'
1508
+ name: 'APK Downloader'
1509
+ version: ''
1510
+
1511
+ - regex: '^Apollo/([\d\.]+)'
1512
+ name: 'Apollo'
1513
+ version: '$1'
1514
+
1515
+ - regex: '(?:^MessagesViewService/|^Messages/|^Messages Share Extension/|^MessagesNotificationExtension/)([\d\.]+)'
1516
+ name: 'Apple iMessage'
1517
+ version: '$1'
1518
+
1519
+ # The Apple Podcasts app. What were they thinking?
1520
+ - regex: '(?:^Podcasts/|^Balados/|^Podcasti/|^Podcastit/|^Podcasturi/|^Podcasty/|^Podcast’ler/|^Podkaster/|^Podcaster/|^Podcastok/|^Подкасти/|^Подкасты/|^פודקאסטים/|^البودكاست/|^पॉडकास्ट/|^พ็อดคาสท์/|^播客/|^팟캐스트/|^ポッドキャスト/|^إسمعلي/|^Подкасттар/|^Podcast/|AirPodcasts/)([\d\.]+)?'
1521
+ name: 'Apple Podcasts'
1522
+ version: '$1'
1523
+
1524
+ - regex: '^Recordatorios/([\d\.]+)'
1525
+ name: 'Apple Reminders'
1526
+ version: '$1'
1527
+
1528
+ - regex: '^Arvocast/([\d\.]+)'
1529
+ name: 'Arvocast'
1530
+ version: '$1'
1531
+
1532
+ - regex: '^Radio\.com/(\d+\.[.\d]+)'
1533
+ name: 'Audacy'
1534
+ version: '$1'
1535
+
1536
+ - regex: '^Audio/([\d\.]+)'
1537
+ name: 'Audio'
1538
+ version: '$1'
1539
+
1540
+ - regex: '^Android_AudioNow'
1541
+ name: 'Audio Now'
1542
+ version: ''
1543
+
1544
+ - regex: '^Awasu/(\d+\.[.\d]+)'
1545
+ name: 'Awasu'
1546
+ version: '$1'
1547
+
1548
+ - regex: '^Bear/([\d\.]+)'
1549
+ name: 'Bear'
1550
+ version: '$1'
1551
+
1552
+ - regex: '^Bible/([\d\.]+)'
1553
+ name: 'Bible'
1554
+ version: '$1'
1555
+
1556
+ - regex: '^Bolt/([\d\.]+)'
1557
+ name: 'Bolt'
1558
+ version: '$1'
1559
+
1560
+ - regex: '^Bookmobile/([\d\.]+)'
1561
+ name: 'Bookmobile'
1562
+ version: '$1'
1563
+
1564
+ - regex: '^Boom/([\d\.]+)'
1565
+ name: 'Boom'
1566
+ version: '$1'
1567
+
1568
+ - regex: '^Boomplay/(\d+\.[.\d]+)'
1569
+ name: 'Boomplay'
1570
+ version: '$1'
1571
+
1572
+ - regex: '^Bose/(\d+\.[.\d]+)'
1573
+ name: 'Bose SoundTouch'
1574
+ version: '$1'
1575
+
1576
+ - regex: '^bPod$'
1577
+ name: 'bPod'
1578
+ version: ''
1579
+
1580
+ - regex: '^breez/(\d+\.[.\d]+)'
1581
+ name: 'Breez'
1582
+ version: '$1'
1583
+
1584
+ - regex: '^Broadcast/(\d+\.[.\d]+)'
1585
+ name: 'Broadcast'
1586
+ version: '$1'
1587
+
1588
+ - regex: 'BroadwayPodcastNetwork/iOS'
1589
+ name: 'Broadway Podcast Network'
1590
+ version: ''
1591
+
1592
+ - regex: '^(?:Browser|browser_iso)/([\d\.]+)'
1593
+ name: 'Browser app'
1594
+ version: '$1'
1595
+
1596
+ - regex: '^BrowserPlus/([\d\.]+)'
1597
+ name: 'BrowserPlus'
1598
+ version: '$1'
1599
+
1600
+ - regex: '^Bullhorn(?:/([\d\.]+))?'
1601
+ name: 'Bullhorn'
1602
+ version: '$1'
1603
+
1604
+ - regex: '^Capital/([\d\.]+)'
1605
+ name: 'Capital'
1606
+ version: '$1'
1607
+
1608
+ - regex: '^capsule\.fm/([\d\.]+)|^capsule-android'
1609
+ name: 'capsule.fm'
1610
+ version: '$1'
1611
+
1612
+ - regex: '^Castamatic/([\d\.]+)'
1613
+ name: 'Castamatic'
1614
+ version: '$1'
1615
+
1616
+ - regex: '^Castaway/([\d\.]+)'
1617
+ name: 'Castaway'
1618
+ version: '$1'
1619
+
1620
+ - regex: '^CastBox/(\d+\.[.\d]+)'
1621
+ name: 'CastBox'
1622
+ version: '$1'
1623
+
1624
+ - regex: '^Classic FM/([\d\.]+)'
1625
+ name: 'Classic FM'
1626
+ version: '$1'
1627
+
1628
+ - regex: '^Client/([\d\.]+)'
1629
+ name: 'Client'
1630
+ version: '$1'
1631
+
1632
+ - regex: '^Cosmicast/([\d\.]+)'
1633
+ name: 'Cosmicast'
1634
+ version: '$1'
1635
+
1636
+ # A simple, beautiful podcast app, for Windows, MacOS and Linux
1637
+ - regex: 'CPod/(\d+\.[.\d]+)'
1638
+ name: 'CPod'
1639
+ version: '$1'
1640
+
1641
+ - regex: '^damus/([\d\.]+)'
1642
+ name: 'Damus'
1643
+ version: '$1'
1644
+
1645
+ - regex: 'be\.standaard\.audio'
1646
+ name: 'De Standaard'
1647
+ version: ''
1648
+
1649
+ - regex: '^DManager/([\d\.]+)'
1650
+ name: 'DManager'
1651
+ version: '$1'
1652
+
1653
+ - regex: '^doubleTwist CloudPlayer'
1654
+ name: 'DoubleTwist CloudPlayer'
1655
+ version: ''
1656
+
1657
+ - regex: '^Doughnut/([\d\.]+)'
1658
+ name: 'Doughnut'
1659
+ version: '$1'
1660
+
1661
+ - regex: '^Downie/([\d\.]+)'
1662
+ name: 'Downie'
1663
+ version: '$1'
1664
+
1665
+ - regex: '^Downloader/([\d\.]+)'
1666
+ name: 'Downloader'
1667
+ version: '$1'
1668
+
1669
+ - regex: '^EMAudioPlayer (\d+\.[.\d]+)'
1670
+ name: 'EMAudioPlayer'
1671
+ version: '$1'
1672
+
1673
+ - regex: '^Expo/(\d+\.[.\d]+)'
1674
+ name: 'Expo'
1675
+ version: '$1'
1676
+
1677
+ - regex: '^CFR%20Plus/([\d\.]+)'
1678
+ name: 'faidr'
1679
+ version: '$1'
1680
+
1681
+ - regex: '^Fathom/([\d\.]+)'
1682
+ name: 'Fathom'
1683
+ version: '$1'
1684
+
1685
+ - regex: '^FeedStation/(\d+\.[.\d]+)'
1686
+ name: 'FeedStation'
1687
+ version: '$1'
1688
+
1689
+ - regex: '^Files/([\d\.]+)'
1690
+ name: 'Files'
1691
+ version: '$1'
1692
+
1693
+ - regex: '^Fountain(?:app)?/([\d\.]+)'
1694
+ name: 'Fountain'
1695
+ version: '$1'
1696
+
1697
+ - regex: '^Garmin fenix 5X Plus/(\d+\.[.\d]+)'
1698
+ name: 'Garmin fenix 5X'
1699
+ version: '$1'
1700
+
1701
+ - regex: '^Garmin Forerunner (?:\d+)(?: Music| Solar)?/(\d+\.[.\d]+)'
1702
+ name: 'Garmin Forerunner'
1703
+ version: '$1'
1704
+
1705
+ - regex: '^Gold/([\d\.]+)'
1706
+ name: 'Gold'
1707
+ version: '$1'
1708
+
1709
+ - regex: '^GoldenPod/(\d+\.[.\d]+)'
1710
+ name: 'GoldenPod'
1711
+ version: '$1'
1712
+
1713
+ - regex: '^GoLoud/([\d\.]+)'
1714
+ name: 'GoLoud'
1715
+ version: '$1'
1716
+
1717
+ - regex: 'Goodpods(?:\.Android|\.iOS)? ?/ ?([\d\.]+)'
1718
+ name: 'Goodpods'
1719
+ version: '$1'
1720
+
1721
+ - regex: '^GoodReader(?:4|IPad)?/([\d\.]+)'
1722
+ name: 'GoodReader'
1723
+ version: '$1'
1724
+
1725
+ - regex: '\(Fuchsia\).* CrKey/(:?\d+\.[.\d]+)'
1726
+ name: 'Google Nest Hub'
1727
+ version: ''
1728
+
1729
+ - regex: '^Guacamole/([\d\.]+)'
1730
+ name: 'Guacamole'
1731
+ version: '$1'
1732
+
1733
+ - regex: '^Hammel/([\d\.]+)'
1734
+ name: 'Hammel'
1735
+ version: '$1'
1736
+
1737
+ - regex: '^HardCast/([\d\.]+)'
1738
+ name: 'HardCast'
1739
+ version: '$1'
1740
+
1741
+ - regex: '^Hark/([\d\.]+)'
1742
+ name: 'Hark Audio'
1743
+ version: '$1'
1744
+
1745
+ - regex: '^Heart/([\d\.]+)'
1746
+ name: 'Heart'
1747
+ version: '$1'
1748
+
1749
+ - regex: 'hermespod\.com/v?([\d\.]+)'
1750
+ name: 'HermesPod'
1751
+ version: '$1'
1752
+
1753
+ - regex: '^HiCast/([\d\.]+)'
1754
+ name: 'HiCast'
1755
+ version: '$1'
1756
+
1757
+ # Himalaya is a podcast app
1758
+ - regex: '^Himalaya(?:_test)?/([\d\.]+)'
1759
+ name: 'Himalaya'
1760
+ version: '$1'
1761
+
1762
+ # Newsletters and podcasts together!
1763
+ - regex: '^HyperCatcher/([\d\.]+)'
1764
+ name: 'HyperCatcher'
1765
+ version: '$1'
1766
+
1767
+ - regex: '^(?:iHeartRadio|iHeartPodcasts)/([\d\.]+)'
1768
+ name: 'iHeartRadio'
1769
+ version: '$1'
1770
+
1771
+ - regex: '^IOSAudiobooks/([\d\.]+)'
1772
+ name: 'Audiobooks'
1773
+ version: '$1'
1774
+
1775
+ - regex: '^iVoox(?:App|New)?[ /]?([\d\.]+)?'
1776
+ name: 'iVoox'
1777
+ version: '$1'
1778
+
1779
+ - regex: '^Jam/(\d+\.[.\d]+)'
1780
+ name: 'Jam'
1781
+ version: '$1'
1782
+
1783
+ # A music streaming and podcast app from India. Earn Your Happy!
1784
+ - regex: '^(?:com\.jio\.media\.jiobeats/(\d+\.[.\d]+)|com\.saavn\.android|^[sS]aavn)'
1785
+ name: 'JioSaavn'
1786
+ version: '$1'
1787
+
1788
+ - regex: ' Kajabi|KajabiPodcast'
1789
+ name: 'Kajabi'
1790
+ version: ''
1791
+
1792
+ - regex: '^KakaoTalk/(\d+\.[.\d]+)'
1793
+ name: 'KakaoTalk'
1794
+ version: '$1'
1795
+
1796
+ - regex: '^Kids(?:%20| )Listen/([\d\.]+)'
1797
+ name: 'Kids Listen'
1798
+ version: '$1'
1799
+
1800
+ - regex: '^KidspodMobileClient/([\d\.]+)'
1801
+ name: 'KidsPod'
1802
+ version: '$1'
1803
+
1804
+ - regex: '^KKBOX/(\d+\.[.\d]+)'
1805
+ name: 'KKBOX'
1806
+ version: '$1'
1807
+
1808
+ - regex: '^(?:Laughable.+iOS|Laughable)/(\d+\.[.\d]+)'
1809
+ name: 'Laughable'
1810
+ version: '$1'
1811
+
1812
+ # British podcast app
1813
+ - regex: '^LBC/([\d\.]+)'
1814
+ name: 'LBC'
1815
+ version: '$1'
1816
+
1817
+ - regex: 'LG Player (\d+\.[.\d]+)'
1818
+ name: 'LG Player'
1819
+ version: '$1'
1820
+
1821
+ - regex: '^Listen(?:(?: |%20)App)?/([\d\.]+)'
1822
+ name: 'Listen'
1823
+ version: '$1'
1824
+
1825
+ - regex: '^Liulo/([\d\.]+)'
1826
+ name: 'Liulo'
1827
+ version: '$1'
1828
+
1829
+ - regex: 'Listen5[ /]([\d\.]+)'
1830
+ name: 'Just Listen'
1831
+ version: '$1'
1832
+
1833
+ - regex: '^(?:Luminary(?:Preprod)?|luminary\.next)/([\d\.]+)'
1834
+ name: 'Luminary'
1835
+ version: '$1'
1836
+
1837
+ - regex: '^Megaphone\.fm'
1838
+ name: 'Megaphone'
1839
+ version: ''
1840
+
1841
+ - regex: '^Menucast/(\d+\.[.\d]+)'
1842
+ name: 'Menucast'
1843
+ version: '$1'
1844
+
1845
+ - regex: '^Messenger/([\d\.]+)'
1846
+ name: 'MessengerX'
1847
+ version: '$1'
1848
+
1849
+ - regex: '^Mimir(?:-macOS)?/([\d\.]+)'
1850
+ name: 'Mimir'
1851
+ version: '$1'
1852
+
1853
+ - regex: '^MobileSMS/([\d\.]+)'
1854
+ name: 'MobileSMS'
1855
+ version: '$1'
1856
+
1857
+ - regex: '^Moon ?FM/([\d\.]+)'
1858
+ name: 'MoonFM'
1859
+ version: '$1'
1860
+
1861
+ - regex: '^myTuner(?:(?:%20Radio%20app|iOS%20Free|_podcasts_androidplayer)/ ?([\d\.]+)?)?'
1862
+ name: 'MyTuner'
1863
+ version: '$1'
1864
+
1865
+ - regex: '^Newsly$'
1866
+ name: 'Newsly'
1867
+ version: ''
1868
+
1869
+ # NRC Audio
1870
+ - regex: '^NRC(?: |%20)Audio/([\d\.]+)'
1871
+ name: 'NRC Audio'
1872
+ version: '$1'
1873
+
1874
+ # The free NRC app offers you the latest news and the digital version of the paper newspaper.
1875
+ - regex: '(?:NRC-Nieuws/|nl.nrc.nrcapp )([\d\.]+)'
1876
+ name: 'NRC'
1877
+ version: '$1'
1878
+
1879
+ - regex: '^Outcast[/ ]?([\d\.]+)?'
1880
+ name: 'Outcast'
1881
+ version: '$1'
1882
+
1883
+ - regex: '^Podcast Overhaul/(\d+\.[.\d]+)'
1884
+ name: 'Overhaul FM'
1885
+ version: '$1'
1886
+
1887
+ - regex: '^Palco MP3/(\d+\.[.\d]+)'
1888
+ name: 'Palco MP3'
1889
+ version: '$1'
1890
+
1891
+ - regex: '^PeaCast/(\d+\.[.\d]+)'
1892
+ name: 'PeaCast'
1893
+ version: '$1'
1894
+
1895
+ - regex: '^Player FM|^Player%20FM|^Alpha%20PlayerFM/'
1896
+ name: 'Player FM'
1897
+ version: ''
1898
+
1899
+ - regex: '^Podbay/([\d\.]+)'
1900
+ name: 'Podbay'
1901
+ version: '$1'
1902
+
1903
+
1904
+ - regex: '^PodcastGuru[ /]([\d\.]+)'
1905
+ name: 'Podcast Guru'
1906
+ version: '$1'
1907
+
1908
+ - regex: '^Podcast Player/(\d+\.[.\d]+)'
1909
+ name: 'Podcast Player'
1910
+ version: '$1'
1911
+
1912
+ - regex: '^PodcastRepublic/(\d+\.[.\d]+)'
1913
+ name: 'Podcast Republic'
1914
+ version: '$1'
1915
+
1916
+ - regex: '^Podcastly[/ ]?(\d+\.[.\d]+)?'
1917
+ name: 'Podcastly'
1918
+ version: '$1'
1919
+
1920
+ - regex: '^Podchaser |^Podchaser-Parser'
1921
+ name: 'Podchaser'
1922
+ version: ''
1923
+
1924
+ - regex: '^Podclipper/([\d\.]+)'
1925
+ name: 'Podclipper'
1926
+ version: '$1'
1927
+
1928
+ - regex: '^PodCruncher/(\d+\.[.\d]+)'
1929
+ name: 'PodCruncher'
1930
+ version: '$1'
1931
+
1932
+ - regex: '^Podeo/([\d\.]+)'
1933
+ name: 'Podeo'
1934
+ version: '$1'
1935
+
1936
+ # Podfriend Electron app
1937
+ - regex: '^Podfriend[ /](\d+\.[.\d]+)'
1938
+ name: 'Podfriend'
1939
+ version: '$1'
1940
+
1941
+ # Podhero app on iOS and Android.
1942
+ - regex: '(?:^Podhero(?:%20Alpha)?/|^Swoot[/ ](?:Agent[/ ])?)([\d\.]+)'
1943
+ name: 'Podhero'
1944
+ version: '$1'
1945
+
1946
+ - regex: '^Podimo/(\d+\.[.\d]+)'
1947
+ name: 'Podimo'
1948
+ version: '$1'
1949
+
1950
+ # PodKast is a podcast app available for KaiOS smartphones
1951
+ - regex: 'PodKast$'
1952
+ name: 'PodKast'
1953
+ version: ''
1954
+
1955
+ - regex: '^Podkicker(?: Pro)/(\d+\.[.\d]+)'
1956
+ name: 'Podkicker Pro'
1957
+ version: '$1'
1958
+
1959
+ # PodLP is the first podcast app available for KaiOS smart feature phones on the KaiStore.
1960
+ - regex: 'PodLP/(\d+\.[.\d]+)'
1961
+ name: 'PodLP'
1962
+ version: '$1'
1963
+
1964
+ - regex: '^(?:Podme android app|PodMe)/(\d+\.[.\d]+)?'
1965
+ name: 'PodMe'
1966
+ version: '$1'
1967
+
1968
+ - regex: '^PodMN/(?:iOS|Android) (\d+\.[.\d]+)'
1969
+ name: 'PodMN'
1970
+ version: '$1'
1971
+
1972
+ - regex: '^PodNL/([\d\.]+)'
1973
+ name: 'PodNL'
1974
+ version: '$1'
1975
+
1976
+ - regex: '^(?:Podopolo|podopolo)/?([\d\.]+)'
1977
+ name: 'Podopolo'
1978
+ version: '$1'
1979
+
1980
+ - regex: '^Podplay/(\d+\.[.\d]+)'
1981
+ name: 'Podplay'
1982
+ version: '$1'
1983
+
1984
+ - regex: '^Pods/'
1985
+ name: 'Pods'
1986
+ version: '$1'
1987
+
1988
+ - regex: '^Podurama/(\d+\.[.\d]+)'
1989
+ name: 'Podurama'
1990
+ version: '$1'
1991
+
1992
+ - regex: '^PodTrapper$'
1993
+ name: 'PodTrapper'
1994
+ version: ''
1995
+
1996
+ - regex: '^Podvine/(\d+\.[.\d]+)'
1997
+ name: 'Podvine'
1998
+ version: '$1'
1999
+
2000
+ # Open source podcast catcher for Android, with clip-sharing, playlists, device syncing and more.
2001
+ - regex: '^Podverse/'
2002
+ name: 'Podverse'
2003
+ version: ''
2004
+
2005
+ # Podyssey is a community for people that love podcasts. It's like Goodreads, but for podcasts.
2006
+ - regex: '(?:Podyssey App|com\.toysinboxes\.Echo|fm\.podyssey\.podcasts|^Podyssey)/?([\d\.]+)?'
2007
+ name: 'Podyssey'
2008
+ version: '$1'
2009
+
2010
+ - regex: '^PugpigBolt (\d+\.[.\d]+)'
2011
+ name: 'PugPig Bolt'
2012
+ version: '$1'
2013
+
2014
+ # Radio.de is a radio and podcast app in Germany, but they
2015
+ # have web sites and apps with various domain names
2016
+ # (at, de, dk, es, fr, it, pl, pt, se, net)
2017
+ - regex: '^radio\.([a-z]{2}|net)[ /]([\d\.]+)'
2018
+ name: 'radio.$1'
2019
+ version: '$2'
2020
+
2021
+
2022
+ # same developer as radio.de, different app
2023
+ - regex: '^GetPodcast[ /]([\d\.]+)'
2024
+ name: 'GetPodcast'
2025
+ version: '$1'
2026
+
2027
+ # https://radio-next.tv/
2028
+ - regex: '^radio\.next[ /]([\d\.]+)'
2029
+ name: 'Radio Next'
2030
+ version: '$1'
2031
+
2032
+ - regex: '(?:^Radioline%202/(\d+\.[.\d]+)|^Radioline$)'
2033
+ name: 'Radioline'
2034
+ version: '$1'
2035
+
2036
+
2037
+ # Repod is a social podcast app that helps creators engage, montetization, and grow their community.
2038
+ - regex: '^Repod/(\d+\.[.\d]+)'
2039
+ name: 'Repod'
2040
+ version: '$1'
2041
+
2042
+ # Rhythmbox is your one-stop multimedia application, supporting a music library, multiple playlists, internet radio, and more.
2043
+ - regex: '^rhythmbox/(\d+\.[.\d]+)'
2044
+ name: 'Rhythmbox'
2045
+ version: '$1'
2046
+
2047
+ - regex: '^SachNoi\.?app/([\d\.]+)'
2048
+ name: 'SachNoi'
2049
+ version: '$1'
2050
+
2051
+ - regex: '^sp-agent'
2052
+ name: 'Samsung Podcasts'
2053
+ version: ''
2054
+
2055
+ - regex: '^(?:ServeStream(?: Dynamo)?/?(\d+\.[.\d]+)?)'
2056
+ name: 'ServeStream'
2057
+ version: '$1'
2058
+
2059
+ - regex: '^Shadow/([\d\.]+)'
2060
+ name: 'Shadow'
2061
+ version: '$1'
2062
+
2063
+ - regex: '^Shadowrocket/([\d\.]+)'
2064
+ name: 'Shadowrocket'
2065
+ version: '$1'
2066
+
2067
+ - regex: '^SiriusXM/([\d\.]+)'
2068
+ name: 'SiriusXM'
2069
+ version: '$1'
2070
+
2071
+ - regex: '^Snipd/([\d\.]+)'
2072
+ name: 'Snipd'
2073
+ version: '$1'
2074
+
2075
+ - regex: '^Sodes/([\d\.]+)'
2076
+ name: "'sodes"
2077
+ version: '$1'
2078
+
2079
+ # Sonnet is a simple, easy to use podcast app aimed at new listeners
2080
+ - regex: '(?:Sonnet/(?:Android|iOS)|^Simple Podcast Player/(\d+\.[.\d]+))'
2081
+ name: 'Sonnet'
2082
+ version: '$1'
2083
+
2084
+ - regex: '^sony_tv;ps5;'
2085
+ name: 'Sony PlayStation 5'
2086
+ version: ''
2087
+
2088
+ # TikTok's music creator platform
2089
+ - regex: '^SoundOn/([\d\.]+)'
2090
+ name: 'SoundOn'
2091
+ version: '$1'
2092
+
2093
+ - regex: '^SoundWaves-(\d+\.[.\d]+)'
2094
+ name: 'SoundWaves'
2095
+ version: '$1'
2096
+
2097
+ - regex: 'Spreaker/([\d\.]+)'
2098
+ name: 'Spreaker'
2099
+ version: '$1'
2100
+
2101
+ - regex: '^Stitcher/|^Stitcher Demo/|^AlexaMediaPlayer/Stitcher'
2102
+ name: 'Stitcher'
2103
+ version: ''
2104
+
2105
+ - regex: '^StoryShots/(\d+\.[.\d]+)'
2106
+ name: 'StoryShots'
2107
+ version: '$1'
2108
+
2109
+ - regex: '^Swinsian/([\d\.]+)'
2110
+ name: 'Swinsian'
2111
+ version: '$1'
2112
+
2113
+ - regex: '^ThePodcastApp/(\d+\.[.\d]+)'
2114
+ name: 'Podcast App'
2115
+ version: '$1'
2116
+
2117
+ - regex: '^TREBLE/([\d\.]+)'
2118
+ name: 'Treble.fm'
2119
+ version: '$1'
2120
+
2121
+ - regex: '^Turtlecast/(\d+\.[.\d]+)'
2122
+ name: 'Turtlecast'
2123
+ version: '$1'
2124
+
2125
+ # an audiobook reader
2126
+ - regex: '^Ubook Player$'
2127
+ name: 'Ubook Player'
2128
+ version: ''
2129
+
2130
+
2131
+ # the second evolution of victor reader software
2132
+ - regex: '^VictorReader Stream Trek'
2133
+ name: 'Victor Reader Stream Trek'
2134
+ version: ''
2135
+
2136
+ # third evolution
2137
+ - regex: '^VictorReader Stream V3'
2138
+ name: 'Victor Reader Stream 3'
2139
+ version: ''
2140
+
2141
+ # fourth evolution
2142
+ - regex: '^(?:VictorReader Stream 503|VictorReader_)'
2143
+ name: 'Victor Reader Stream New Generation'
2144
+ version: ''
2145
+
2146
+ # Podcasts with deeper digital stories
2147
+ - regex: '^Vodacast/([\d\.]+)'
2148
+ name: 'Vodacast'
2149
+ version: '$1'
2150
+
2151
+ - regex: '^WynkMusic/(\d+\.[.\d]+)'
2152
+ name: 'Wynk Music'
2153
+ version: '$1'
2154
+
2155
+ # Xiao Yu Zhou, a podcast app
2156
+ - regex: '^Xiaoyuzhou/(\d+\.[.\d]+)'
2157
+ name: 'Xiao Yu Zhou'
2158
+ version: '$1'
2159
+
2160
+ - regex: '^Ya(ndex)?\.Music/'
2161
+ name: 'Yandex Music'
2162
+ version: ''
2163
+
2164
+ - regex: '^yapa/([\d\.]+)'
2165
+ name: 'Yapa'
2166
+ version: '$1'
2167
+
2168
+ - regex: '^Zeno$'
2169
+ name: 'Radio Zeno'
2170
+ version: ''
2171
+
2172
+ - regex: 'Zune/(\d+\.[.\d]+)'
2173
+ name: 'Zune'
2174
+ version: ''
2175
+
2176
+ - regex: 'UCast/([\d\.]+)'
2177
+ name: 'UCast'
2178
+ version: '$1'
2179
+
2180
+ - regex: '(?:^NPROneAndroid$|^NPR%20One/([\d\.]+))'
2181
+ name: 'NPR One'
2182
+ version: '$1'
2183
+
2184
+ # unsure what this is, but is used quite a bit
2185
+ - regex: 'Trackable/([\d\.]+)'
2186
+ name: 'Trackable'
2187
+ version: '$1'
2188
+
2189
+ - regex: 'Uforia/([\d\.]+)'
2190
+ name: 'Uforia'
2191
+ version: '$1'
2192
+
2193
+ - regex: '^LAT-Native-App'
2194
+ name: 'L.A. Times'
2195
+ version: ''
2196
+
2197
+ - regex: '(?:^NYT(?: |%20)?Audio|nytios)/([\d.]+)'
2198
+ name: 'The New York Times'
2199
+ version: '$1'
2200
+
2201
+ - regex: '^LiSTNR[.\w]*/([\d.]+)'
2202
+ name: 'LiSTNR'
2203
+ version: '$1'
2204
+
2205
+ - regex: '^Podu_player$'
2206
+ name: 'podU'
2207
+ version: '$1'