n8n-nodes-soar 0.1.16 → 0.1.19
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/dist/common/asset.js +141 -0
- package/dist/common/collector.js +32 -0
- package/dist/common/connectionType.js +15 -0
- package/dist/common/executor/docker.executor.js +97 -0
- package/dist/common/executor/executor.js +48 -0
- package/dist/common/executor/k8s.executor.js +190 -0
- package/dist/common/runner/container.runner.js +174 -0
- package/dist/common/runner/priority.js +44 -0
- package/dist/common/runner/priority.runner.js +38 -0
- package/dist/common/runner/runner.js +57 -0
- package/dist/credentials/Docker/Docker.credentials.js +149 -0
- package/dist/credentials/Docker/docker.svg +7 -0
- package/dist/credentials/{FofaCredentials.credentials.js → FofaApi/FofaApi.credentials.js} +5 -5
- package/dist/credentials/Kubernetes/Kubernetes.credentials.js +82 -0
- package/dist/credentials/Kubernetes/k8s.svg +1 -0
- package/dist/nodes/Asset/SplitAsset/SplitAsset.node.js +110 -0
- package/dist/nodes/Asset/SplitAsset/split.svg +13 -0
- package/dist/nodes/Collector/Collector.node.js +123 -0
- package/dist/nodes/Executor/DockerExecutor/DockerExecutor.node.js +59 -0
- package/dist/nodes/Executor/DockerExecutor/docker.svg +7 -0
- package/dist/nodes/Executor/KubernetesExecutor/KubernetesExecutor.node.js +59 -0
- package/dist/nodes/Executor/KubernetesExecutor/k8s.svg +1 -0
- package/dist/nodes/Fofa/Fofa.node.js +20 -7
- package/dist/nodes/Katana/Katana.node.js +1 -1
- package/dist/nodes/Nuclei/Nuclei.node.js +1 -1
- package/dist/nodes/Runner/Dns/Dns.node.js +199 -0
- package/dist/nodes/Runner/Dns/script.js +81 -0
- package/dist/nodes/Runner/Httpx/Httpx.node.js +830 -0
- package/dist/nodes/Runner/Httpx/httpx.svg +3 -0
- package/dist/nodes/Runner/Katana/Katana.node.js +521 -0
- package/dist/nodes/Runner/Katana/a.json +30 -0
- package/dist/nodes/Runner/Katana/katana.svg +3 -0
- package/dist/nodes/Runner/Masscan/Masscan.node.js +151 -0
- package/dist/nodes/Runner/Masscan/masscan.svg +70 -0
- package/dist/nodes/{Naabu → Runner/Naabu}/Naabu.node.js +86 -48
- package/dist/nodes/Runner/Naabu/naabu.svg +3 -0
- package/dist/nodes/Runner/Nuclei/Nuclei.node.js +1057 -0
- package/dist/nodes/Runner/Nuclei/a.json +48 -0
- package/dist/nodes/Runner/Nuclei/nuclei.svg +3 -0
- package/dist/nodes/Runner/Priority/Priority.node.js +110 -0
- package/dist/nodes/Runner/PriorityAdd/PriorityAdd.node.js +97 -0
- package/dist/nodes/Runner/Router/SwitchRouter/SwitchRouter.node.js +101 -0
- package/dist/nodes/{Subfinder → Runner/Subfinder}/Subfinder.node.js +74 -43
- package/dist/nodes/Runner/Subfinder/subfinder.svg +3 -0
- package/dist/nodes/Runner/Unauthor/Unauthor.node.js +169 -0
- package/package.json +63 -59
- package/dist/nodes/Cdncheck/Cdncheck.node.json +0 -9
- package/dist/nodes/Fofa/Fofa.node.json +0 -9
- package/dist/nodes/Httpx/Httpx.node.json +0 -9
- package/dist/nodes/Naabu/Naabu.node.json +0 -9
- package/dist/nodes/Subfinder/Subfinder.node.json +0 -9
- package/dist/utils/executor.js +0 -233
- package/dist/utils/interface.js +0 -4
- package/dist/utils/runner/docker.runner.js +0 -72
- package/dist/utils/runner/k8s.runner.js +0 -167
- package/dist/utils/runner/runner.js +0 -11
- /package/dist/credentials/{fofa.svg → FofaApi/fofa.svg} +0 -0
@@ -0,0 +1,3 @@
|
|
1
|
+
<svg width="596" height="596" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
2
|
+
<image x="0" y="196" width="596" height="204" href="data:image/png;base64,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" />
|
3
|
+
</svg>
|
@@ -0,0 +1,521 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "Katana", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return Katana;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _classtransformer = require("class-transformer");
|
12
|
+
const _asset = require("../../../common/asset");
|
13
|
+
const _connectionType = require("../../../common/connectionType");
|
14
|
+
const _containerrunner = require("../../../common/runner/container.runner");
|
15
|
+
const _priority = require("../../../common/runner/priority");
|
16
|
+
function _define_property(obj, key, value) {
|
17
|
+
if (key in obj) {
|
18
|
+
Object.defineProperty(obj, key, {
|
19
|
+
value: value,
|
20
|
+
enumerable: true,
|
21
|
+
configurable: true,
|
22
|
+
writable: true
|
23
|
+
});
|
24
|
+
} else {
|
25
|
+
obj[key] = value;
|
26
|
+
}
|
27
|
+
return obj;
|
28
|
+
}
|
29
|
+
class KatanaRunner extends _containerrunner.ContainerRunner {
|
30
|
+
cmd(assets) {
|
31
|
+
const path = this.func.getNodeParameter("path", this.itemIndex);
|
32
|
+
return [
|
33
|
+
"katana",
|
34
|
+
"-disable-update-check",
|
35
|
+
"-jsonl",
|
36
|
+
"-silent",
|
37
|
+
"-list",
|
38
|
+
assets.map((a)=>`${a.getHostAndPort()}${path}`).join(","),
|
39
|
+
...this.collectGeneratedOptions([
|
40
|
+
"options.configuration",
|
41
|
+
"options.headless",
|
42
|
+
"options.scope",
|
43
|
+
"options.filter",
|
44
|
+
"options.rateLimit",
|
45
|
+
"options.output"
|
46
|
+
])
|
47
|
+
];
|
48
|
+
}
|
49
|
+
process(rawAssets, stdout) {
|
50
|
+
const resultMap = new Map();
|
51
|
+
for (const line of stdout.trim().split("\n")){
|
52
|
+
const json = JSON.parse(line);
|
53
|
+
const endpoint = json.request.endpoint;
|
54
|
+
const url = new URL(endpoint);
|
55
|
+
if (!url.port) {
|
56
|
+
if (url.protocol === "https") {
|
57
|
+
url.port = "443";
|
58
|
+
} else if (url.protocol === "http") {
|
59
|
+
url.port = "80";
|
60
|
+
}
|
61
|
+
}
|
62
|
+
resultMap.set(`${url.hostname}:${url.port}`, (resultMap.get(`${url.hostname}:${url.port}`) || []).concat(json));
|
63
|
+
}
|
64
|
+
const resultAssets = [
|
65
|
+
...rawAssets.map((a)=>{
|
66
|
+
const result = resultMap.get(a.getHostAndPort());
|
67
|
+
if (result) {
|
68
|
+
resultMap.delete(a.getHostAndPort());
|
69
|
+
a.response = result;
|
70
|
+
a.success = true;
|
71
|
+
}
|
72
|
+
return a;
|
73
|
+
})
|
74
|
+
];
|
75
|
+
resultMap.forEach((result, [host, port])=>{
|
76
|
+
resultAssets.push(...result.map((r)=>(0, _classtransformer.plainToInstance)(_asset.Asset, {
|
77
|
+
basic: {
|
78
|
+
host,
|
79
|
+
port
|
80
|
+
},
|
81
|
+
response: r,
|
82
|
+
success: true
|
83
|
+
})));
|
84
|
+
});
|
85
|
+
return resultAssets;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
class Katana {
|
89
|
+
async supplyData(itemIndex) {
|
90
|
+
return {
|
91
|
+
response: [
|
92
|
+
new KatanaRunner("katana", _priority.APP_RUNNER_PRIORITY, this, itemIndex)
|
93
|
+
]
|
94
|
+
};
|
95
|
+
}
|
96
|
+
constructor(){
|
97
|
+
_define_property(this, "description", {
|
98
|
+
displayName: "Runner: Katana",
|
99
|
+
name: "katana",
|
100
|
+
icon: "svg:katana.svg",
|
101
|
+
group: [
|
102
|
+
"transform"
|
103
|
+
],
|
104
|
+
codex: {
|
105
|
+
alias: [
|
106
|
+
"Katana"
|
107
|
+
],
|
108
|
+
categories: [
|
109
|
+
"SOAR"
|
110
|
+
],
|
111
|
+
subcategories: {
|
112
|
+
SOAR: [
|
113
|
+
"runner"
|
114
|
+
]
|
115
|
+
},
|
116
|
+
resources: {
|
117
|
+
primaryDocumentation: [
|
118
|
+
{
|
119
|
+
url: "https://github.com/projectdiscovery/katana/"
|
120
|
+
}
|
121
|
+
]
|
122
|
+
}
|
123
|
+
},
|
124
|
+
version: 1,
|
125
|
+
description: "Interact with Katana",
|
126
|
+
defaults: {
|
127
|
+
name: "Katana"
|
128
|
+
},
|
129
|
+
// eslint-disable-next-line n8n-nodes-base/node-class-description-inputs-wrong-regular-node
|
130
|
+
inputs: [],
|
131
|
+
// eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
|
132
|
+
outputs: [
|
133
|
+
_connectionType.NodeConnectionType.Runner
|
134
|
+
],
|
135
|
+
properties: [
|
136
|
+
{
|
137
|
+
displayName: "Only Success",
|
138
|
+
name: "onlySuccess",
|
139
|
+
type: "boolean",
|
140
|
+
default: true
|
141
|
+
},
|
142
|
+
{
|
143
|
+
displayName: "Path",
|
144
|
+
name: "path",
|
145
|
+
type: "string",
|
146
|
+
default: "/"
|
147
|
+
},
|
148
|
+
{
|
149
|
+
displayName: "Options",
|
150
|
+
name: "options",
|
151
|
+
type: "fixedCollection",
|
152
|
+
default: {},
|
153
|
+
typeOptions: {
|
154
|
+
multipleValues: true
|
155
|
+
},
|
156
|
+
options: [
|
157
|
+
{
|
158
|
+
displayName: "Configuration",
|
159
|
+
name: "configuration",
|
160
|
+
values: [
|
161
|
+
{
|
162
|
+
displayName: "Options",
|
163
|
+
name: "key",
|
164
|
+
type: "options",
|
165
|
+
default: "-automatic-form-fill",
|
166
|
+
options: [
|
167
|
+
{
|
168
|
+
name: "Automatic Form Fill",
|
169
|
+
value: "-automatic-form-fill",
|
170
|
+
description: "Enable automatic form filling (experimental)"
|
171
|
+
},
|
172
|
+
{
|
173
|
+
name: "Config",
|
174
|
+
value: "-config",
|
175
|
+
description: "Path to the katana configuration file (string)"
|
176
|
+
},
|
177
|
+
{
|
178
|
+
name: "Crawl Duration",
|
179
|
+
value: "-crawl-duration",
|
180
|
+
description: "Maximum duration to crawl the target for (s, m, h, d) (default s) (value)"
|
181
|
+
},
|
182
|
+
{
|
183
|
+
name: "Depth",
|
184
|
+
value: "-depth",
|
185
|
+
description: "Maximum depth to crawl (default 3) (int)"
|
186
|
+
},
|
187
|
+
{
|
188
|
+
name: "Field Config",
|
189
|
+
value: "-field-config",
|
190
|
+
description: "Path to custom field configuration file (string)"
|
191
|
+
},
|
192
|
+
{
|
193
|
+
name: "Form Config",
|
194
|
+
value: "-form-config",
|
195
|
+
description: "Path to custom form configuration file (string)"
|
196
|
+
},
|
197
|
+
{
|
198
|
+
name: "Form Extraction",
|
199
|
+
value: "-form-extraction",
|
200
|
+
description: "Extract form, input, textarea & select elements in jsonl output"
|
201
|
+
},
|
202
|
+
{
|
203
|
+
name: "Headers",
|
204
|
+
value: "-headers",
|
205
|
+
description: "Custom header/cookie to include in all http request in header:value format (file) (string[])"
|
206
|
+
},
|
207
|
+
{
|
208
|
+
name: "Ignore Query Params",
|
209
|
+
value: "-ignore-query-params",
|
210
|
+
description: "Ignore crawling same path with different query-param values"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
name: "Js Crawl",
|
214
|
+
value: "-js-crawl",
|
215
|
+
description: "Enable endpoint parsing / crawling in javascript file"
|
216
|
+
},
|
217
|
+
{
|
218
|
+
name: "Jsluice",
|
219
|
+
value: "-jsluice",
|
220
|
+
description: "Enable jsluice parsing in javascript file (memory intensive)"
|
221
|
+
},
|
222
|
+
{
|
223
|
+
name: "Known Files",
|
224
|
+
value: "-known-files",
|
225
|
+
description: "Enable crawling of known files (all,robotstxt,sitemapxml) (string)"
|
226
|
+
},
|
227
|
+
{
|
228
|
+
name: "Max Response Size",
|
229
|
+
value: "-max-response-size",
|
230
|
+
description: "Maximum response size to read (default 9223372036854775807) (int)"
|
231
|
+
},
|
232
|
+
{
|
233
|
+
name: "Proxy",
|
234
|
+
value: "-proxy",
|
235
|
+
description: "Http/socks5 proxy to use (string)"
|
236
|
+
},
|
237
|
+
{
|
238
|
+
name: "Resolvers",
|
239
|
+
value: "-resolvers",
|
240
|
+
description: "List of custom resolver (file or comma-separated) (string[])"
|
241
|
+
},
|
242
|
+
{
|
243
|
+
name: "Retry",
|
244
|
+
value: "-retry",
|
245
|
+
description: "Number of times to retry the request (default 1) (int)"
|
246
|
+
},
|
247
|
+
{
|
248
|
+
name: "Strategy",
|
249
|
+
value: "-strategy",
|
250
|
+
description: 'Visit strategy (depth-first, breadth-first) (default "depth-first") (string)'
|
251
|
+
},
|
252
|
+
{
|
253
|
+
name: "Timeout",
|
254
|
+
value: "-timeout",
|
255
|
+
description: "Time to wait for request in seconds (default 10) (int)"
|
256
|
+
},
|
257
|
+
{
|
258
|
+
name: "Tls Impersonate",
|
259
|
+
value: "-tls-impersonate",
|
260
|
+
description: "Enable experimental client hello (ja3) tls randomization"
|
261
|
+
}
|
262
|
+
]
|
263
|
+
},
|
264
|
+
{
|
265
|
+
displayName: "Value",
|
266
|
+
name: "value",
|
267
|
+
type: "string",
|
268
|
+
default: ""
|
269
|
+
}
|
270
|
+
]
|
271
|
+
},
|
272
|
+
{
|
273
|
+
displayName: "Headless",
|
274
|
+
name: "headless",
|
275
|
+
values: [
|
276
|
+
{
|
277
|
+
displayName: "Options",
|
278
|
+
name: "key",
|
279
|
+
type: "options",
|
280
|
+
default: "-chrome-data-dir",
|
281
|
+
options: [
|
282
|
+
{
|
283
|
+
name: "Chrome Data Dir",
|
284
|
+
value: "-chrome-data-dir",
|
285
|
+
description: "Path to store chrome browser data (string)"
|
286
|
+
},
|
287
|
+
{
|
288
|
+
name: "Chrome Ws URL",
|
289
|
+
value: "-chrome-ws-url",
|
290
|
+
description: "Use chrome browser instance launched elsewhere with the debugger listening at this URL (string)"
|
291
|
+
},
|
292
|
+
{
|
293
|
+
name: "Headless",
|
294
|
+
value: "-headless",
|
295
|
+
description: "Enable headless hybrid crawling (experimental)"
|
296
|
+
},
|
297
|
+
{
|
298
|
+
name: "Headless Options",
|
299
|
+
value: "-headless-options",
|
300
|
+
description: "Start headless chrome with additional options (string[])"
|
301
|
+
},
|
302
|
+
{
|
303
|
+
name: "No Incognito",
|
304
|
+
value: "-no-incognito",
|
305
|
+
description: "Start headless chrome without incognito mode"
|
306
|
+
},
|
307
|
+
{
|
308
|
+
name: "No Sandbox",
|
309
|
+
value: "-no-sandbox",
|
310
|
+
description: "Start headless chrome in --no-sandbox mode"
|
311
|
+
},
|
312
|
+
{
|
313
|
+
name: "Show Browser",
|
314
|
+
value: "-show-browser",
|
315
|
+
description: "Show the browser on the screen with headless mode"
|
316
|
+
},
|
317
|
+
{
|
318
|
+
name: "System Chrome",
|
319
|
+
value: "-system-chrome",
|
320
|
+
description: "Use local installed chrome browser instead of katana installed"
|
321
|
+
},
|
322
|
+
{
|
323
|
+
name: "System Chrome Path",
|
324
|
+
value: "-system-chrome-path",
|
325
|
+
description: "Use specified chrome browser for headless crawling (string)"
|
326
|
+
},
|
327
|
+
{
|
328
|
+
name: "Xhr Extraction",
|
329
|
+
value: "-xhr-extraction",
|
330
|
+
description: "Extract xhr request URL,method in jsonl output"
|
331
|
+
}
|
332
|
+
]
|
333
|
+
},
|
334
|
+
{
|
335
|
+
displayName: "Value",
|
336
|
+
name: "value",
|
337
|
+
type: "string",
|
338
|
+
default: ""
|
339
|
+
}
|
340
|
+
]
|
341
|
+
},
|
342
|
+
{
|
343
|
+
displayName: "Scope",
|
344
|
+
name: "scope",
|
345
|
+
values: [
|
346
|
+
{
|
347
|
+
displayName: "Options",
|
348
|
+
name: "key",
|
349
|
+
type: "options",
|
350
|
+
default: "-crawl-out-scope",
|
351
|
+
options: [
|
352
|
+
{
|
353
|
+
name: "Crawl Out Scope",
|
354
|
+
value: "-crawl-out-scope",
|
355
|
+
description: "Out of scope URL regex to be excluded by crawler (string[])"
|
356
|
+
},
|
357
|
+
{
|
358
|
+
name: "Crawl Scope",
|
359
|
+
value: "-crawl-scope",
|
360
|
+
description: "In scope URL regex to be followed by crawler (string[])"
|
361
|
+
},
|
362
|
+
{
|
363
|
+
name: "Display Out Scope",
|
364
|
+
value: "-display-out-scope",
|
365
|
+
description: "Display external endpoint from scoped crawling"
|
366
|
+
},
|
367
|
+
{
|
368
|
+
name: "Field Scope",
|
369
|
+
value: "-field-scope",
|
370
|
+
description: 'Pre-defined scope field (dn,rdn,fqdn) (default "rdn") (string)'
|
371
|
+
},
|
372
|
+
{
|
373
|
+
name: "No Scope",
|
374
|
+
value: "-no-scope",
|
375
|
+
description: "Disables host based default scope"
|
376
|
+
}
|
377
|
+
]
|
378
|
+
},
|
379
|
+
{
|
380
|
+
displayName: "Value",
|
381
|
+
name: "value",
|
382
|
+
type: "string",
|
383
|
+
default: ""
|
384
|
+
}
|
385
|
+
]
|
386
|
+
},
|
387
|
+
{
|
388
|
+
displayName: "Filter",
|
389
|
+
name: "filter",
|
390
|
+
values: [
|
391
|
+
{
|
392
|
+
displayName: "Options",
|
393
|
+
name: "key",
|
394
|
+
type: "options",
|
395
|
+
default: "-extension-filter",
|
396
|
+
options: [
|
397
|
+
{
|
398
|
+
name: "Extension Filter",
|
399
|
+
value: "-extension-filter",
|
400
|
+
description: "Filter output for given extension (eg, -ef png,css) (string[])"
|
401
|
+
},
|
402
|
+
{
|
403
|
+
name: "Extension Match",
|
404
|
+
value: "-extension-match",
|
405
|
+
description: "Match output for given extension (eg, -em php,html,js) (string[])"
|
406
|
+
},
|
407
|
+
{
|
408
|
+
name: "Field",
|
409
|
+
value: "-field",
|
410
|
+
description: "Field to display in output (URL,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) (string)"
|
411
|
+
},
|
412
|
+
{
|
413
|
+
name: "Filter Condition",
|
414
|
+
value: "-filter-condition",
|
415
|
+
description: "Filter response with dsl based condition (string)"
|
416
|
+
},
|
417
|
+
{
|
418
|
+
name: "Filter Regex",
|
419
|
+
value: "-filter-regex",
|
420
|
+
description: "Regex or list of regex to filter on output URL (cli, file) (string[])"
|
421
|
+
},
|
422
|
+
{
|
423
|
+
name: "Match Condition",
|
424
|
+
value: "-match-condition",
|
425
|
+
description: "Match response with dsl based condition (string)"
|
426
|
+
},
|
427
|
+
{
|
428
|
+
name: "Match Regex",
|
429
|
+
value: "-match-regex",
|
430
|
+
description: "Regex or list of regex to match on output URL (cli, file) (string[])"
|
431
|
+
},
|
432
|
+
{
|
433
|
+
name: "Store Field",
|
434
|
+
value: "-store-field",
|
435
|
+
description: "Field to store in per-host output (URL,path,fqdn,rdn,rurl,qurl,qpath,file,ufile,key,value,kv,dir,udir) (string)"
|
436
|
+
}
|
437
|
+
]
|
438
|
+
},
|
439
|
+
{
|
440
|
+
displayName: "Value",
|
441
|
+
name: "value",
|
442
|
+
type: "string",
|
443
|
+
default: ""
|
444
|
+
}
|
445
|
+
]
|
446
|
+
},
|
447
|
+
{
|
448
|
+
displayName: "Rate Limit",
|
449
|
+
name: "rateLimit",
|
450
|
+
values: [
|
451
|
+
{
|
452
|
+
displayName: "Options",
|
453
|
+
name: "key",
|
454
|
+
type: "options",
|
455
|
+
default: "-concurrency",
|
456
|
+
options: [
|
457
|
+
{
|
458
|
+
name: "Concurrency",
|
459
|
+
value: "-concurrency",
|
460
|
+
description: "Number of concurrent fetchers to use (default 10) (int)"
|
461
|
+
},
|
462
|
+
{
|
463
|
+
name: "Delay",
|
464
|
+
value: "-delay",
|
465
|
+
description: "Request delay between each request in seconds (int)"
|
466
|
+
},
|
467
|
+
{
|
468
|
+
name: "Parallelism",
|
469
|
+
value: "-parallelism",
|
470
|
+
description: "Number of concurrent inputs to process (default 10) (int)"
|
471
|
+
},
|
472
|
+
{
|
473
|
+
name: "Rate Limit",
|
474
|
+
value: "-rate-limit",
|
475
|
+
description: "Maximum requests to send per second (default 150) (int)"
|
476
|
+
},
|
477
|
+
{
|
478
|
+
name: "Rate Limit Minute",
|
479
|
+
value: "-rate-limit-minute",
|
480
|
+
description: "Maximum number of requests to send per minute (int)"
|
481
|
+
}
|
482
|
+
]
|
483
|
+
},
|
484
|
+
{
|
485
|
+
displayName: "Value",
|
486
|
+
name: "value",
|
487
|
+
type: "string",
|
488
|
+
default: ""
|
489
|
+
}
|
490
|
+
]
|
491
|
+
},
|
492
|
+
{
|
493
|
+
displayName: "Output",
|
494
|
+
name: "output",
|
495
|
+
values: [
|
496
|
+
{
|
497
|
+
displayName: "Options",
|
498
|
+
name: "key",
|
499
|
+
type: "options",
|
500
|
+
default: "-omit-raw",
|
501
|
+
options: [
|
502
|
+
{
|
503
|
+
name: "Omit Raw",
|
504
|
+
value: "-omit-raw",
|
505
|
+
description: "Omit raw requests/responses from jsonl output"
|
506
|
+
},
|
507
|
+
{
|
508
|
+
name: "Omit Body",
|
509
|
+
value: "-omit-body",
|
510
|
+
description: "Omit response body from jsonl output"
|
511
|
+
}
|
512
|
+
]
|
513
|
+
}
|
514
|
+
]
|
515
|
+
}
|
516
|
+
]
|
517
|
+
}
|
518
|
+
]
|
519
|
+
});
|
520
|
+
}
|
521
|
+
}
|