device_detector 1.1.1 → 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.
@@ -5,6 +5,41 @@
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
8
+ # Roku Browser (https://www.roku.com/)
9
+ - regex: 'RokuBrowser/(\d+\.[\.\d]+)'
10
+ name: 'Roku Browser'
11
+ version: '$1'
12
+ engine:
13
+ default: 'Blink'
14
+
15
+ # PICO Browser (https://www.picoxr.com/)
16
+ - regex: 'PicoBrowser/(\d+\.[\.\d]+)'
17
+ name: 'PICO Browser'
18
+ version: '$1'
19
+ engine:
20
+ default: 'Blink'
21
+
22
+ # ALVA (https://oyealva.com/)
23
+ - regex: 'Alva/(\d+\.[\.\d]+)'
24
+ name: 'ALVA'
25
+ version: '$1'
26
+ engine:
27
+ default: 'Blink'
28
+
29
+ # Norton Secure Browser (https://norton.com/products/norton-secure-browser)
30
+ - regex: 'Norton/(\d+\.[\.\d]+)'
31
+ name: 'Norton Secure Browser'
32
+ version: '$1'
33
+ engine:
34
+ default: 'Blink'
35
+
36
+ # Odd Browser (https://play.google.com/store/apps/details?id=com.corproxy.browser)
37
+ - regex: 'Odd/(\d+\.[\.\d]+)'
38
+ name: 'Odd Browser'
39
+ version: '$1'
40
+ engine:
41
+ default: 'Blink'
42
+
8
43
  # APN Browser
9
44
  - regex: 'Safari/537.36 (?:Browser|Navegador)'
10
45
  name: 'APN Browser'
@@ -131,7 +166,7 @@
131
166
  version: ""
132
167
 
133
168
  # Hi Browser (https://play.google.com/store/apps/details?id=com.talpa.hibrowser)
134
- - regex: 'HiBrowser/(\d+[\.\d]+)'
169
+ - regex: 'HiBrowser/v?(\d+[\.\d]+)'
135
170
  name: 'Hi Browser'
136
171
  version: '$1'
137
172
  engine:
@@ -427,9 +462,9 @@
427
462
  engine:
428
463
  default: 'Blink'
429
464
 
430
- # Avira Scout (http://www.avira.com/en/avira-scout)
431
- - regex: 'AviraScout/(\d+[\.\d]+)'
432
- name: 'Avira Scout'
465
+ # Avira Secure Browser (https://www.avira.com/en/avira-secure-browser)
466
+ - regex: 'Avira(?:Scout)?/(\d+[\.\d]+)'
467
+ name: 'Avira Secure Browser'
433
468
  version: '$1'
434
469
  engine:
435
470
  default: 'Blink'
@@ -553,12 +588,17 @@
553
588
  engine:
554
589
  default: 'Blink'
555
590
 
556
- # T-Browser (https://play.google.com/store/apps/details?id=com.tcl.browser)
591
+ # T-Browser and new BrowseHere (https://play.google.com/store/apps/details?id=com.tcl.browser)
557
592
  - regex: 'Tbrowser/(\d+[\.\d]+)'
558
593
  name: 'T-Browser'
559
594
  version: '$1'
560
595
  engine:
561
596
  default: 'Blink'
597
+ - regex: 'com.tcl.browser'
598
+ name: 'BrowseHere'
599
+ version: '$1'
600
+ engine:
601
+ default: 'Blink'
562
602
 
563
603
  # SFive (https://sfive.vn/)
564
604
  - regex: 'SFive(?:_Android)?/.+ Chrome/(\d+[\.\d]+)'
@@ -1556,7 +1596,7 @@
1556
1596
  default: 'WebKit'
1557
1597
 
1558
1598
  #Opera
1559
- - regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
1599
+ - regex: '(?:Opera Tablet.*Version|Opera/.+(?<!SymbOS; )Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
1560
1600
  name: 'Opera Mobile'
1561
1601
  version: '$1'
1562
1602
  engine:
@@ -1588,7 +1628,7 @@
1588
1628
  version: '$1'
