device_detector 1.0.6 → 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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +5 -5
  4. data/lib/device_detector/device.rb +82 -3
  5. data/lib/device_detector/os.rb +4 -2
  6. data/lib/device_detector/parser.rb +1 -1
  7. data/lib/device_detector/version.rb +1 -1
  8. data/lib/device_detector/version_extractor.rb +20 -1
  9. data/regexes/bots.yml +49 -6
  10. data/regexes/client/browsers.yml +170 -16
  11. data/regexes/client/libraries.yml +20 -1
  12. data/regexes/client/mediaplayers.yml +2 -2
  13. data/regexes/client/mobile_apps.yml +447 -13
  14. data/regexes/client/pim.yml +16 -1
  15. data/regexes/device/consoles.yml +7 -1
  16. data/regexes/device/mobiles.yml +3169 -912
  17. data/regexes/device/portable_media_player.yml +16 -6
  18. data/regexes/oss.yml +380 -467
  19. metadata +3 -164
  20. data/.gitignore +0 -14
  21. data/.rubocop.yml +0 -49
  22. data/.ruby-version +0 -1
  23. data/.travis.yml +0 -14
  24. data/Gemfile +0 -8
  25. data/Rakefile +0 -86
  26. data/device_detector.gemspec +0 -27
  27. data/spec/device_detector/bot_fixtures_spec.rb +0 -30
  28. data/spec/device_detector/client_fixtures_spec.rb +0 -31
  29. data/spec/device_detector/concrete_user_agent_spec.rb +0 -123
  30. data/spec/device_detector/detector_fixtures_spec.rb +0 -99
  31. data/spec/device_detector/device_fixtures_spec.rb +0 -36
  32. data/spec/device_detector/device_spec.rb +0 -147
  33. data/spec/device_detector/memory_cache_spec.rb +0 -148
  34. data/spec/device_detector/model_extractor_spec.rb +0 -63
  35. data/spec/device_detector/os_fixtures_spec.rb +0 -26
  36. data/spec/device_detector/version_extractor_spec.rb +0 -79
  37. data/spec/device_detector_spec.rb +0 -189
  38. data/spec/fixtures/client/browser.yml +0 -3935
  39. data/spec/fixtures/client/feed_reader.yml +0 -187
  40. data/spec/fixtures/client/library.yml +0 -253
  41. data/spec/fixtures/client/mediaplayer.yml +0 -193
  42. data/spec/fixtures/client/mobile_app.yml +0 -703
  43. data/spec/fixtures/client/pim.yml +0 -175
  44. data/spec/fixtures/detector/bots.yml +0 -4434
  45. data/spec/fixtures/detector/camera.yml +0 -127
  46. data/spec/fixtures/detector/car_browser.yml +0 -217
  47. data/spec/fixtures/detector/console.yml +0 -343
  48. data/spec/fixtures/detector/desktop.yml +0 -7580
  49. data/spec/fixtures/detector/feature_phone.yml +0 -1597
  50. data/spec/fixtures/detector/feed_reader.yml +0 -524
  51. data/spec/fixtures/detector/mediaplayer.yml +0 -306
  52. data/spec/fixtures/detector/mobile_apps.yml +0 -1233
  53. data/spec/fixtures/detector/peripheral.yml +0 -271
  54. data/spec/fixtures/detector/phablet.yml +0 -7366
  55. data/spec/fixtures/detector/portable_media_player.yml +0 -527
  56. data/spec/fixtures/detector/smart_display.yml +0 -235
  57. data/spec/fixtures/detector/smart_speaker.yml +0 -60
  58. data/spec/fixtures/detector/smartphone-1.yml +0 -9622
  59. data/spec/fixtures/detector/smartphone-10.yml +0 -8981
  60. data/spec/fixtures/detector/smartphone-11.yml +0 -8938
  61. data/spec/fixtures/detector/smartphone-12.yml +0 -8989
  62. data/spec/fixtures/detector/smartphone-13.yml +0 -9412
  63. data/spec/fixtures/detector/smartphone-14.yml +0 -9477
  64. data/spec/fixtures/detector/smartphone-15.yml +0 -9281
  65. data/spec/fixtures/detector/smartphone-16.yml +0 -9678
  66. data/spec/fixtures/detector/smartphone-17.yml +0 -9965
  67. data/spec/fixtures/detector/smartphone-18.yml +0 -9806
  68. data/spec/fixtures/detector/smartphone-19.yml +0 -9965
  69. data/spec/fixtures/detector/smartphone-2.yml +0 -12242
  70. data/spec/fixtures/detector/smartphone-20.yml +0 -9710
  71. data/spec/fixtures/detector/smartphone-21.yml +0 -8693
  72. data/spec/fixtures/detector/smartphone-22.yml +0 -10178
  73. data/spec/fixtures/detector/smartphone-23.yml +0 -9453
  74. data/spec/fixtures/detector/smartphone-24.yml +0 -9843
  75. data/spec/fixtures/detector/smartphone-25.yml +0 -9703
  76. data/spec/fixtures/detector/smartphone-26.yml +0 -10007
  77. data/spec/fixtures/detector/smartphone-27.yml +0 -4927
  78. data/spec/fixtures/detector/smartphone-3.yml +0 -9909
  79. data/spec/fixtures/detector/smartphone-4.yml +0 -8954
  80. data/spec/fixtures/detector/smartphone-5.yml +0 -8981
  81. data/spec/fixtures/detector/smartphone-6.yml +0 -8948
  82. data/spec/fixtures/detector/smartphone-7.yml +0 -8975
  83. data/spec/fixtures/detector/smartphone-8.yml +0 -9810
  84. data/spec/fixtures/detector/smartphone-9.yml +0 -8925
  85. data/spec/fixtures/detector/smartphone.yml +0 -9001
  86. data/spec/fixtures/detector/tablet-1.yml +0 -10155
  87. data/spec/fixtures/detector/tablet-2.yml +0 -9064
  88. data/spec/fixtures/detector/tablet-3.yml +0 -9035
  89. data/spec/fixtures/detector/tablet-4.yml +0 -9062
  90. data/spec/fixtures/detector/tablet-5.yml +0 -9273
  91. data/spec/fixtures/detector/tablet-6.yml +0 -4588
  92. data/spec/fixtures/detector/tablet.yml +0 -8979
  93. data/spec/fixtures/detector/tv-1.yml +0 -2501
  94. data/spec/fixtures/detector/tv.yml +0 -10045
  95. data/spec/fixtures/detector/unknown.yml +0 -3071
  96. data/spec/fixtures/detector/wearable.yml +0 -915
  97. data/spec/fixtures/device/camera.yml +0 -19
  98. data/spec/fixtures/device/car_browser.yml +0 -13
  99. data/spec/fixtures/device/console.yml +0 -79
  100. data/spec/fixtures/device/notebook.yml +0 -7
  101. data/spec/fixtures/parser/oss.yml +0 -2418
  102. data/spec/fixtures/parser/vendorfragments.yml +0 -168
  103. data/spec/spec_helper.rb +0 -9
