n8n-nodes-soar 0.1.22 → 0.1.23
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 +42 -56
- package/dist/common/connectionType.js +3 -2
- package/dist/common/executor/abstract.executor.js +51 -0
- package/dist/common/executor/docker.executor.js +57 -31
- package/dist/common/executor/jsonrpc.executor.js +123 -0
- package/dist/common/executor/{k8s.executor.js → kubernetes.executor.js} +56 -33
- package/dist/common/interface.js +4 -0
- package/dist/common/memorizer/abstract.memorizer.js +49 -0
- package/dist/common/memorizer/asset.memorizer.js +16 -0
- package/dist/common/memorizer/general.memorizer.js +17 -0
- package/dist/common/memorizer/storage/redis.storage.js +71 -0
- package/dist/common/proxy/abstract.proxy.js +4 -0
- package/dist/common/proxy/executor.proxy.js +50 -0
- package/dist/common/proxy/memorizer.proxy.js +51 -0
- package/dist/common/proxy/runner.proxy.js +60 -0
- package/dist/common/runner/container.runner.js +93 -108
- package/dist/common/runner/decorator/assetRunner.js +26 -0
- package/dist/common/runner/decorator/index.js +20 -0
- package/dist/common/runner/decorator/onlySuccess.js +20 -0
- package/dist/common/runner/{priority.js → decorator/priority.js} +16 -8
- package/dist/common/runner/priority.runner.js +6 -7
- package/dist/common/runner/runner.js +10 -29
- package/dist/constants/image.js +11 -0
- package/dist/credentials/SoarRunner/SoarRunner.credentials.js +73 -0
- package/dist/credentials/SoarRunner/icon.svg +8 -0
- package/dist/credentials/VulboxApi/VulboxApi.credentials.js +157 -0
- package/dist/credentials/VulboxApi/vulbox.svg +18 -0
- package/dist/nodes/Collector/Collector.node.js +56 -47
- package/dist/nodes/EmptyCheck/EmptyCheck.node.js +69 -0
- package/dist/nodes/Executor/DockerExecutor/DockerExecutor.node.js +80 -3
- package/dist/nodes/Executor/JsonRpcExecutor/JsonRpcExecutor.node.js +69 -0
- package/dist/nodes/Executor/JsonRpcExecutor/icon.svg +8 -0
- package/dist/nodes/Executor/KubernetesExecutor/KubernetesExecutor.node.js +112 -4
- package/dist/nodes/Fofa/Fofa.node.js +23 -14
- package/dist/nodes/Memorizer/Redis/RedisMemorizer.node.js +127 -0
- package/dist/nodes/Memorizer/Redis/redis.svg +1 -0
- package/dist/nodes/Platform/Vulbox/Vulbox.node.js +166 -0
- package/dist/nodes/Platform/Vulbox/api.js +211 -0
- package/dist/nodes/Platform/Vulbox/methods.js +124 -0
- package/dist/nodes/Platform/Vulbox/properties.js +403 -0
- package/dist/nodes/Platform/Vulbox/vulbox.svg +18 -0
- package/dist/nodes/Runner/Cmd/Cmd.node.js +105 -0
- package/dist/nodes/Runner/Dns/Dns.node.js +38 -22
- package/dist/nodes/Runner/Httpx/Httpx.node.js +147 -18
- package/dist/nodes/Runner/IcpLookup/IcpLookup.node.js +166 -0
- package/dist/nodes/Runner/IcpLookup/icp.svg +3 -0
- package/dist/nodes/Runner/Katana/Katana.node.js +42 -29
- package/dist/nodes/Runner/Masscan/Masscan.node.js +51 -29
- package/dist/nodes/Runner/Naabu/Naabu.node.js +35 -17
- package/dist/nodes/Runner/Nuclei/Nuclei.node.js +32 -14
- package/dist/nodes/Runner/Priority/Priority.node.js +2 -1
- package/dist/nodes/Runner/Subfinder/Subfinder.node.js +38 -15
- package/dist/nodes/Runner/Unauthor/Unauthor.node.js +32 -14
- package/dist/utils/decorator.js +22 -0
- package/package.json +19 -5
- package/dist/common/executor/executor.js +0 -48
- package/dist/nodes/Asset/SplitAsset/SplitAsset.node.js +0 -110
- package/dist/nodes/Asset/SplitAsset/split.svg +0 -13
- package/dist/nodes/Cdncheck/Cdncheck.node.js +0 -229
- package/dist/nodes/Httpx/Httpx.node.js +0 -754
- package/dist/nodes/Katana/Katana.node.js +0 -456
- package/dist/nodes/Katana/Katana.node.json +0 -9
- package/dist/nodes/Nuclei/Nuclei.node.js +0 -1024
- package/dist/nodes/Nuclei/Nuclei.node.json +0 -9
- package/dist/nodes/Runner/Katana/a.json +0 -30
- package/dist/nodes/Runner/Nuclei/a.json +0 -48
- package/dist/nodes/Runner/PriorityAdd/PriorityAdd.node.js +0 -97
- package/dist/nodes/Runner/Router/SwitchRouter/SwitchRouter.node.js +0 -101
- package/dist/nodes/Tshark/Tshark.node.js +0 -104
- package/dist/nodes/Tshark/Tshark.node.json +0 -9
- package/dist/nodes/Tshark/tshark.svg +0 -64
- package/dist/nodes/Unauthor/Unauthor.node.js +0 -135
- package/dist/nodes/Unauthor/Unauthor.node.json +0 -9
- package/dist/nodes/Unauthor/unauthor.svg +0 -7
- package/dist/nodes/Uncover/Uncover.node.js +0 -280
- package/dist/nodes/Uncover/Uncover.node.json +0 -9
@@ -9,8 +9,9 @@ Object.defineProperty(exports, "Naabu", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _connectionType = require("../../../common/connectionType");
|
12
|
+
const _runnerproxy = require("../../../common/proxy/runner.proxy");
|
12
13
|
const _containerrunner = require("../../../common/runner/container.runner");
|
13
|
-
const
|
14
|
+
const _decorator = require("../../../common/runner/decorator");
|
14
15
|
function _define_property(obj, key, value) {
|
15
16
|
if (key in obj) {
|
16
17
|
Object.defineProperty(obj, key, {
|
@@ -24,9 +25,16 @@ function _define_property(obj, key, value) {
|
|
24
25
|
}
|
25
26
|
return obj;
|
26
27
|
}
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
function _ts_decorate(decorators, target, key, desc) {
|
29
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
30
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
31
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
32
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
33
|
+
}
|
34
|
+
let NaabuRunner = class NaabuRunner extends _containerrunner.ContainerRunner {
|
35
|
+
async run(collector, inputs) {
|
36
|
+
const assets = inputs.map((n)=>n.json);
|
37
|
+
const cmd = [
|
30
38
|
"naabu",
|
31
39
|
"-disable-update-check",
|
32
40
|
"-json",
|
@@ -35,9 +43,9 @@ class NaabuRunner extends _containerrunner.ContainerRunner {
|
|
35
43
|
"4,6",
|
36
44
|
"-host",
|
37
45
|
[
|
38
|
-
...new Set(assets.map((n)=>n.getHost())
|
46
|
+
...new Set(assets.map((n)=>n.getHost()))
|
39
47
|
].join(","),
|
40
|
-
...this.
|
48
|
+
...this.collectGeneratedCmdOptions([
|
41
49
|
"options.input",
|
42
50
|
"options.port",
|
43
51
|
"options.rateLimit",
|
@@ -47,11 +55,9 @@ class NaabuRunner extends _containerrunner.ContainerRunner {
|
|
47
55
|
"options.optimization"
|
48
56
|
])
|
49
57
|
];
|
50
|
-
|
51
|
-
process(rawAssets, stdout) {
|
58
|
+
const { stdout } = await this.runCmd(collector, cmd, this.getOptions());
|
52
59
|
const ports = new Map();
|
53
|
-
for (const
|
54
|
-
const json = JSON.parse(line);
|
60
|
+
for (const json of stdout.trim().split("\n").filter(Boolean).map((n)=>JSON.parse(n))){
|
55
61
|
ports.set(json.ip, [
|
56
62
|
...ports.get(json.ip) ?? [],
|
57
63
|
{
|
@@ -60,21 +66,25 @@ class NaabuRunner extends _containerrunner.ContainerRunner {
|
|
60
66
|
}
|
61
67
|
]);
|
62
68
|
}
|
63
|
-
return
|
64
|
-
const result = ports.get(a.getHost());
|
69
|
+
return inputs.flatMap((a)=>{
|
70
|
+
const result = ports.get(a.json.getHost());
|
65
71
|
if (result) {
|
66
|
-
a.
|
67
|
-
|
72
|
+
return this.constructData(a.sourceInputIndex, a.json.splitByPorts(result), true);
|
73
|
+
} else {
|
74
|
+
return a;
|
68
75
|
}
|
69
|
-
return a.splitByPorts();
|
70
76
|
});
|
71
77
|
}
|
72
|
-
}
|
78
|
+
};
|
79
|
+
NaabuRunner = _ts_decorate([
|
80
|
+
(0, _decorator.Priority)(_decorator.PORT_RUNNER_PRIORITY),
|
81
|
+
_decorator.AssetRunner
|
82
|
+
], NaabuRunner);
|
73
83
|
class Naabu {
|
74
84
|
async supplyData(itemIndex) {
|
75
85
|
return {
|
76
86
|
response: [
|
77
|
-
|
87
|
+
(0, _runnerproxy.proxyRunner)(new NaabuRunner(this, itemIndex))
|
78
88
|
]
|
79
89
|
};
|
80
90
|
}
|
@@ -475,6 +485,14 @@ class Naabu {
|
|
475
485
|
]
|
476
486
|
}
|
477
487
|
]
|
488
|
+
},
|
489
|
+
..._containerrunner.advancedOptions,
|
490
|
+
{
|
491
|
+
displayName: "Debug Mode",
|
492
|
+
name: "debug",
|
493
|
+
type: "boolean",
|
494
|
+
default: false,
|
495
|
+
description: "Whether open to see more information in node input & output"
|
478
496
|
}
|
479
497
|
]
|
480
498
|
});
|
@@ -9,8 +9,9 @@ Object.defineProperty(exports, "Nuclei", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _connectionType = require("../../../common/connectionType");
|
12
|
+
const _runnerproxy = require("../../../common/proxy/runner.proxy");
|
12
13
|
const _containerrunner = require("../../../common/runner/container.runner");
|
13
|
-
const
|
14
|
+
const _decorator = require("../../../common/runner/decorator");
|
14
15
|
function _define_property(obj, key, value) {
|
15
16
|
if (key in obj) {
|
16
17
|
Object.defineProperty(obj, key, {
|
@@ -24,16 +25,23 @@ function _define_property(obj, key, value) {
|
|
24
25
|
}
|
25
26
|
return obj;
|
26
27
|
}
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
function _ts_decorate(decorators, target, key, desc) {
|
29
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
30
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
31
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
32
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
33
|
+
}
|
34
|
+
let NucleiRunner = class NucleiRunner extends _containerrunner.ContainerRunner {
|
35
|
+
async run(collector, inputs) {
|
36
|
+
const assets = inputs.map((n)=>n.json);
|
37
|
+
const cmd = [
|
30
38
|
"nuclei",
|
31
39
|
"-silent",
|
32
40
|
"-jsonl",
|
33
41
|
"-disable-update-check",
|
34
42
|
"-target",
|
35
43
|
assets.map((a)=>a.getHostAndPort()).join(","),
|
36
|
-
...this.
|
44
|
+
...this.collectGeneratedCmdOptions([
|
37
45
|
"options.target",
|
38
46
|
"options.templates",
|
39
47
|
"options.filtering",
|
@@ -49,28 +57,30 @@ class NucleiRunner extends _containerrunner.ContainerRunner {
|
|
49
57
|
"options.cloud"
|
50
58
|
])
|
51
59
|
];
|
52
|
-
|
53
|
-
process(rawAssets, stdout) {
|
60
|
+
const { stdout } = await this.runCmd(collector, cmd, this.getOptions());
|
54
61
|
const result = new Map();
|
55
|
-
for (const
|
56
|
-
const json = JSON.parse(line);
|
62
|
+
for (const json of stdout.trim().split("\n").filter(Boolean).map((n)=>JSON.parse(n))){
|
57
63
|
result.set(json.host, (result.get(json.host) || []).concat(json));
|
58
64
|
}
|
59
|
-
return
|
60
|
-
const res = result.get(a.getHostAndPort());
|
65
|
+
return inputs.map((a)=>{
|
66
|
+
const res = result.get(a.json.getHostAndPort());
|
61
67
|
if (res) {
|
62
|
-
a.response = res;
|
68
|
+
a.json.response = res;
|
63
69
|
a.success = true;
|
64
70
|
}
|
65
71
|
return a;
|
66
72
|
});
|
67
73
|
}
|
68
|
-
}
|
74
|
+
};
|
75
|
+
NucleiRunner = _ts_decorate([
|
76
|
+
(0, _decorator.Priority)(_decorator.EXPLOIT_RUNNER_PRIORITY),
|
77
|
+
_decorator.AssetRunner
|
78
|
+
], NucleiRunner);
|
69
79
|
class Nuclei {
|
70
80
|
async supplyData(itemIndex) {
|
71
81
|
return {
|
72
82
|
response: [
|
73
|
-
|
83
|
+
(0, _runnerproxy.proxyRunner)(new NucleiRunner(this, itemIndex))
|
74
84
|
]
|
75
85
|
};
|
76
86
|
}
|
@@ -1050,6 +1060,14 @@ class Nuclei {
|
|
1050
1060
|
]
|
1051
1061
|
}
|
1052
1062
|
]
|
1063
|
+
},
|
1064
|
+
..._containerrunner.advancedOptions,
|
1065
|
+
{
|
1066
|
+
displayName: "Debug Mode",
|
1067
|
+
name: "debug",
|
1068
|
+
type: "boolean",
|
1069
|
+
default: false,
|
1070
|
+
description: "Whether open to see more information in node input & output"
|
1053
1071
|
}
|
1054
1072
|
]
|
1055
1073
|
});
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "Priority", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _connectionType = require("../../../common/connectionType");
|
12
|
+
const _decorator = require("../../../common/runner/decorator");
|
12
13
|
const _priorityrunner = require("../../../common/runner/priority.runner");
|
13
14
|
function _define_property(obj, key, value) {
|
14
15
|
if (key in obj) {
|
@@ -39,7 +40,7 @@ class Priority {
|
|
39
40
|
}
|
40
41
|
};
|
41
42
|
return {
|
42
|
-
response: runners.map((r)=>new _priorityrunner.PriorityRunner(r, modifyFunc(
|
43
|
+
response: runners.map((r)=>new _priorityrunner.PriorityRunner(r, modifyFunc((0, _decorator.getPriority)(r))))
|
43
44
|
};
|
44
45
|
}
|
45
46
|
constructor(){
|
@@ -9,8 +9,9 @@ Object.defineProperty(exports, "Subfinder", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _connectionType = require("../../../common/connectionType");
|
12
|
+
const _runnerproxy = require("../../../common/proxy/runner.proxy");
|
12
13
|
const _containerrunner = require("../../../common/runner/container.runner");
|
13
|
-
const
|
14
|
+
const _decorator = require("../../../common/runner/decorator");
|
14
15
|
function _define_property(obj, key, value) {
|
15
16
|
if (key in obj) {
|
16
17
|
Object.defineProperty(obj, key, {
|
@@ -24,16 +25,23 @@ function _define_property(obj, key, value) {
|
|
24
25
|
}
|
25
26
|
return obj;
|
26
27
|
}
|
27
|
-
|
28
|
-
|
29
|
-
|
28
|
+
function _ts_decorate(decorators, target, key, desc) {
|
29
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
30
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
31
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
32
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
33
|
+
}
|
34
|
+
let SubfinderRunner = class SubfinderRunner extends _containerrunner.ContainerRunner {
|
35
|
+
async run(collector, inputs) {
|
36
|
+
const assets = inputs.map((n)=>n.json);
|
37
|
+
const cmd = [
|
30
38
|
"subfinder",
|
31
39
|
"-disable-update-check",
|
32
40
|
"-json",
|
33
41
|
"-silent",
|
34
42
|
"-domain",
|
35
43
|
assets.map((a)=>a.getDomain()).join(","),
|
36
|
-
...this.
|
44
|
+
...this.collectGeneratedCmdOptions([
|
37
45
|
"options.source",
|
38
46
|
"options.filter",
|
39
47
|
"options.rateLimit",
|
@@ -42,27 +50,34 @@ class SubfinderRunner extends _containerrunner.ContainerRunner {
|
|
42
50
|
"options.optimization"
|
43
51
|
])
|
44
52
|
];
|
45
|
-
|
46
|
-
process(rawAssets, stdout) {
|
53
|
+
const { stdout } = await this.runCmd(collector, cmd, this.getOptions());
|
47
54
|
const subdomains = new Map();
|
48
|
-
for (const
|
49
|
-
const json = JSON.parse(line);
|
55
|
+
for (const json of stdout.trim().split("\n").filter(Boolean).map((n)=>JSON.parse(n))){
|
50
56
|
subdomains.set(json.input, [
|
51
57
|
...subdomains.get(json.input) ?? [],
|
52
58
|
json.host
|
53
59
|
]);
|
54
60
|
}
|
55
|
-
return
|
56
|
-
|
57
|
-
|
58
|
-
|
61
|
+
return inputs.flatMap((a)=>{
|
62
|
+
const subdomain = subdomains.get(a.json.getDomain());
|
63
|
+
if (subdomain) {
|
64
|
+
return this.constructData(a.sourceInputIndex, a.json.splitBySubdomains(subdomain), true);
|
65
|
+
} else {
|
66
|
+
return a;
|
67
|
+
}
|
59
68
|
});
|
60
69
|
}
|
61
|
-
}
|
70
|
+
};
|
71
|
+
SubfinderRunner = _ts_decorate([
|
72
|
+
(0, _decorator.Priority)(_decorator.DOMAIN_RUNNER_PRIORITY),
|
73
|
+
_decorator.AssetRunner
|
74
|
+
], SubfinderRunner);
|
62
75
|
class Subfinder {
|
63
76
|
async supplyData(itemIndex) {
|
64
77
|
return {
|
65
|
-
response:
|
78
|
+
response: [
|
79
|
+
(0, _runnerproxy.proxyRunner)(new SubfinderRunner(this, itemIndex))
|
80
|
+
]
|
66
81
|
};
|
67
82
|
}
|
68
83
|
constructor(){
|
@@ -335,6 +350,14 @@ class Subfinder {
|
|
335
350
|
]
|
336
351
|
}
|
337
352
|
]
|
353
|
+
},
|
354
|
+
..._containerrunner.advancedOptions,
|
355
|
+
{
|
356
|
+
displayName: "Debug Mode",
|
357
|
+
name: "debug",
|
358
|
+
type: "boolean",
|
359
|
+
default: false,
|
360
|
+
description: "Whether open to see more information in node input & output"
|
338
361
|
}
|
339
362
|
]
|
340
363
|
});
|
@@ -9,8 +9,9 @@ Object.defineProperty(exports, "Unauthor", {
|
|
9
9
|
}
|
10
10
|
});
|
11
11
|
const _connectionType = require("../../../common/connectionType");
|
12
|
+
const _runnerproxy = require("../../../common/proxy/runner.proxy");
|
12
13
|
const _containerrunner = require("../../../common/runner/container.runner");
|
13
|
-
const
|
14
|
+
const _decorator = require("../../../common/runner/decorator");
|
14
15
|
function _define_property(obj, key, value) {
|
15
16
|
if (key in obj) {
|
16
17
|
Object.defineProperty(obj, key, {
|
@@ -24,41 +25,50 @@ function _define_property(obj, key, value) {
|
|
24
25
|
}
|
25
26
|
return obj;
|
26
27
|
}
|
27
|
-
|
28
|
-
|
28
|
+
function _ts_decorate(decorators, target, key, desc) {
|
29
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
30
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
31
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
32
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
33
|
+
}
|
34
|
+
let UnauthorRunner = class UnauthorRunner extends _containerrunner.ContainerRunner {
|
35
|
+
async run(collector, inputs) {
|
36
|
+
const assets = inputs.map((n)=>n.json);
|
29
37
|
const type = this.func.getNodeParameter("type", this.itemIndex);
|
30
|
-
|
38
|
+
const cmd = [
|
31
39
|
"unauthor",
|
32
40
|
"--type",
|
33
41
|
type,
|
34
42
|
"-t",
|
35
43
|
assets.map((a)=>a.getHostAndPort()).join(","),
|
36
|
-
...this.
|
44
|
+
...this.collectGeneratedCmdOptions([
|
37
45
|
"options.option"
|
38
46
|
])
|
39
47
|
];
|
40
|
-
|
41
|
-
process(rawAssets, stdout) {
|
48
|
+
const { stdout } = await this.runCmd(collector, cmd, this.getOptions());
|
42
49
|
const result = new Map();
|
43
|
-
for (const
|
44
|
-
const json = JSON.parse(line);
|
50
|
+
for (const json of stdout.trim().split("\n").filter(Boolean).map((n)=>JSON.parse(n))){
|
45
51
|
result.set(json.target, json);
|
46
52
|
}
|
47
|
-
return
|
48
|
-
const res = result.get(a.getHostAndPort());
|
53
|
+
return inputs.map((a)=>{
|
54
|
+
const res = result.get(a.json.getHostAndPort());
|
49
55
|
if (res) {
|
50
|
-
a.response = res;
|
56
|
+
a.json.response = res;
|
51
57
|
a.success = res.success;
|
52
58
|
}
|
53
59
|
return a;
|
54
60
|
});
|
55
61
|
}
|
56
|
-
}
|
62
|
+
};
|
63
|
+
UnauthorRunner = _ts_decorate([
|
64
|
+
(0, _decorator.Priority)(_decorator.EXPLOIT_RUNNER_PRIORITY),
|
65
|
+
_decorator.AssetRunner
|
66
|
+
], UnauthorRunner);
|
57
67
|
class Unauthor {
|
58
68
|
async supplyData(itemIndex) {
|
59
69
|
return {
|
60
70
|
response: [
|
61
|
-
|
71
|
+
(0, _runnerproxy.proxyRunner)(new UnauthorRunner(this, itemIndex))
|
62
72
|
]
|
63
73
|
};
|
64
74
|
}
|
@@ -162,6 +172,14 @@ class Unauthor {
|
|
162
172
|
]
|
163
173
|
}
|
164
174
|
]
|
175
|
+
},
|
176
|
+
..._containerrunner.advancedOptions,
|
177
|
+
{
|
178
|
+
displayName: "Debug Mode",
|
179
|
+
name: "debug",
|
180
|
+
type: "boolean",
|
181
|
+
default: false,
|
182
|
+
description: "Whether open to see more information in node input & output"
|
165
183
|
}
|
166
184
|
]
|
167
185
|
});
|
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "declareClassDecorator", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return declareClassDecorator;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
function declareClassDecorator(name, defaultValue) {
|
12
|
+
return [
|
13
|
+
(value)=>(target)=>Reflect.defineMetadata(name, value ?? defaultValue, target),
|
14
|
+
(target)=>{
|
15
|
+
if (target instanceof Function) {
|
16
|
+
return Reflect.getMetadata(name, target) ?? defaultValue;
|
17
|
+
} else {
|
18
|
+
return Reflect.getMetadata(name, target.constructor) ?? defaultValue;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
];
|
22
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "n8n-nodes-soar",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.23",
|
4
4
|
"description": "",
|
5
5
|
"keywords": [
|
6
6
|
"n8n-community-node-package"
|
@@ -24,21 +24,29 @@
|
|
24
24
|
"credentials": [
|
25
25
|
"dist/credentials/FofaApi/FofaApi.credentials.js",
|
26
26
|
"dist/credentials/Docker/Docker.credentials.js",
|
27
|
-
"dist/credentials/Kubernetes/Kubernetes.credentials.js"
|
27
|
+
"dist/credentials/Kubernetes/Kubernetes.credentials.js",
|
28
|
+
"dist/credentials/SoarRunner/SoarRunner.credentials.js",
|
29
|
+
"dist/credentials/VulboxApi/VulboxApi.credentials.js"
|
28
30
|
],
|
29
31
|
"nodes": [
|
32
|
+
"dist/nodes/Collector/Collector.node.js",
|
30
33
|
"dist/nodes/Executor/DockerExecutor/DockerExecutor.node.js",
|
34
|
+
"dist/nodes/Executor/JsonRpcExecutor/JsonRpcExecutor.node.js",
|
31
35
|
"dist/nodes/Executor/KubernetesExecutor/KubernetesExecutor.node.js",
|
32
|
-
"dist/nodes/
|
36
|
+
"dist/nodes/Runner/Cmd/Cmd.node.js",
|
33
37
|
"dist/nodes/Runner/Dns/Dns.node.js",
|
34
38
|
"dist/nodes/Runner/Httpx/Httpx.node.js",
|
39
|
+
"dist/nodes/Runner/IcpLookup/IcpLookup.node.js",
|
35
40
|
"dist/nodes/Runner/Masscan/Masscan.node.js",
|
36
41
|
"dist/nodes/Runner/Naabu/Naabu.node.js",
|
37
42
|
"dist/nodes/Runner/Nuclei/Nuclei.node.js",
|
38
43
|
"dist/nodes/Runner/Subfinder/Subfinder.node.js",
|
39
44
|
"dist/nodes/Runner/Priority/Priority.node.js",
|
40
45
|
"dist/nodes/Runner/Unauthor/Unauthor.node.js",
|
41
|
-
"dist/nodes/
|
46
|
+
"dist/nodes/Memorizer/Redis/RedisMemorizer.node.js",
|
47
|
+
"dist/nodes/Fofa/Fofa.node.js",
|
48
|
+
"dist/nodes/EmptyCheck/EmptyCheck.node.js",
|
49
|
+
"dist/nodes/Platform/Vulbox/Vulbox.node.js"
|
42
50
|
]
|
43
51
|
},
|
44
52
|
"devDependencies": {
|
@@ -47,12 +55,14 @@
|
|
47
55
|
"@swc/cli": "^0.1.63",
|
48
56
|
"@swc/core": "^1.3.96",
|
49
57
|
"@swc/jest": "^0.2.29",
|
58
|
+
"@types/async-lock": "^1.4.2",
|
50
59
|
"@types/dockerode": "^3.3.23",
|
51
60
|
"@types/glob": "^8.1.0",
|
52
61
|
"@types/inquirer": "^9.0.7",
|
53
62
|
"@types/jest": "^29.5.8",
|
54
63
|
"@types/lodash": "^4.14.201",
|
55
64
|
"@types/request-promise-native": "^1.0.21",
|
65
|
+
"@types/ws": "^8.5.10",
|
56
66
|
"@typescript-eslint/eslint-plugin": "^6.11.0",
|
57
67
|
"@typescript-eslint/parser": "^6.11.0",
|
58
68
|
"chalk": "^5.3.0",
|
@@ -92,11 +102,15 @@
|
|
92
102
|
},
|
93
103
|
"dependencies": {
|
94
104
|
"@kubernetes/client-node": "^0.20.0",
|
105
|
+
"async-lock": "^1.4.0",
|
95
106
|
"class-transformer": "^0.5.1",
|
96
107
|
"dockerode": "^4.0.0",
|
97
108
|
"lodash": "^4.17.21",
|
98
109
|
"n8n-workflow": "^1.14.1",
|
99
|
-
"
|
110
|
+
"node-cache": "^5.1.2",
|
111
|
+
"redis": "^4.6.11",
|
112
|
+
"reflect-metadata": "^0.1.13",
|
113
|
+
"ws": "^8.14.2"
|
100
114
|
},
|
101
115
|
"scripts": {
|
102
116
|
"build": "swc src -d dist && tsx ./scripts/copy.ts",
|
@@ -1,48 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "Executor", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return Executor;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _connectionType = require("../connectionType");
|
12
|
-
function _define_property(obj, key, value) {
|
13
|
-
if (key in obj) {
|
14
|
-
Object.defineProperty(obj, key, {
|
15
|
-
value: value,
|
16
|
-
enumerable: true,
|
17
|
-
configurable: true,
|
18
|
-
writable: true
|
19
|
-
});
|
20
|
-
} else {
|
21
|
-
obj[key] = value;
|
22
|
-
}
|
23
|
-
return obj;
|
24
|
-
}
|
25
|
-
class Executor {
|
26
|
-
async run(cmd, image, env) {
|
27
|
-
const { index } = this.func.addInputData(_connectionType.NodeConnectionType.Executor, [
|
28
|
-
[
|
29
|
-
{
|
30
|
-
json: {
|
31
|
-
cmd,
|
32
|
-
image,
|
33
|
-
env
|
34
|
-
}
|
35
|
-
}
|
36
|
-
]
|
37
|
-
]);
|
38
|
-
const resp = await this.__run(cmd, image, env);
|
39
|
-
this.func.addOutputData(_connectionType.NodeConnectionType.Executor, index, [
|
40
|
-
this.func.helpers.returnJsonArray(resp)
|
41
|
-
]);
|
42
|
-
return resp;
|
43
|
-
}
|
44
|
-
constructor(func){
|
45
|
-
_define_property(this, "func", void 0);
|
46
|
-
this.func = func;
|
47
|
-
}
|
48
|
-
}
|
@@ -1,110 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
Object.defineProperty(exports, "SplitAsset", {
|
6
|
-
enumerable: true,
|
7
|
-
get: function() {
|
8
|
-
return SplitAsset;
|
9
|
-
}
|
10
|
-
});
|
11
|
-
const _classtransformer = require("class-transformer");
|
12
|
-
const _n8nworkflow = require("n8n-workflow");
|
13
|
-
const _asset = require("../../../common/asset");
|
14
|
-
function _define_property(obj, key, value) {
|
15
|
-
if (key in obj) {
|
16
|
-
Object.defineProperty(obj, key, {
|
17
|
-
value: value,
|
18
|
-
enumerable: true,
|
19
|
-
configurable: true,
|
20
|
-
writable: true
|
21
|
-
});
|
22
|
-
} else {
|
23
|
-
obj[key] = value;
|
24
|
-
}
|
25
|
-
return obj;
|
26
|
-
}
|
27
|
-
class SplitAsset {
|
28
|
-
async execute() {
|
29
|
-
const mode = this.getNodeParameter("mode", 0);
|
30
|
-
let assets = this.getInputData().map((n)=>(0, _classtransformer.plainToInstance)(_asset.Asset, n.json));
|
31
|
-
if (mode === "all") {
|
32
|
-
assets = assets.flatMap((n)=>n.splitBySubdomains());
|
33
|
-
} else if (mode === "by_field") {
|
34
|
-
const field = this.getNodeParameter("field", 0);
|
35
|
-
switch(field){
|
36
|
-
case "subdomain":
|
37
|
-
assets = assets.flatMap((n)=>n.splitBySubdomains());
|
38
|
-
break;
|
39
|
-
}
|
40
|
-
}
|
41
|
-
return [
|
42
|
-
assets.map((n)=>{
|
43
|
-
return {
|
44
|
-
json: (0, _classtransformer.instanceToPlain)(n)
|
45
|
-
};
|
46
|
-
})
|
47
|
-
];
|
48
|
-
}
|
49
|
-
constructor(){
|
50
|
-
_define_property(this, "description", {
|
51
|
-
displayName: "Split Asset",
|
52
|
-
name: "splitAsset",
|
53
|
-
icon: "file:split.svg",
|
54
|
-
group: [
|
55
|
-
"transform"
|
56
|
-
],
|
57
|
-
version: 1,
|
58
|
-
description: "Split assets",
|
59
|
-
defaults: {
|
60
|
-
name: "Split Asset"
|
61
|
-
},
|
62
|
-
// eslint-disable-next-line n8n-nodes-base/node-class-description-inputs-wrong-regular-node
|
63
|
-
inputs: [
|
64
|
-
_n8nworkflow.NodeConnectionType.Main
|
65
|
-
],
|
66
|
-
// eslint-disable-next-line n8n-nodes-base/node-class-description-outputs-wrong
|
67
|
-
outputs: [
|
68
|
-
_n8nworkflow.NodeConnectionType.Main
|
69
|
-
],
|
70
|
-
credentials: [],
|
71
|
-
properties: [
|
72
|
-
{
|
73
|
-
displayName: "Split Mode",
|
74
|
-
name: "mode",
|
75
|
-
type: "options",
|
76
|
-
default: "all",
|
77
|
-
options: [
|
78
|
-
{
|
79
|
-
name: "All",
|
80
|
-
value: "all"
|
81
|
-
},
|
82
|
-
{
|
83
|
-
name: "By Field",
|
84
|
-
value: "by_field"
|
85
|
-
}
|
86
|
-
]
|
87
|
-
},
|
88
|
-
{
|
89
|
-
displayName: "Field",
|
90
|
-
name: "field",
|
91
|
-
type: "options",
|
92
|
-
displayOptions: {
|
93
|
-
show: {
|
94
|
-
mode: [
|
95
|
-
"by_field"
|
96
|
-
]
|
97
|
-
}
|
98
|
-
},
|
99
|
-
default: "subdomain",
|
100
|
-
options: [
|
101
|
-
{
|
102
|
-
name: "Subdomain",
|
103
|
-
value: "subdomain"
|
104
|
-
}
|
105
|
-
]
|
106
|
-
}
|
107
|
-
]
|
108
|
-
});
|
109
|
-
}
|
110
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<!-- Generator: Adobe Illustrator 24.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
3
|
-
<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 210 210" width="60" height="60" xml:space="preserve">
|
4
|
-
<style type="text/css">
|
5
|
-
.st0{fill:#FF6D5A;}
|
6
|
-
</style>
|
7
|
-
<path class="st0" d="M18.8,18.8C8.4,18.8,0,27.1,0,37.5s8.4,18.8,18.8,18.8s18.8-8.4,18.8-18.8S29.1,18.8,18.8,18.8z M18.8,81.2
|
8
|
-
C8.4,81.2,0,89.6,0,100s8.4,18.8,18.8,18.8s18.8-8.4,18.8-18.8S29.1,81.2,18.8,81.2z M18.8,143.8C8.4,143.8,0,152.1,0,162.5
|
9
|
-
s8.4,18.8,18.8,18.8s18.8-8.4,18.8-18.8S29.1,143.8,18.8,143.8z M193.8,150h-125c-3.5,0-6.2,2.8-6.2,6.2v12.5c0,3.5,2.8,6.2,6.2,6.2
|
10
|
-
h125c3.5,0,6.2-2.8,6.2-6.2v-12.5C200,152.8,197.2,150,193.8,150z M193.8,25h-125c-3.5,0-6.2,2.8-6.2,6.2v12.5
|
11
|
-
c0,3.5,2.8,6.2,6.2,6.2h125c3.5,0,6.2-2.8,6.2-6.2V31.2C200,27.8,197.2,25,193.8,25z M193.8,87.5h-125c-3.5,0-6.2,2.8-6.2,6.2v12.5
|
12
|
-
c0,3.5,2.8,6.2,6.2,6.2h125c3.5,0,6.2-2.8,6.2-6.2V93.8C200,90.3,197.2,87.5,193.8,87.5z"/>
|
13
|
-
</svg>
|