1589
1629
  engine:
1590
1630
  default: 'Blink'
1591
- - regex: 'Opera/(\d+\.[\.\d]+) .*Opera Mobi'
1631
+ - regex: 'Opera/(\d+\.[\.\d]+) .*(?<!SymbOS; )Opera Mobi'
1592
1632
  name: 'Opera Mobile'
1593
1633
  version: '$1'
1594
1634
  engine:
@@ -2685,7 +2725,7 @@
2685
2725
  version: '$1'
2686
2726
  engine:
2687
2727
  default: 'WebKit'
2688
- - regex: '(?:iPod|(?<!Apple TV; U; CPU )iPhone|iPad)'
2728
+ - regex: '(?!^AppleCoreMedia/1\.0\.0)(?:iPod|(?<!Apple TV; U; CPU )iPhone|iPad)'
2689
2729
  name: 'Mobile Safari'
2690
2730
  version: ''
2691
2731
  engine:
@@ -9,130 +9,138 @@
9
9
  name: 'Akregator'
10
10
  version: '$1'
11
11
  url: 'http://userbase.kde.org/Akregator'
12
- type: 'Feed Reader'
13
12
 
14
13
  - regex: 'Apple-PubSub(?:/(\d+[\.\d]+))?'
15
14
  name: 'Apple PubSub'
16
15
  version: '$1'
17
16
  url: 'https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/pubsub.1.html'
18
- type: 'Feed Reader'
19
17
 
20
18
  - regex: 'BashPodder'
21
19
  name: 'BashPodder'
22
20
  version: ''
23
21
  url: 'http://lincgeek.org/bashpodder/'
24
- type: 'Feed Reader'
25
22
 
26
- - regex: 'Breaker/v([\d\.]+)'
23
+ - regex: 'Breaker/v?([\d\.]+)'
27
24
  name: 'Breaker'
28
25
  version: '$1'
29
26
  url: 'https://www.breaker.audio/'
30
- type: 'Feed Reader App'
31
27
 
32
28
  - regex: 'FeedDemon(?:/(\d+[\.\d]+))?'
33
29
  name: 'FeedDemon'
34
30
  version: '$1'
35
31
  url: 'http://www.feeddemon.com/'
36
- type: 'Feed Reader'
37
32
 
38
33
  - regex: 'Feeddler(?:RSS|PRO)(?:[/ ](\d+[\.\d]+))?'
39
34
  name: 'Feeddler RSS Reader'
40
35
  version: '$1'
41
36
  url: 'http://www.chebinliu.com/projects/iphone/feeddler-rss-reader/'
42
- type: 'Feed Reader App'
43
37
 
44
38
  - regex: 'QuiteRSS(?:[/ ](\d+[\.\d]+))?'
45
39
  name: 'QuiteRSS'
46
40
  version: '$1'
47
41
  url: 'https://quiterss.org'
48
- type: 'Feed Reader App'
49
42
 
50
43
  - regex: 'gPodder/([\d\.]+)'
51
44
  name: 'gPodder'
52
45
  version: '$1'
53
46
  url: 'http://gpodder.org/'
54
- type: 'Feed Reader App'
55
47
 
56
48
  - regex: 'JetBrains Omea Reader(?:[/ ](\d+[\.\d]+))?'
57
49
  name: 'JetBrains Omea Reader'
58
50
  version: '$1'
59
51
  url: 'http://www.jetbrains.com/omea/reader/'
60
- type: 'Feed Reader'
61
52
 
62
53
  - regex: 'Liferea(?:[/ ](\d+[\.\d]+))?'
63
54
  name: 'Liferea'
64
55
  version: '$1'
65
56
  url: 'http://liferea.sf.net/'
66
- type: 'Feed Reader'
67
57
 
68
58
  - regex: '(?:NetNewsWire|Evergreen.+MacOS)(?:[/ ](\d+[\.\d]+))?'
69
59
  name: 'NetNewsWire'
70
60
  version: '$1'
71
61
  url: 'http://netnewswireapp.com/'
