@hyperwatch/useragent 3.9.1 → 4.0.0
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.
- package/.husky/install.mjs +14 -0
- package/package.json +28 -22
- package/regexes/core.json +16 -1
- package/regexes/uap-core-agent.json +349 -27
- package/regexes/uap-core-device.json +56 -8
- package/regexes/uap-core-os.json +72 -5
- package/src/useragent.js +2 -3
- package/.eslintrc.json +0 -75
- package/.prettierrc +0 -4
- package/docs/API.md +0 -178
- package/regexes/core.yml +0 -352
- package/regexes/extra.yml +0 -68
- package/regexes/first.yml +0 -12
- package/regexes/uap-core.yml +0 -5799
- package/scripts/compare-hyperwatch-uap.js +0 -95
- package/scripts/sample-benchmark.js +0 -99
- package/scripts/sample-parse.js +0 -37
- package/scripts/update.js +0 -67
- package/test/lib/useragent-combined.js +0 -31
- package/test/lib/useragent-combined.json +0 -12
- package/test/lib/useragent-core.js +0 -31
- package/test/lib/useragent-core.json +0 -1002
- package/test/lib/useragent-extra.js +0 -31
- package/test/lib/useragent-extra.json +0 -92
package/regexes/core.yml
DELETED
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
chrome:
|
|
2
|
-
# Non standard pattern, needs to be first
|
|
3
|
-
# Example: Mozilla/5.0 (X11; Datanyze; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
|
|
4
|
-
- regex: '(Datanyze)'
|
|
5
|
-
|
|
6
|
-
# Canonical Chrome
|
|
7
|
-
- regex: '\(KHTML, like Gecko\) ((?:Headless)?Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+) (?:Mobile )?Safari/537.36$'
|
|
8
|
-
|
|
9
|
-
# Agent name directly after Chrome
|
|
10
|
-
# Example: Chrome/80.0.3987.163 Whale/2.7.100.20 Safari/537.36
|
|
11
|
-
# Example: Chrome/68.0.3029.110 Amigo/68.0.3029.110 MRCHROME SOC Safari/647.36
|
|
12
|
-
- regex: 'Chrome/\d+\.\d+\.\d+\.\d+ (\w+[\w \-\.@]{0,50})/(\d+)\.(\d+)\.?(\d+)?\.?(\d+)? (?:[\w \-\.]* )?(?:Mobile )?Safari/'
|
|
13
|
-
|
|
14
|
-
# Agent name directly before Chrome
|
|
15
|
-
# Example: SamsungBrowser/11.2 Chrome/75.0.3770.143 Safari/537.36
|
|
16
|
-
- regex: '(\w+[\w\-\.@]{0,50})/(\d+)\.(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)? (?:Mobile )?Chrome/\d+\.\d+\.\d+\.\d+ (?:Mobile )?Safari/'
|
|
17
|
-
|
|
18
|
-
# Agent name after Safari (with or without parenthesis)
|
|
19
|
-
# Example: Chrome/59.0.3071.90 Safari/537.36 Vivaldi/1.91.867.38
|
|
20
|
-
# Example: Chrome/69.0.3497.128 Mobile Safari/537.36 (Ecosia android@69.0.3497.128)
|
|
21
|
-
- regex: 'Safari\/537.36 \(?(\w+[\w \-\.@]{0,50})[\/@](\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?\)?'
|
|
22
|
-
|
|
23
|
-
# Example: Silk/73.7.5 like Chrome/73.0.3683.90 Safari/537.36
|
|
24
|
-
- regex: '(\w+[\w\-\.@]{0,50})/(\d+)\.(\d+)\.?(\d+)?\.?(\d+)? like Chrome/\d+\.\d+\.\d+\.\d+ Safari/'
|
|
25
|
-
|
|
26
|
-
# Sogou Explorer
|
|
27
|
-
# Example: Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0
|
|
28
|
-
- regex: '(SE 2.X MetaSr) (\d+)\.(\d+)'
|
|
29
|
-
family_replacement: 'Sogou Explorer'
|
|
30
|
-
|
|
31
|
-
# Brave
|
|
32
|
-
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Brave Chrome/84.0.4147.89 Safari/537.36
|
|
33
|
-
- regex: '(Brave) Chrome/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
34
|
-
|
|
35
|
-
chrome_electron:
|
|
36
|
-
# Example: Code/1.46.0 Chrome/78.0.3904.130 Electron/7.3.1 Safari/537.36"
|
|
37
|
-
- regex: '(\w+[\w \-\.@]{0,50})/(\d+)\.(\d+)\.(\d+)\.?(\d+)?[a-z0-9~\-\.]* Chrome/\d+\.\d+\.\d+\.\d+ Electron/\d+\.\d+\.\d+'
|
|
38
|
-
|
|
39
|
-
chrome_version:
|
|
40
|
-
# Example: Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/275.0.0.49.127;]
|
|
41
|
-
- regex: '\[FB.*;(FBAV)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
42
|
-
family_replacement: 'Facebook'
|
|
43
|
-
|
|
44
|
-
# Example: Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045224 Mobile Safari/537.36 CSDNApp/4.2.7(Android) AnalysysAgent/Hybrid
|
|
45
|
-
- regex: 'Chrome/\d+\.\d+\.\d+\.\d+ (\w+[\w \-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?.*Mobile Safari/537.36'
|
|
46
|
-
|
|
47
|
-
# Example: Version/4.0 SamsungBrowser/7.2 Chrome/81.0.4044.138 Mobile Safari/537.36
|
|
48
|
-
- regex: 'Version/4.0 (\w+[\w \-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)? Chrome/\d+\.\d+\.\d+\.\d+'
|
|
49
|
-
|
|
50
|
-
# Example: Version/4.0 Chrome/85.0.4183.101 DuckDuckGo/5 Safari/537.3
|
|
51
|
-
# Example: Version/4.0 Chrome/85.0.4183.101 Mobile DuckDuckGo/5 Safari/537.36
|
|
52
|
-
- regex: 'Version/4.0 Chrome/\d+\.\d+\.\d+\.\d+ (?:Mobile )?(\w+[\w \-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)? Safari/537.36'
|
|
53
|
-
|
|
54
|
-
# Example: Version/4.0 Chrome/83.0.4103.101 Mobile Safari/537.36 [LinkedInApp]
|
|
55
|
-
# Example: Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 [Pinterest/Android]
|
|
56
|
-
- regex: 'Safari/537.36 \[([\w \-\.@]{0,50})(?:\/Android)?\]$'
|
|
57
|
-
|
|
58
|
-
- regex: 'Safari/537.36 (\w+[\w \-\.@]{0,50}\w)[ \/](\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
59
|
-
|
|
60
|
-
# Example: Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/9.3.2
|
|
61
|
-
- regex: 'Safari/537.36 \w+[\w\-\.@]{0,50}\/(\w+[\w \-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
62
|
-
|
|
63
|
-
# Example: Version/4.0 Chrome/34.0.0.0 Safari/537.36"
|
|
64
|
-
- regex: '(Chrome)\/(\d+)\.(\d+)\.(\d+)\.(\d+) Safari/537.36'
|
|
65
|
-
family_replacement: 'Chrome WebView'
|
|
66
|
-
|
|
67
|
-
# Example: Version/4.0 Chrome/34.0.0.0 Safari/537.36"
|
|
68
|
-
- regex: '(Chrome)\/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile Safari/537.36'
|
|
69
|
-
family_replacement: 'Chrome WebView'
|
|
70
|
-
|
|
71
|
-
chrome_old:
|
|
72
|
-
- regex: '(OPR)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
73
|
-
family_replacement: 'Opera'
|
|
74
|
-
|
|
75
|
-
# Example: Ubuntu/10.04 Chromium/9.0.595.0 Chrome/9.0.595.0 Safari/534.13
|
|
76
|
-
- regex: '(Chromium)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
77
|
-
|
|
78
|
-
- regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
79
|
-
|
|
80
|
-
gecko:
|
|
81
|
-
# Canonical Firefox
|
|
82
|
-
# Example: Gecko/20100101 Firefox/77.0
|
|
83
|
-
- regex: 'Gecko\/20100101 (Firefox)/(\d+)\.(\d+)\.?(\d+)?$'
|
|
84
|
-
|
|
85
|
-
# Firefox Derivative
|
|
86
|
-
# Example: Gecko/20100101 Goanna/3.4 Firefox/52.9 PaleMoon/27.9.0
|
|
87
|
-
- regex: 'Firefox\/\d+\.\d+\.?\d* ([A-Za-z]+[\w\-\.@]{1,50})[\/ ]?(\d+)?\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
88
|
-
|
|
89
|
-
# Canonical Thunderbird
|
|
90
|
-
# Example: Gecko/20100101 Thunderbird/68.8.0
|
|
91
|
-
- regex: 'Gecko\/20100101 (Thunderbird)/(\d+)\.(\d+)\.?(\d+)?$'
|
|
92
|
-
|
|
93
|
-
# Thunderbird Derivative
|
|
94
|
-
# Thundebird: Gecko/20100101 Thunderbird/68.8.0 Lightning/68.7.0
|
|
95
|
-
- regex: 'Thunderbird/\d+\.\d+\.?\d* (\w+[\w \-\.@]{0,50})/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
96
|
-
|
|
97
|
-
gecko_generic:
|
|
98
|
-
- regex: '(Firefox)/(\d+)\.(\d+)\.?(\d+)?$'
|
|
99
|
-
|
|
100
|
-
# Example: Gecko/20050919 Firefox/1.0.7
|
|
101
|
-
# Example: Gecko/20070817 IceWeasel/2.0.0.6-g3
|
|
102
|
-
- regex: 'Gecko\/\d+ ([A-Za-z]+[\w\-\.@]{1,50})[\/ ]?(\d+)?\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
103
|
-
|
|
104
|
-
# Example: Goanna/20180518 PaleMoon/27.9.2
|
|
105
|
-
- regex: 'Goanna\/\d+ ([A-Za-z]+[\w\-\.@]{1,50})[\/ ]?(\d+)?\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
106
|
-
|
|
107
|
-
webkit:
|
|
108
|
-
# Example: Mozilla/5.0 (linux) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/16.2.2
|
|
109
|
-
- regex: '\(KHTML, like Gecko\) (\w+[\w\-\.@]{0,50})\/?(\d+)?\.?(\d+)?\.?(\d+)?\.?(\d+)?$'
|
|
110
|
-
|
|
111
|
-
# Example: Mozilla/5.0 (Linux; Android 8.1.0; COR-AL10 Build/HUAWEICOR-AL10) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36
|
|
112
|
-
# Example: Mozilla/5.0 (Linux; Android 9; CMR-W09 Build/HUAWEICMR-W09) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36
|
|
113
|
-
- regex: '(Android) (\d+)\.?(\d+)?\.?(\d+)?; .* Version\/\d+\.\d+\.?\d*\.?\d* Mobile Safari'
|
|
114
|
-
family_replacement: 'Android WebView'
|
|
115
|
-
|
|
116
|
-
apple_webkit:
|
|
117
|
-
# Canonical Safari
|
|
118
|
-
# Example: AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Safari/605.1.15
|
|
119
|
-
- regex: '\(KHTML, like Gecko\) (Version)\/(\d+)\.(\d+)\.?(\d+)? Safari\/\d+\.\d+\.?\d*$'
|
|
120
|
-
family_replacement: 'Safari'
|
|
121
|
-
|
|
122
|
-
# Example: Version/13.0 Safari/605.1.15 Epiphany/605.1.15
|
|
123
|
-
- regex: '(Version)\/(\d+)\.(\d+)\.?(\d+)? Safari\/\d+\.\d+\.?\d* Epiphany\/\d+\.\d+\.?\d*$'
|
|
124
|
-
family_replacement: 'Epiphany'
|
|
125
|
-
|
|
126
|
-
# Example: Version/12.0 Safari/605.1.15 DuckDuckGo/7
|
|
127
|
-
- regex: 'Version\/\d+\.\d+\.?\d* Safari\/\d+\.\d+\.?\d* \(?([A-Za-z]+[\w \-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?\)?'
|
|
128
|
-
|
|
129
|
-
# Example: Version/14.0 DuckDuckGo/7 Safari/605.1.15
|
|
130
|
-
- regex: 'Version\/\d+\.\d+\.?\d* \(?([A-Za-z]+[\w \-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?\)? Safari\/\d+\.\d+\.?\d*'
|
|
131
|
-
|
|
132
|
-
# Example: PhantomJS/2.1.1 Safari/538.1
|
|
133
|
-
- regex: '([\w]+[\w \-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)? Safari\/\d+\.\d+\.?\d*$'
|
|
134
|
-
|
|
135
|
-
# Example: (KHTML, like Gecko) QuickLook/5.0
|
|
136
|
-
# Example: (KHTML, like Gecko) iTerm2
|
|
137
|
-
- regex: '\(KHTML, like Gecko\) (\w+[\w\-\.@]{0,50})\/?(\d+)?\.?(\d+)?\.?(\d+)?\.?(\d+)?$'
|
|
138
|
-
|
|
139
|
-
# AppleWebKit/605.1.15 (KHTML, like Gecko)
|
|
140
|
-
- regex: '(AppleWebKit)\/(\d+)\.(\d+)\.(\d+) \(KHTML, like Gecko\)$'
|
|
141
|
-
family_replacement: 'macOS WebView'
|
|
142
|
-
|
|
143
|
-
apple_webkit_mobile:
|
|
144
|
-
# Canonical Safari Mobile
|
|
145
|
-
- regex: '\(KHTML, like Gecko\) (Version)\/(\d+)\.(\d+)\.?(\d+)? Mobile\/[A-Z0-9]{0,6} Safari\/\d+\.\d+\.?\d*$'
|
|
146
|
-
family_replacement: 'Safari'
|
|
147
|
-
|
|
148
|
-
# Facebook App with FBAV
|
|
149
|
-
- regex: 'FBAV/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
150
|
-
family_replacement: 'Facebook'
|
|
151
|
-
|
|
152
|
-
# Facebook App without FBAV
|
|
153
|
-
# Example: Mozilla/5.0 [FBAN/FBIOS;FBDV/iPhone10,4;FBMD/iPhone;FBSN/iOS;FBSV/13.5.1;FBSS/2;FBID/phone;FBLC/en_GB;FBOP/5]
|
|
154
|
-
- regex: '\[FB.*;'
|
|
155
|
-
family_replacement: 'Facebook'
|
|
156
|
-
|
|
157
|
-
# Exanple: Mobile/15E148 Instagram 146.0.0.21.122
|
|
158
|
-
- regex: 'Mobile\/[A-Z0-9]{0,6} (\w+) (\d+)\.(\d+)\.(\d+)\.(\d+)\.?(\d+)?'
|
|
159
|
-
|
|
160
|
-
# Example: Mobile/15E148 [LinkedInApp]
|
|
161
|
-
- regex: 'Mobile\/[A-Z0-9]{0,6} \[([\w \-\.@]{0,50})\]$'
|
|
162
|
-
|
|
163
|
-
# Example: Version/7.0 Mobile/11A465 Safari/9537.53 BingPreview/1.0b
|
|
164
|
-
- regex: 'Mobile\/[A-Z0-9]{0,6} Safari\/\d+\.\d+\.?\d* ([\w]+[\w \-\.@]{0,50})\/(\d+)\.(\d+)\.?(\d+)?\.?(\d+)?'
|
|
165
|
-
|
|
166
|
-
# Example: Version/13.0 EdgiOS/45.3.19 Mobile/15E148 Safari/605.1.15
|
|
167
|
-
- regex: 'Version\/\d+\.\d+\.?\d* ([\w]+[\w \-\.@]{0,50})\/(\d+)\.(\d+)\.?(\d+)?\.?(\d+)? Mobile\/[A-Z0-9]{0,6}'
|
|
168
|
-
|
|
169
|
-
# Example: CriOS/83.0.4103.88 Mobile/15E148 Safari/604.1
|
|
170
|
-
# Example: FxiOS/26.0 Mobile/15E148 Safari/605.1.15
|
|
171
|
-
- regex: '(\w+[\w\-\.@]{0,50})\/(\d+)\.(\d+)\.?(\d+)?\.?(\d+)?[ ]+Mobile\/[A-Z0-9]{0,6} Safari\/\d+\.\d+\.?\d*$'
|
|
172
|
-
|
|
173
|
-
# Example: Mobile/15E148 Version/13.1 (Ecosia ios@4.0.17.833) Safari/604.1
|
|
174
|
-
- regex: 'Mobile\/[A-Z0-9]{0,6} Version\/\d+\.\d+\.?\d* \(?([\w]+[\w \-\.@]{0,50})[\/@](\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?\)? Safari\/\d+\.\d+\.?\d*$'
|
|
175
|
-
|
|
176
|
-
# Example: Mobile/15E148 DuckDuckGo/7
|
|
177
|
-
# Example: Mobile/15E148 YJApp-IOS jp.co.yahoo.ipn.appli/4.16.17
|
|
178
|
-
- regex: 'Mobile\/[A-Z0-9]{0,6} (?:[\w\-\.]* )?([\w]+[\w\-\.@]{0,50})\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
179
|
-
|
|
180
|
-
# Safari Mobile WebView
|
|
181
|
-
# Example: AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
|
|
182
|
-
- regex: 'Mobile\/[A-Z0-9]{0,6}$'
|
|
183
|
-
family_replacement: 'Safari WebView'
|
|
184
|
-
|
|
185
|
-
webkit_old:
|
|
186
|
-
# Example: Mozilla/5.0 (Linux; U; Android 1.0; en-us; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2
|
|
187
|
-
- regex: '(Android) (\d+)\.?(\d+)?\.?(\d+)?; .* Version\/\d+\.\d+\.?\d*\.?\d* Mobile Safari'
|
|
188
|
-
family_replacement: 'Android WebView'
|
|
189
|
-
|
|
190
|
-
# Example: Mozilla/5.0 (BlackBerry; U; BlackBerry 9860; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.254 Mobile Safari/534.11+
|
|
191
|
-
- regex: '(BlackBerry|BB10).+ AppleWebKit\/\d+\.\d+\.?\d*\+ \(KHTML, like Gecko\) Version\/(\d+)\.(\d+)\.?(\d+)?\.?(\d+)?'
|
|
192
|
-
family_replacement: 'BlackBerry WebKit'
|
|
193
|
-
|
|
194
|
-
# Example: AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2
|
|
195
|
-
- regex: '(AppleWebKit)\/(\d+)\.(\d+)\.?(\d+)?\+ \(KHTML, like Gecko\) Version'
|
|
196
|
-
family_replacement: 'WebKit Nightly'
|
|
197
|
-
|
|
198
|
-
# Safari Mobile
|
|
199
|
-
- regex: '(Version)\/(\d+)\.(\d+)\.?(\d+)? Mobile\/[A-Z0-9]{0,6} Safari\/\d+\.\d+\.?\d*$'
|
|
200
|
-
family_replacement: 'Safari'
|
|
201
|
-
|
|
202
|
-
# Safari Desktop
|
|
203
|
-
# Example: AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Safari/605.1.15
|
|
204
|
-
- regex: '(Version)\/(\d+)\.(\d+)\.?(\d+)? Safari\/\d+\.\d+\.?\d*$'
|
|
205
|
-
family_replacement: 'Safari'
|
|
206
|
-
|
|
207
|
-
# Example: PhantomJS/2.1.1 Safari/538.1
|
|
208
|
-
- regex: '(\w+[\w \-\.@]{0,50})\/(\d+)\.(\d+)\.?(\d+)? Safari\/\d+\.\d+\.?\d*$'
|
|
209
|
-
|
|
210
|
-
# Example: (KHTML, like Gecko) python Safari/534.34
|
|
211
|
-
# Example: (KHTML, like Gecko) wpif Safari/537.21
|
|
212
|
-
- regex: '\(KHTML, like Gecko\) (\w+[\w \-\.@]{0,50}) Safari\/\d+\.\d+\.?\d*$'
|
|
213
|
-
|
|
214
|
-
generic:
|
|
215
|
-
# Example: Faraday v0.17.3
|
|
216
|
-
# Example: Friendica 'Red Hot Poker' 2020.03-1338; https://social.isurf.ca
|
|
217
|
-
# Example: Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)
|
|
218
|
-
- regex: '^([\w \-\.\u0027]{3,32}) v?(\d+)\.?(\d+)?\.?(\d+)?'
|
|
219
|
-
|
|
220
|
-
# Example: http.rb/4.4.1 (Mastodon/3.1.4; +https://psyopshop.com/)
|
|
221
|
-
# Example: http.rb/4.3.0 (Mastodon/3.1.1+glitch; +https://efdn.club/)
|
|
222
|
-
- regex: '(\w+[\w \-\.]{0,50})\/(\d+)?\.?(\d+)?\.?(\d+)?[\w~\-\+\. ]*; ?\+?https?:\/\/[A-Za-z0-9\-\.\/]{0,50}'
|
|
223
|
-
|
|
224
|
-
# Example: node-fetch/1.0
|
|
225
|
-
# Example: Recon-ng/v4
|
|
226
|
-
- regex: '^(\w+[\w \-\.:\w]{0,50})\/v?(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
227
|
-
|
|
228
|
-
# Example: mattermost-5.26.0
|
|
229
|
-
- regex: '^(\w+[\w \-\.:\w]{0,50})\-v?(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
230
|
-
|
|
231
|
-
# Example: ltx71 - (http://ltx71.com/)
|
|
232
|
-
- regex: '^(\w+[\w \-\.]{0,50})\/?(\d+)?\.?(\d+)? \- \(\+?https?:\/\/[A-Za-z0-9\-\.\/]{0,50}\)'
|
|
233
|
-
|
|
234
|
-
# Example: Riddler (http://riddler.io/about)
|
|
235
|
-
# Example: Elmer, the Thinglink ImageBot (https://support.thinglink.com/hc/en-us/articles/360025958773-Elmer)
|
|
236
|
-
# Example: ZoominfoBot (zoominfobot at zoominfo dot com)
|
|
237
|
-
# Example: yacybot (/global; amd64 Linux 5.6.15-arch1-1; java 1.8.0_242; Etc/en) http://yacy.net/bot.html
|
|
238
|
-
- regex: '^(\w+[\w \-\.]{0,50})\/?(\d+)?\.?(\d+)?;? \([\w ,;~@\-\+\.\:\/]{0,128}\)'
|
|
239
|
-
|
|
240
|
-
# Example: Sirportly t.co expander
|
|
241
|
-
- regex: '^(\w+[\w \-\.]{0,50})$'
|
|
242
|
-
|
|
243
|
-
# Example: Pingdom.com_bot_version_1.4_(http://www.pingdom.com/)
|
|
244
|
-
- regex: '^(Pingdom).com_bot_version_(\d+)\.(\d+)'
|
|
245
|
-
family_replacement: 'PingdomBot'
|
|
246
|
-
|
|
247
|
-
# Example: colly - https://github.com/gocolly/colly/v2
|
|
248
|
-
- regex: '^^(\w+[\w \-\.]{0,50}) \- https?:\/\/[\w]+[\w \-\.]{0,50}'
|
|
249
|
-
|
|
250
|
-
# Example: http://seewithkids.com/bot
|
|
251
|
-
- regex: '^https?:\/\/([\w]+[\w \-\.]{0,50})'
|
|
252
|
-
|
|
253
|
-
# Example: Kaspersky Lab CFR link resolver cfradmins@kaspersky.com
|
|
254
|
-
- regex: '^(\w+[\w \-\.]{0,50}\w+) [\w\.]+@[\w\.]+'
|
|
255
|
-
|
|
256
|
-
mozilla5_compatible_url:
|
|
257
|
-
# Example: Mozilla/5.0 (compatible; GoogleDocs; apps-spreadsheets; +http://docs.google.com)
|
|
258
|
-
# Example: Mozilla/5.0 (compatible; MagiBot/1.0.0; Matarael; +https://magi.com/bots)
|
|
259
|
-
- regex: 'compatible; ([\w]+[\w \-\.]{0,50})\/?v?(\d+)?\.?(\d+)?\.?(\d+)?; [\w \-\.]{0,50}; \+?https?:\/\/[A-Za-z0-9\-\.\/]{0,50}'
|
|
260
|
-
|
|
261
|
-
# Example: (compatible; SemrushBot/6~bl; +http://www.semrush.com/bot.html)
|
|
262
|
-
# Example: (compatible; SeznamBot/3.2-test1; +http://napoveda.seznam.cz/en/seznambot-intro/)
|
|
263
|
-
# Example: (compatible; SeznamBot/4.0-RC1; +http://napoveda.seznam.cz/seznambot-intro/)
|
|
264
|
-
- regex: 'compatible; ([\w]+[\w \-\.]{0,50})\/(\d+)\.?(\d+)?[A-Za-z0-9~-]*; \+?https?:\/\/[A-Za-z0-9\-\.\/]{0,50}'
|
|
265
|
-
|
|
266
|
-
# Example: (compatible; YandexBot/3.0; +http://yandex.com/bots)
|
|
267
|
-
# Example: (compatible; Bytespider; https://zhanzhang.toutiao.com/)
|
|
268
|
-
# Example: (compatible; PetalBot;+https://aspiegel.com/petalbot)
|
|
269
|
-
# Example: (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)
|
|
270
|
-
# Example: (compatible; archive.org_bot +http://archive.org/details/archive.org_bot)
|
|
271
|
-
- regex: 'compatible; (\w+[\w \-\.!]{0,50}\w+)\/?v?(\d+)?\.?(\d+)?\.?(\d+)?;? ?\+?https?:\/\/[A-Za-z0-9\-\.\/]{0,50}'
|
|
272
|
-
|
|
273
|
-
# Example: (compatible; Linux x86_64; Mail.RU_Bot/2.0; +http://go.mail.ru/help/robots)
|
|
274
|
-
# Example: (compatible; Linux x86_64; Mail.RU_Bot/Img/2.0; +http://go.mail.ru/help/robots)
|
|
275
|
-
- regex: 'compatible; Linux x86_64; (\w+[\w \-\.\/]{0,50})\/(\d+)\.(\d+); ?\+?https?:\/\/[A-Za-z0-9\-\.\/]{0,50}'
|
|
276
|
-
|
|
277
|
-
- regex: 'compatible; (\w+[\w \-\.]{0,50}\w+)\/?v?(\d+)?\.?(\d+)?\.?(\d+)? \([\w \-\.]{0,50}\); ?\+?https?:\/\/[A-Za-z0-9\-\.\/]{0,50}'
|
|
278
|
-
|
|
279
|
-
# Example: Mozilla/5.0 (compatible; +http://tweetedtimes.com)
|
|
280
|
-
- regex: '\+https?:\/\/([\w]+[\w \-\.]{0,50})'
|
|
281
|
-
|
|
282
|
-
mozilla5_url:
|
|
283
|
-
- regex: '(\w+[\w \-\.\\]{0,50})\/?(\d+)?\.?(\d+)?; ?\+?https?:\/\/[A-Za-z0-9\-\.\/]{0,128}'
|
|
284
|
-
|
|
285
|
-
mozilla5_compatible:
|
|
286
|
-
# Example: Mozilla/5.0 (compatible; MSIE 7.0; Windows NT 6.0; en-US)
|
|
287
|
-
- regex: 'MS(IE) (\d+)\.(\d+)'
|
|
288
|
-
|
|
289
|
-
# Example: Mozilla/5.0 (compatible; adscanner/)/1.0 (http://seocompany.store; spider@seocompany.store)
|
|
290
|
-
- regex: 'compatible; ([\w]+[\w \-\.[\w]+]{0,50})\/?\)?\/?(\d+)?\.?(\d+)?'
|
|
291
|
-
|
|
292
|
-
# Example: Mozilla/5.0 (compatible)
|
|
293
|
-
- regex: '^(Mozilla)/(\d+)\.(\d+) \(compatible;?\)$'
|
|
294
|
-
|
|
295
|
-
mozilla5:
|
|
296
|
-
# Example: Mozilla/5.0 zgrab/0.x
|
|
297
|
-
- regex: 'Mozilla/5.0 ([\w]+[\w \-\.[\w]+]{0,50})\/(\d+)\.?(\d+)?'
|
|
298
|
-
|
|
299
|
-
# Example: Mozilla/5.0
|
|
300
|
-
- regex: '^(Mozilla)/(\d+)\.(\d+)$'
|
|
301
|
-
|
|
302
|
-
mozilla4_compatible:
|
|
303
|
-
# Example: Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98)
|
|
304
|
-
- regex: 'compatible; ([\w]+[\w \-\.[\w]+]{0,50}) (\d+)\.?(\d+)?'
|
|
305
|
-
|
|
306
|
-
# Example: Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)
|
|
307
|
-
- regex: 'compatible; Win32; ([\w]+[\w \-\.[\w]+]{0,50})\.(\d+)\)'
|
|
308
|
-
|
|
309
|
-
# Example: Mozilla/4.0 (compatible)
|
|
310
|
-
- regex: '^(Mozilla)/(\d+)\.(\d+) \(compatible;?\)$'
|
|
311
|
-
|
|
312
|
-
mozilla4:
|
|
313
|
-
# Example: Mozilla/4.0
|
|
314
|
-
- regex: '^(Mozilla)/(\d+)\.(\d+)$'
|
|
315
|
-
|
|
316
|
-
trident:
|
|
317
|
-
# Non standard pattern, needs to be first
|
|
318
|
-
# Example: Mozilla/5.0 (Windows NT 10.0; ZumBot/1.0; WOW64;Trident/7.0;rv:11.0) Chrome/50.0.2661.94 (KHTML, like Gecko)
|
|
319
|
-
- regex: '(ZumBot)\/?(\d+)?\.?(\d+)?'
|
|
320
|
-
|
|
321
|
-
- regex: '(Trident)/(7|8)\.(0)'
|
|
322
|
-
family_replacement: 'IE'
|
|
323
|
-
v1_replacement: '11'
|
|
324
|
-
|
|
325
|
-
- regex: '(Trident)/(6)\.(0)'
|
|
326
|
-
family_replacement: 'IE'
|
|
327
|
-
v1_replacement: '10'
|
|
328
|
-
|
|
329
|
-
- regex: '(Trident)/(5)\.(0)'
|
|
330
|
-
family_replacement: 'IE'
|
|
331
|
-
v1_replacement: '9'
|
|
332
|
-
|
|
333
|
-
- regex: '(Trident)/(4)\.(0)'
|
|
334
|
-
family_replacement: 'IE'
|
|
335
|
-
v1_replacement: '8'
|
|
336
|
-
|
|
337
|
-
msie:
|
|
338
|
-
# Example: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; en) Opera 9.50
|
|
339
|
-
- regex: '(Opera) (\d+)\.(\d+)'
|
|
340
|
-
|
|
341
|
-
# Example: Mozilla/4.0 (compatible; MSIE 4.01; Windows NT; MS Search 6.0 Robot)
|
|
342
|
-
- regex: '(MS Search) (\d+)\.(\d+)'
|
|
343
|
-
|
|
344
|
-
# Example: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)
|
|
345
|
-
- regex: 'MS(IE) (\d+)\.(\d+)'
|
|
346
|
-
|
|
347
|
-
opera:
|
|
348
|
-
# Example: Opera/9.80 (MAUI Runtime; Opera Mini/4.4.33576/176.145; U; bn) Presto/2.12.423 Version/12.16
|
|
349
|
-
- regex: '(Opera Mini)\/(\d+)\.?(\d+)?\.?(\d+)?'
|
|
350
|
-
|
|
351
|
-
# Example: Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17
|
|
352
|
-
- regex: '(Opera)\/\d+\.\d+ .* Version\/(\d+)\.(\d+)'
|
package/regexes/extra.yml
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
user_agent_parsers:
|
|
2
|
-
- regex: (apimon\.de)
|
|
3
|
-
|
|
4
|
-
- regex: (AppEngine-Google)
|
|
5
|
-
|
|
6
|
-
# Example: BaiduHD/5.4.0.0 Mobile/10A406 Safari/8536.25
|
|
7
|
-
- regex: '(BaiduHD)\/(\d+)\.(\d+)\.(\d+)\.(\d+)'
|
|
8
|
-
|
|
9
|
-
- regex: '(BingPreview)/(\d+)\.(\d+)'
|
|
10
|
-
|
|
11
|
-
# Example: Mozilla/5.0 (Windows NT 5.1) brokenlinkcheck.com/1.2
|
|
12
|
-
- regex: '(brokenlinkcheck\.com)/(\d+)\.(\d+)'
|
|
13
|
-
|
|
14
|
-
# Example: Chrome/77.0.4000.0 Iron Safari/537.36
|
|
15
|
-
- regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)[\d.]* Iron[^/]'
|
|
16
|
-
family_replacement: 'Iron'
|
|
17
|
-
|
|
18
|
-
# Chrome/84.0.4143.7 Safari/537.36 Chrome-Lighthouse
|
|
19
|
-
- regex: '(Chrome-Lighthouse)'
|
|
20
|
-
|
|
21
|
-
# Version/6.0 Mobile/10A5376e Safari/8536.25 Crowsnest/0.5 (+http://www.crowsnest.tv/)
|
|
22
|
-
- regex: '(Crowsnest)\/(\d+)\.(\d+)'
|
|
23
|
-
|
|
24
|
-
# Example: AppleWebKit/605.1.15 (KHTML, like Gecko) Dash/4.6.7 Xcode/8.3.3
|
|
25
|
-
- regex: '(Dash)\/(\d+)\.(\d+)\.(\d+)'
|
|
26
|
-
|
|
27
|
-
- regex: (DarcyRipper)
|
|
28
|
-
|
|
29
|
-
# Example: Chrome/49.0.2623.75 Safari/537.36 Google Favicon
|
|
30
|
-
- regex: '(Google Favicon)'
|
|
31
|
-
|
|
32
|
-
# Example: Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)
|
|
33
|
-
- regex: '(GoogleImageProxy)'
|
|
34
|
-
|
|
35
|
-
- regex: '(Google Web Preview)'
|
|
36
|
-
|
|
37
|
-
- regex: '(Chrome Image Compression Service)'
|
|
38
|
-
|
|
39
|
-
# Google Plus
|
|
40
|
-
- regex: 'Google.*/\+/web/snippet'
|
|
41
|
-
family_replacement: 'GooglePlusBot'
|
|
42
|
-
|
|
43
|
-
# Example: KHTML/4.9.1 (like Gecko) Konqueror/4.9
|
|
44
|
-
- regex: '(Konqueror)\/(\d+)\.(\d+)'
|
|
45
|
-
|
|
46
|
-
# Example: Version/4.0 Mobile Safari/534.30 Opera News/1.0
|
|
47
|
-
- regex: '(Opera News)\/(\d+)\.(\d+)'
|
|
48
|
-
|
|
49
|
-
# Example: iCrawl/Nutch-1.15
|
|
50
|
-
- regex: '([\w \-\.@]{0,50})/Nutch\-(\d+)\.(\d+)'
|
|
51
|
-
|
|
52
|
-
- regex: '(Rival IQ)'
|
|
53
|
-
|
|
54
|
-
# Example: Chrome/52.0.2743.24 SketchUp/17.2 (Mac) Safari/537.36'
|
|
55
|
-
- regex: '(SketchUp)\/(\d+)\.(\d+)'
|
|
56
|
-
|
|
57
|
-
# Example: Chrome/64.0.3282.119 SketchUp Pro/20.2 (Mac) Safari/537.36
|
|
58
|
-
- regex: '(SketchUp Pro)\/(\d+)\.(\d+)'
|
|
59
|
-
|
|
60
|
-
- regex: '(SkypeUriPreview)'
|
|
61
|
-
|
|
62
|
-
- regex: 'via (Fastmail)'
|
|
63
|
-
|
|
64
|
-
- regex: '^(Winds)\:'
|
|
65
|
-
|
|
66
|
-
- regex: '(WordPress\.com mShots)'
|
|
67
|
-
|
|
68
|
-
- regex: '^(ZhihuHybrid)'
|
package/regexes/first.yml
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
user_agent_parsers:
|
|
2
|
-
# Generic Browser/Spider/Crawler/App/Messenger
|
|
3
|
-
# Example: Chrome/53.0.2785.116 Safari/537.36 QBCore/4.0.1301.400 QQBrowser/9.0.2524.400
|
|
4
|
-
# Example: Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3703.400 SLBrowser/10.0.3856.400
|
|
5
|
-
# Example: CriOS/56.0.2924.75 Mobile/14E5239e YisouSpider/5.0 Safari/602.1:
|
|
6
|
-
- regex: '([\w]{2,32}(?:browser|app|crawler|spider|messenger))\/(\d+)\.?(\d+)?\.?(\d+)?\.?(\d+)?\.?(\d+)?'
|
|
7
|
-
regex_flag: 'i'
|
|
8
|
-
|
|
9
|
-
# Example: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0); 360Spider
|
|
10
|
-
# Example: Chrome/57.0.2987.98 Safari/537.36 LBBROWSER
|
|
11
|
-
- regex: '([\w]{2,32}(?:browser|app|crawler|spider|messenger))$'
|
|
12
|
-
regex_flag: 'i'
|