@jimhoyd/urlcode 0.3.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.
Files changed (254) hide show
  1. package/CONTRIBUTING.md +80 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +20 -0
  4. package/README.md +342 -0
  5. package/ROADMAP.md +248 -0
  6. package/SECURITY.md +40 -0
  7. package/data/agents/LICENSES/ai-robots-txt.txt +24 -0
  8. package/data/agents/LICENSES/crawler-user-agents.txt +23 -0
  9. package/data/agents/ai-crawlers.json +1240 -0
  10. package/data/agents/crawlers.json +10515 -0
  11. package/data/agents/index.d.ts +3 -0
  12. package/data/agents/index.js +2453 -0
  13. package/data/agents/monitoring.json +1520 -0
  14. package/data/agents/seo.json +3865 -0
  15. package/dist/BUILD-MANIFEST.json +60 -0
  16. package/dist/adapters.js +59 -0
  17. package/dist/agent-lists.js +59 -0
  18. package/dist/assets.js +129 -0
  19. package/dist/authoring.js +68 -0
  20. package/dist/aws.js +110 -0
  21. package/dist/build-cloudflare.js +164 -0
  22. package/dist/cli.js +185 -0
  23. package/dist/client-address.js +85 -0
  24. package/dist/cloudflare.js +165 -0
  25. package/dist/compliance-rules/baseline.js +98 -0
  26. package/dist/compliance-rules/privacy.js +38 -0
  27. package/dist/compliance-rules/shared.js +62 -0
  28. package/dist/compliance-rules/strict.js +61 -0
  29. package/dist/compliance.js +219 -0
  30. package/dist/config-worker.js +9 -0
  31. package/dist/config.js +172 -0
  32. package/dist/errors.js +8 -0
  33. package/dist/function-sources.js +54 -0
  34. package/dist/function-worker.js +105 -0
  35. package/dist/functions.js +174 -0
  36. package/dist/guest-api.js +114 -0
  37. package/dist/header-validation.js +18 -0
  38. package/dist/http-policy.js +74 -0
  39. package/dist/http-response.js +84 -0
  40. package/dist/index.js +11 -0
  41. package/dist/link-api.js +136 -0
  42. package/dist/link-cli.js +141 -0
  43. package/dist/link-events.js +76 -0
  44. package/dist/link-records.js +31 -0
  45. package/dist/link-store-worker.js +150 -0
  46. package/dist/link-store.js +250 -0
  47. package/dist/logging.js +22 -0
  48. package/dist/management-policy.js +41 -0
  49. package/dist/match.js +124 -0
  50. package/dist/observability.js +242 -0
  51. package/dist/plugins.js +74 -0
  52. package/dist/policies/agents.js +248 -0
  53. package/dist/policies/cache.js +297 -0
  54. package/dist/policies/compression.js +187 -0
  55. package/dist/policies/security.js +0 -0
  56. package/dist/policies/throttle.js +131 -0
  57. package/dist/policies.js +142 -0
  58. package/dist/policy.js +55 -0
  59. package/dist/prerender.js +165 -0
  60. package/dist/project-tests.js +23 -0
  61. package/dist/readiness.js +216 -0
  62. package/dist/router.js +166 -0
  63. package/dist/runtime.js +244 -0
  64. package/dist/scaffold.js +0 -0
  65. package/dist/scripts/operational-drills.js +75 -0
  66. package/dist/server.js +270 -0
  67. package/dist/site.js +0 -0
  68. package/dist/sqlite-version.js +6 -0
  69. package/dist/types/adapters.d.ts +12 -0
  70. package/dist/types/agent-lists.d.ts +5 -0
  71. package/dist/types/assets.d.ts +13 -0
  72. package/dist/types/authoring.d.ts +2 -0
  73. package/dist/types/aws.d.ts +35 -0
  74. package/dist/types/build-cloudflare.d.ts +14 -0
  75. package/dist/types/cli.d.ts +2 -0
  76. package/dist/types/client-address.d.ts +9 -0
  77. package/dist/types/cloudflare.d.ts +75 -0
  78. package/dist/types/compliance-rules/baseline.d.ts +12 -0
  79. package/dist/types/compliance-rules/privacy.d.ts +6 -0
  80. package/dist/types/compliance-rules/shared.d.ts +24 -0
  81. package/dist/types/compliance-rules/strict.d.ts +9 -0
  82. package/dist/types/compliance.d.ts +119 -0
  83. package/dist/types/config-worker.d.ts +1 -0
  84. package/dist/types/config.d.ts +21 -0
  85. package/dist/types/errors.d.ts +7 -0
  86. package/dist/types/function-sources.d.ts +21 -0
  87. package/dist/types/function-worker.d.ts +1 -0
  88. package/dist/types/functions.d.ts +92 -0
  89. package/dist/types/guest-api.d.ts +16 -0
  90. package/dist/types/header-validation.d.ts +2 -0
  91. package/dist/types/http-policy.d.ts +39 -0
  92. package/dist/types/http-response.d.ts +43 -0
  93. package/dist/types/index.d.ts +11 -0
  94. package/dist/types/link-api.d.ts +30 -0
  95. package/dist/types/link-cli.d.ts +36 -0
  96. package/dist/types/link-events.d.ts +27 -0
  97. package/dist/types/link-records.d.ts +11 -0
  98. package/dist/types/link-store-worker.d.ts +1 -0
  99. package/dist/types/link-store.d.ts +130 -0
  100. package/dist/types/logging.d.ts +9 -0
  101. package/dist/types/management-policy.d.ts +9 -0
  102. package/dist/types/match.d.ts +81 -0
  103. package/dist/types/observability.d.ts +104 -0
  104. package/dist/types/plugins.d.ts +27 -0
  105. package/dist/types/policies/agents.d.ts +86 -0
  106. package/dist/types/policies/cache.d.ts +82 -0
  107. package/dist/types/policies/compression.d.ts +41 -0
  108. package/dist/types/policies/security.d.ts +37 -0
  109. package/dist/types/policies/throttle.d.ts +55 -0
  110. package/dist/types/policies.d.ts +36 -0
  111. package/dist/types/policy.d.ts +21 -0
  112. package/dist/types/prerender.d.ts +31 -0
  113. package/dist/types/project-tests.d.ts +13 -0
  114. package/dist/types/readiness.d.ts +121 -0
  115. package/dist/types/router.d.ts +11 -0
  116. package/dist/types/runtime.d.ts +91 -0
  117. package/dist/types/scaffold.d.ts +17 -0
  118. package/dist/types/server.d.ts +37 -0
  119. package/dist/types/site.d.ts +12 -0
  120. package/dist/types/sqlite-version.d.ts +1 -0
  121. package/dist/types/types.d.ts +332 -0
  122. package/dist/types/vercel.d.ts +12 -0
  123. package/dist/types.js +177 -0
  124. package/dist/vercel.js +65 -0
  125. package/docs/AI-AUTHORING.md +113 -0
  126. package/docs/ASSETS.md +106 -0
  127. package/docs/AWS.md +77 -0
  128. package/docs/BEST-PRACTICES.md +267 -0
  129. package/docs/CAPACITY.md +208 -0
  130. package/docs/CLOUDFLARE.md +110 -0
  131. package/docs/COMPLIANCE.md +242 -0
  132. package/docs/DYNAMIC-LINKS.md +561 -0
  133. package/docs/FUNCTION-SECURITY.md +113 -0
  134. package/docs/HTTP.md +129 -0
  135. package/docs/INSTALL.md +90 -0
  136. package/docs/LOAD-TESTING.md +91 -0
  137. package/docs/LOCAL-DEVELOPMENT.md +99 -0
  138. package/docs/MANAGEMENT-SECURITY.md +82 -0
  139. package/docs/MIDDLEWARE.md +83 -0
  140. package/docs/MONITORING.md +132 -0
  141. package/docs/OBSERVABILITY.md +229 -0
  142. package/docs/OPERATIONAL-PROOF.md +42 -0
  143. package/docs/OPERATIONS.md +207 -0
  144. package/docs/ORGANIZATION.md +135 -0
  145. package/docs/PERFORMANCE.md +72 -0
  146. package/docs/PLUGINS.md +234 -0
  147. package/docs/POLICIES.md +489 -0
  148. package/docs/PRERENDER.md +193 -0
  149. package/docs/PROJECT-DIRECTION.md +51 -0
  150. package/docs/READINESS.md +125 -0
  151. package/docs/README.md +58 -0
  152. package/docs/RELEASE-READINESS.md +95 -0
  153. package/docs/RELEASE-SECURITY.md +72 -0
  154. package/docs/RESILIENCE.md +160 -0
  155. package/docs/ROUTING.md +95 -0
  156. package/docs/SANDBOX-REVIEW.md +59 -0
  157. package/docs/SCAFFOLDING.md +72 -0
  158. package/docs/SECURITY-AUDIT.md +124 -0
  159. package/docs/SITE.md +150 -0
  160. package/docs/SPECIFICATION.md +232 -0
  161. package/docs/SPIKE-EXTENSIONS.md +475 -0
  162. package/docs/STANDARDS.md +303 -0
  163. package/docs/STARTERS.md +51 -0
  164. package/docs/TUNNELS.md +75 -0
  165. package/docs/TYPESCRIPT.md +102 -0
  166. package/docs/VERCEL.md +107 -0
  167. package/docs/YAML-GUIDE.md +521 -0
  168. package/docs/YAML-REFERENCE.md +328 -0
  169. package/docs/policies/agents.md +182 -0
  170. package/docs/policies/cache.md +139 -0
  171. package/docs/policies/compression.md +168 -0
  172. package/docs/policies/security.md +160 -0
  173. package/docs/policies/throttle.md +103 -0
  174. package/examples/assets/.env.example +1 -0
  175. package/examples/assets/.gitattributes +2 -0
  176. package/examples/assets/Makefile +30 -0
  177. package/examples/assets/README.md +18 -0
  178. package/examples/assets/functions/hello.mjs +3 -0
  179. package/examples/assets/gitignore.template +7 -0
  180. package/examples/assets/public/about.html +2 -0
  181. package/examples/assets/public/assets/example.txt +1 -0
  182. package/examples/assets/public/guide.txt +1 -0
  183. package/examples/assets/tests/requests.json +44 -0
  184. package/examples/assets/urlcode.yaml +27 -0
  185. package/examples/aws/README.md +13 -0
  186. package/examples/aws/handler.mjs +5 -0
  187. package/examples/aws/public/index.html +3 -0
  188. package/examples/aws/public/notes.txt +1 -0
  189. package/examples/aws/template.yaml +33 -0
  190. package/examples/aws/tests/requests.json +9 -0
  191. package/examples/aws/urlcode.yaml +19 -0
  192. package/examples/cloudflare/README.md +18 -0
  193. package/examples/cloudflare/package.json +14 -0
  194. package/examples/cloudflare/tests/requests.json +9 -0
  195. package/examples/cloudflare/urlcode.yaml +24 -0
  196. package/examples/cloudflare/wrangler.toml +5 -0
  197. package/examples/compliance/README.md +20 -0
  198. package/examples/compliance/rules.mjs +65 -0
  199. package/examples/cookbook/README.md +21 -0
  200. package/examples/cookbook/functions/choice.mjs +4 -0
  201. package/examples/cookbook/functions/echo.mjs +3 -0
  202. package/examples/cookbook/functions/hello.mjs +3 -0
  203. package/examples/cookbook/functions/text.mjs +3 -0
  204. package/examples/cookbook/middleware/headers.mjs +6 -0
  205. package/examples/cookbook/public/about.html +1 -0
  206. package/examples/cookbook/public/assets/index.html +1 -0
  207. package/examples/cookbook/public/assets/site.css +1 -0
  208. package/examples/cookbook/public/favicon.svg +1 -0
  209. package/examples/cookbook/public/guide.txt +1 -0
  210. package/examples/cookbook/public/llms.txt +6 -0
  211. package/examples/cookbook/routes/code.yaml +55 -0
  212. package/examples/cookbook/routes/files.yaml +17 -0
  213. package/examples/cookbook/routes/policies.yaml +28 -0
  214. package/examples/cookbook/routes/redirects.yaml +38 -0
  215. package/examples/cookbook/routes/responses.yaml +26 -0
  216. package/examples/cookbook/tests/requests.json +254 -0
  217. package/examples/cookbook/urlcode.yaml +22 -0
  218. package/examples/live-links/README.md +11 -0
  219. package/examples/live-links/tests/requests.json +6 -0
  220. package/examples/live-links/urlcode.yaml +16 -0
  221. package/examples/monitoring/blackbox-jobs.yaml +37 -0
  222. package/examples/monitoring/prometheus-rules.yaml +88 -0
  223. package/examples/monitoring/prometheus-scrape.yaml +20 -0
  224. package/examples/monitoring/vector.toml +65 -0
  225. package/examples/prerender/README.md +48 -0
  226. package/examples/prerender/functions/page.mjs +6 -0
  227. package/examples/prerender/middleware/template.mjs +29 -0
  228. package/examples/prerender/prerender.d.mts +4 -0
  229. package/examples/prerender/prerender.mjs +63 -0
  230. package/examples/prerender/tests/requests.json +39 -0
  231. package/examples/prerender/urlcode.yaml +50 -0
  232. package/examples/tunnel/dev-with-ngrok.sh +61 -0
  233. package/examples/vercel/README.md +13 -0
  234. package/examples/vercel/api/index.js +5 -0
  235. package/examples/vercel/package.json +8 -0
  236. package/examples/vercel/public/index.html +3 -0
  237. package/examples/vercel/public/notes.txt +1 -0
  238. package/examples/vercel/tests/requests.json +48 -0
  239. package/examples/vercel/urlcode.yaml +19 -0
  240. package/examples/vercel/vercel.json +10 -0
  241. package/llms.txt +46 -0
  242. package/package.json +123 -0
  243. package/schemas/urlcode.schema.json +1230 -0
  244. package/starters/default/.gitattributes +1 -0
  245. package/starters/default/Makefile +30 -0
  246. package/starters/default/README.md +34 -0
  247. package/starters/default/functions/hello.mjs +3 -0
  248. package/starters/default/gitignore.template +8 -0
  249. package/starters/default/middleware/headers.mjs +6 -0
  250. package/starters/default/routes/functions.yaml +20 -0
  251. package/starters/default/routes/marketing/links.yaml +7 -0
  252. package/starters/default/starter.json +5 -0
  253. package/starters/default/tests/requests.json +56 -0
  254. package/starters/default/urlcode.yaml +8 -0