72
- type: 'Feed Reader'
73
62
 
74
63
  - regex: 'NewsBlur (?:iPhone|iPad) App(?: v(\d+[\.\d]+))?'
75
64
  name: 'NewsBlur Mobile App'
76
65
  version: '$1'
77
66
  url: 'http://www.newsblur.com'
78
- type: 'Feed Reader App'
79
67
 
80
68
  - regex: 'NewsBlur(?:/(\d+[\.\d]+))'
81
69
  name: 'NewsBlur'
82
70
  version: '$1'
83
71
  url: 'http://www.newsblur.com'
84
- type: 'Feed Reader'
85
72
 
86
73
  - regex: 'newsbeuter(?:[/ ](\d+[\.\d]+))?'
87
74
  name: 'Newsbeuter'
88
75
  version: '$1'
89
76
  url: 'http://www.newsbeuter.org/'
90
- type: 'Feed Reader'
91
77
 
92
78
  - regex: 'PritTorrent/([\d\.]+)'
93
79
  name: 'PritTorrent'
94
80
  version: '$1'
95
81
  url: 'http://bitlove.org'
96
- type: 'Feed Reader'
97
82
 
98
83
  - regex: 'Pulp[/ ](\d+[\.\d]+)'
99
84
  name: 'Pulp'
100
85
  version: '$1'
101
86
  url: 'http://www.acrylicapps.com/pulp/'
102
- type: 'Feed Reader App'
103
87
 
104
88
  - regex: 'ReadKit(?:[/ ](\d+[\.\d]+))?'
105
89
  name: 'ReadKit'
106
90
  version: '$1'
107
91
  url: 'http://readkitapp.com/'
108
- type: 'Feed Reader App'
109
92
 
110
93
  - regex: 'Reeder[/ ](\d+[\.\d]+)'
111
94
  name: 'Reeder'
112
95
  version: '$1'
113
96
  url: 'http://reederapp.com/'
114
- type: 'Feed Reader App'
115
97
 
116
98
  - regex: 'RSSBandit(?:[/ ](\d+[\.\d]+))?'
117
99
  name: 'RSS Bandit'
118
100
  version: '$1'
119
101
  url: 'http://www.rssbandit.org)'
120
- type: 'Feed Reader'
121
102
 
122
103
  - regex: 'RSS Junkie(?:[/ ](\d+[\.\d]+))?'
123
104
  name: 'RSS Junkie'
124
105
  version: '$1'
125
106
  url: 'https://play.google.com/store/apps/details?id=com.bitpowder.rssjunkie'
126
- type: 'Feed Reader App'
127
107
 
128
108
  - regex: 'RSSOwl(?:[/ ](\d+[\.\d]+))?'
129
109
  name: 'RSSOwl'
130
110
  version: '$1'
131
111
  url: 'http://www.rssowl.org/'
132
- type: 'Feed Reader'
133
112
 
134
113
  - regex: 'Stringer'
135
114
  name: 'Stringer'
136
115
  version: ''
137
116
  url: 'https://github.com/swanson/stringer'
138
- type: 'Feed Reader'
117
+
118
+ - regex: '^castero (\d+\.[.\d]+)'
119
+ name: 'castero'
120
+ version: '$1'
121
+ url: 'https://github.com/xgi/castero'
122
+
123
+ - regex: '^castget (\d+\.[.\d]+)'
124
+ name: 'castget'
125
+ version: '$1'
126
+ url: 'https://castget.johndal.com/'
127
+
128
+ - regex: '^Newsboat/([a-z\d\.]+)'
129
+ name: 'Newsboat'
130
+ version: '$1'
131
+ url: 'https://newsboat.org/index.html'
132
+
133
+ - regex: '^Playapod(?: Lite)?/(\d+\.[.\d]+)'
134
+ name: 'Playapod'
135
+ version: '$1'
136
+ url: 'https://playapod.com/'
137
+
138
+ - regex: 'PodPuppy (\d+\.[.\d]+)'
139
+ name: 'PodPuppy'
140
+ version: '$1'
141
+ url: 'https://github.com/felixwatts/PodPuppy'
142
+
143
+ - regex: '^Reeder/([\d\.]+)'
144
+ name: 'Reeder'
145
+ version: '$1'
146
+ url: 'https://reederapp.com/'
@@ -92,6 +92,27 @@
92
92
  'mobi.deallauncher.coupons.shopping': 'Coupons & Deals'
