n8n-nodes-relayshield 0.1.1 → 0.1.3
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/credentials/RelayShieldApi.credentials.d.ts +1 -0
- package/dist/credentials/RelayShieldApi.credentials.d.ts.map +1 -1
- package/dist/credentials/RelayShieldApi.credentials.js +1 -0
- package/dist/credentials/RelayShieldApi.credentials.js.map +1 -1
- package/dist/credentials/relayshield.svg +4 -0
- package/dist/nodes/RelayShield/RelayShield.node.d.ts.map +1 -1
- package/dist/nodes/RelayShield/RelayShield.node.js +43 -41
- package/dist/nodes/RelayShield/RelayShield.node.js.map +1 -1
- package/package.json +5 -2
|
@@ -2,6 +2,7 @@ import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodePro
|
|
|
2
2
|
export declare class RelayShieldApi implements ICredentialType {
|
|
3
3
|
name: string;
|
|
4
4
|
displayName: string;
|
|
5
|
+
icon: "file:relayshield.svg";
|
|
5
6
|
documentationUrl: string;
|
|
6
7
|
properties: INodeProperties[];
|
|
7
8
|
authenticate: IAuthenticateGeneric;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelayShieldApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/RelayShieldApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,cAAe,YAAW,eAAe;IACrD,IAAI,SAAoB;IACxB,WAAW,SAAqB;IAChC,gBAAgB,SAA4C;IAC5D,UAAU,EAAE,eAAe,EAAE,CAU3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAO1B;CACF"}
|
|
1
|
+
{"version":3,"file":"RelayShieldApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/RelayShieldApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,cAAe,YAAW,eAAe;IACrD,IAAI,SAAoB;IACxB,WAAW,SAAqB;IAChC,IAAI,EAAG,sBAAsB,CAAU;IACvC,gBAAgB,SAA4C;IAC5D,UAAU,EAAE,eAAe,EAAE,CAU3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAO1B;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelayShieldApi.credentials.js","sourceRoot":"","sources":["../../credentials/RelayShieldApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,cAAc;IAA3B;QACC,SAAI,GAAG,gBAAgB,CAAC;QACxB,gBAAW,GAAG,iBAAiB,CAAC;QAChC,qBAAgB,GAAG,wCAAwC,CAAC;QAC5D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,aAAa;gBAC1B,WAAW,EAAE,sEAAsE;aACnF;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,cAAc,EAAE,0BAA0B;iBAC1C;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,6DAA6D;gBACtE,GAAG,EAAE,eAAe;gBACpB,MAAM,EAAE,KAAK;gBACb,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aACvB;SACD,CAAC;IACH,CAAC;CAAA;
|
|
1
|
+
{"version":3,"file":"RelayShieldApi.credentials.js","sourceRoot":"","sources":["../../credentials/RelayShieldApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,cAAc;IAA3B;QACC,SAAI,GAAG,gBAAgB,CAAC;QACxB,gBAAW,GAAG,iBAAiB,CAAC;QAChC,SAAI,GAAG,sBAA+B,CAAC;QACvC,qBAAgB,GAAG,wCAAwC,CAAC;QAC5D,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,aAAa;gBAC1B,WAAW,EAAE,sEAAsE;aACnF;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,cAAc,EAAE,0BAA0B;iBAC1C;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,6DAA6D;gBACtE,GAAG,EAAE,eAAe;gBACpB,MAAM,EAAE,KAAK;gBACb,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aACvB;SACD,CAAC;IACH,CAAC;CAAA;AAlCD,wCAkCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelayShield.node.d.ts","sourceRoot":"","sources":["../../../nodes/RelayShield/RelayShield.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,
|
|
1
|
+
{"version":3,"file":"RelayShield.node.d.ts","sourceRoot":"","sources":["../../../nodes/RelayShield/RelayShield.node.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAIpB,MAAM,cAAc,CAAC;AAItB,qBAAa,WAAY,YAAW,SAAS;IAC5C,WAAW,EAAE,oBAAoB,CAyM/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CA2EvE"}
|
|
@@ -16,8 +16,9 @@ class RelayShield {
|
|
|
16
16
|
defaults: {
|
|
17
17
|
name: 'RelayShield',
|
|
18
18
|
},
|
|
19
|
-
inputs: [
|
|
20
|
-
outputs: [
|
|
19
|
+
inputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
20
|
+
outputs: [n8n_workflow_1.NodeConnectionTypes.Main],
|
|
21
|
+
usableAsTool: true,
|
|
21
22
|
credentials: [
|
|
22
23
|
{
|
|
23
24
|
name: 'relayShieldApi',
|
|
@@ -26,7 +27,7 @@ class RelayShield {
|
|
|
26
27
|
],
|
|
27
28
|
properties: [
|
|
28
29
|
// ----------------------------------------------------------------
|
|
29
|
-
// Operation selector
|
|
30
|
+
// Operation selector — alphabetical order required by linter
|
|
30
31
|
// ----------------------------------------------------------------
|
|
31
32
|
{
|
|
32
33
|
displayName: 'Operation',
|
|
@@ -41,10 +42,10 @@ class RelayShield {
|
|
|
41
42
|
action: 'Check an email address for breach exposure',
|
|
42
43
|
},
|
|
43
44
|
{
|
|
44
|
-
name: '
|
|
45
|
-
value: '
|
|
46
|
-
description: '
|
|
47
|
-
action: '
|
|
45
|
+
name: 'Domain Lookalike Scan',
|
|
46
|
+
value: 'domain',
|
|
47
|
+
description: 'Scan for typosquat and lookalike domains registered to impersonate a domain',
|
|
48
|
+
action: 'Scan a domain for lookalikes and typosquats',
|
|
48
49
|
},
|
|
49
50
|
{
|
|
50
51
|
name: 'Infostealer Check',
|
|
@@ -52,23 +53,17 @@ class RelayShield {
|
|
|
52
53
|
description: 'Check if credentials appear in criminal infostealer log markets',
|
|
53
54
|
action: 'Check an email for infostealer log exposure',
|
|
54
55
|
},
|
|
55
|
-
{
|
|
56
|
-
name: 'Domain Lookalike Scan',
|
|
57
|
-
value: 'domain',
|
|
58
|
-
description: 'Scan for typosquat and lookalike domains registered to impersonate a domain',
|
|
59
|
-
action: 'Scan a domain for lookalikes and typosquats',
|
|
60
|
-
},
|
|
61
56
|
{
|
|
62
57
|
name: 'OAuth Watchlist Check',
|
|
63
58
|
value: 'oauthWatchlist',
|
|
64
59
|
description: 'Check if a breach exposes credentials used with high-risk OAuth apps',
|
|
65
|
-
action: 'Check an email for
|
|
60
|
+
action: 'Check an email for o auth supply chain exposure',
|
|
66
61
|
},
|
|
67
62
|
{
|
|
68
|
-
name: '
|
|
69
|
-
value: '
|
|
70
|
-
description: '
|
|
71
|
-
action: '
|
|
63
|
+
name: 'SIM Swap Detection',
|
|
64
|
+
value: 'simSwap',
|
|
65
|
+
description: 'Detect active SIM swap or port-out fraud via carrier-level query',
|
|
66
|
+
action: 'Detect sim swap or port out fraud on a phone number',
|
|
72
67
|
},
|
|
73
68
|
{
|
|
74
69
|
name: 'Threat Intelligence — CVE Lookup',
|
|
@@ -76,11 +71,17 @@ class RelayShield {
|
|
|
76
71
|
description: 'Query the CISA Known Exploited Vulnerabilities catalog, cross-referenced for ransomware activity',
|
|
77
72
|
action: 'Look up a CVE or keyword in the CISA KEV catalog',
|
|
78
73
|
},
|
|
74
|
+
{
|
|
75
|
+
name: 'Threat Intelligence — IOC Lookup',
|
|
76
|
+
value: 'intelTelegram',
|
|
77
|
+
description: 'Query RelayShield\'s live IOC database (criminal Telegram channels, ThreatFox, URLhaus) for a domain, IP, email, phone, or wallet address',
|
|
78
|
+
action: 'Look up an indicator of compromise in the threat intelligence database',
|
|
79
|
+
},
|
|
79
80
|
],
|
|
80
81
|
default: 'breach',
|
|
81
82
|
},
|
|
82
83
|
// ----------------------------------------------------------------
|
|
83
|
-
// Breach
|
|
84
|
+
// Breach / Infostealer / OAuth Watchlist — email
|
|
84
85
|
// ----------------------------------------------------------------
|
|
85
86
|
{
|
|
86
87
|
displayName: 'Email',
|
|
@@ -95,7 +96,7 @@ class RelayShield {
|
|
|
95
96
|
description: 'Email address to check',
|
|
96
97
|
},
|
|
97
98
|
// ----------------------------------------------------------------
|
|
98
|
-
// SIM Swap
|
|
99
|
+
// SIM Swap — phone
|
|
99
100
|
// ----------------------------------------------------------------
|
|
100
101
|
{
|
|
101
102
|
displayName: 'Phone Number',
|
|
@@ -110,7 +111,7 @@ class RelayShield {
|
|
|
110
111
|
description: 'Phone number in E.164 format (+country code + number)',
|
|
111
112
|
},
|
|
112
113
|
// ----------------------------------------------------------------
|
|
113
|
-
// Domain Lookalike
|
|
114
|
+
// Domain Lookalike
|
|
114
115
|
// ----------------------------------------------------------------
|
|
115
116
|
{
|
|
116
117
|
displayName: 'Domain',
|
|
@@ -125,7 +126,7 @@ class RelayShield {
|
|
|
125
126
|
description: 'Domain to scan for lookalikes (e.g. example.com)',
|
|
126
127
|
},
|
|
127
128
|
// ----------------------------------------------------------------
|
|
128
|
-
//
|
|
129
|
+
// IOC Lookup
|
|
129
130
|
// ----------------------------------------------------------------
|
|
130
131
|
{
|
|
131
132
|
displayName: 'Indicator',
|
|
@@ -143,10 +144,11 @@ class RelayShield {
|
|
|
143
144
|
displayName: 'Indicator Type',
|
|
144
145
|
name: 'indicatorType',
|
|
145
146
|
type: 'options',
|
|
147
|
+
// alphabetical order required by linter
|
|
146
148
|
options: [
|
|
147
149
|
{ name: 'Domain', value: 'domain' },
|
|
148
|
-
{ name: 'IP Address', value: 'ip' },
|
|
149
150
|
{ name: 'Email', value: 'email' },
|
|
151
|
+
{ name: 'IP Address', value: 'ip' },
|
|
150
152
|
{ name: 'Phone', value: 'phone' },
|
|
151
153
|
{ name: 'Wallet Address', value: 'wallet' },
|
|
152
154
|
],
|
|
@@ -158,7 +160,7 @@ class RelayShield {
|
|
|
158
160
|
description: 'Type of indicator being queried',
|
|
159
161
|
},
|
|
160
162
|
// ----------------------------------------------------------------
|
|
161
|
-
//
|
|
163
|
+
// CVE Lookup
|
|
162
164
|
// ----------------------------------------------------------------
|
|
163
165
|
{
|
|
164
166
|
displayName: 'Lookup By',
|
|
@@ -212,51 +214,51 @@ class RelayShield {
|
|
|
212
214
|
let responseData;
|
|
213
215
|
if (operation === 'breach') {
|
|
214
216
|
const email = this.getNodeParameter('email', i);
|
|
215
|
-
responseData = await relayShieldPost('/v1/metered/breach', { email }, apiKey);
|
|
217
|
+
responseData = await relayShieldPost(this, '/v1/metered/breach', { email }, apiKey);
|
|
216
218
|
}
|
|
217
219
|
else if (operation === 'simSwap') {
|
|
218
220
|
const phone = this.getNodeParameter('phone', i);
|
|
219
|
-
responseData = await relayShieldPost('/v1/metered/sim-swap', { phone }, apiKey);
|
|
221
|
+
responseData = await relayShieldPost(this, '/v1/metered/sim-swap', { phone }, apiKey);
|
|
220
222
|
}
|
|
221
223
|
else if (operation === 'infostealer') {
|
|
222
224
|
const email = this.getNodeParameter('email', i);
|
|
223
|
-
responseData = await relayShieldPost('/v1/metered/infostealer', { email }, apiKey);
|
|
225
|
+
responseData = await relayShieldPost(this, '/v1/metered/infostealer', { email }, apiKey);
|
|
224
226
|
}
|
|
225
227
|
else if (operation === 'domain') {
|
|
226
228
|
const domain = this.getNodeParameter('domain', i);
|
|
227
|
-
responseData = await relayShieldPost('/v1/metered/domain', { domain }, apiKey);
|
|
229
|
+
responseData = await relayShieldPost(this, '/v1/metered/domain', { domain }, apiKey);
|
|
228
230
|
}
|
|
229
231
|
else if (operation === 'oauthWatchlist') {
|
|
230
232
|
const email = this.getNodeParameter('email', i);
|
|
231
|
-
responseData = await relayShieldPost('/v1/metered/oauth-watchlist', { email }, apiKey);
|
|
233
|
+
responseData = await relayShieldPost(this, '/v1/metered/oauth-watchlist', { email }, apiKey);
|
|
232
234
|
}
|
|
233
235
|
else if (operation === 'intelTelegram') {
|
|
234
236
|
const indicator = this.getNodeParameter('indicator', i);
|
|
235
237
|
const type = this.getNodeParameter('indicatorType', i);
|
|
236
|
-
responseData = await relayShieldGet(`/v1/intel/telegram?indicator=${encodeURIComponent(indicator)}&type=${type}`, apiKey);
|
|
238
|
+
responseData = await relayShieldGet(this, `/v1/intel/telegram?indicator=${encodeURIComponent(indicator)}&type=${type}`, apiKey);
|
|
237
239
|
}
|
|
238
240
|
else if (operation === 'intelCve') {
|
|
239
241
|
const lookupBy = this.getNodeParameter('cveLookupBy', i);
|
|
240
242
|
if (lookupBy === 'cve_id') {
|
|
241
243
|
const cveId = this.getNodeParameter('cveId', i);
|
|
242
|
-
responseData = await relayShieldGet(`/v1/intel/cve?cve_id=${encodeURIComponent(cveId)}`, apiKey);
|
|
244
|
+
responseData = await relayShieldGet(this, `/v1/intel/cve?cve_id=${encodeURIComponent(cveId)}`, apiKey);
|
|
243
245
|
}
|
|
244
246
|
else {
|
|
245
247
|
const keyword = this.getNodeParameter('cveKeyword', i);
|
|
246
|
-
responseData = await relayShieldGet(`/v1/intel/cve?keyword=${encodeURIComponent(keyword)}`, apiKey);
|
|
248
|
+
responseData = await relayShieldGet(this, `/v1/intel/cve?keyword=${encodeURIComponent(keyword)}`, apiKey);
|
|
247
249
|
}
|
|
248
250
|
}
|
|
249
251
|
else {
|
|
250
|
-
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown operation: ${operation}
|
|
252
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown operation: ${operation}`, { itemIndex: i });
|
|
251
253
|
}
|
|
252
|
-
returnData.push({ json: responseData });
|
|
254
|
+
returnData.push({ json: responseData, pairedItem: { item: i } });
|
|
253
255
|
}
|
|
254
256
|
catch (error) {
|
|
255
257
|
if (this.continueOnFail()) {
|
|
256
|
-
returnData.push({ json: { error: error.message }, pairedItem: i });
|
|
258
|
+
returnData.push({ json: { error: error.message }, pairedItem: { item: i } });
|
|
257
259
|
continue;
|
|
258
260
|
}
|
|
259
|
-
throw error;
|
|
261
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), error, { itemIndex: i });
|
|
260
262
|
}
|
|
261
263
|
}
|
|
262
264
|
return [returnData];
|
|
@@ -264,9 +266,9 @@ class RelayShield {
|
|
|
264
266
|
}
|
|
265
267
|
exports.RelayShield = RelayShield;
|
|
266
268
|
// ---------------------------------------------------------------------------
|
|
267
|
-
// HTTP helpers
|
|
269
|
+
// HTTP helpers — pass IExecuteFunctions for proper NodeApiError context
|
|
268
270
|
// ---------------------------------------------------------------------------
|
|
269
|
-
async function relayShieldPost(path, body, apiKey) {
|
|
271
|
+
async function relayShieldPost(ctx, path, body, apiKey) {
|
|
270
272
|
const response = await fetch(`${API_BASE}${path}`, {
|
|
271
273
|
method: 'POST',
|
|
272
274
|
headers: {
|
|
@@ -277,18 +279,18 @@ async function relayShieldPost(path, body, apiKey) {
|
|
|
277
279
|
});
|
|
278
280
|
if (!response.ok) {
|
|
279
281
|
const text = await response.text();
|
|
280
|
-
throw new
|
|
282
|
+
throw new n8n_workflow_1.NodeApiError(ctx.getNode(), { message: `RelayShield API error ${response.status}: ${text}` });
|
|
281
283
|
}
|
|
282
284
|
return response.json();
|
|
283
285
|
}
|
|
284
|
-
async function relayShieldGet(pathWithQuery, apiKey) {
|
|
286
|
+
async function relayShieldGet(ctx, pathWithQuery, apiKey) {
|
|
285
287
|
const response = await fetch(`${API_BASE}${pathWithQuery}`, {
|
|
286
288
|
method: 'GET',
|
|
287
289
|
headers: { 'X-RS-API-KEY': apiKey },
|
|
288
290
|
});
|
|
289
291
|
if (!response.ok) {
|
|
290
292
|
const text = await response.text();
|
|
291
|
-
throw new
|
|
293
|
+
throw new n8n_workflow_1.NodeApiError(ctx.getNode(), { message: `RelayShield API error ${response.status}: ${text}` });
|
|
292
294
|
}
|
|
293
295
|
return response.json();
|
|
294
296
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelayShield.node.js","sourceRoot":"","sources":["../../../nodes/RelayShield/RelayShield.node.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"RelayShield.node.js","sourceRoot":"","sources":["../../../nodes/RelayShield/RelayShield.node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-relayshield",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "n8n community node for RelayShield — breach detection, SIM swap monitoring, infostealer exposure, domain lookalike scanning, and threat intelligence IOC lookup.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
|
@@ -24,8 +24,10 @@
|
|
|
24
24
|
},
|
|
25
25
|
"main": "index.js",
|
|
26
26
|
"scripts": {
|
|
27
|
-
"build": "tsc && cp nodes/RelayShield/relayshield.svg dist/nodes/RelayShield/relayshield.svg",
|
|
27
|
+
"build": "tsc && cp nodes/RelayShield/relayshield.svg dist/nodes/RelayShield/relayshield.svg && cp credentials/relayshield.svg dist/credentials/relayshield.svg",
|
|
28
28
|
"dev": "tsc --watch",
|
|
29
|
+
"lint": "n8n-node lint",
|
|
30
|
+
"release": "n8n-node release",
|
|
29
31
|
"prepublishOnly": "npm run build"
|
|
30
32
|
},
|
|
31
33
|
"files": [
|
|
@@ -41,6 +43,7 @@
|
|
|
41
43
|
]
|
|
42
44
|
},
|
|
43
45
|
"devDependencies": {
|
|
46
|
+
"@n8n/node-cli": "^0.35.0",
|
|
44
47
|
"@types/node": "^20.19.43",
|
|
45
48
|
"n8n-core": "*",
|
|
46
49
|
"n8n-workflow": "^2.16.0",
|