xref: /plugin/statistics/vendor/matomo/device-detector/regexes/client/libraries.yml (revision d5ef99ddb7dfb0cfae33e9257bd1d788f682c50f)
1*d5ef99ddSAndreas Gohr###############
2*d5ef99ddSAndreas Gohr# Device Detector - The Universal Device Detection library for parsing User Agents
3*d5ef99ddSAndreas Gohr#
4*d5ef99ddSAndreas Gohr# @link https://matomo.org
5*d5ef99ddSAndreas Gohr# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6*d5ef99ddSAndreas Gohr###############
7*d5ef99ddSAndreas Gohr
8*d5ef99ddSAndreas Gohr- regex: 'PhantomJS(?:/(\d+[.\d]+))?'
9*d5ef99ddSAndreas Gohr  name: 'PhantomJS'
10*d5ef99ddSAndreas Gohr  version: '$1'
11*d5ef99ddSAndreas Gohr  url: 'https://phantomjs.org/'
12*d5ef99ddSAndreas Gohr
13*d5ef99ddSAndreas Gohr- regex: 'IPinfoClient/.*/(\d+[.\d]+)'
14*d5ef99ddSAndreas Gohr  name: 'IPinfo'
15*d5ef99ddSAndreas Gohr  version: '$1'
16*d5ef99ddSAndreas Gohr  url: 'https://github.com/ipinfo'
17*d5ef99ddSAndreas Gohr
18*d5ef99ddSAndreas Gohr- regex: 'kiwi-tcms/(\d+[.\d]+)'
19*d5ef99ddSAndreas Gohr  name: 'Kiwi TCMS'
20*d5ef99ddSAndreas Gohr  version: '$1'
21*d5ef99ddSAndreas Gohr  url: 'https://kiwitcms.org'
22*d5ef99ddSAndreas Gohr
23*d5ef99ddSAndreas Gohr- regex: 'tcms-api/(\d+[.\d]+)'
24*d5ef99ddSAndreas Gohr  name: 'Kiwi TCMS API'
25*d5ef99ddSAndreas Gohr  version: '$1'
26*d5ef99ddSAndreas Gohr  url: 'https://kiwitcms.org'
27*d5ef99ddSAndreas Gohr
28*d5ef99ddSAndreas Gohr- regex: 'Fuzz Faster U Fool v(\d+[.\d]+)'
29*d5ef99ddSAndreas Gohr  name: 'FFUF'
30*d5ef99ddSAndreas Gohr  version: '$1'
31*d5ef99ddSAndreas Gohr  url: 'https://github.com/ffuf/ffuf'
32*d5ef99ddSAndreas Gohr
33*d5ef99ddSAndreas Gohr- regex: 'Slim Framework'
34*d5ef99ddSAndreas Gohr  name: 'Slim Framework'
35*d5ef99ddSAndreas Gohr  version: ''
36*d5ef99ddSAndreas Gohr  url: 'https://www.slimframework.com/'
37*d5ef99ddSAndreas Gohr
38*d5ef99ddSAndreas Gohr- regex: 'msray-plus'
39*d5ef99ddSAndreas Gohr  name: 'Msray-Plus'
40*d5ef99ddSAndreas Gohr  version: ''
41*d5ef99ddSAndreas Gohr  url: 'https://github.com/super-l/msray'
42*d5ef99ddSAndreas Gohr
43*d5ef99ddSAndreas Gohr- regex: 'HTMLParser(?:/(\d+[.\d]+))?'
44*d5ef99ddSAndreas Gohr  name: 'HTML Parser'
45*d5ef99ddSAndreas Gohr  version: '$1'
46*d5ef99ddSAndreas Gohr  url: 'https://htmlparser.sourceforge.net/'
47*d5ef99ddSAndreas Gohr
48*d5ef99ddSAndreas Gohr# got - a nodejs library
49*d5ef99ddSAndreas Gohr- regex: '^got(?:/(\d+\.[.\d]+))? \('
50*d5ef99ddSAndreas Gohr  name: 'got'
51*d5ef99ddSAndreas Gohr  version: '$1'
52*d5ef99ddSAndreas Gohr  url: 'https://github.com/sindresorhus/got'
53*d5ef99ddSAndreas Gohr
54*d5ef99ddSAndreas Gohr# Typhoeus
55*d5ef99ddSAndreas Gohr- regex: 'Typhoeus'
56*d5ef99ddSAndreas Gohr  name: 'Typhoeus'
57*d5ef99ddSAndreas Gohr  version: ''
58*d5ef99ddSAndreas Gohr  url: 'https://github.com/typhoeus/typhoeus'
59*d5ef99ddSAndreas Gohr
60*d5ef99ddSAndreas Gohr# req
61*d5ef99ddSAndreas Gohr- regex: 'req/v([.\d]+)'
62*d5ef99ddSAndreas Gohr  name: 'req'
63*d5ef99ddSAndreas Gohr  version: '$1'
64*d5ef99ddSAndreas Gohr  url: 'https://github.com/imroc/req'
65*d5ef99ddSAndreas Gohr
66*d5ef99ddSAndreas Gohr# quic-go
67*d5ef99ddSAndreas Gohr- regex: 'quic-go[ -]HTTP/3'
68*d5ef99ddSAndreas Gohr  name: 'quic-go'
69*d5ef99ddSAndreas Gohr  version: ''
70*d5ef99ddSAndreas Gohr  url: 'https://github.com/lucas-clemente/quic-go'
71*d5ef99ddSAndreas Gohr
72*d5ef99ddSAndreas Gohr# Azure Data Factory
73*d5ef99ddSAndreas Gohr- regex: 'azure-data-factory(?:/(\d+[.\d]+))?'
74*d5ef99ddSAndreas Gohr  name: 'Azure Data Factory'
75*d5ef99ddSAndreas Gohr  version: '$1'
76*d5ef99ddSAndreas Gohr  url: 'https://azure.microsoft.com/en-us/products/data-factory/'
77*d5ef99ddSAndreas Gohr
78*d5ef99ddSAndreas Gohr# Dart
79*d5ef99ddSAndreas Gohr- regex: 'Dart/(\d+[.\d]+)'
80*d5ef99ddSAndreas Gohr  name: 'Dart'
81*d5ef99ddSAndreas Gohr  version: '$1'
82*d5ef99ddSAndreas Gohr  url: 'https://dart.dev/'
83*d5ef99ddSAndreas Gohr
84*d5ef99ddSAndreas Gohr# r-curl
85*d5ef99ddSAndreas Gohr- regex: 'r-curl(?:/(\d+[.\d]+))?'
86*d5ef99ddSAndreas Gohr  name: 'r-curl'
87*d5ef99ddSAndreas Gohr  version: '$1'
88*d5ef99ddSAndreas Gohr  url: 'https://github.com/jeroen/curl'
89*d5ef99ddSAndreas Gohr
90*d5ef99ddSAndreas Gohr# HTTPX
91*d5ef99ddSAndreas Gohr- regex: 'python-httpx(?:/(\d+[.\d]+))?'
92*d5ef99ddSAndreas Gohr  name: 'HTTPX'
93*d5ef99ddSAndreas Gohr  version: '$1'
94*d5ef99ddSAndreas Gohr  url: 'https://www.python-httpx.org/'
95*d5ef99ddSAndreas Gohr
96*d5ef99ddSAndreas Gohr# fasthttp
97*d5ef99ddSAndreas Gohr- regex: 'fasthttp(?:/(\d+[.\d]+))?'
98*d5ef99ddSAndreas Gohr  name: 'fasthttp'
99*d5ef99ddSAndreas Gohr  version: '$1'
100*d5ef99ddSAndreas Gohr  url: 'https://github.com/valyala/fasthttp'
101*d5ef99ddSAndreas Gohr
102*d5ef99ddSAndreas Gohr# GeoIP Update
103*d5ef99ddSAndreas Gohr- regex: 'geoipupdate(?:/(\d+[.\d]+))?'
104*d5ef99ddSAndreas Gohr  name: 'GeoIP Update'
105*d5ef99ddSAndreas Gohr  version: '$1'
106*d5ef99ddSAndreas Gohr  url: 'https://github.com/maxmind/geoipupdate'
107*d5ef99ddSAndreas Gohr
108*d5ef99ddSAndreas Gohr# PHP cURL Class
109*d5ef99ddSAndreas Gohr- regex: 'PHP-Curl-Class(?:/(\d+[.\d]+))?'
110*d5ef99ddSAndreas Gohr  name: 'PHP cURL Class'
111*d5ef99ddSAndreas Gohr  version: '$1'
112*d5ef99ddSAndreas Gohr  url: 'https://github.com/php-curl-class/php-curl-class'
113*d5ef99ddSAndreas Gohr
114*d5ef99ddSAndreas Gohr# cPanel HTTP Client
115*d5ef99ddSAndreas Gohr- regex: 'Cpanel-HTTP-Client(?:/(\d+[.\d]+))?'
116*d5ef99ddSAndreas Gohr  name: 'cPanel HTTP Client'
117*d5ef99ddSAndreas Gohr  version: '$1'
118*d5ef99ddSAndreas Gohr  url: 'https://www.cpanel.net/'
119*d5ef99ddSAndreas Gohr
120*d5ef99ddSAndreas Gohr# AnyEvent HTTP
121*d5ef99ddSAndreas Gohr- regex: 'AnyEvent-HTTP(?:/(\d+[.\d]+))?'
122*d5ef99ddSAndreas Gohr  name: 'AnyEvent HTTP'
123*d5ef99ddSAndreas Gohr  version: '$1'
124*d5ef99ddSAndreas Gohr  url: 'http://software.schmorp.de/pkg/AnyEvent'
125*d5ef99ddSAndreas Gohr
126*d5ef99ddSAndreas Gohr# SlimerJS
127*d5ef99ddSAndreas Gohr- regex: 'SlimerJS/(\d+[.\d]+)'
128*d5ef99ddSAndreas Gohr  name: 'SlimerJS'
129*d5ef99ddSAndreas Gohr  version: '$1'
130*d5ef99ddSAndreas Gohr  url: 'https://www.slimerjs.org/'
131*d5ef99ddSAndreas Gohr
132*d5ef99ddSAndreas Gohr# Jaunt
133*d5ef99ddSAndreas Gohr- regex: 'Jaunt/(\d+[.\d]+)'
134*d5ef99ddSAndreas Gohr  name: 'Jaunt'
135*d5ef99ddSAndreas Gohr  version: '$1'
136*d5ef99ddSAndreas Gohr  url: 'https://jaunt-api.com/'
137*d5ef99ddSAndreas Gohr
138*d5ef99ddSAndreas Gohr# Cypress
139*d5ef99ddSAndreas Gohr- regex: 'Cypress/(\d+[.\d]+)'
140*d5ef99ddSAndreas Gohr  name: 'Cypress'
141*d5ef99ddSAndreas Gohr  version: '$1'
142*d5ef99ddSAndreas Gohr  url: 'https://github.com/cypress-io/cypress'
143*d5ef99ddSAndreas Gohr
144*d5ef99ddSAndreas Gohr- regex: 'Wget(?:/(\d+[.\d]+))?'
145*d5ef99ddSAndreas Gohr  name: 'Wget'
146*d5ef99ddSAndreas Gohr  version: '$1'
147*d5ef99ddSAndreas Gohr
148*d5ef99ddSAndreas Gohr- regex: 'Guzzle(?:Http)?(?:/(\d+[.\d]+))?'
149*d5ef99ddSAndreas Gohr  name: 'Guzzle (PHP HTTP Client)'
150*d5ef99ddSAndreas Gohr  version: '$1'
151*d5ef99ddSAndreas Gohr
152*d5ef99ddSAndreas Gohr# symphony php http client
153*d5ef99ddSAndreas Gohr- regex: '^Symfony HttpClient/'
154*d5ef99ddSAndreas Gohr  name: 'Symfony'
155*d5ef99ddSAndreas Gohr  version: '$1'
156*d5ef99ddSAndreas Gohr
157*d5ef99ddSAndreas Gohr- regex: '(?:lib)?curl(?:/(\d+[.\d]+))?'
158*d5ef99ddSAndreas Gohr  name: 'curl'
159*d5ef99ddSAndreas Gohr  version: '$1'
160*d5ef99ddSAndreas Gohr
161*d5ef99ddSAndreas Gohr- regex: 'python-requests(?:/(\d+[.\d]+))?'
162*d5ef99ddSAndreas Gohr  name: 'Python Requests'
163*d5ef99ddSAndreas Gohr  version: '$1'
164*d5ef99ddSAndreas Gohr
165*d5ef99ddSAndreas Gohr- regex: 'Python-httplib2(?:/(\d+[.\d]+))?'
166*d5ef99ddSAndreas Gohr  name: 'httplib2'
167*d5ef99ddSAndreas Gohr  version: '$1'
168*d5ef99ddSAndreas Gohr  url: 'https://pypi.org/project/httplib2/'
169*d5ef99ddSAndreas Gohr
170*d5ef99ddSAndreas Gohr- regex: 'Python-urllib3?(?:/?(\d+[.\d]+))?'
171*d5ef99ddSAndreas Gohr  name: 'Python urllib'
172*d5ef99ddSAndreas Gohr  version: '$1'
173*d5ef99ddSAndreas Gohr
174*d5ef99ddSAndreas Gohr- regex: 'Apache-HttpClient(?:/?(\d+[.\d]+))?'
175*d5ef99ddSAndreas Gohr  name: 'Apache HTTP Client'
176*d5ef99ddSAndreas Gohr  version: '$1'
177*d5ef99ddSAndreas Gohr
178*d5ef99ddSAndreas Gohr- regex: 'Java-http-client(?:/?(\d+[.\d]+))?'
179*d5ef99ddSAndreas Gohr  name: 'Java HTTP Client'
180*d5ef99ddSAndreas Gohr  version: '$1'
181*d5ef99ddSAndreas Gohr
182*d5ef99ddSAndreas Gohr- regex: 'Java/?(\d+[.\d]+)'
183*d5ef99ddSAndreas Gohr  name: 'Java'
184*d5ef99ddSAndreas Gohr  version: '$1'
185*d5ef99ddSAndreas Gohr
186*d5ef99ddSAndreas Gohr- regex: '(?:perlclient|libwww-perl)(?:/?(\d+[.\d]+))?'
187*d5ef99ddSAndreas Gohr  name: 'Perl'
188*d5ef99ddSAndreas Gohr  version: '$1'
189*d5ef99ddSAndreas Gohr
190*d5ef99ddSAndreas Gohr- regex: 'grpc-java-okhttp/([\d.]+)'
191*d5ef99ddSAndreas Gohr  name: 'gRPC-Java'
192*d5ef99ddSAndreas Gohr  version: '$1'
193*d5ef99ddSAndreas Gohr  url: 'https://github.com/grpc/grpc-java'
194*d5ef99ddSAndreas Gohr
195*d5ef99ddSAndreas Gohr# java library
196*d5ef99ddSAndreas Gohr- regex: '(?:okhttp|network-okhttp3)/([\d.]+)'
197*d5ef99ddSAndreas Gohr  name: 'OkHttp'
198*d5ef99ddSAndreas Gohr  version: '$1'
199*d5ef99ddSAndreas Gohr
200*d5ef99ddSAndreas Gohr- regex: 'okhttp3-([\d.]+)'
201*d5ef99ddSAndreas Gohr  name: 'OkHttp'
202*d5ef99ddSAndreas Gohr  version: '$1'
203*d5ef99ddSAndreas Gohr
204*d5ef99ddSAndreas Gohr- regex: 'HTTP_Request2(?:/(\d+[.\d]+))?'
205*d5ef99ddSAndreas Gohr  name: 'HTTP_Request2'
206*d5ef99ddSAndreas Gohr  version: '$1'
207*d5ef99ddSAndreas Gohr  url: 'https://pear.php.net/package/http_request2'
208*d5ef99ddSAndreas Gohr
209*d5ef99ddSAndreas Gohr- regex: 'Mechanize(?:/(\d+[.\d]+))?'
210*d5ef99ddSAndreas Gohr  name: 'Mechanize'
211*d5ef99ddSAndreas Gohr  version: '$1'
212*d5ef99ddSAndreas Gohr  url: 'https://github.com/sparklemotion/mechanize'
213*d5ef99ddSAndreas Gohr
214*d5ef99ddSAndreas Gohr- regex: 'aiohttp(?:/(\d+[.\d]+))?'
215*d5ef99ddSAndreas Gohr  name: 'aiohttp'
216*d5ef99ddSAndreas Gohr  version: '$1'
217*d5ef99ddSAndreas Gohr
218*d5ef99ddSAndreas Gohr- regex: 'Google-HTTP-Java-Client(?:/(\d+[\.\w-]+))?'
219*d5ef99ddSAndreas Gohr  name: 'Google HTTP Java Client'
220*d5ef99ddSAndreas Gohr  version: '$1'
221*d5ef99ddSAndreas Gohr
222*d5ef99ddSAndreas Gohr- regex: 'WWW-Mechanize(?:/(\d+[.\d]+))?'
223*d5ef99ddSAndreas Gohr  name: 'WWW-Mechanize'
224*d5ef99ddSAndreas Gohr  version: '$1'
225*d5ef99ddSAndreas Gohr
226*d5ef99ddSAndreas Gohr- regex: 'Faraday(?: v(\d+[.\d]+))?'
227*d5ef99ddSAndreas Gohr  name: 'Faraday'
228*d5ef99ddSAndreas Gohr  version: '$1'
229*d5ef99ddSAndreas Gohr  url: 'https://github.com/lostisland/faraday'
230*d5ef99ddSAndreas Gohr
231*d5ef99ddSAndreas Gohr- regex: '(?:Go-http-client|^Go )/?(?:(\d+[.\d]+))?(?: package http)?'
232*d5ef99ddSAndreas Gohr  name: 'Go-http-client'
233*d5ef99ddSAndreas Gohr  version: '$1'
234*d5ef99ddSAndreas Gohr
235*d5ef99ddSAndreas Gohr- regex: 'urlgrabber(?:/(\d+[.\d]+))?'
236*d5ef99ddSAndreas Gohr  name: 'urlgrabber (yum)'
237*d5ef99ddSAndreas Gohr  version: '$1'
238*d5ef99ddSAndreas Gohr
239*d5ef99ddSAndreas Gohr- regex: 'libdnf(?:/(\d+[.\d]+))?'
240*d5ef99ddSAndreas Gohr  name: 'libdnf'
241*d5ef99ddSAndreas Gohr  version: '$1'
242*d5ef99ddSAndreas Gohr
243*d5ef99ddSAndreas Gohr- regex: 'HTTPie(?:/(\d+[.\d]+))?'
244*d5ef99ddSAndreas Gohr  name: 'HTTPie'
245*d5ef99ddSAndreas Gohr  version: '$1'
246*d5ef99ddSAndreas Gohr
247*d5ef99ddSAndreas Gohr- regex: 'rest-client/(\d+\.[.\d]+) .*ruby'
248*d5ef99ddSAndreas Gohr  name: 'REST Client for Ruby'
249*d5ef99ddSAndreas Gohr  version: '$1'
250*d5ef99ddSAndreas Gohr
251*d5ef99ddSAndreas Gohr- regex: 'RestSharp/(\d+[.\d]+)'
252*d5ef99ddSAndreas Gohr  name: 'RestSharp'
253*d5ef99ddSAndreas Gohr  version: '$1'
254*d5ef99ddSAndreas Gohr  url: 'https://github.com/restsharp/RestSharp'
255*d5ef99ddSAndreas Gohr
256*d5ef99ddSAndreas Gohr- regex: 'scalaj-http/(\d+[.\d]+)'
257*d5ef99ddSAndreas Gohr  name: 'ScalaJ HTTP'
258*d5ef99ddSAndreas Gohr  version: '$1'
259*d5ef99ddSAndreas Gohr  url: 'https://github.com/scalaj/scalaj-http'
260*d5ef99ddSAndreas Gohr
261*d5ef99ddSAndreas Gohr- regex: 'REST::Client/(\d+)'
262*d5ef99ddSAndreas Gohr  name: 'Perl REST::Client'
263*d5ef99ddSAndreas Gohr  version: '$1'
264*d5ef99ddSAndreas Gohr  url: 'https://metacpan.org/pod/REST::Client'
265*d5ef99ddSAndreas Gohr
266*d5ef99ddSAndreas Gohr- regex: 'node-fetch/?(\d+[.\d]+)?'
267*d5ef99ddSAndreas Gohr  name: 'Node Fetch'
268*d5ef99ddSAndreas Gohr  version: '$1'
269*d5ef99ddSAndreas Gohr  url: 'https://github.com/node-fetch/node-fetch'
270*d5ef99ddSAndreas Gohr
271*d5ef99ddSAndreas Gohr- regex: 'electron-fetch/?(\d+[.\d]+)?'
272*d5ef99ddSAndreas Gohr  name: 'Electron Fetch'
273*d5ef99ddSAndreas Gohr  version: '$1'
274*d5ef99ddSAndreas Gohr  url: 'https://github.com/arantes555/electron-fetch'
275*d5ef99ddSAndreas Gohr
276*d5ef99ddSAndreas Gohr- regex: 'ReactorNetty/(\d+[.\d]+)'
277*d5ef99ddSAndreas Gohr  name: 'ReactorNetty'
278*d5ef99ddSAndreas Gohr  version: '$1'
279*d5ef99ddSAndreas Gohr  url: 'https://github.com/reactor/reactor-netty'
280*d5ef99ddSAndreas Gohr
281*d5ef99ddSAndreas Gohr- regex: 'PostmanRuntime(?:/(\d+[.\d]+))?'
282*d5ef99ddSAndreas Gohr  name: 'Postman Desktop'
283*d5ef99ddSAndreas Gohr  version: '$1'
284*d5ef99ddSAndreas Gohr  url: 'https://github.com/postmanlabs/postman-runtime'
285*d5ef99ddSAndreas Gohr
286*d5ef99ddSAndreas Gohr- regex: 'insomnia(?:/(\d+[.\d]+))?'
287*d5ef99ddSAndreas Gohr  name: 'Insomnia REST Client'
288*d5ef99ddSAndreas Gohr  version: '$1'
289*d5ef99ddSAndreas Gohr  url: 'https://insomnia.rest'
290*d5ef99ddSAndreas Gohr
291*d5ef99ddSAndreas Gohr- regex: 'Jakarta Commons-HttpClient/([.\d]+)'
292*d5ef99ddSAndreas Gohr  name: 'Jakarta Commons HttpClient'
293*d5ef99ddSAndreas Gohr  version: '$1'
294*d5ef99ddSAndreas Gohr  url: 'https://hc.apache.org/httpclient-3.x'
295*d5ef99ddSAndreas Gohr
296*d5ef99ddSAndreas Gohr- regex: 'WinHttp\.WinHttpRequest.+([.\d]+)'
297*d5ef99ddSAndreas Gohr  name: 'WinHttp WinHttpRequest'
298*d5ef99ddSAndreas Gohr  version: '$1'
299*d5ef99ddSAndreas Gohr
300*d5ef99ddSAndreas Gohr- regex: 'WinHTTP'
301*d5ef99ddSAndreas Gohr  name: 'Windows HTTP'
302*d5ef99ddSAndreas Gohr  version: ''
303*d5ef99ddSAndreas Gohr
304*d5ef99ddSAndreas Gohr# THTTPClient in delphi 10+ default useragent
305*d5ef99ddSAndreas Gohr- regex: 'Embarcadero URI Client/([.\d]+)'
306*d5ef99ddSAndreas Gohr  name: 'Embarcadero URI Client'
307*d5ef99ddSAndreas Gohr  version: '$1'
308*d5ef99ddSAndreas Gohr
309*d5ef99ddSAndreas Gohr- regex: 'Mikrotik/([.\d]+)'
310*d5ef99ddSAndreas Gohr  name: 'Mikrotik Fetch'
311*d5ef99ddSAndreas Gohr  version: '$1'
312*d5ef99ddSAndreas Gohr
313*d5ef99ddSAndreas Gohr- regex: 'GRequests(?:/(\d+[.\d]+))?'
314*d5ef99ddSAndreas Gohr  name: 'GRequests'
315*d5ef99ddSAndreas Gohr  version: '$1'
316*d5ef99ddSAndreas Gohr
317*d5ef99ddSAndreas Gohr# https://doc.akka.io/
318*d5ef99ddSAndreas Gohr- regex: 'akka-http/([.\d]+)'
319*d5ef99ddSAndreas Gohr  name: 'Akka HTTP'
320*d5ef99ddSAndreas Gohr  version: '$1'
321*d5ef99ddSAndreas Gohr
322*d5ef99ddSAndreas Gohr# this added need added tests
323*d5ef99ddSAndreas Gohr- regex: 'aria2(?:/(\d+[.\d]+))?'
324*d5ef99ddSAndreas Gohr  name: 'Aria2'
325*d5ef99ddSAndreas Gohr  version: '$1'
326*d5ef99ddSAndreas Gohr
327*d5ef99ddSAndreas Gohr- regex: '(?:BTWebClient/|^uTorrent/)'
328*d5ef99ddSAndreas Gohr  name: 'uTorrent'
329*d5ef99ddSAndreas Gohr  version: ''
330*d5ef99ddSAndreas Gohr
331*d5ef99ddSAndreas Gohr- regex: 'gvfs/(?:(\d+[.\d]+))?'
332*d5ef99ddSAndreas Gohr  name: 'gvfs'
333*d5ef99ddSAndreas Gohr  version: '$1'
334*d5ef99ddSAndreas Gohr
335*d5ef99ddSAndreas Gohr# https://openwrt.org/packages/pkgdata/uclient-fetch
336*d5ef99ddSAndreas Gohr- regex: 'uclient-fetch'
337*d5ef99ddSAndreas Gohr  name: 'uclient-fetch'
338*d5ef99ddSAndreas Gohr  version: ''
339*d5ef99ddSAndreas Gohr
340*d5ef99ddSAndreas Gohr# https://github.com/microsoft/cpprestsdk
341*d5ef99ddSAndreas Gohr- regex: 'cpprestsdk/([.\d]+)'
342*d5ef99ddSAndreas Gohr  name: 'C++ REST SDK'
343*d5ef99ddSAndreas Gohr  version: '$1'
344*d5ef99ddSAndreas Gohr
345*d5ef99ddSAndreas Gohr- regex: 'lua-resty-http/([.\d]+).+ngx_'
346*d5ef99ddSAndreas Gohr  name: 'LUA OpenResty NGINX'
347*d5ef99ddSAndreas Gohr  version: '$1'
348*d5ef99ddSAndreas Gohr
349*d5ef99ddSAndreas Gohr# https://github.com/Kong/unirest-java
350*d5ef99ddSAndreas Gohr- regex: 'unirest-java/([.\d]+)'
351*d5ef99ddSAndreas Gohr  name: 'Unirest for Java'
352*d5ef99ddSAndreas Gohr  version: '$1'
353*d5ef99ddSAndreas Gohr
354*d5ef99ddSAndreas Gohr# jsdom (https://github.com/jsdom/jsdom)
355*d5ef99ddSAndreas Gohr- regex: 'jsdom/([.\d]+)'
356*d5ef99ddSAndreas Gohr  name: 'jsdom'
357*d5ef99ddSAndreas Gohr  version: '$1'
358*d5ef99ddSAndreas Gohr
359*d5ef99ddSAndreas Gohr# hackney (https://github.com/benoitc/hackney) (elixir)
360*d5ef99ddSAndreas Gohr- regex: 'hackney/([.\d]+)'
361*d5ef99ddSAndreas Gohr  name: 'hackney'
362*d5ef99ddSAndreas Gohr  version: '$1'
363*d5ef99ddSAndreas Gohr
364*d5ef99ddSAndreas Gohr# Resty (https://github.com/go-resty/resty)
365*d5ef99ddSAndreas Gohr- regex: 'go-resty/([.\d]+)'
366*d5ef99ddSAndreas Gohr  name: 'Resty'
367*d5ef99ddSAndreas Gohr  version: '$1'
368*d5ef99ddSAndreas Gohr
369*d5ef99ddSAndreas Gohr# Pa11y (https://pa11y.org/)
370*d5ef99ddSAndreas Gohr- regex: 'pa11y/([.\d]+)'
371*d5ef99ddSAndreas Gohr  name: 'Pa11y'
372*d5ef99ddSAndreas Gohr  version: '$1'
373*d5ef99ddSAndreas Gohr
374*d5ef99ddSAndreas Gohr# Ultimate Sitemap Parser (https://github.com/mediacloud/ultimate-sitemap-parser)
375*d5ef99ddSAndreas Gohr- regex: 'ultimate_sitemap_parser/([.\d]+)'
376*d5ef99ddSAndreas Gohr  name: 'Ultimate Sitemap Parser'
377*d5ef99ddSAndreas Gohr  version: '$1'
378*d5ef99ddSAndreas Gohr
379*d5ef99ddSAndreas Gohr# Container-related useragents
380*d5ef99ddSAndreas Gohr
381*d5ef99ddSAndreas Gohr# Artifactory (https://jfrog.com/de/artifactory/)
382*d5ef99ddSAndreas Gohr- regex: 'Artifactory/([.\d]+)'
383*d5ef99ddSAndreas Gohr  name: 'Artifactory'
384*d5ef99ddSAndreas Gohr  version: '$1'
385*d5ef99ddSAndreas Gohr
386*d5ef99ddSAndreas Gohr# Open build service (https://build.opensuse.org/)
387*d5ef99ddSAndreas Gohr- regex: 'BSRPC ([.\d]+)'
388*d5ef99ddSAndreas Gohr  name: 'Open Build Service'
389*d5ef99ddSAndreas Gohr  version: '$1'
390*d5ef99ddSAndreas Gohr
391*d5ef99ddSAndreas Gohr# Buildah (https://github.com/containers/buildah)
392*d5ef99ddSAndreas Gohr- regex: 'Buildah/([.\d]+)'
393*d5ef99ddSAndreas Gohr  name: 'Buildah'
394*d5ef99ddSAndreas Gohr  version: '$1'
395*d5ef99ddSAndreas Gohr
396*d5ef99ddSAndreas Gohr# Buildkit (https://github.com/moby/buildkit)
397*d5ef99ddSAndreas Gohr- regex: 'buildkit/v?([.\d]+)'
398*d5ef99ddSAndreas Gohr  name: 'BuildKit'
399*d5ef99ddSAndreas Gohr  version: '$1'
400*d5ef99ddSAndreas Gohr
401*d5ef99ddSAndreas Gohr# containerd (https://github.com/containerd/containerd)
402*d5ef99ddSAndreas Gohr- regex: 'containerd/v?([.\d]+)'
403*d5ef99ddSAndreas Gohr  name: 'Containerd'
404*d5ef99ddSAndreas Gohr  version: '$1'
405*d5ef99ddSAndreas Gohr
406*d5ef99ddSAndreas Gohr# containers (https://github.com/containers/image)
407*d5ef99ddSAndreas Gohr- regex: 'containers/([.\d]+)'
408*d5ef99ddSAndreas Gohr  name: 'containers'
409*d5ef99ddSAndreas Gohr  version: '$1'
410*d5ef99ddSAndreas Gohr
411*d5ef99ddSAndreas Gohr# cri-o (https://github.com/cri-o/cri-)o
412*d5ef99ddSAndreas Gohr- regex: 'cri-o/([.\d]+)'
413*d5ef99ddSAndreas Gohr  name: 'cri-o'
414*d5ef99ddSAndreas Gohr  version: '$1'
415*d5ef99ddSAndreas Gohr
416*d5ef99ddSAndreas Gohr# docker (https://github.com/moby/moby)
417*d5ef99ddSAndreas Gohr- regex: 'docker/([.\d]+)'
418*d5ef99ddSAndreas Gohr  name: 'docker'
419*d5ef99ddSAndreas Gohr  version: '$1'
420*d5ef99ddSAndreas Gohr
421*d5ef99ddSAndreas Gohr# gcr (https://github.com/google/go-containerregistry)
422*d5ef99ddSAndreas Gohr- regex: 'go-containerregistry/v([.\d]+)'
423*d5ef99ddSAndreas Gohr  name: 'go-container registry'
424*d5ef99ddSAndreas Gohr  version: '$1'
425*d5ef99ddSAndreas Gohr
426*d5ef99ddSAndreas Gohr# libpod (https://github.com/dankohn/libpod)
427*d5ef99ddSAndreas Gohr- regex: 'libpod/([.\d]+)'
428*d5ef99ddSAndreas Gohr  name: 'libpod'
429*d5ef99ddSAndreas Gohr  version: '$1'
430*d5ef99ddSAndreas Gohr
431*d5ef99ddSAndreas Gohr# skopeo (https://github.com/containers/skopeo)
432*d5ef99ddSAndreas Gohr- regex: 'skopeo/([.\d]+)'
433*d5ef99ddSAndreas Gohr  name: 'Skopeo'
434*d5ef99ddSAndreas Gohr  version: '$1'
435*d5ef99ddSAndreas Gohr
436*d5ef99ddSAndreas Gohr# helm (https://github.com/helm/helm)
437*d5ef99ddSAndreas Gohr- regex: 'Helm/([.\d]+)'
438*d5ef99ddSAndreas Gohr  name: 'Helm'
439*d5ef99ddSAndreas Gohr  version: '$1'
440*d5ef99ddSAndreas Gohr
441*d5ef99ddSAndreas Gohr# harbor client (https://goharbor.io/)
442*d5ef99ddSAndreas Gohr- regex: 'harbor-registry-client'
443*d5ef99ddSAndreas Gohr  name: 'Harbor registry client'
444*d5ef99ddSAndreas Gohr  version: ''
445*d5ef99ddSAndreas Gohr
446*d5ef99ddSAndreas Gohr# axios http (https://axios-http.com/)
447*d5ef99ddSAndreas Gohr- regex: 'axios(?:/?(\d+[.\d]+))?'
448*d5ef99ddSAndreas Gohr  name: Axios
449*d5ef99ddSAndreas Gohr  version: '$1'
450*d5ef99ddSAndreas Gohr
451*d5ef99ddSAndreas Gohr# Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworks
452*d5ef99ddSAndreas Gohr- regex: '^CarrierWave/(\d+\.[.\d]+)'
453*d5ef99ddSAndreas Gohr  name: 'CarrierWave'
454*d5ef99ddSAndreas Gohr  version: '$1'
455*d5ef99ddSAndreas Gohr
456*d5ef99ddSAndreas Gohr- regex: '^Deno/(\d+\.[.\d]+)'
457*d5ef99ddSAndreas Gohr  name: 'Deno'
458*d5ef99ddSAndreas Gohr  version: '$1'
459*d5ef99ddSAndreas Gohr
460*d5ef99ddSAndreas Gohr# Streaming downloads using net/http, http.rb, HTTPX or wget (ruby)
461*d5ef99ddSAndreas Gohr- regex: '^Down/(\d+\.[.\d]+)'
462*d5ef99ddSAndreas Gohr  name: 'Down'
463*d5ef99ddSAndreas Gohr  version: '$1'
464*d5ef99ddSAndreas Gohr
465*d5ef99ddSAndreas Gohr# various programs can use this, like vlc, but the underlying lib is ffmpeg
466*d5ef99ddSAndreas Gohr- regex: '^Lavf/'
467*d5ef99ddSAndreas Gohr  name: 'ffmpeg'
468*d5ef99ddSAndreas Gohr  version: '$1'
469*d5ef99ddSAndreas Gohr
470*d5ef99ddSAndreas Gohr- regex: '^FileDownloader/(\d+\.[.\d]+)'
471*d5ef99ddSAndreas Gohr  name: 'FileDownloader'
472*d5ef99ddSAndreas Gohr  version: '$1'
473*d5ef99ddSAndreas Gohr
474*d5ef99ddSAndreas Gohr# Allows managing large files with git, without storing the file contents in git
475*d5ef99ddSAndreas Gohr- regex: '^git-annex/(\d+\.[.\d]+)'
476*d5ef99ddSAndreas Gohr  name: 'git-annex'
477*d5ef99ddSAndreas Gohr  version: '$1'
478*d5ef99ddSAndreas Gohr
479*d5ef99ddSAndreas Gohr- regex: '^GStreamer(?: souphttpsrc)[ /](\d+\.[.\d]+)?'
480*d5ef99ddSAndreas Gohr  name: 'GStreamer'
481*d5ef99ddSAndreas Gohr  version: '$1'
482*d5ef99ddSAndreas Gohr
483*d5ef99ddSAndreas Gohr# A small, simple, correct HTTP/1.1 client (Perl)
484*d5ef99ddSAndreas Gohr- regex: '^HTTP-Tiny/(\d+\.[.\d]+)'
485*d5ef99ddSAndreas Gohr  name: 'HTTP:Tiny'
486*d5ef99ddSAndreas Gohr  version: '$1'
487*d5ef99ddSAndreas Gohr
488*d5ef99ddSAndreas Gohr- regex: 'KaiOS Downloader'
489*d5ef99ddSAndreas Gohr  name: 'KaiOS Downloader'
490*d5ef99ddSAndreas Gohr  version: ''
491*d5ef99ddSAndreas Gohr
492*d5ef99ddSAndreas Gohr# HTTP client/server library for GNOME
493*d5ef99ddSAndreas Gohr- regex: '^libsoup/(\d+\.[.\d]+)'
494*d5ef99ddSAndreas Gohr  name: 'libsoup'
495*d5ef99ddSAndreas Gohr  version: '$1'
496*d5ef99ddSAndreas Gohr
497*d5ef99ddSAndreas Gohr- regex: '^Android\.LVLDM$'
498*d5ef99ddSAndreas Gohr  name: 'Android License Verification Library'
499*d5ef99ddSAndreas Gohr  version: '$1'
500*d5ef99ddSAndreas Gohr
501*d5ef99ddSAndreas Gohr# A file downloader library for Android with pause and resume support
502*d5ef99ddSAndreas Gohr- regex: '^PRDownloader$'
503*d5ef99ddSAndreas Gohr  name: 'PRDownloader'
504*d5ef99ddSAndreas Gohr  version: ''
505*d5ef99ddSAndreas Gohr
506*d5ef99ddSAndreas Gohr# a rust http library
507*d5ef99ddSAndreas Gohr- regex: '^reqwest/(\d+\.[.\d]+)'
508*d5ef99ddSAndreas Gohr  name: 'reqwest'
509*d5ef99ddSAndreas Gohr  version: '$1'
510*d5ef99ddSAndreas Gohr
511*d5ef99ddSAndreas Gohr# lua http library
512*d5ef99ddSAndreas Gohr- regex: '^resty-requests'
513*d5ef99ddSAndreas Gohr  name: 'resty-requests'
514*d5ef99ddSAndreas Gohr  version: ''
515*d5ef99ddSAndreas Gohr
516*d5ef99ddSAndreas Gohr# ruby core lib http download
517*d5ef99ddSAndreas Gohr- regex: '^Ruby'
518*d5ef99ddSAndreas Gohr  name: 'ruby'
519*d5ef99ddSAndreas Gohr  version: ''
520*d5ef99ddSAndreas Gohr
521*d5ef99ddSAndreas Gohr# SFSafariViewController, some safari service
522*d5ef99ddSAndreas Gohr- regex: '^SafariViewService/(\d+\.[.\d]+)'
523*d5ef99ddSAndreas Gohr  name: 'Safari View Service'
524*d5ef99ddSAndreas Gohr  version: '$1'
525*d5ef99ddSAndreas Gohr
526*d5ef99ddSAndreas Gohr# a nodejs lib
527*d5ef99ddSAndreas Gohr- regex: '^undici$'
528*d5ef99ddSAndreas Gohr  name: 'undici'
529*d5ef99ddSAndreas Gohr  version: ''
530*d5ef99ddSAndreas Gohr
531*d5ef99ddSAndreas Gohr# URL, an emacs plugin
532*d5ef99ddSAndreas Gohr- regex: '^URL/Emacs Emacs/(\d+\.[.\d]+)'
533*d5ef99ddSAndreas Gohr  name: 'Emacs'
534*d5ef99ddSAndreas Gohr  version: '$1'
535*d5ef99ddSAndreas Gohr
536*d5ef99ddSAndreas Gohr- regex: '^FDM[ /]([\d.]+)'
537*d5ef99ddSAndreas Gohr  name: 'Free Download Manager'
538*d5ef99ddSAndreas Gohr  version: '$1'
539*d5ef99ddSAndreas Gohr
540*d5ef99ddSAndreas Gohr# 'https://github.com/lingochamp/okdownload'
541*d5ef99ddSAndreas Gohr- regex: 'OkDownload/([\d.]+)'
542*d5ef99ddSAndreas Gohr  name: 'OKDownload Library'
543*d5ef99ddSAndreas Gohr  version: '$1'
544*d5ef99ddSAndreas Gohr
545*d5ef99ddSAndreas Gohr# podcast host https://libsyn.com (probably an importer)
546*d5ef99ddSAndreas Gohr- regex: '^Libsyn4-?(?:peek|download)$'
547*d5ef99ddSAndreas Gohr  name: 'Libsyn'
548*d5ef99ddSAndreas Gohr  version: ''
549*d5ef99ddSAndreas Gohr
550*d5ef99ddSAndreas Gohr# any ios application that uses apple core media but doesn't set its user
551*d5ef99ddSAndreas Gohr# agent will default to this, always with 1.0.0 version.
552*d5ef99ddSAndreas Gohr# there was a time when (not even that long ago) apple didn't let you set
553*d5ef99ddSAndreas Gohr# a user agent so a ton of random applications still identify themselves this way.
554*d5ef99ddSAndreas Gohr- regex: 'AppleCoreMedia/1\.0\.0'
555*d5ef99ddSAndreas Gohr  name: 'iOS Application'
556*d5ef99ddSAndreas Gohr  version: ''
557*d5ef99ddSAndreas Gohr
558*d5ef99ddSAndreas Gohr- regex: 'cpp-httplib(?:/(\d+[.\d]+))?'
559*d5ef99ddSAndreas Gohr  name: 'cpp-httplib'
560*d5ef99ddSAndreas Gohr  version: '$1'
561*d5ef99ddSAndreas Gohr  url: 'https://github.com/yhirose/cpp-httplib'
562*d5ef99ddSAndreas Gohr
563*d5ef99ddSAndreas Gohr- regex: 'Definitely-Not-Requests'
564*d5ef99ddSAndreas Gohr  name: 'Requests'
565*d5ef99ddSAndreas Gohr  version: ''
566*d5ef99ddSAndreas Gohr  url: 'https://github.com/psf/requests'
567*d5ef99ddSAndreas Gohr
568*d5ef99ddSAndreas Gohr- regex: 'Stealer ([\d.]+)'
569*d5ef99ddSAndreas Gohr  name: 'Stealer'
570*d5ef99ddSAndreas Gohr  version: '$1'
571*d5ef99ddSAndreas Gohr  url: 'https://github.com/hotrush/stealer/'
572*d5ef99ddSAndreas Gohr
573*d5ef99ddSAndreas Gohr- regex: 'Mandrill-PHP(?:/(\d+[.\d]+))?'
574*d5ef99ddSAndreas Gohr  name: 'Mandrill PHP'
575*d5ef99ddSAndreas Gohr  version: '$1'
576*d5ef99ddSAndreas Gohr  url: 'https://bitbucket.org/mailchimp/mandrill-api-php/src/master/'
577*d5ef99ddSAndreas Gohr
578*d5ef99ddSAndreas Gohr- regex: '^Podgrab'
579*d5ef99ddSAndreas Gohr  name: 'Podgrab'
580*d5ef99ddSAndreas Gohr  version: ''
581*d5ef99ddSAndreas Gohr  url: 'https://github.com/akhilrex/podgrab'
582*d5ef99ddSAndreas Gohr
583*d5ef99ddSAndreas Gohr- regex: '^Podcast Provider.*?Radio Downloader ([\d.]+)'
584*d5ef99ddSAndreas Gohr  name: 'Radio Downloader'
585*d5ef99ddSAndreas Gohr  version: '$1'
586*d5ef99ddSAndreas Gohr  url: 'https://nerdoftheherd.com/tools/radiodld/'
587*d5ef99ddSAndreas Gohr
588*d5ef99ddSAndreas Gohr- regex: '^ESP32 HTTP Client/([\d.]+)'
589*d5ef99ddSAndreas Gohr  name: 'ESP32 HTTP Client'
590*d5ef99ddSAndreas Gohr  version: '$1'
591*d5ef99ddSAndreas Gohr  url: 'https://github.com/espressif/arduino-esp32'
592*d5ef99ddSAndreas Gohr
593*d5ef99ddSAndreas Gohr- regex: 'babashka\.http-client(?:/(\d+[.\d]+))?'
594*d5ef99ddSAndreas Gohr  name: 'Babashka HTTP Client'
595*d5ef99ddSAndreas Gohr  version: '$1'
596*d5ef99ddSAndreas Gohr  url: 'https://github.com/babashka/http-client'
597*d5ef99ddSAndreas Gohr
598*d5ef99ddSAndreas Gohr- regex: 'http\.rb(?:/(\d+[.\d]+))?'
599*d5ef99ddSAndreas Gohr  name: 'http.rb'
600*d5ef99ddSAndreas Gohr  version: '$1'
601*d5ef99ddSAndreas Gohr  url: 'https://github.com/httprb/http'
602*d5ef99ddSAndreas Gohr
603*d5ef99ddSAndreas Gohr- regex: 'node-superagent(?:/(\d+[.\d]+))?'
604*d5ef99ddSAndreas Gohr  name: 'superagent'
605*d5ef99ddSAndreas Gohr  version: '$1'
606*d5ef99ddSAndreas Gohr  url: 'https://github.com/ladjs/superagent'
607*d5ef99ddSAndreas Gohr
608*d5ef99ddSAndreas Gohr- regex: 'CakePHP'
609*d5ef99ddSAndreas Gohr  name: 'CakePHP'
610*d5ef99ddSAndreas Gohr  version: ''
611*d5ef99ddSAndreas Gohr  url: 'https://www.cakephp.org/'
612*d5ef99ddSAndreas Gohr
613*d5ef99ddSAndreas Gohr- regex: 'request\.js'
614*d5ef99ddSAndreas Gohr  name: 'request'
615*d5ef99ddSAndreas Gohr  version: ''
616*d5ef99ddSAndreas Gohr  url: 'https://github.com/request/request'
617*d5ef99ddSAndreas Gohr
618*d5ef99ddSAndreas Gohr- regex: 'qbhttp(?:/(\d+[.\d]+))?'
619*d5ef99ddSAndreas Gohr  name: 'QbHttp'
620*d5ef99ddSAndreas Gohr  version: '$1'
621*d5ef99ddSAndreas Gohr  url: 'https://github.com/OpenQb/QbHttp'
622*d5ef99ddSAndreas Gohr
623*d5ef99ddSAndreas Gohr- regex: 'httprs(?:/(\d+[.\d]+))?'
624*d5ef99ddSAndreas Gohr  name: 'httprs'
625*d5ef99ddSAndreas Gohr  version: '$1'
626*d5ef99ddSAndreas Gohr  url: 'https://github.com/http-server-rs/http-server'
627*d5ef99ddSAndreas Gohr
628*d5ef99ddSAndreas Gohr- regex: 'Boto3(?:/(\d+[.\d]+))?'
629*d5ef99ddSAndreas Gohr  name: 'Boto3'
630*d5ef99ddSAndreas Gohr  version: '$1'
631*d5ef99ddSAndreas Gohr  url: 'https://github.com/boto/boto3'
632*d5ef99ddSAndreas Gohr
633*d5ef99ddSAndreas Gohr- regex: 'Python-xmlrpc(?:/(\d+[.\d]+))?'
634*d5ef99ddSAndreas Gohr  name: 'XML-RPC'
635*d5ef99ddSAndreas Gohr  version: '$1'
636*d5ef99ddSAndreas Gohr  url: 'https://docs.python.org/3/library/xmlrpc.html'
637*d5ef99ddSAndreas Gohr
638*d5ef99ddSAndreas Gohr- regex: 'ICAP-Client-Library(?:/(\d+[.\d]+))?'
639*d5ef99ddSAndreas Gohr  name: 'ICAP Client'
640*d5ef99ddSAndreas Gohr  version: '$1'
641*d5ef99ddSAndreas Gohr  url: 'https://github.com/Peoplecantfly/icapserver'
642*d5ef99ddSAndreas Gohr
643*d5ef99ddSAndreas Gohr- regex: 'Cygwin-Setup(?:/(\d+[.\d]+))?'
644*d5ef99ddSAndreas Gohr  name: 'Cygwin'
645*d5ef99ddSAndreas Gohr  version: '$1'
646*d5ef99ddSAndreas Gohr  url: 'https://www.cygwin.com/'
647*d5ef99ddSAndreas Gohr
648*d5ef99ddSAndreas Gohr- regex: 'azsdk-python-storage-blob(?:/(\d+[.\d]+))?'
649*d5ef99ddSAndreas Gohr  name: 'Azure Blob Storage'
650*d5ef99ddSAndreas Gohr  version: '$1'
651*d5ef99ddSAndreas Gohr  url: 'https://learn.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python'
652*d5ef99ddSAndreas Gohr
653*d5ef99ddSAndreas Gohr- regex: 'trafilatura(?:/(\d+[.\d]+))?'
654*d5ef99ddSAndreas Gohr  name: 'trafilatura'
655*d5ef99ddSAndreas Gohr  version: '$1'
656*d5ef99ddSAndreas Gohr  url: 'https://github.com/adbar/trafilatura'
657*d5ef99ddSAndreas Gohr
658*d5ef99ddSAndreas Gohr- regex: 'sqlmap(?:/(\d+[.\d]+))?'
659*d5ef99ddSAndreas Gohr  name: 'sqlmap'
660*d5ef99ddSAndreas Gohr  version: '$1'
661*d5ef99ddSAndreas Gohr  url: 'https://sqlmap.org/'
662*d5ef99ddSAndreas Gohr
663*d5ef99ddSAndreas Gohr- regex: 'vimeo\.php(?: (\d+[.\d]+))?'
664*d5ef99ddSAndreas Gohr  name: 'vimeo.php'
665*d5ef99ddSAndreas Gohr  version: '$1'
666*d5ef99ddSAndreas Gohr  url: 'https://github.com/vimeo/vimeo.php'
667*d5ef99ddSAndreas Gohr
668*d5ef99ddSAndreas Gohr- regex: '^PHP/?(\d+[.\d]+)'
669*d5ef99ddSAndreas Gohr  name: 'PHP'
670*d5ef99ddSAndreas Gohr  version: '$1'
671*d5ef99ddSAndreas Gohr  url: ''
672*d5ef99ddSAndreas Gohr
673*d5ef99ddSAndreas Gohr- regex: 'go-network-v(\d+[.\d]+)'
674*d5ef99ddSAndreas Gohr  name: 'go-network'
675*d5ef99ddSAndreas Gohr  version: '$1'
676*d5ef99ddSAndreas Gohr  url: ''
677*d5ef99ddSAndreas Gohr
678*d5ef99ddSAndreas Gohr- regex: 'Bun/(\d+\.[.\d]+)'
679*d5ef99ddSAndreas Gohr  name: 'Bun'
680*d5ef99ddSAndreas Gohr  version: '$1'
681*d5ef99ddSAndreas Gohr  url: 'https://bun.sh/'
682*d5ef99ddSAndreas Gohr
683*d5ef99ddSAndreas Gohr- regex: 'Apidog/(\d+\.[.\d]+)'
684*d5ef99ddSAndreas Gohr  name: 'Apidog'
685*d5ef99ddSAndreas Gohr  version: '$1'
686*d5ef99ddSAndreas Gohr  url: 'https://apidog.com/'
687*d5ef99ddSAndreas Gohr
688*d5ef99ddSAndreas Gohr- regex: 'webchk v(\d+\.[.\d]+)'
689*d5ef99ddSAndreas Gohr  name: 'webchk'
690*d5ef99ddSAndreas Gohr  version: '$1'
691*d5ef99ddSAndreas Gohr  url: 'https://github.com/amgedr/webchk'
692*d5ef99ddSAndreas Gohr
693*d5ef99ddSAndreas Gohr- regex: 'MatomoTrackerSDK/(\d+[.\d]+)'
694*d5ef99ddSAndreas Gohr  name: 'MatomoTracker'
695*d5ef99ddSAndreas Gohr  version: '$1'
696*d5ef99ddSAndreas Gohr  url: 'https://github.com/matomo-org/matomo-sdk-ios'
697