93
93
  'com.wukongtv.wkcast.intl': 'Quick Cast'
94
94
  'com.tt.android.dm.view': 'Download Manager'
95
+ 'com.fsecure.ms.kpn.veilig': 'KPN Veilig'
96
+ 'com.fsecure.ms.actshield': 'ACT Shield'
97
+ 'com.fsecure.ms.talktalksa': 'TalkTalk SuperSafe'
98
+ 'com.bifrostwallet.app': 'Bifrost Wallet'
99
+ 'com.anydesk.anydeskandroid': 'AnyDesk Remote Desktop'
100
+ 'com.google.android.youtube': 'YouTube'
101
+ 'io.bluewallet.bluewallet': 'BlueWallet'
102
+ 'com.google.android.apps.searchlite': 'Google Go'
103
+ 'com.snaptube.premium': 'SnapTube'
104
+ 'com.myhomescreen.sms': 'Messenger Home'
105
+ 'com.myhomescreen.email': 'Email Home'
106
+ 'com.myhomescreen.weather': 'Weather Home'
107
+ 'com.myhomescreen.access': 'Big Keyboard'
108
+ 'com.myhomescreen.messenger.home.emoji.lite': 'Messenger Lite'
109
+ 'com.myhomescreen.fitness': 'Fit Home'
110
+ 'com.myhomescreen.news': 'News Home'
111
+ 'com.amazon.webapps.gms.search': 'Google Search App'
112
+ 'com.huawei.fastapp': 'Huawei Quick App Center'
113
+ 'com.flatfish.cal.privacy': 'HideX'
114
+ 'com.sweep.cleaner.trash.junk': 'Sweep'
115
+ 'com.google.android.apps.maps': 'Google Maps'
95
116
 
96
117
  # Vpns
97
118
  'org.torproject.android': 'Orbot'
@@ -100,3 +121,4 @@
100
121
  'com.v2.vpn.security.free': 'V2Free'
101
122
  'com.surfshark.vpnclient.android': 'Surfshark'
102
123
  'com.omshyapps.vpn': 'Omshy VPN'
124
+ 'com.kuto.vpn': 'KUTO VPN'
@@ -193,3 +193,18 @@
193
193
  'com.ivvi.browser': 'IVVI Browser'
194
194
  'com.nomone.vrbrowser': 'NOMone VR Browser'
195
195
  'com.opus.browser': 'Opus Browser'
196
+ 'com.arvin.browser': 'Arvin'
197
+ 'com.pawxy.browser': 'Pawxy'
198
+ 'com.internet.tvbrowser': 'LUJO TV Browser'
199
+ 'com.logicui.tvbrowser2': 'LogicUI TV Browser'
200
+ 'com.opera.browser.afin': 'Opera'
201
+ 'com.quark.browser': 'Quark'
202
+ 'jp.co.yahoo.android.ybrowser': 'Yahoo! Japan Browser'
203
+ 'com.tv.browser.open': 'Open TV Browser'
204
+ 'com.ornet.torbrowser': 'OrNET Browser'
205
+ 'com.browsbit': 'BrowsBit'
206
+ 'org.mozilla.firefox': 'Firefox Mobile'
207
+ 'com.yandex.browser': 'Yandex Browser'
208
+ 'com.opera.mini.native.beta': 'Opera Mini'
209
+ 'com.sec.android.app.sbrowser': 'Samsung Browser'
210
+ 'com.sec.android.app.sbrowser.lite': 'Samsung Browser Lite'
@@ -5,75 +5,109 @@
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
8
- # got (https://github.com/sindresorhus/got)
9
- - regex: '^got '
10
- name: 'got'
8
+ - regex: 'Fuzz Faster U Fool v(\d+[\.\d]+)'
9
+ name: 'FFUF'
10
+ version: '$1'
11
+ url: 'https://github.com/ffuf/ffuf'
12
+
13
+ - regex: 'Slim Framework'
14
+ name: 'Slim Framework'
15
+ version: ''
16
+ url: 'https://www.slimframework.com/'
17
+
18
+ - regex: 'msray-plus'
19
+ name: 'Msray-Plus'
11
20
  version: ''