@@ -19,14 +19,29 @@
19
19
  name: 'bPod'
20
20
  version: ''
21
21
 
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\.]+))?'
29
+ name: 'Facebook Messenger'
30
+ version: '$1'
31
+
22
32
  # Facebook Messenger Lite
23
- - regex: 'MessengerLiteForiOS.(?:FBAV)(?:[ /]([\d\.]+))?'
33
+ - regex: '(?:mLite|MessengerLite(?:ForiOS)?).(?:FBAV)(?:[ /]([\d\.]+))?'
24
34
  name: 'Facebook Messenger Lite'
25
35
  version: '$1'
26
36
 
27
- # Facebook Messenger
28
- - regex: '(?:MessengerForiOS|MESSENGER).(?:FBAV)(?:[ /]([\d\.]+))?'
29
- name: 'Facebook Messenger'
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'
30
45
  version: '$1'
31
46
 
32
47
  # Facebook
@@ -57,10 +72,18 @@
57
72
  name: 'Google Plus'
58
73
  version: ''
59
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
+
60
80
  # WeChat
61
81
  - regex: 'MicroMessenger/([^; ]+)'
62
82
  name: 'WeChat'
63
83
  version: '$1'
84
+ - regex: 'WeChat/([\d\.]+)'
85
+ name: 'WeChat'
86
+ version: '$1'
64
87
  - regex: 'WeChatShareExtensionNew/([\d\.]+)'