@@ -0,0 +1,1520 @@
1
+ {
2
+ "name": "monitoring",
3
+ "description": "Uptime, performance and availability monitors: crawler-user-agents entries tagged \"monitoring\".",
4
+ "source": {
5
+ "repository": "monperrus/crawler-user-agents",
6
+ "url": "https://github.com/monperrus/crawler-user-agents",
7
+ "license": "MIT",
8
+ "tag": "v1.60.0",
9
+ "commit": "7baee040e86208bfaf24b2815fd8f322318bd2fa",
10
+ "file": "crawler-user-agents.json",
11
+ "fetchedAt": "2026-09-17"
12
+ },
13
+ "entries": [
14
+ {
15
+ "name": "(^| )PTST\\/",
16
+ "pattern": "(^| )PTST\\/",
17
+ "source": "monperrus/crawler-user-agents",
18
+ "sourceRevision": "v1.60.0@7baee040e862",
19
+ "addedAt": "2021-12-05"
20
+ },
21
+ {
22
+ "name": "(^| )sentry\\/",
23
+ "pattern": "(^| )sentry\\/",
24
+ "source": "monperrus/crawler-user-agents",
25
+ "sourceRevision": "v1.60.0@7baee040e862",
26
+ "addedAt": "2018-03-27"
27
+ },
28
+ {
29
+ "name": "[cC]ludo",
30
+ "pattern": "[cC]ludo",
31
+ "source": "monperrus/crawler-user-agents",
32
+ "sourceRevision": "v1.60.0@7baee040e862",
33
+ "addedAt": "2026-04-26"
34
+ },
35
+ {
36
+ "name": "[Cc]urebot",
37
+ "pattern": "[Cc]urebot",
38
+ "source": "monperrus/crawler-user-agents",
39
+ "sourceRevision": "v1.60.0@7baee040e862",
40
+ "addedAt": "2020-03-16"
41
+ },
42
+ {
43
+ "name": "[pP]ingdom",
44
+ "pattern": "[pP]ingdom",
45
+ "source": "monperrus/crawler-user-agents",
46
+ "sourceRevision": "v1.60.0@7baee040e862",
47
+ "addedAt": "2017-09-16"
48
+ },
49
+ {
50
+ "name": "ABEvalBot",
51
+ "pattern": "ABEvalBot",
52
+ "source": "monperrus/crawler-user-agents",
53
+ "sourceRevision": "v1.60.0@7baee040e862",
54
+ "addedAt": "2026-04-26"
55
+ },
56
+ {
57
+ "name": "Accessible Web Bot",
58
+ "pattern": "Accessible Web Bot",
59
+ "source": "monperrus/crawler-user-agents",
60
+ "sourceRevision": "v1.60.0@7baee040e862",
61
+ "addedAt": "2026-04-26"
62
+ },
63
+ {
64
+ "name": "AccessStatus",
65
+ "pattern": "AccessStatus",
66
+ "source": "monperrus/crawler-user-agents",
67
+ "sourceRevision": "v1.60.0@7baee040e862",
68
+ "addedAt": "2026-04-26"
69
+ },
70
+ {
71
+ "name": "Acquia optimize",
72
+ "pattern": "Acquia optimize",
73
+ "source": "monperrus/crawler-user-agents",
74
+ "sourceRevision": "v1.60.0@7baee040e862",
75
+ "addedAt": "2026-04-26"
76
+ },
77
+ {
78
+ "name": "ActiveComply",
79
+ "pattern": "ActiveComply",
80
+ "source": "monperrus/crawler-user-agents",
81
+ "sourceRevision": "v1.60.0@7baee040e862",
82
+ "addedAt": "2026-04-26"
83
+ },
84
+ {
85
+ "name": "AlertSite",
86
+ "pattern": "AlertSite",
87
+ "source": "monperrus/crawler-user-agents",
88
+ "sourceRevision": "v1.60.0@7baee040e862",
89
+ "addedAt": "2026-04-26"
90
+ },
91
+ {
92
+ "name": "AppInsights",
93
+ "pattern": "AppInsights",
94
+ "source": "monperrus/crawler-user-agents",
95
+ "sourceRevision": "v1.60.0@7baee040e862",
96
+ "addedAt": "2019-03-09"
97
+ },
98
+ {
99
+ "name": "AtVowBot",
100
+ "pattern": "AtVowBot",
101
+ "source": "monperrus/crawler-user-agents",
102
+ "sourceRevision": "v1.60.0@7baee040e862",
103
+ "addedAt": "2026-04-26"
104
+ },
105
+ {
106
+ "name": "Automaton",
107
+ "pattern": "Automaton|Newsify Feed Fetcher",
108
+ "source": "monperrus/crawler-user-agents",
109
+ "sourceRevision": "v1.60.0@7baee040e862",
110
+ "addedAt": "2026-04-26"
111
+ },
112
+ {
113
+ "name": "Baidu-YunGuanCe",
114
+ "pattern": "Baidu-YunGuanCe",
115
+ "source": "monperrus/crawler-user-agents",
116
+ "sourceRevision": "v1.60.0@7baee040e862",
117
+ "addedAt": "2018-06-27"
118
+ },
119
+ {
120
+ "name": "Better Uptime Bot",
121
+ "pattern": "Better Uptime Bot",
122
+ "source": "monperrus/crawler-user-agents",
123
+ "sourceRevision": "v1.60.0@7baee040e862",
124
+ "addedAt": "2022-11-13"
125
+ },
126
+ {
127
+ "name": "BetterUptimeBot",
128
+ "pattern": "BetterUptimeBot",
129
+ "source": "monperrus/crawler-user-agents",
130
+ "sourceRevision": "v1.60.0@7baee040e862",
131
+ "addedAt": "2026-04-17"
132
+ },
133
+ {
134
+ "name": "BinaryCanary",
135
+ "pattern": "BinaryCanary",
136
+ "source": "monperrus/crawler-user-agents",
137
+ "sourceRevision": "v1.60.0@7baee040e862",
138
+ "addedAt": "2026-04-17"
139
+ },
140
+ {
141
+ "name": "Blackbox Exporter/",
142
+ "pattern": "Blackbox Exporter\\/",
143
+ "source": "monperrus/crawler-user-agents",
144
+ "sourceRevision": "v1.60.0@7baee040e862",
145
+ "addedAt": "2026-04-17"
146
+ },
147
+ {
148
+ "name": "Bling ERP",
149
+ "pattern": "Bling ERP",
150
+ "source": "monperrus/crawler-user-agents",
151
+ "sourceRevision": "v1.60.0@7baee040e862",
152
+ "addedAt": "2026-04-26"
153
+ },
154
+ {
155
+ "name": "Blockaid",
156
+ "pattern": "Blockaid",
157
+ "source": "monperrus/crawler-user-agents",
158
+ "sourceRevision": "v1.60.0@7baee040e862",
159
+ "addedAt": "2026-04-26"
160
+ },
161
+ {
162
+ "name": "BlogVault",
163
+ "pattern": "BlogVault",
164
+ "source": "monperrus/crawler-user-agents",
165
+ "sourceRevision": "v1.60.0@7baee040e862",
166
+ "addedAt": "2026-04-26"
167
+ },
168
+ {
169
+ "name": "Buck/",
170
+ "pattern": "Buck\\/",
171
+ "source": "monperrus/crawler-user-agents",
172
+ "sourceRevision": "v1.60.0@7baee040e862",
173
+ "addedAt": "2018-03-27"
174
+ },
175
+ {
176
+ "name": "BuddyBot",
177
+ "pattern": "BuddyBot",
178
+ "source": "monperrus/crawler-user-agents",
179
+ "sourceRevision": "v1.60.0@7baee040e862",
180
+ "addedAt": "2026-04-26"
181
+ },
182
+ {
183
+ "name": "Bugsnag",
184
+ "pattern": "Bugsnag",
185
+ "source": "monperrus/crawler-user-agents",
186
+ "sourceRevision": "v1.60.0@7baee040e862",
187
+ "addedAt": "2026-04-26"
188
+ },
189
+ {
190
+ "name": "CapsuleChecker",
191
+ "pattern": "CapsuleChecker",
192
+ "source": "monperrus/crawler-user-agents",
193
+ "sourceRevision": "v1.60.0@7baee040e862",
194
+ "addedAt": "2016-01-02"
195
+ },
196
+ {
197
+ "name": "CapterraBot",
198
+ "pattern": "CapterraBot",
199
+ "source": "monperrus/crawler-user-agents",
200
+ "sourceRevision": "v1.60.0@7baee040e862",
201
+ "addedAt": "2026-04-26"
202
+ },
203
+ {
204
+ "name": "carbon-umbrella-bot",
205
+ "pattern": "carbon-umbrella-bot",
206
+ "source": "monperrus/crawler-user-agents",
207
+ "sourceRevision": "v1.60.0@7baee040e862",
208
+ "addedAt": "2026-04-26"
209
+ },
210
+ {
211
+ "name": "Catchpoint",
212
+ "pattern": "Catchpoint",
213
+ "source": "monperrus/crawler-user-agents",
214
+ "sourceRevision": "v1.60.0@7baee040e862",
215
+ "addedAt": "2026-04-17"
216
+ },
217
+ {
218
+ "name": "caveman-hunter",
219
+ "pattern": "caveman-hunter",
220
+ "source": "monperrus/crawler-user-agents",
221
+ "sourceRevision": "v1.60.0@7baee040e862",
222
+ "addedAt": "2026-04-26"
223
+ },
224
+ {
225
+ "name": "changedetection",
226
+ "pattern": "changedetection",
227
+ "source": "monperrus/crawler-user-agents",
228
+ "sourceRevision": "v1.60.0@7baee040e862",
229
+ "addedAt": "2013-09-13"
230
+ },
231
+ {
232
+ "name": "check_http",
233
+ "pattern": "check_http",
234
+ "source": "monperrus/crawler-user-agents",
235
+ "sourceRevision": "v1.60.0@7baee040e862",
236
+ "addedAt": "2018-02-09"
237
+ },
238
+ {
239
+ "name": "CheckHost",
240
+ "pattern": "CheckHost",
241
+ "source": "monperrus/crawler-user-agents",
242
+ "sourceRevision": "v1.60.0@7baee040e862",
243
+ "addedAt": "2026-04-17"
244
+ },
245
+ {
246
+ "name": "Checkly",
247
+ "pattern": "Checkly",
248
+ "source": "monperrus/crawler-user-agents",
249
+ "sourceRevision": "v1.60.0@7baee040e862",
250
+ "addedAt": "2026-02-11"
251
+ },
252
+ {
253
+ "name": "CheckMarkNetwork/",
254
+ "pattern": "CheckMarkNetwork\\/",
255
+ "source": "monperrus/crawler-user-agents",
256
+ "sourceRevision": "v1.60.0@7baee040e862",
257
+ "addedAt": "2019-06-30"
258
+ },
259
+ {
260
+ "name": "Chirp",
261
+ "pattern": "Chirp|gotosocial",
262
+ "source": "monperrus/crawler-user-agents",
263
+ "sourceRevision": "v1.60.0@7baee040e862",
264
+ "addedAt": "2026-04-26"
265
+ },
266
+ {
267
+ "name": "Chrome-Lighthouse",
268
+ "pattern": "Chrome-Lighthouse",
269
+ "source": "monperrus/crawler-user-agents",
270
+ "sourceRevision": "v1.60.0@7baee040e862",
271
+ "addedAt": "2019-03-15"
272
+ },
273
+ {
274
+ "name": "CloudFlare-AlwaysOnline",
275
+ "pattern": "CloudFlare-AlwaysOnline",
276
+ "source": "monperrus/crawler-user-agents",
277
+ "sourceRevision": "v1.60.0@7baee040e862",
278
+ "addedAt": "2018-09-27"
279
+ },
280
+ {
281
+ "name": "cloudflare-csup",
282
+ "pattern": "cloudflare-csup",
283
+ "source": "monperrus/crawler-user-agents",
284
+ "sourceRevision": "v1.60.0@7baee040e862",
285
+ "addedAt": "2026-04-17"
286
+ },
287
+ {
288
+ "name": "Cloudflare-Custom-Error-Page-Crawler",
289
+ "pattern": "Cloudflare-Custom-Error-Page-Crawler",
290
+ "source": "monperrus/crawler-user-agents",
291
+ "sourceRevision": "v1.60.0@7baee040e862",
292
+ "addedAt": "2026-04-17"
293
+ },
294
+ {
295
+ "name": "Cloudflare-Healthchecks",
296
+ "pattern": "Cloudflare-Healthchecks",
297
+ "source": "monperrus/crawler-user-agents",
298
+ "sourceRevision": "v1.60.0@7baee040e862",
299
+ "addedAt": "2024-12-17"
300
+ },
301
+ {
302
+ "name": "Cloudflare-SpeedTest",
303
+ "pattern": "Cloudflare-SpeedTest",
304
+ "source": "monperrus/crawler-user-agents",
305
+ "sourceRevision": "v1.60.0@7baee040e862",
306
+ "addedAt": "2026-04-17"
307
+ },
308
+ {
309
+ "name": "Cloudflare-Traffic-Manager",
310
+ "pattern": "Cloudflare-Traffic-Manager",
311
+ "source": "monperrus/crawler-user-agents",
312
+ "sourceRevision": "v1.60.0@7baee040e862",
313
+ "addedAt": "2024-12-17"
314
+ },
315
+ {
316
+ "name": "Cloudflare-Validator",
317
+ "pattern": "Cloudflare-Validator",
318
+ "source": "monperrus/crawler-user-agents",
319
+ "sourceRevision": "v1.60.0@7baee040e862",
320
+ "addedAt": "2026-04-17"
321
+ },
322
+ {
323
+ "name": "CloudflareRadarURLScanner",
324
+ "pattern": "CloudflareRadarURLScanner",
325
+ "source": "monperrus/crawler-user-agents",
326
+ "sourceRevision": "v1.60.0@7baee040e862",
327
+ "addedAt": "2026-04-26"
328
+ },
329
+ {
330
+ "name": "Corporama matcher",
331
+ "pattern": "Corporama matcher",
332
+ "source": "monperrus/crawler-user-agents",
333
+ "sourceRevision": "v1.60.0@7baee040e862",
334
+ "addedAt": "2026-04-26"
335
+ },
336
+ {
337
+ "name": "Crazy Egg",
338
+ "pattern": "Crazy Egg",
339
+ "source": "monperrus/crawler-user-agents",
340
+ "sourceRevision": "v1.60.0@7baee040e862",
341
+ "addedAt": "2026-04-26"
342
+ },
343
+ {
344
+ "name": "Critical CSS Bot",
345
+ "pattern": "Critical CSS Bot",
346
+ "source": "monperrus/crawler-user-agents",
347
+ "sourceRevision": "v1.60.0@7baee040e862",
348
+ "addedAt": "2026-04-26"
349
+ },
350
+ {
351
+ "name": "cron-job.org",
352
+ "pattern": "cron-job\\.org",
353
+ "source": "monperrus/crawler-user-agents",
354
+ "sourceRevision": "v1.60.0@7baee040e862",
355
+ "addedAt": "2026-04-17"
356
+ },
357
+ {
358
+ "name": "Cronless",
359
+ "pattern": "Cronless",
360
+ "source": "monperrus/crawler-user-agents",
361
+ "sourceRevision": "v1.60.0@7baee040e862",
362
+ "addedAt": "2026-04-17"
363
+ },
364
+ {
365
+ "name": "DareBoost",
366
+ "pattern": "DareBoost",
367
+ "source": "monperrus/crawler-user-agents",
368
+ "sourceRevision": "v1.60.0@7baee040e862",
369
+ "addedAt": "2018-07-07"
370
+ },
371
+ {
372
+ "name": "Dark Visitor",
373
+ "pattern": "Dark Visitor",
374
+ "source": "monperrus/crawler-user-agents",
375
+ "sourceRevision": "v1.60.0@7baee040e862",
376
+ "addedAt": "2026-04-26"
377
+ },
378
+ {
379
+ "name": "Datadog Agent",
380
+ "pattern": "Datadog Agent",
381
+ "source": "monperrus/crawler-user-agents",
382
+ "sourceRevision": "v1.60.0@7baee040e862",
383
+ "addedAt": "2026-04-26"
384
+ },
385
+ {
386
+ "name": "Datadog Synthetic",
387
+ "pattern": "Datadog Synthetic",
388
+ "source": "monperrus/crawler-user-agents",
389
+ "sourceRevision": "v1.60.0@7baee040e862",
390
+ "addedAt": "2026-04-17"
391
+ },
392
+ {
393
+ "name": "DatadogSynthetics",
394
+ "pattern": "DatadogSynthetics",
395
+ "source": "monperrus/crawler-user-agents",
396
+ "sourceRevision": "v1.60.0@7baee040e862",
397
+ "addedAt": "2025-08-19"
398
+ },
399
+ {
400
+ "name": "deepnoc",
401
+ "pattern": "deepnoc",
402
+ "source": "monperrus/crawler-user-agents",
403
+ "sourceRevision": "v1.60.0@7baee040e862",
404
+ "addedAt": "2023-09-08"
405
+ },
406
+ {
407
+ "name": "Determ",
408
+ "pattern": "Determ",
409
+ "source": "monperrus/crawler-user-agents",
410
+ "sourceRevision": "v1.60.0@7baee040e862",
411
+ "addedAt": "2026-04-26"
412
+ },
413
+ {
414
+ "name": "DMBrowser",
415
+ "pattern": "DMBrowser",
416
+ "source": "monperrus/crawler-user-agents",
417
+ "sourceRevision": "v1.60.0@7baee040e862",
418
+ "addedAt": "2026-04-17"
419
+ },
420
+ {
421
+ "name": "DominicBot",
422
+ "pattern": "DominicBot",
423
+ "source": "monperrus/crawler-user-agents",
424
+ "sourceRevision": "v1.60.0@7baee040e862",
425
+ "addedAt": "2026-04-26"
426
+ },
427
+ {
428
+ "name": "Dotcom-Monitor",
429
+ "pattern": "Dotcom-Monitor",
430
+ "source": "monperrus/crawler-user-agents",
431
+ "sourceRevision": "v1.60.0@7baee040e862",
432
+ "addedAt": "2026-04-26"
433
+ },
434
+ {
435
+ "name": "Dow Jones Searchbot",
436
+ "pattern": "Dow Jones Searchbot",
437
+ "source": "monperrus/crawler-user-agents",
438
+ "sourceRevision": "v1.60.0@7baee040e862",
439
+ "addedAt": "2026-04-26"
440
+ },
441
+ {
442
+ "name": "downnotifier.com",
443
+ "pattern": "downnotifier\\.com",
444
+ "source": "monperrus/crawler-user-agents",
445
+ "sourceRevision": "v1.60.0@7baee040e862",
446
+ "addedAt": "2026-04-17"
447
+ },
448
+ {
449
+ "name": "DowntimeDetector/",
450
+ "pattern": "DowntimeDetector\\/",
451
+ "source": "monperrus/crawler-user-agents",
452
+ "sourceRevision": "v1.60.0@7baee040e862",
453
+ "addedAt": "2026-04-17"
454
+ },
455
+ {
456
+ "name": "DrataAutopilot",
457
+ "pattern": "DrataAutopilot",
458
+ "source": "monperrus/crawler-user-agents",
459
+ "sourceRevision": "v1.60.0@7baee040e862",
460
+ "addedAt": "2026-04-26"
461
+ },
462
+ {
463
+ "name": "DreamHost Data Team",
464
+ "pattern": "DreamHost Data Team",
465
+ "source": "monperrus/crawler-user-agents",
466
+ "sourceRevision": "v1.60.0@7baee040e862",
467
+ "addedAt": "2026-04-26"
468
+ },
469
+ {
470
+ "name": "Drupalbot",
471
+ "pattern": "Drupalbot",
472
+ "source": "monperrus/crawler-user-agents",
473
+ "sourceRevision": "v1.60.0@7baee040e862",
474
+ "addedAt": "2026-04-26"
475
+ },
476
+ {
477
+ "name": "Dubbotbot",
478
+ "pattern": "Dubbotbot",
479
+ "source": "monperrus/crawler-user-agents",
480
+ "sourceRevision": "v1.60.0@7baee040e862",
481
+ "addedAt": "2020-03-16"
482
+ },
483
+ {
484
+ "name": "EasyCron/",
485
+ "pattern": "EasyCron\\/",
486
+ "source": "monperrus/crawler-user-agents",
487
+ "sourceRevision": "v1.60.0@7baee040e862",
488
+ "addedAt": "2026-04-17"
489
+ },
490
+ {
491
+ "name": "easyDNS Monitoring",
492
+ "pattern": "easyDNS Monitoring",
493
+ "source": "monperrus/crawler-user-agents",
494
+ "sourceRevision": "v1.60.0@7baee040e862",
495
+ "addedAt": "2026-04-17"
496
+ },
497
+ {
498
+ "name": "EdgeWatch",
499
+ "pattern": "EdgeWatch",
500
+ "source": "monperrus/crawler-user-agents",
501
+ "sourceRevision": "v1.60.0@7baee040e862",
502
+ "addedAt": "2026-04-17"
503
+ },
504
+ {
505
+ "name": "elmah.io Uptime Monitoring",
506
+ "pattern": "elmah\\.io Uptime Monitoring",
507
+ "source": "monperrus/crawler-user-agents",
508
+ "sourceRevision": "v1.60.0@7baee040e862",
509
+ "addedAt": "2026-04-26"
510
+ },
511
+ {
512
+ "name": "elmahio-uptimebot",
513
+ "pattern": "elmahio-uptimebot",
514
+ "source": "monperrus/crawler-user-agents",
515
+ "sourceRevision": "v1.60.0@7baee040e862",
516
+ "addedAt": "2026-04-17"
517
+ },
518
+ {
519
+ "name": "eMoney Advisor",
520
+ "pattern": "eMoney Advisor",
521
+ "source": "monperrus/crawler-user-agents",
522
+ "sourceRevision": "v1.60.0@7baee040e862",
523
+ "addedAt": "2026-04-26"
524
+ },
525
+ {
526
+ "name": "EvoUptimeBot",
527
+ "pattern": "EvoUptimeBot",
528
+ "source": "monperrus/crawler-user-agents",
529
+ "sourceRevision": "v1.60.0@7baee040e862",
530
+ "addedAt": "2026-04-17"
531
+ },
532
+ {
533
+ "name": "Experibot",
534
+ "pattern": "Experibot",
535
+ "source": "monperrus/crawler-user-agents",
536
+ "sourceRevision": "v1.60.0@7baee040e862",
537
+ "addedAt": "2018-11-03"
538
+ },
539
+ {
540
+ "name": "FastDAST",
541
+ "pattern": "FastDAST",
542
+ "source": "monperrus/crawler-user-agents",
543
+ "sourceRevision": "v1.60.0@7baee040e862",
544
+ "addedAt": "2026-04-26"
545
+ },
546
+ {
547
+ "name": "FediDB",
548
+ "pattern": "FediDB",
549
+ "source": "monperrus/crawler-user-agents",
550
+ "sourceRevision": "v1.60.0@7baee040e862",
551
+ "addedAt": "2026-04-26"
552
+ },
553
+ {
554
+ "name": "FediList Agent",
555
+ "pattern": "FediList Agent",
556
+ "source": "monperrus/crawler-user-agents",
557
+ "sourceRevision": "v1.60.0@7baee040e862",
558
+ "addedAt": "2026-04-26"
559
+ },
560
+ {
561
+ "name": "fedistatsCrawler",
562
+ "pattern": "fedistatsCrawler",
563
+ "source": "monperrus/crawler-user-agents",
564
+ "sourceRevision": "v1.60.0@7baee040e862",
565
+ "addedAt": "2026-04-26"
566
+ },
567
+ {
568
+ "name": "FedReporter Bot for FFIEC",
569
+ "pattern": "FedReporter Bot for FFIEC",
570
+ "source": "monperrus/crawler-user-agents",
571
+ "sourceRevision": "v1.60.0@7baee040e862",
572
+ "addedAt": "2026-04-26"
573
+ },
574
+ {
575
+ "name": "FeedValidator",
576
+ "pattern": "FeedValidator",
577
+ "source": "monperrus/crawler-user-agents",
578
+ "sourceRevision": "v1.60.0@7baee040e862",
579
+ "addedAt": "2018-10-14"
580
+ },
581
+ {
582
+ "name": "FreeWebMonitoring SiteChecker",
583
+ "pattern": "FreeWebMonitoring SiteChecker",
584
+ "source": "monperrus/crawler-user-agents",
585
+ "sourceRevision": "v1.60.0@7baee040e862",
586
+ "addedAt": "2020-03-02"
587
+ },
588
+ {
589
+ "name": "Freshbot",
590
+ "pattern": "Freshbot",
591
+ "source": "monperrus/crawler-user-agents",
592
+ "sourceRevision": "v1.60.0@7baee040e862",
593
+ "addedAt": "2026-04-26"
594
+ },
595
+ {
596
+ "name": "FreshpingBot",
597
+ "pattern": "FreshpingBot",
598
+ "source": "monperrus/crawler-user-agents",
599
+ "sourceRevision": "v1.60.0@7baee040e862",
600
+ "addedAt": "2022-10-17"
601
+ },
602
+ {
603
+ "name": "GenomeCrawlerd",
604
+ "pattern": "GenomeCrawlerd",
605
+ "source": "monperrus/crawler-user-agents",
606
+ "sourceRevision": "v1.60.0@7baee040e862",
607
+ "addedAt": "2026-04-26"
608
+ },
609
+ {
610
+ "name": "Google Trust Services",
611
+ "pattern": "Google Trust Services",
612
+ "source": "monperrus/crawler-user-agents",
613
+ "sourceRevision": "v1.60.0@7baee040e862",
614
+ "addedAt": "2026-04-26"
615
+ },
616
+ {
617
+ "name": "GoogleStackdriverMonitoring",
618
+ "pattern": "GoogleStackdriverMonitoring",
619
+ "source": "monperrus/crawler-user-agents",
620
+ "sourceRevision": "v1.60.0@7baee040e862",
621
+ "addedAt": "2026-04-17"
622
+ },
623
+ {
624
+ "name": "GotSiteMonitor.com",
625
+ "pattern": "GotSiteMonitor\\.com",
626
+ "source": "monperrus/crawler-user-agents",
627
+ "sourceRevision": "v1.60.0@7baee040e862",
628
+ "addedAt": "2026-04-17"
629
+ },
630
+ {
631
+ "name": "GTmetrix",
632
+ "pattern": "GTmetrix",
633
+ "source": "monperrus/crawler-user-agents",
634
+ "sourceRevision": "v1.60.0@7baee040e862",
635
+ "addedAt": "2026-04-17"
636
+ },
637
+ {
638
+ "name": "HaloBot",
639
+ "pattern": "HaloBot",
640
+ "source": "monperrus/crawler-user-agents",
641
+ "sourceRevision": "v1.60.0@7baee040e862",
642
+ "addedAt": "2026-04-26"
643
+ },
644
+ {
645
+ "name": "HanaleiBot",
646
+ "pattern": "HanaleiBot",
647
+ "source": "monperrus/crawler-user-agents",
648
+ "sourceRevision": "v1.60.0@7baee040e862",
649
+ "addedAt": "2026-04-26"
650
+ },
651
+ {
652
+ "name": "HeadOnlyScraper",
653
+ "pattern": "HeadOnlyScraper",
654
+ "source": "monperrus/crawler-user-agents",
655
+ "sourceRevision": "v1.60.0@7baee040e862",
656
+ "addedAt": "2026-04-26"
657
+ },
658
+ {
659
+ "name": "HetrixTools",
660
+ "pattern": "HetrixTools",
661
+ "source": "monperrus/crawler-user-agents",
662
+ "sourceRevision": "v1.60.0@7baee040e862",
663
+ "addedAt": "2026-04-17"
664
+ },
665
+ {
666
+ "name": "Honeybadger Uptime Check",
667
+ "pattern": "Honeybadger Uptime Check",
668
+ "source": "monperrus/crawler-user-agents",
669
+ "sourceRevision": "v1.60.0@7baee040e862",
670
+ "addedAt": "2026-04-17"
671
+ },
672
+ {
673
+ "name": "HoneybadgerBot",
674
+ "pattern": "HoneybadgerBot",
675
+ "source": "monperrus/crawler-user-agents",
676
+ "sourceRevision": "v1.60.0@7baee040e862",
677
+ "addedAt": "2026-04-26"
678
+ },
679
+ {
680
+ "name": "HostTracker/",
681
+ "pattern": "HostTracker\\/",
682
+ "source": "monperrus/crawler-user-agents",
683
+ "sourceRevision": "v1.60.0@7baee040e862",
684
+ "addedAt": "2026-04-17"
685
+ },
686
+ {
687
+ "name": "Hydrozen.io",
688
+ "pattern": "Hydrozen\\.io",
689
+ "source": "monperrus/crawler-user-agents",
690
+ "sourceRevision": "v1.60.0@7baee040e862",
691
+ "addedAt": "2025-02-02"
692
+ },
693
+ {
694
+ "name": "internetVista monitor",
695
+ "pattern": "internetVista monitor",
696
+ "source": "monperrus/crawler-user-agents",
697
+ "sourceRevision": "v1.60.0@7baee040e862",
698
+ "addedAt": "2026-04-17"
699
+ },
700
+ {
701
+ "name": "Irokez.cz monitoring",
702
+ "pattern": "Irokez\\.cz monitoring",
703
+ "source": "monperrus/crawler-user-agents",
704
+ "sourceRevision": "v1.60.0@7baee040e862",
705
+ "addedAt": "2026-04-17"
706
+ },
707
+ {
708
+ "name": "IsDownBot/",
709
+ "pattern": "IsDownBot\\/",
710
+ "source": "monperrus/crawler-user-agents",
711
+ "sourceRevision": "v1.60.0@7baee040e862",
712
+ "addedAt": "2026-04-17"
713
+ },
714
+ {
715
+ "name": "jetmon/",
716
+ "pattern": "jetmon\\/",
717
+ "source": "monperrus/crawler-user-agents",
718
+ "sourceRevision": "v1.60.0@7baee040e862",
719
+ "addedAt": "2026-04-17"
720
+ },
721
+ {
722
+ "name": "keycdn-tools/",
723
+ "pattern": "keycdn-tools\\/",
724
+ "source": "monperrus/crawler-user-agents",
725
+ "sourceRevision": "v1.60.0@7baee040e862",
726
+ "addedAt": "2026-04-17"
727
+ },
728
+ {
729
+ "name": "Known Agent",
730
+ "pattern": "Known Agent",
731
+ "source": "monperrus/crawler-user-agents",
732
+ "sourceRevision": "v1.60.0@7baee040e862",
733
+ "addedAt": "2026-04-26"
734
+ },
735
+ {
736
+ "name": "linko",
737
+ "pattern": "linko",
738
+ "source": "monperrus/crawler-user-agents",
739
+ "sourceRevision": "v1.60.0@7baee040e862",
740
+ "addedAt": "2026-04-26"
741
+ },
742
+ {
743
+ "name": "LinkpadBot",
744
+ "pattern": "LinkpadBot",
745
+ "source": "monperrus/crawler-user-agents",
746
+ "sourceRevision": "v1.60.0@7baee040e862",
747
+ "addedAt": "2026-04-26"
748
+ },
749
+ {
750
+ "name": "LogicMonitor",
751
+ "pattern": "LogicMonitor",
752
+ "source": "monperrus/crawler-user-agents",
753
+ "sourceRevision": "v1.60.0@7baee040e862",
754
+ "addedAt": "2026-04-17"
755
+ },
756
+ {
757
+ "name": "loopimprovements.com",
758
+ "pattern": "loopimprovements\\.com",
759
+ "source": "monperrus/crawler-user-agents",
760
+ "sourceRevision": "v1.60.0@7baee040e862",
761
+ "addedAt": "2026-04-26"
762
+ },
763
+ {
764
+ "name": "MagnetmeBot",
765
+ "pattern": "MagnetmeBot",
766
+ "source": "monperrus/crawler-user-agents",
767
+ "sourceRevision": "v1.60.0@7baee040e862",
768
+ "addedAt": "2026-04-26"
769
+ },
770
+ {
771
+ "name": "Magus Bot",
772
+ "pattern": "Magus Bot",
773
+ "source": "monperrus/crawler-user-agents",
774
+ "sourceRevision": "v1.60.0@7baee040e862",
775
+ "addedAt": "2026-04-26"
776
+ },
777
+ {
778
+ "name": "Mediatoolkitbot",
779
+ "pattern": "Mediatoolkitbot",
780
+ "source": "monperrus/crawler-user-agents",
781
+ "sourceRevision": "v1.60.0@7baee040e862",
782
+ "addedAt": "2017-10-06"
783
+ },
784
+ {
785
+ "name": "minicrawler",
786
+ "pattern": "minicrawler",
787
+ "source": "monperrus/crawler-user-agents",
788
+ "sourceRevision": "v1.60.0@7baee040e862",
789
+ "addedAt": "2022-01-12"
790
+ },
791
+ {
792
+ "name": "Minoru's Fediverse Crawler",
793
+ "pattern": "Minoru's Fediverse Crawler",
794
+ "source": "monperrus/crawler-user-agents",
795
+ "sourceRevision": "v1.60.0@7baee040e862",
796
+ "addedAt": "2026-04-26"
797
+ },
798
+ {
799
+ "name": "ModatScanner",
800
+ "pattern": "ModatScanner",
801
+ "source": "monperrus/crawler-user-agents",
802
+ "sourceRevision": "v1.60.0@7baee040e862",
803
+ "addedAt": "2026-04-26"
804
+ },
805
+ {
806
+ "name": "monitis -",
807
+ "pattern": "monitis -",
808
+ "source": "monperrus/crawler-user-agents",
809
+ "sourceRevision": "v1.60.0@7baee040e862",
810
+ "addedAt": "2026-04-17"
811
+ },
812
+ {
813
+ "name": "monitoring360bot/",
814
+ "pattern": "monitoring360bot\\/",
815
+ "source": "monperrus/crawler-user-agents",
816
+ "sourceRevision": "v1.60.0@7baee040e862",
817
+ "addedAt": "2026-04-17"
818
+ },
819
+ {
820
+ "name": "Monsidobot",
821
+ "pattern": "Monsidobot",
822
+ "source": "monperrus/crawler-user-agents",
823
+ "sourceRevision": "v1.60.0@7baee040e862",
824
+ "addedAt": "2024-05-14"
825
+ },
826
+ {
827
+ "name": "MonSpark/",
828
+ "pattern": "MonSpark\\/",
829
+ "source": "monperrus/crawler-user-agents",
830
+ "sourceRevision": "v1.60.0@7baee040e862",
831
+ "addedAt": "2026-04-17"
832
+ },
833
+ {
834
+ "name": "montastic-monitor",
835
+ "pattern": "montastic-monitor",
836
+ "source": "monperrus/crawler-user-agents",
837
+ "sourceRevision": "v1.60.0@7baee040e862",
838
+ "addedAt": "2026-04-17"
839
+ },
840
+ {
841
+ "name": "MontasticMonitor",
842
+ "pattern": "MontasticMonitor",
843
+ "source": "monperrus/crawler-user-agents",
844
+ "sourceRevision": "v1.60.0@7baee040e862",
845
+ "addedAt": "2026-04-26"
846
+ },
847
+ {
848
+ "name": "MxToolbox",
849
+ "pattern": "MxToolbox",
850
+ "source": "monperrus/crawler-user-agents",
851
+ "sourceRevision": "v1.60.0@7baee040e862",
852
+ "addedAt": "2026-04-17"
853
+ },
854
+ {
855
+ "name": "Netumo",
856
+ "pattern": "Netumo|netumo",
857
+ "source": "monperrus/crawler-user-agents",
858
+ "sourceRevision": "v1.60.0@7baee040e862",
859
+ "addedAt": "2026-04-26"
860
+ },
861
+ {
862
+ "name": "NETVIGIE",
863
+ "pattern": "NETVIGIE",
864
+ "source": "monperrus/crawler-user-agents",
865
+ "sourceRevision": "v1.60.0@7baee040e862",
866
+ "addedAt": "2026-04-17"
867
+ },
868
+ {
869
+ "name": "New York Times Newsgathering",
870
+ "pattern": "New York Times Newsgathering",
871
+ "source": "monperrus/crawler-user-agents",
872
+ "sourceRevision": "v1.60.0@7baee040e862",
873
+ "addedAt": "2026-04-26"
874
+ },
875
+ {
876
+ "name": "NewRelicbot/",
877
+ "pattern": "NewRelicbot\\/",
878
+ "source": "monperrus/crawler-user-agents",
879
+ "sourceRevision": "v1.60.0@7baee040e862",
880
+ "addedAt": "2026-04-17"
881
+ },
882
+ {
883
+ "name": "NewRelicSynthetics",
884
+ "pattern": "NewRelicSynthetics",
885
+ "source": "monperrus/crawler-user-agents",
886
+ "sourceRevision": "v1.60.0@7baee040e862",
887
+ "addedAt": "2026-04-26"
888
+ },
889
+ {
890
+ "name": "NIXStatsbot",
891
+ "pattern": "NIXStatsbot",
892
+ "source": "monperrus/crawler-user-agents",
893
+ "sourceRevision": "v1.60.0@7baee040e862",
894
+ "addedAt": "2020-03-16"
895
+ },
896
+ {
897
+ "name": "NoahBot",
898
+ "pattern": "NoahBot",
899
+ "source": "monperrus/crawler-user-agents",
900
+ "sourceRevision": "v1.60.0@7baee040e862",
901
+ "addedAt": "2026-04-26"
902
+ },
903
+ {
904
+ "name": "NodePing",
905
+ "pattern": "NodePing",
906
+ "source": "monperrus/crawler-user-agents",
907
+ "sourceRevision": "v1.60.0@7baee040e862",
908
+ "addedAt": "2026-04-17"
909
+ },
910
+ {
911
+ "name": "Noibu",
912
+ "pattern": "Noibu",
913
+ "source": "monperrus/crawler-user-agents",
914
+ "sourceRevision": "v1.60.0@7baee040e862",
915
+ "addedAt": "2026-04-26"
916
+ },
917
+ {
918
+ "name": "ObservePoint",
919
+ "pattern": "ObservePoint",
920
+ "source": "monperrus/crawler-user-agents",
921
+ "sourceRevision": "v1.60.0@7baee040e862",
922
+ "addedAt": "2025-12-23"
923
+ },
924
+ {
925
+ "name": "OhDear/",
926
+ "pattern": "OhDear\\/",
927
+ "source": "monperrus/crawler-user-agents",
928
+ "sourceRevision": "v1.60.0@7baee040e862",
929
+ "addedAt": "2026-04-17"
930
+ },
931
+ {
932
+ "name": "OneTrust",
933
+ "pattern": "OneTrust",
934
+ "source": "monperrus/crawler-user-agents",
935
+ "sourceRevision": "v1.60.0@7baee040e862",
936
+ "addedAt": "2026-04-26"
937
+ },
938
+ {
939
+ "name": "OnlineOrNot.com_bot",
940
+ "pattern": "OnlineOrNot\\.com_bot",
941
+ "source": "monperrus/crawler-user-agents",
942
+ "sourceRevision": "v1.60.0@7baee040e862",
943
+ "addedAt": "2026-04-17"
944
+ },
945
+ {
946
+ "name": "OWLer-W",
947
+ "pattern": "OWLer-W",
948
+ "source": "monperrus/crawler-user-agents",
949
+ "sourceRevision": "v1.60.0@7baee040e862",
950
+ "addedAt": "2026-04-26"
951
+ },
952
+ {
953
+ "name": "Pagespeed/",
954
+ "pattern": "Pagespeed\\/",
955
+ "source": "monperrus/crawler-user-agents",
956
+ "sourceRevision": "v1.60.0@7baee040e862",
957
+ "addedAt": "2026-04-17"
958
+ },
959
+ {
960
+ "name": "Panopta",
961
+ "pattern": "Panopta",
962
+ "source": "monperrus/crawler-user-agents",
963
+ "sourceRevision": "v1.60.0@7baee040e862",
964
+ "addedAt": "2026-04-17"
965
+ },
966
+ {
967
+ "name": "ParselySharesBot",
968
+ "pattern": "ParselySharesBot",
969
+ "source": "monperrus/crawler-user-agents",
970
+ "sourceRevision": "v1.60.0@7baee040e862",
971
+ "addedAt": "2026-04-26"
972
+ },
973
+ {
974
+ "name": "PingAdmin.Ru/",
975
+ "pattern": "PingAdmin\\.Ru\\/",
976
+ "source": "monperrus/crawler-user-agents",
977
+ "sourceRevision": "v1.60.0@7baee040e862",
978
+ "addedAt": "2026-04-17"
979
+ },
980
+ {
981
+ "name": "pingping.io/",
982
+ "pattern": "pingping\\.io\\/",
983
+ "source": "monperrus/crawler-user-agents",
984
+ "sourceRevision": "v1.60.0@7baee040e862",
985
+ "addedAt": "2026-04-17"
986
+ },
987
+ {
988
+ "name": "PlagAwareBot",
989
+ "pattern": "PlagAwareBot",
990
+ "source": "monperrus/crawler-user-agents",
991
+ "sourceRevision": "v1.60.0@7baee040e862",
992
+ "addedAt": "2026-04-26"
993
+ },
994
+ {
995
+ "name": "Poduptime",
996
+ "pattern": "Poduptime",
997
+ "source": "monperrus/crawler-user-agents",
998
+ "sourceRevision": "v1.60.0@7baee040e862",
999
+ "addedAt": "2026-04-26"
1000
+ },
1001
+ {
1002
+ "name": "Pomothy-Bot",
1003
+ "pattern": "Pomothy-Bot",
1004
+ "source": "monperrus/crawler-user-agents",
1005
+ "sourceRevision": "v1.60.0@7baee040e862",
1006
+ "addedAt": "2026-04-26"
1007
+ },
1008
+ {
1009
+ "name": "PRTG Network Monitor",
1010
+ "pattern": "PRTG Network Monitor",
1011
+ "source": "monperrus/crawler-user-agents",
1012
+ "sourceRevision": "v1.60.0@7baee040e862",
1013
+ "addedAt": "2026-05-18"
1014
+ },
1015
+ {
1016
+ "name": "PRTGCloudBot/",
1017
+ "pattern": "PRTGCloudBot\\/",
1018
+ "source": "monperrus/crawler-user-agents",
1019
+ "sourceRevision": "v1.60.0@7baee040e862",
1020
+ "addedAt": "2026-04-17"
1021
+ },
1022
+ {
1023
+ "name": "pulsetic.com",
1024
+ "pattern": "pulsetic\\.com",
1025
+ "source": "monperrus/crawler-user-agents",
1026
+ "sourceRevision": "v1.60.0@7baee040e862",
1027
+ "addedAt": "2026-04-17"
1028
+ },
1029
+ {
1030
+ "name": "Qualys",
1031
+ "pattern": "Qualys",
1032
+ "source": "monperrus/crawler-user-agents",
1033
+ "sourceRevision": "v1.60.0@7baee040e862",
1034
+ "addedAt": "2026-04-26"
1035
+ },
1036
+ {
1037
+ "name": "Rackspace Monitoring/",
1038
+ "pattern": "Rackspace Monitoring\\/",
1039
+ "source": "monperrus/crawler-user-agents",
1040
+ "sourceRevision": "v1.60.0@7baee040e862",
1041
+ "addedAt": "2026-04-17"
1042
+ },
1043
+ {
1044
+ "name": "Rakuten Image extraction bot",
1045
+ "pattern": "Rakuten Image extraction bot",
1046
+ "source": "monperrus/crawler-user-agents",
1047
+ "sourceRevision": "v1.60.0@7baee040e862",
1048
+ "addedAt": "2026-04-26"
1049
+ },
1050
+ {
1051
+ "name": "RED/",
1052
+ "pattern": "RED\\/",
1053
+ "source": "monperrus/crawler-user-agents",
1054
+ "sourceRevision": "v1.60.0@7baee040e862",
1055
+ "addedAt": "2026-04-17"
1056
+ },
1057
+ {
1058
+ "name": "Rigor)",
1059
+ "pattern": "Rigor\\)",
1060
+ "source": "monperrus/crawler-user-agents",
1061
+ "sourceRevision": "v1.60.0@7baee040e862",
1062
+ "addedAt": "2026-04-17"
1063
+ },
1064
+ {
1065
+ "name": "RuxitSynthetic",
1066
+ "pattern": "RuxitSynthetic",
1067
+ "source": "monperrus/crawler-user-agents",
1068
+ "sourceRevision": "v1.60.0@7baee040e862",
1069
+ "addedAt": "2023-02-16"
1070
+ },
1071
+ {
1072
+ "name": "Scrunchbot",
1073
+ "pattern": "Scrunchbot",
1074
+ "source": "monperrus/crawler-user-agents",
1075
+ "sourceRevision": "v1.60.0@7baee040e862",
1076
+ "addedAt": "2026-04-26"
1077
+ },
1078
+ {
1079
+ "name": "SENTINEL-LinkCheck",
1080
+ "pattern": "SENTINEL-LinkCheck",
1081
+ "source": "monperrus/crawler-user-agents",
1082
+ "sourceRevision": "v1.60.0@7baee040e862",
1083
+ "addedAt": "2026-04-26"
1084
+ },
1085
+ {
1086
+ "name": "SentryUptimeBot/",
1087
+ "pattern": "SentryUptimeBot\\/",
1088
+ "source": "monperrus/crawler-user-agents",
1089
+ "sourceRevision": "v1.60.0@7baee040e862",
1090
+ "addedAt": "2026-04-17"
1091
+ },
1092
+ {
1093
+ "name": "SequelWP",
1094
+ "pattern": "SequelWP",
1095
+ "source": "monperrus/crawler-user-agents",
1096
+ "sourceRevision": "v1.60.0@7baee040e862",
1097
+ "addedAt": "2026-04-26"
1098
+ },
1099
+ {
1100
+ "name": "Server Density Service Monitoring",
1101
+ "pattern": "Server Density Service Monitoring",
1102
+ "source": "monperrus/crawler-user-agents",
1103
+ "sourceRevision": "v1.60.0@7baee040e862",
1104
+ "addedAt": "2026-04-17"
1105
+ },
1106
+ {
1107
+ "name": "ServerDensity",
1108
+ "pattern": "ServerDensity",
1109
+ "source": "monperrus/crawler-user-agents",
1110
+ "sourceRevision": "v1.60.0@7baee040e862",
1111
+ "addedAt": "2026-04-26"
1112
+ },
1113
+ {
1114
+ "name": "Silktide",
1115
+ "pattern": "Silktide",
1116
+ "source": "monperrus/crawler-user-agents",
1117
+ "sourceRevision": "v1.60.0@7baee040e862",
1118
+ "addedAt": "2026-04-26"
1119
+ },
1120
+ {
1121
+ "name": "Sindup",
1122
+ "pattern": "Sindup",
1123
+ "source": "monperrus/crawler-user-agents",
1124
+ "sourceRevision": "v1.60.0@7baee040e862",
1125
+ "addedAt": "2026-04-26"
1126
+ },
1127
+ {
1128
+ "name": "Site24x7",
1129
+ "pattern": "Site24x7",
1130
+ "source": "monperrus/crawler-user-agents",
1131
+ "sourceRevision": "v1.60.0@7baee040e862",
1132
+ "addedAt": "2026-04-17"
1133
+ },
1134
+ {
1135
+ "name": "Siteimprove.com",
1136
+ "pattern": "Siteimprove\\.com",
1137
+ "source": "monperrus/crawler-user-agents",
1138
+ "sourceRevision": "v1.60.0@7baee040e862",
1139
+ "addedAt": "2018-06-22"
1140
+ },
1141
+ {
1142
+ "name": "SiteLock",
1143
+ "pattern": "SiteLock",
1144
+ "source": "monperrus/crawler-user-agents",
1145
+ "sourceRevision": "v1.60.0@7baee040e862",
1146
+ "addedAt": "2026-04-26"
1147
+ },
1148
+ {
1149
+ "name": "SiteUptime.com",
1150
+ "pattern": "SiteUptime\\.com",
1151
+ "source": "monperrus/crawler-user-agents",
1152
+ "sourceRevision": "v1.60.0@7baee040e862",
1153
+ "addedAt": "2026-04-17"
1154
+ },
1155
+ {
1156
+ "name": "SleepBot",
1157
+ "pattern": "SleepBot",
1158
+ "source": "monperrus/crawler-user-agents",
1159
+ "sourceRevision": "v1.60.0@7baee040e862",
1160
+ "addedAt": "2026-04-26"
1161
+ },
1162
+ {
1163
+ "name": "solarwinds/",
1164
+ "pattern": "solarwinds\\/",
1165
+ "source": "monperrus/crawler-user-agents",
1166
+ "sourceRevision": "v1.60.0@7baee040e862",
1167
+ "addedAt": "2026-04-17"
1168
+ },
1169
+ {
1170
+ "name": "Spectate/",
1171
+ "pattern": "Spectate\\/",
1172
+ "source": "monperrus/crawler-user-agents",
1173
+ "sourceRevision": "v1.60.0@7baee040e862",
1174
+ "addedAt": "2026-04-17"
1175
+ },
1176
+ {
1177
+ "name": "Splunk",
1178
+ "pattern": "Splunk",
1179
+ "source": "monperrus/crawler-user-agents",
1180
+ "sourceRevision": "v1.60.0@7baee040e862",
1181
+ "addedAt": "2026-04-26"
1182
+ },
1183
+ {
1184
+ "name": "SQWatcher",
1185
+ "pattern": "SQWatcher",
1186
+ "source": "monperrus/crawler-user-agents",
1187
+ "sourceRevision": "v1.60.0@7baee040e862",
1188
+ "addedAt": "2026-04-26"
1189
+ },
1190
+ {
1191
+ "name": "StatusCake",
1192
+ "pattern": "StatusCake",
1193
+ "source": "monperrus/crawler-user-agents",
1194
+ "sourceRevision": "v1.60.0@7baee040e862",
1195
+ "addedAt": "2026-04-07"
1196
+ },
1197
+ {
1198
+ "name": "Streamline3Bot/",
1199
+ "pattern": "Streamline3Bot\\/",
1200
+ "source": "monperrus/crawler-user-agents",
1201
+ "sourceRevision": "v1.60.0@7baee040e862",
1202
+ "addedAt": "2019-07-21"
1203
+ },
1204
+ {
1205
+ "name": "sv-watchagent",
1206
+ "pattern": "sv-watchagent",
1207
+ "source": "monperrus/crawler-user-agents",
1208
+ "sourceRevision": "v1.60.0@7baee040e862",
1209
+ "addedAt": "2026-04-26"
1210
+ },
1211
+ {
1212
+ "name": "SynthesiBot",
1213
+ "pattern": "SynthesiBot",
1214
+ "source": "monperrus/crawler-user-agents",
1215
+ "sourceRevision": "v1.60.0@7baee040e862",
1216
+ "addedAt": "2026-04-26"
1217
+ },
1218
+ {
1219
+ "name": "synthetic-monitoring-agent/",
1220
+ "pattern": "synthetic-monitoring-agent\\/",
1221
+ "source": "monperrus/crawler-user-agents",
1222
+ "sourceRevision": "v1.60.0@7baee040e862",
1223
+ "addedAt": "2026-04-17"
1224
+ },
1225
+ {
1226
+ "name": "Termly",
1227
+ "pattern": "Termly",
1228
+ "source": "monperrus/crawler-user-agents",
1229
+ "sourceRevision": "v1.60.0@7baee040e862",
1230
+ "addedAt": "2026-04-26"
1231
+ },
1232
+ {
1233
+ "name": "ThousandEyes",
1234
+ "pattern": "ThousandEyes",
1235
+ "source": "monperrus/crawler-user-agents",
1236
+ "sourceRevision": "v1.60.0@7baee040e862",
1237
+ "addedAt": "2026-04-26"
1238
+ },
1239
+ {
1240
+ "name": "TSMbot",
1241
+ "pattern": "TSMbot",
1242
+ "source": "monperrus/crawler-user-agents",
1243
+ "sourceRevision": "v1.60.0@7baee040e862",
1244
+ "addedAt": "2026-04-26"
1245
+ },
1246
+ {
1247
+ "name": "updown.io",
1248
+ "pattern": "updown\\.io",
1249
+ "source": "monperrus/crawler-user-agents",
1250
+ "sourceRevision": "v1.60.0@7baee040e862",
1251
+ "addedAt": "2026-04-17"
1252
+ },
1253
+ {
1254
+ "name": "Uptime-Kuma",
1255
+ "pattern": "Uptime-Kuma",
1256
+ "source": "monperrus/crawler-user-agents",
1257
+ "sourceRevision": "v1.60.0@7baee040e862",
1258
+ "addedAt": "2022-10-17"
1259
+ },
1260
+ {
1261
+ "name": "Uptime/",
1262
+ "pattern": "Uptime\\/",
1263
+ "source": "monperrus/crawler-user-agents",
1264
+ "sourceRevision": "v1.60.0@7baee040e862",
1265
+ "addedAt": "2026-04-17"
1266
+ },
1267
+ {
1268
+ "name": "Uptimebot.org",
1269
+ "pattern": "Uptimebot\\.org",
1270
+ "source": "monperrus/crawler-user-agents",
1271
+ "sourceRevision": "v1.60.0@7baee040e862",
1272
+ "addedAt": "2019-01-17"
1273
+ },
1274
+ {
1275
+ "name": "UptimeBot/",
1276
+ "pattern": "UptimeBot\\/",
1277
+ "source": "monperrus/crawler-user-agents",
1278
+ "sourceRevision": "v1.60.0@7baee040e862",
1279
+ "addedAt": "2026-04-17"
1280
+ },
1281
+ {
1282
+ "name": "uptimedoctor",
1283
+ "pattern": "uptimedoctor",
1284
+ "source": "monperrus/crawler-user-agents",
1285
+ "sourceRevision": "v1.60.0@7baee040e862",
1286
+ "addedAt": "2026-04-17"
1287
+ },
1288
+ {
1289
+ "name": "UptimeRobot",
1290
+ "pattern": "UptimeRobot",
1291
+ "source": "monperrus/crawler-user-agents",
1292
+ "sourceRevision": "v1.60.0@7baee040e862",
1293
+ "addedAt": "2018-03-27"
1294
+ },
1295
+ {
1296
+ "name": "UptimeStatistics",
1297
+ "pattern": "UptimeStatistics",
1298
+ "source": "monperrus/crawler-user-agents",
1299
+ "sourceRevision": "v1.60.0@7baee040e862",
1300
+ "addedAt": "2026-04-26"
1301
+ },
1302
+ {
1303
+ "name": "Uptimia",
1304
+ "pattern": "Uptimia",
1305
+ "source": "monperrus/crawler-user-agents",
1306
+ "sourceRevision": "v1.60.0@7baee040e862",
1307
+ "addedAt": "2026-04-17"
1308
+ },
1309
+ {
1310
+ "name": "uptrends",
1311
+ "pattern": "uptrends",
1312
+ "source": "monperrus/crawler-user-agents",
1313
+ "sourceRevision": "v1.60.0@7baee040e862",
1314
+ "addedAt": "2026-04-17"
1315
+ },
1316
+ {
1317
+ "name": "UrlSuMa.de crawler",
1318
+ "pattern": "UrlSuMa\\.de crawler",
1319
+ "source": "monperrus/crawler-user-agents",
1320
+ "sourceRevision": "v1.60.0@7baee040e862",
1321
+ "addedAt": "2026-04-26"
1322
+ },
1323
+ {
1324
+ "name": "Validator.nu",
1325
+ "pattern": "Validator\\.nu",
1326
+ "source": "monperrus/crawler-user-agents",
1327
+ "sourceRevision": "v1.60.0@7baee040e862",
1328
+ "addedAt": "2018-10-14"
1329
+ },
1330
+ {
1331
+ "name": "videootv Bot",
1332
+ "pattern": "videootv Bot",
1333
+ "source": "monperrus/crawler-user-agents",
1334
+ "sourceRevision": "v1.60.0@7baee040e862",
1335
+ "addedAt": "2026-04-26"
1336
+ },
1337
+ {
1338
+ "name": "Vigil/",
1339
+ "pattern": "Vigil\\/",
1340
+ "source": "monperrus/crawler-user-agents",
1341
+ "sourceRevision": "v1.60.0@7baee040e862",
1342
+ "addedAt": "2020-03-16"
1343
+ },
1344
+ {
1345
+ "name": "vmcrawl",
1346
+ "pattern": "vmcrawl",
1347
+ "source": "monperrus/crawler-user-agents",
1348
+ "sourceRevision": "v1.60.0@7baee040e862",
1349
+ "addedAt": "2026-04-26"
1350
+ },
1351
+ {
1352
+ "name": "W3C_CSS_Validator",
1353
+ "pattern": "W3C_CSS_Validator",
1354
+ "source": "monperrus/crawler-user-agents",
1355
+ "sourceRevision": "v1.60.0@7baee040e862",
1356
+ "addedAt": "2018-10-14"
1357
+ },
1358
+ {
1359
+ "name": "W3C_I18n-Checker",
1360
+ "pattern": "W3C_I18n-Checker",
1361
+ "source": "monperrus/crawler-user-agents",
1362
+ "sourceRevision": "v1.60.0@7baee040e862",
1363
+ "addedAt": "2018-10-14"
1364
+ },
1365
+ {
1366
+ "name": "W3C_Unicorn",
1367
+ "pattern": "W3C_Unicorn",
1368
+ "source": "monperrus/crawler-user-agents",
1369
+ "sourceRevision": "v1.60.0@7baee040e862",
1370
+ "addedAt": "2018-10-14"
1371
+ },
1372
+ {
1373
+ "name": "W3C_Validator",
1374
+ "pattern": "W3C_Validator",
1375
+ "source": "monperrus/crawler-user-agents",
1376
+ "sourceRevision": "v1.60.0@7baee040e862",
1377
+ "addedAt": "2018-10-14"
1378
+ },
1379
+ {
1380
+ "name": "W3C-checklink",
1381
+ "pattern": "W3C-checklink",
1382
+ "source": "monperrus/crawler-user-agents",
1383
+ "sourceRevision": "v1.60.0@7baee040e862",
1384
+ "addedAt": "2018-10-14"
1385
+ },
1386
+ {
1387
+ "name": "W3C-mobileOK",
1388
+ "pattern": "W3C-mobileOK",
1389
+ "source": "monperrus/crawler-user-agents",
1390
+ "sourceRevision": "v1.60.0@7baee040e862",
1391
+ "addedAt": "2018-10-14"
1392
+ },
1393
+ {
1394
+ "name": "Watchbot monitoring robot",
1395
+ "pattern": "Watchbot monitoring robot",
1396
+ "source": "monperrus/crawler-user-agents",
1397
+ "sourceRevision": "v1.60.0@7baee040e862",
1398
+ "addedAt": "2026-04-26"
1399
+ },
1400
+ {
1401
+ "name": "WatchForBot",
1402
+ "pattern": "WatchForBot",
1403
+ "source": "monperrus/crawler-user-agents",
1404
+ "sourceRevision": "v1.60.0@7baee040e862",
1405
+ "addedAt": "2026-07-24"
1406
+ },
1407
+ {
1408
+ "name": "Watchful",
1409
+ "pattern": "Watchful",
1410
+ "source": "monperrus/crawler-user-agents",
1411
+ "sourceRevision": "v1.60.0@7baee040e862",
1412
+ "addedAt": "2026-04-26"
1413
+ },
1414
+ {
1415
+ "name": "WatchMouse",
1416
+ "pattern": "WatchMouse",
1417
+ "source": "monperrus/crawler-user-agents",
1418
+ "sourceRevision": "v1.60.0@7baee040e862",
1419
+ "addedAt": "2026-04-17"
1420
+ },
1421
+ {
1422
+ "name": "webmon",
1423
+ "pattern": "webmon ",
1424
+ "source": "monperrus/crawler-user-agents",
1425
+ "sourceRevision": "v1.60.0@7baee040e862",
1426
+ "addedAt": "2026-09-17"
1427
+ },
1428
+ {
1429
+ "name": "WebsiteOps",
1430
+ "pattern": "WebsiteOps",
1431
+ "source": "monperrus/crawler-user-agents",
1432
+ "sourceRevision": "v1.60.0@7baee040e862",
1433
+ "addedAt": "2026-04-17"
1434
+ },
1435
+ {
1436
+ "name": "websitepulse",
1437
+ "pattern": "websitepulse",
1438
+ "source": "monperrus/crawler-user-agents",
1439
+ "sourceRevision": "v1.60.0@7baee040e862",
1440
+ "addedAt": "2026-04-17"
1441
+ },
1442
+ {
1443
+ "name": "WEDOS OnLine",
1444
+ "pattern": "WEDOS OnLine",
1445
+ "source": "monperrus/crawler-user-agents",
1446
+ "sourceRevision": "v1.60.0@7baee040e862",
1447
+ "addedAt": "2026-04-17"
1448
+ },
1449
+ {
1450
+ "name": "wheresitup.com/",
1451
+ "pattern": "wheresitup\\.com\\/",
1452
+ "source": "monperrus/crawler-user-agents",
1453
+ "sourceRevision": "v1.60.0@7baee040e862",
1454
+ "addedAt": "2026-04-17"
1455
+ },
1456
+ {
1457
+ "name": "WISEbot",
1458
+ "pattern": "WISEbot",
1459
+ "source": "monperrus/crawler-user-agents",
1460
+ "sourceRevision": "v1.60.0@7baee040e862",
1461
+ "addedAt": "2026-04-26"
1462
+ },
1463
+ {
1464
+ "name": "WormlyBot",
1465
+ "pattern": "WormlyBot",
1466
+ "source": "monperrus/crawler-user-agents",
1467
+ "sourceRevision": "v1.60.0@7baee040e862",
1468
+ "addedAt": "2026-04-17"
1469
+ },
1470
+ {
1471
+ "name": "WOVN Crawler",
1472
+ "pattern": "WOVN Crawler",
1473
+ "source": "monperrus/crawler-user-agents",
1474
+ "sourceRevision": "v1.60.0@7baee040e862",
1475
+ "addedAt": "2026-04-26"
1476
+ },
1477
+ {
1478
+ "name": "WPMU DEV Hub",
1479
+ "pattern": "WPMU DEV Hub",
1480
+ "source": "monperrus/crawler-user-agents",
1481
+ "sourceRevision": "v1.60.0@7baee040e862",
1482
+ "addedAt": "2026-04-26"
1483
+ },
1484
+ {
1485
+ "name": "WPMUDEV Uptime Monitor",
1486
+ "pattern": "WPMUDEV Uptime Monitor",
1487
+ "source": "monperrus/crawler-user-agents",
1488
+ "sourceRevision": "v1.60.0@7baee040e862",
1489
+ "addedAt": "2026-04-17"
1490
+ },
1491
+ {
1492
+ "name": "WPUmbrella",
1493
+ "pattern": "WPUmbrella",
1494
+ "source": "monperrus/crawler-user-agents",
1495
+ "sourceRevision": "v1.60.0@7baee040e862",
1496
+ "addedAt": "2026-04-17"
1497
+ },
1498
+ {
1499
+ "name": "www.uptime.com",
1500
+ "pattern": "www\\.uptime\\.com",
1501
+ "source": "monperrus/crawler-user-agents",
1502
+ "sourceRevision": "v1.60.0@7baee040e862",
1503
+ "addedAt": "2019-07-21"
1504
+ },
1505
+ {
1506
+ "name": "YLT Chrome",
1507
+ "pattern": "YLT Chrome",
1508
+ "source": "monperrus/crawler-user-agents",
1509
+ "sourceRevision": "v1.60.0@7baee040e862",
1510
+ "addedAt": "2026-04-17"
1511
+ },
1512
+ {
1513
+ "name": "Zabbix",
1514
+ "pattern": "Zabbix",
1515
+ "source": "monperrus/crawler-user-agents",
1516
+ "sourceRevision": "v1.60.0@7baee040e862",
1517
+ "addedAt": "2018-09-05"
1518
+ }
1519
+ ]
1520
+ }