21
+ url: 'https://github.com/super-l/msray'
22
+
23
+ - regex: 'HTMLParser(?:/(\d+[\.\d]+))?'
24
+ name: 'HTML Parser'
25
+ version: '$1'
26
+ url: 'https://htmlparser.sourceforge.net/'
12
27
 
13
- # Typhoeus (https://github.com/typhoeus/typhoeus)
28
+ # got - a nodejs library
29
+ - regex: '^got(?:/(\d+\.[.\d]+))? \('
30
+ name: 'got'
31
+ version: '$1'
32
+ url: 'https://github.com/sindresorhus/got'
33
+
34
+ # Typhoeus
14
35
  - regex: 'Typhoeus'
15
36
  name: 'Typhoeus'
16
37
  version: ''
38
+ url: 'https://github.com/typhoeus/typhoeus'
17
39
 
18
- # req (https://github.com/imroc/req)
40
+ # req
19
41
  - regex: 'req/v([\.\d]+)'
20
42
  name: 'req'
21
43
  version: '$1'
44
+ url: 'https://github.com/imroc/req'
22
45
 
23
- # quic-go (https://github.com/lucas-clemente/quic-go)
46
+ # quic-go
24
47
  - regex: 'quic-go-HTTP/3'
25
48
  name: 'quic-go'
26
49
  version: ''
50
+ url: 'https://github.com/lucas-clemente/quic-go'
27
51
 
28
- # Azure Data Factory (https://azure.microsoft.com/en-us/products/data-factory/)
52
+ # Azure Data Factory
29
53
  - regex: 'azure-data-factory(?:/(\d+[\.\d]+))?'
30
54
  name: 'Azure Data Factory'
31
55
  version: '$1'
56
+ url: 'https://azure.microsoft.com/en-us/products/data-factory/'
32
57
 
33
- # Dart (https://dart.dev/)
58
+ # Dart
34
59
  - regex: 'Dart(?:/(\d+[\.\d]+))?'
35
60
  name: 'Dart'
36
61
  version: '$1'
62
+ url: 'https://dart.dev/'
37
63
 
38
- # r-curl (https://github.com/jeroen/curl)
64
+ # r-curl
39
65
  - regex: 'r-curl(?:/(\d+[\.\d]+))?'
40
66
  name: 'r-curl'
41
67
  version: '$1'
68
+ url: 'https://github.com/jeroen/curl'
42
69
 
43
- # HTTPX (https://www.python-httpx.org/)
70
+ # HTTPX
44
71
  - regex: 'python-httpx(?:/(\d+[\.\d]+))?'
45
72
  name: 'HTTPX'
46
73
  version: '$1'
74
+ url: 'https://www.python-httpx.org/'
47
75
 
48
- # fasthttp (https://github.com/valyala/fasthttp)
76
+ # fasthttp
49
77
  - regex: 'fasthttp(?:/(\d+[\.\d]+))?'
50
78
  name: 'fasthttp'
51
79
  version: '$1'
80
+ url: 'https://github.com/valyala/fasthttp'
52
81
 
53
- # GeoIP Update (https://github.com/maxmind/geoipupdate)
82
+ # GeoIP Update
54
83
  - regex: 'geoipupdate(?:/(\d+[\.\d]+))?'
55
84
  name: 'GeoIP Update'
56
85
  version: '$1'
86
+ url: 'https://github.com/maxmind/geoipupdate'
57
87
 
