device_detector 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: ''