65
88
  name: 'WeChat Share Extension'
66
89
  version: '$1'
@@ -76,7 +99,7 @@
76
99
  version: '$1'
77
100
 
78
101
  # Pinterest
79
- - regex: 'Pinterest(?: for (?:Android|iOS))?(?:/([\d\.]+))?'
102
+ - regex: 'Pinterest(?: for (?:Android(?: Tablet)?|iOS))?(?:/([\d\.]+))?'
80
103
  name: 'Pinterest'
81
104
  version: '$1'
82
105
 
@@ -100,6 +123,15 @@
100
123
  name: 'Downcast'
101
124
  version: '$1'
102
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
+
103
135
  # AFNetworking generic
104
136
  - regex: '([^/]+)/(\d+(?:\.\d+)+) \((?:iPhone|iPad); iOS [0-9\.]+; Scale/[0-9\.]+\)'
105
137
  name: '$1'
@@ -306,7 +338,11 @@
306
338
  version: ''
307
339
 
308
340
  # Discord (https://apps.apple.com/us/app/discord-talk-chat-hang-out/id985746746)
309
- - regex: 'Discord/([\d\.]+)'
341
+ - regex: 'discord/([\d\.]+).+Electron'
342
+ name: 'Discord'
343
+ version: '$1'
344
+
345
+ - regex: 'discord(?:-Updater)?/([\d\.]+)'
310
346
  name: 'Discord'
311
347
  version: ''
312
348
 
@@ -353,10 +389,20 @@
353
389
  name: 'Microsoft Office Mobile'
354
390
  version: '$1'
355
391
 
392
+ # Skype
393
+ - regex: 'Skype/([\d\.]+)'
394
+ name: 'Skype'
395
+ version: '$1'
396
+
356
397
  - regex: 'OC/([\d\.]+) \(Skype for Business\)'
357
398
  name: 'Skype for Business'
358
399
  version: '$1'
359
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
+
360
406
  # TikTok (https://apps.apple.com/app/id835599320 | https://play.google.com/store/apps/details?id=com.zhiliaoapp.musically)
361
407
  - regex: '(?:TikTok[/ ]|musical_ly_|AppName/musical_ly app_version/)(\d+\.(?:[\.\d]+))?'
362
408
  name: 'TikTok'
@@ -477,10 +523,10 @@
477
523
  version: '$1'
478
524
 
479
525
  # TuneIn Radio Pro
480
- - regex: 'TuneIn Radio Pro(?:[^/]+)?/(\d+[\.\d]+)'
526
+ - regex: 'TuneIn Radio Pro(?:[^/]*)/(\d+[\.\d]+)'
481
527
  name: 'TuneIn Radio Pro'
482
528
  version: '$1'
483
- - regex: 'TuneIn(?: Radio(?:[^/]+)?)?/(\d+[\.\d]+)'
529
+ - regex: 'TuneIn(?: Radio(?:[^/]*))?/(\d+[\.\d]+)'
484
530
  name: 'TuneIn Radio'
485
531
  version: '$1'
486
532
 