58
- # PHP cURL Class (https://github.com/php-curl-class/php-curl-class)
88
+ # PHP cURL Class
59
89
  - regex: 'PHP-Curl-Class(?:/(\d+[\.\d]+))?'
60
90
  name: 'PHP cURL Class'
61
91
  version: '$1'
92
+ url: 'https://github.com/php-curl-class/php-curl-class'
62
93
 
63
- # cPanel HTTP Client (https://www.cpanel.net/)
94
+ # cPanel HTTP Client
64
95
  - regex: 'Cpanel-HTTP-Client(?:/(\d+[\.\d]+))?'
65
96
  name: 'cPanel HTTP Client'
66
97
  version: '$1'
98
+ url: 'https://www.cpanel.net/'
67
99
 
68
- # AnyEvent HTTP (http://software.schmorp.de/pkg/AnyEvent)
100
+ # AnyEvent HTTP
69
101
  - regex: 'AnyEvent-HTTP(?:/(\d+[\.\d]+))?'
70
102
  name: 'AnyEvent HTTP'
71
103
  version: '$1'
104
+ url: 'http://software.schmorp.de/pkg/AnyEvent'
72
105
 
73
- # SlimerJS (https://www.slimerjs.org/)
106
+ # SlimerJS
74
107
  - regex: 'SlimerJS/(\d+[\.\d]+)'
75
108
  name: 'SlimerJS'
76
109
  version: '$1'
110
+ url: 'https://www.slimerjs.org/'
77
111
 
78
112
  - regex: 'Wget(?:/(\d+[\.\d]+))?'
79
113
  name: 'Wget'
@@ -83,6 +117,11 @@
83
117
  name: 'Guzzle (PHP HTTP Client)'
84
118
  version: '$1'
85
119
 
120
+ # symphony php http client
121
+ - regex: '^Symfony HttpClient/'
122
+ name: 'Symfony'
123
+ version: '$1'
124
+
86
125
  - regex: '(?:lib)?curl(?:/(\d+[\.\d]+))?'
87
126
  name: 'curl'
88
127
  version: '$1'
@@ -96,7 +135,7 @@
96
135
  version: '$1'
97
136
  url: 'https://pypi.org/project/httplib2/'
98
137
 
99
- - regex: 'Python-urllib(?:/?(\d+[\.\d]+))?'
138
+ - regex: 'Python-urllib3?(?:/?(\d+[\.\d]+))?'
100
139
  name: 'Python urllib'
101
140
  version: '$1'
102
141
 
@@ -121,9 +160,11 @@
121
160
  version: '$1'
122
161
  url: 'https://github.com/grpc/grpc-java'
123
162
 
163
+ # java library
124
164
  - regex: '(?:okhttp|network-okhttp3)/([\d\.]+)'
125
165
  name: 'OkHttp'
126
166
  version: '$1'
167
+
127
168
  - regex: 'okhttp3-([\d\.]+)'
128
169
  name: 'OkHttp'
129
170
  version: '$1'
@@ -135,12 +176,12 @@
135
176
  - regex: 'HTTP_Request2(?:/(\d+[\.\d]+))?'
136
177
  name: 'HTTP_Request2'
137
178
  version: '$1'
138
- url: 'http://pear.php.net/package/http_request2'
179
+ url: 'https://pear.php.net/package/http_request2'
139
180
 
140
181
  - regex: 'Mechanize(?:/(\d+[\.\d]+))?'
141
182
  name: 'Mechanize'
142
183
  version: '$1'
143
- url: 'http://github.com/sparklemotion/mechanize/'
184
+ url: 'https://github.com/sparklemotion/mechanize'
144
185
 
145
186
  - regex: 'aiohttp(?:/(\d+[\.\d]+))?'
146
187
  name: 'aiohttp'
@@ -181,7 +222,7 @@
181
222
  - regex: 'RestSharp/(\d+[\.\d]+)'
182
223
  name: 'RestSharp'
183
224
  version: '$1'
184
- url: 'http://restsharp.org/'
225
+ url: 'https://github.com/restsharp/RestSharp'
185
226
 
186
227
  - regex: 'scalaj-http/(\d+[\.\d]+)'
187
228
  name: 'ScalaJ HTTP'
@@ -193,7 +234,7 @@
193
234
  version: '$1'
194
235
  url: 'https://metacpan.org/pod/REST::Client'
195
236
 
196
- - regex: 'node-fetch/(\d+[\.\d]+)'
237
+ - regex: 'node-fetch/?(\d+[\.\d]+)?'
197
238
  name: 'Node Fetch'
198
239
  version: '$1'
199
240
  url: 'https://github.com/node-fetch/node-fetch'
@@ -249,7 +290,7 @@
249
290
  name: 'Aria2'
250
291
  version: '$1'
251
292
 
252
- - regex: 'BTWebClient/'
293
+ - regex: '(?:BTWebClient/|^uTorrent/)'
253
294
  name: 'uTorrent'
254
295
  version: ''
255
296
 
@@ -281,7 +322,7 @@
281
322
  name: 'jsdom'
282
323
  version: '$1'
283
324
 
284
- # hackney (https://github.com/benoitc/hackney)
325
+ # hackney (https://github.com/benoitc/hackney) (elixir)
285
326
  - regex: 'hackney/([\.\d]+)'
286
327
  name: 'hackney'
287
328
  version: '$1'
@@ -372,3 +413,110 @@
372
413
  - regex: 'axios(?:/?(\d+[\.\d]+))?'
373
414
  name: Axios
374
415
  version: '$1'
416
+
417
+ # Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
418
+ - regex: '^CarrierWave/(\d+\.[.\d]+)'
419
+ name: 'CarrierWave'
420
+ version: '$1'
421
+
422
+ - regex: '^Deno/(\d+\.[.\d]+)'
423
+ name: 'Deno'
424
+ version: '$1'
425
+
426
+ # Streaming downloads using net/http, http.rb, HTTPX or wget (ruby)
427
+ - regex: '^Down/(\d+\.[.\d]+)'
428
+ name: 'Down'
429
+ version: '$1'
430
+
431
+ # various programs can use this, like vlc, but the underlying lib is ffmpeg
432
+ - regex: '^Lavf/'
433
+ name: 'ffmpeg'
434
+ version: '$1'
435
+
436
+ - regex: '^FileDownloader/(\d+\.[.\d]+)'
437
+ name: 'FileDownloader'
438
+ version: '$1'
439
+
440
+ # Allows managing large files with git, without storing the file contents in git
441
+ - regex: '^git-annex/(\d+\.[.\d]+)'
442
+ name: 'git-annex'
443
+ version: '$1'
444
+
445
+ - regex: '^GStreamer(?: souphttpsrc)[ /](\d+\.[.\d]+)?'
446
+ name: 'GStreamer'
447
+ version: '$1'
448
+
449
+ # A small, simple, correct HTTP/1.1 client (Perl)
450
+ - regex: '^HTTP-Tiny/(\d+\.[.\d]+)'
451
+ name: 'HTTP:Tiny'
452
+ version: '$1'
453
+
454
+ - regex: 'KaiOS Downloader'
455
+ name: 'KaiOS Downloader'
456
+ version: ''
457
+
458
+ # HTTP client/server library for GNOME
459
+ - regex: '^libsoup/(\d+\.[.\d]+)'
460
+ name: 'libsoup'
461
+ version: '$1'
462
+
463
+ - regex: '^Android\.LVLDM$'
464
+ name: 'Android License Verification Library'
465
+ version: '$1'
466
+
467
+ # A file downloader library for Android with pause and resume support
468
+ - regex: '^PRDownloader$'
469
+ name: 'PRDownloader'
470
+ version: ''
471
+
472
+ # a rust http library
473
+ - regex: '^reqwest/(\d+\.[.\d]+)'
474
+ name: 'reqwest'
475
+ version: '$1'
476
+
477
+ # lua http library
478
+ - regex: '^resty-requests'
479
+ name: 'resty-requests'
480
+ version: ''
481
+
482
+ # ruby core lib http download
483
+ - regex: '^Ruby'
484
+ name: 'ruby'
485
+ version: ''
486
+
487
+ # SFSafariViewController, some safari service
488
+ - regex: '^SafariViewService/(\d+\.[.\d]+)'
489
+ name: 'Safari View Service'
490
+ version: '$1'
491
+
492
+ # a nodejs lib
493
+ - regex: '^undici$'
494
+ name: 'undici'
495
+ version: ''
496
+
497
+ # URL, an emacs plugin
498
+ - regex: '^URL/Emacs Emacs/(\d+\.[.\d]+)'
499
+ name: 'Emacs'
500
+ version: '$1'
501
+
502
+ - regex: '^FDM[ /]([\d\.]+)'
503
+ name: 'Free Download Manager'
504
+ version: '$1'
505
+
506
+ # 'https://github.com/lingochamp/okdownload'
507
+ - regex: 'OkDownload/([\d\.]+)'
508
+ name: 'OKDownload Library'
509
+ version: '$1'
510
+
511
+ # podcast host https://libsyn.com (probably an importer)
512
+ - regex: '^Libsyn4-?(?:peek|download)$'
513
+ name: 'Libsyn'
514
+ version: ''
515
+
516
+ # any ios application that uses apple core media but doesn't set its user
517
+ # agent will default to this, always with 1.0.0 version.
518
+ # there was a time when (not even that long ago) apple didn't let you set
519
+ # a user agent so a ton of random applications still identify themselves this way.
520
+ - regex: 'AppleCoreMedia/1\.0\.0'
521
+ name: 'iOS Application'
522
+ version: ''
@@ -77,6 +77,10 @@
77
77
  name: 'Winamp'