@@ -533,11 +579,6 @@
533
579
  name: 'Wirtschafts Woche'
534
580
  version: '$1'
535
581
 
536
- # Outlook https://apps.apple.com/ru/app/microsoft-outlook/id951937596
537
- - regex: '^Outlook-iOS/.+\((\d+[\.\d]+)\)$'
538
- name: 'Microsoft Outlook'
539
- version: '$1'
540
-
541
582
  - regex: '^TVirl/(\d+[\.\d]+)'
542
583
  name: 'TVirl'
543
584
  version: '$1'
@@ -577,6 +618,11 @@
577
618
  name: 'Binance'
578
619
  version: '$1'
579
620
 
621
+ # Binance (https://www.binance.com/en/desktop-download)
622
+ - regex: 'Binance/(\d+[\.\d]+)'
623
+ name: 'Binance'
624
+ version: '$1'
625
+
580
626
  # My World https://apps.apple.com/app/id598556821
581
627
  - regex: 'ru\.mail\.my/(\d+[\.\d]+)'
582
628
  name: 'My World'
@@ -597,6 +643,10 @@
597
643
  name: 'Teams'
598
644
  version: '$1'
599
645
 
646
+ - regex: 'TeamsMobile-iOS'
647
+ name: 'Teams'
648
+ version: ''
649
+
600
650
  # Streamlabs OBS (https://streamlabs.com/)
601
651
  - regex: 'StreamlabsOBS/(\d+[\.\d]+)'
602
652
  name: 'Streamlabs OBS'
@@ -645,3 +695,387 @@
645
695
  - regex: 'COAF%20SMART%20Citizen/'
646
696
  name: 'COAF SMART Citizen'
647
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'
@@ -9,10 +9,20 @@
9
9
  name: 'Outlook Express'
10
10
  version: '$1'
11
11
 
12
- - regex: 'Microsoft Outlook(?:[/ ](\d+[\.\d]+))?'
12
+ # Outlook https://apps.apple.com/ru/app/microsoft-outlook/id951937596
13
+ - regex: '^Outlook-iOS/(?:.+\((\d+[\.\d]+)\)$)?'
13
14
  name: 'Microsoft Outlook'
14
15
  version: '$1'
15
16
 
17
+ - regex: '(?:(?:Microsoft )?Outlook|MacOutlook)(?:[/ ](\d+[\.\d]+))?'
18
+ name: 'Microsoft Outlook'
19
+ version: '$1'
20
+
21
+ # Default Mail Client for Windows
22
+ - regex: 'WindowsMail(?:/(\d+[\.\d]+))'
23
+ name: 'Windows Mail'
24
+ version: '$1'
25
+
16
26
  - regex: '(?:Thunderbird|Icedove|Shredder)(?:/(\d+[\.\d]+))?'
17
27
  name: 'Thunderbird'
18
28
  version: '$1'
@@ -97,3 +107,8 @@
97
107
  - regex: 'ramboxpro/(\d+\.[\.\d]+)?'
98
108
  name: 'Rambox Pro'
99
109
  version: '$1'
110
+
111
+ # Mailbird (https://www.getmailbird.com/)
112
+ - regex: 'Mailbird/(\d+\.[\.\d]+)/'
113
+ name: 'Mailbird'
114
+ version: '$1'
@@ -41,6 +41,12 @@ Sega:
41
41
  model: 'Dreamcast'
42
42
 
43
43
  Sony:
44
- regex: 'PlayStation (3|4 Pro|4|Portable|Vita)'
44
+ regex: 'PlayStation (3|4 Pro|4|5|Portable|Vita)'
45
45
  device: 'console'
46
46
  model: 'PlayStation $1'
47
+
48
+ # Retroid Pocket (www.goretroid.com)
49
+ Retroid Pocket:
50
+ regex: 'Retroid Pocket 2Plus'
51
+ device: 'console'
52
+ model: '2 Plus'