78
78
  version: '$1'
79
79
 
80
+ - regex: 'J\. River Internet Reader/(\d+\.[.\d]+)'
81
+ name: 'JRiver Media Center'
82
+ version: '$1'
83
+
80
84
  - regex: '(?:Windows-Media-Player|NSPlayer)(?:/(\d+[\.\d]+))?'
81
85
  name: 'Windows Media Player'
82
86
  version: '$1'
@@ -124,3 +128,46 @@
124
128
  - regex: 'Downcast/(\d+\.[\d\.]+)?'
125
129
  name: 'Downcast'
126
130
  version: '$1'
131
+
132
+ - regex: '^Juice/([\d\.]+)'
133
+ name: 'Juice'
134
+ version: '$1'
135
+
136
+ - regex: 'just_audio/(\d+\.[.\d]+)'
137
+ name: 'Just Audio'
138
+ version: '$1'
139
+
140
+ # https://apps.kde.org/kasts/ ?
141
+ - regex: '^Kasts/(\d+\.[.\d]+)'
142
+ name: 'Kasts'
143
+ version: '$1'
144
+
145
+ - regex: 'MixerBox(?:%20Pro)?/([.\d]+)'
146
+ name: 'MixerBox'
147
+ version: '$1'
148
+
149
+ - regex: '^MusicBee(?:/(\d+\.[.\d]+))?'
150
+ name: 'MusicBee'
151
+ version: '$1'
152
+
153
+ - regex: '^amarok/(\d+\.[.\d]+)'
154
+ name: 'Amarok'
155
+ version: '$1'
156
+
157
+ - regex: 'Hubhopper/([\d\.]+)'
158
+ name: 'Hubhopper'
159
+ version: '$1'
160
+
161
+ - regex: 'StudioDisplay/(\d+\.[\d\.]+)'
162
+ name: 'StudioDisplay'
163
+ version: '$1'
164
+
165
+ # JHelioviewer (https://www.jhelioviewer.org/)
166
+ - regex: 'JHV/SWHV-([.\d+]+)'
167
+ name: 'JHelioviewer'
168
+ version: '$1'
169
+
170
+ # Xtream Player (https://play.google.com/store/apps/details?id=com.devcoder.iptvxtreamplayer)
171
+ - regex: 'com.devcoder.iptvxtreamplayer'
172
+ name: 'Xtream Player'
173
+ version: ''