@pipedream/whoisfreaks 0.1.1 → 0.1.2
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/actions/bulk-dns-domain-lookup/bulk-dns-domain-lookup.mjs +22 -9
- package/actions/bulk-ip-geolocation-lookup/bulk-ip-geolocation-lookup.mjs +39 -33
- package/actions/bulk-ip-reputation-lookup/bulk-ip-reputation-lookup.mjs +39 -33
- package/actions/bulk-whois-lookup/bulk-whois-lookup.mjs +38 -32
- package/actions/domain-availability-lookup/domain-availability-lookup.mjs +10 -4
- package/actions/domain-reputation-lookup/domain-reputation-lookup.mjs +28 -25
- package/actions/ip-geolocation-lookup/ip-geolocation-lookup.mjs +6 -3
- package/actions/ip-lookup/ip-lookup.mjs +4 -1
- package/actions/ip-reputation-lookup/ip-reputation-lookup.mjs +28 -25
- package/actions/reverse-lookup/reverse-lookup.mjs +9 -3
- package/actions/ssl-lookup/ssl-lookup.mjs +10 -4
- package/actions/sub-domain-lookup/sub-domain-lookup.mjs +10 -4
- package/common/utils.mjs +2 -1
- package/package.json +1 -1
- package/whoisfreaks.app.mjs +15 -8
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
import { ConfigurationError } from "@pipedream/platform";
|
|
4
3
|
import { parseObject } from "../../common/utils.mjs";
|
|
@@ -7,25 +6,35 @@ export default {
|
|
|
7
6
|
key: "whoisfreaks-bulk-dns-domain-lookup",
|
|
8
7
|
name: "Bulk DNS Domain Lookup",
|
|
9
8
|
description: "Retrieve DNS records (A, AAAA, MX, NS, CNAME, TXT, PTR, SPF, DKIM, DMARC, SRV, SOA) for up to 100 domains or IP addresses in a single request. Use this action for bulk DNS auditing, infrastructure mapping, or automated monitoring. Accepts domain names and/or IP addresses; returns JSON or XML output. [See the documentation](https://whoisfreaks.com/documentation/dns-checker-api#bulk-domain-lookup)",
|
|
10
|
-
version: "0.0.
|
|
9
|
+
version: "0.0.2",
|
|
11
10
|
annotations: {
|
|
12
11
|
destructiveHint: false,
|
|
13
12
|
openWorldHint: true,
|
|
14
13
|
readOnlyHint: true,
|
|
15
14
|
},
|
|
16
15
|
type: "action",
|
|
16
|
+
ai: "optimized",
|
|
17
17
|
props: {
|
|
18
18
|
whoisfreaks,
|
|
19
19
|
domainNames: {
|
|
20
|
-
propDefinition: [
|
|
20
|
+
propDefinition: [
|
|
21
|
+
whoisfreaks,
|
|
22
|
+
"domainNames",
|
|
23
|
+
],
|
|
21
24
|
optional: true,
|
|
22
25
|
},
|
|
23
26
|
ipAddresses: {
|
|
24
|
-
propDefinition: [
|
|
27
|
+
propDefinition: [
|
|
28
|
+
whoisfreaks,
|
|
29
|
+
"ipAddresses",
|
|
30
|
+
],
|
|
25
31
|
optional: true,
|
|
26
32
|
},
|
|
27
33
|
format: {
|
|
28
|
-
propDefinition: [
|
|
34
|
+
propDefinition: [
|
|
35
|
+
whoisfreaks,
|
|
36
|
+
"format",
|
|
37
|
+
],
|
|
29
38
|
},
|
|
30
39
|
},
|
|
31
40
|
|
|
@@ -40,7 +49,7 @@ export default {
|
|
|
40
49
|
|
|
41
50
|
if (!domainNames.length && !ipAddresses.length) {
|
|
42
51
|
throw new ConfigurationError(
|
|
43
|
-
"Please provide at least one domain name or IP address."
|
|
52
|
+
"Please provide at least one domain name or IP address.",
|
|
44
53
|
);
|
|
45
54
|
}
|
|
46
55
|
|
|
@@ -51,8 +60,12 @@ export default {
|
|
|
51
60
|
type: "all",
|
|
52
61
|
},
|
|
53
62
|
body: {
|
|
54
|
-
...(domainNames.length && {
|
|
55
|
-
|
|
63
|
+
...(domainNames.length && {
|
|
64
|
+
domainNames,
|
|
65
|
+
}),
|
|
66
|
+
...(ipAddresses.length && {
|
|
67
|
+
ipAddresses,
|
|
68
|
+
}),
|
|
56
69
|
},
|
|
57
70
|
});
|
|
58
71
|
|
|
@@ -60,7 +73,7 @@ export default {
|
|
|
60
73
|
"$summary",
|
|
61
74
|
`Successfully fetched bulk DNS data for ${
|
|
62
75
|
domainNames.length + ipAddresses.length
|
|
63
|
-
} input(s)
|
|
76
|
+
} input(s)`,
|
|
64
77
|
);
|
|
65
78
|
|
|
66
79
|
return response;
|
|
@@ -1,40 +1,46 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
import { parseObject } from "../../common/utils.mjs";
|
|
4
3
|
|
|
5
4
|
export default {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
key: "whoisfreaks-bulk-ip-geolocation-lookup",
|
|
6
|
+
name: "Bulk IP Geolocation Lookup",
|
|
7
|
+
description: "Retrieve geolocation details (country, city, ASN, ISP, coordinates) for up to 100 IP addresses in a single request. Accepts comma-separated IPv4 or IPv6 addresses and returns JSON or XML output. Use this action for bulk network analysis, fraud detection, or audience geo-enrichment. [See the documentation](https://whoisfreaks.com/documentation/ip-geolocation-api#bulk-geo-lookup)",
|
|
8
|
+
version: "0.0.2",
|
|
9
|
+
annotations: {
|
|
10
|
+
destructiveHint: false,
|
|
11
|
+
openWorldHint: true,
|
|
12
|
+
readOnlyHint: true,
|
|
13
|
+
},
|
|
14
|
+
type: "action",
|
|
15
|
+
ai: "optimized",
|
|
16
|
+
props: {
|
|
17
|
+
whoisfreaks,
|
|
18
|
+
ipAddresses: {
|
|
19
|
+
propDefinition: [
|
|
17
20
|
whoisfreaks,
|
|
18
|
-
ipAddresses
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
format: {
|
|
23
|
-
propDefinition: [whoisfreaks, "format"],
|
|
24
|
-
},
|
|
21
|
+
"ipAddresses",
|
|
22
|
+
],
|
|
23
|
+
optional: false,
|
|
25
24
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
format: this.format,
|
|
32
|
-
},
|
|
33
|
-
body: {
|
|
34
|
-
ips: ipAddresses,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
$.export("$summary", `Successfully fetched bulk IP geolocation data for ${ipAddresses.length} IP(s)`);
|
|
38
|
-
return response;
|
|
25
|
+
format: {
|
|
26
|
+
propDefinition: [
|
|
27
|
+
whoisfreaks,
|
|
28
|
+
"format",
|
|
29
|
+
],
|
|
39
30
|
},
|
|
40
|
-
}
|
|
31
|
+
},
|
|
32
|
+
async run({ $ }) {
|
|
33
|
+
const ipAddresses = parseObject(this.ipAddresses);
|
|
34
|
+
const response = await this.whoisfreaks.lookupBulkIpGeolocation({
|
|
35
|
+
$,
|
|
36
|
+
params: {
|
|
37
|
+
format: this.format,
|
|
38
|
+
},
|
|
39
|
+
body: {
|
|
40
|
+
ips: ipAddresses,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
$.export("$summary", `Successfully fetched bulk IP geolocation data for ${ipAddresses.length} IP(s)`);
|
|
44
|
+
return response;
|
|
45
|
+
},
|
|
46
|
+
};
|
|
@@ -1,40 +1,46 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
import { parseObject } from "../../common/utils.mjs";
|
|
4
3
|
|
|
5
4
|
export default {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
key: "whoisfreaks-bulk-ip-reputation-lookup",
|
|
6
|
+
name: "Bulk IP Reputation Lookup",
|
|
7
|
+
description: "Score up to 100 IPv4 or IPv6 addresses against real-time threat data in a single request. Returns composite threat score, VPN/proxy/Tor/bot classification, blacklist status, and ASN/ISP details for each IP. Accepts comma-separated IP addresses; returns JSON or XML output. [See the documentation](https://whoisfreaks.com/documentation/ip-security-api#bulk-security-lookup)",
|
|
8
|
+
version: "0.0.2",
|
|
9
|
+
annotations: {
|
|
10
|
+
destructiveHint: false,
|
|
11
|
+
openWorldHint: true,
|
|
12
|
+
readOnlyHint: true,
|
|
13
|
+
},
|
|
14
|
+
type: "action",
|
|
15
|
+
ai: "optimized",
|
|
16
|
+
props: {
|
|
17
|
+
whoisfreaks,
|
|
18
|
+
ipAddresses: {
|
|
19
|
+
propDefinition: [
|
|
17
20
|
whoisfreaks,
|
|
18
|
-
ipAddresses
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
format: {
|
|
23
|
-
propDefinition: [whoisfreaks, "format"],
|
|
24
|
-
},
|
|
21
|
+
"ipAddresses",
|
|
22
|
+
],
|
|
23
|
+
optional: false,
|
|
25
24
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
format: this.format,
|
|
32
|
-
},
|
|
33
|
-
body: {
|
|
34
|
-
ips: ipAddresses,
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
$.export("$summary", `Successfully fetched bulk IP reputation data for ${ipAddresses.length} IP(s)`);
|
|
38
|
-
return response;
|
|
25
|
+
format: {
|
|
26
|
+
propDefinition: [
|
|
27
|
+
whoisfreaks,
|
|
28
|
+
"format",
|
|
29
|
+
],
|
|
39
30
|
},
|
|
40
|
-
}
|
|
31
|
+
},
|
|
32
|
+
async run({ $ }) {
|
|
33
|
+
const ipAddresses = parseObject(this.ipAddresses);
|
|
34
|
+
const response = await this.whoisfreaks.lookupBulkIpReputation({
|
|
35
|
+
$,
|
|
36
|
+
params: {
|
|
37
|
+
format: this.format,
|
|
38
|
+
},
|
|
39
|
+
body: {
|
|
40
|
+
ips: ipAddresses,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
$.export("$summary", `Successfully fetched bulk IP reputation data for ${ipAddresses.length} IP(s)`);
|
|
44
|
+
return response;
|
|
45
|
+
},
|
|
46
|
+
};
|
|
@@ -1,39 +1,45 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
import { parseObject } from "../../common/utils.mjs";
|
|
4
3
|
|
|
5
4
|
export default {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
key: "whoisfreaks-bulk-whois-lookup",
|
|
6
|
+
name: "Bulk Whois Lookup",
|
|
7
|
+
description: "Retrieve WHOIS registration data (registrant, registrar, name servers, email, phone, address, ASN, history) for up to 100 domains in a single request. Accepts comma-separated domain names across 1000+ TLDs; returns JSON or XML output. Use this action for bulk domain research, lead enrichment, or portfolio audits. [See the documentation](https://whoisfreaks.com/documentation/bulk-whois-api)",
|
|
8
|
+
version: "0.0.2",
|
|
9
|
+
annotations: {
|
|
10
|
+
destructiveHint: false,
|
|
11
|
+
openWorldHint: true,
|
|
12
|
+
readOnlyHint: true,
|
|
13
|
+
},
|
|
14
|
+
type: "action",
|
|
15
|
+
ai: "optimized",
|
|
16
|
+
props: {
|
|
17
|
+
whoisfreaks,
|
|
18
|
+
domainNames: {
|
|
19
|
+
propDefinition: [
|
|
17
20
|
whoisfreaks,
|
|
18
|
-
domainNames
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
format: {
|
|
22
|
-
propDefinition: [whoisfreaks, "format"],
|
|
23
|
-
},
|
|
21
|
+
"domainNames",
|
|
22
|
+
],
|
|
24
23
|
},
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
format: this.format,
|
|
31
|
-
},
|
|
32
|
-
body: {
|
|
33
|
-
domainNames,
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
$.export("$summary", `Successfully fetched bulk WHOIS data for ${domainNames.length} domain(s)`);
|
|
37
|
-
return response;
|
|
24
|
+
format: {
|
|
25
|
+
propDefinition: [
|
|
26
|
+
whoisfreaks,
|
|
27
|
+
"format",
|
|
28
|
+
],
|
|
38
29
|
},
|
|
39
|
-
}
|
|
30
|
+
},
|
|
31
|
+
async run({ $ }) {
|
|
32
|
+
const domainNames = parseObject(this.domainNames);
|
|
33
|
+
const response = await this.whoisfreaks.lookupBulkWhois({
|
|
34
|
+
$,
|
|
35
|
+
params: {
|
|
36
|
+
format: this.format,
|
|
37
|
+
},
|
|
38
|
+
body: {
|
|
39
|
+
domainNames,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
$.export("$summary", `Successfully fetched bulk WHOIS data for ${domainNames.length} domain(s)`);
|
|
43
|
+
return response;
|
|
44
|
+
},
|
|
45
|
+
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
|
|
4
3
|
export default {
|
|
@@ -6,20 +5,27 @@ export default {
|
|
|
6
5
|
name: "Domain Availability Lookup",
|
|
7
6
|
description:
|
|
8
7
|
"Check if a domain name is available for registration. For example you can check whoisfreaks.com. This action supports responses in both JSON and XML format. Always use sug=false to get the response. [See the documentation](https://whoisfreaks.com/documentation/domain-availability-api#lookup)",
|
|
9
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.2",
|
|
10
9
|
annotations: {
|
|
11
10
|
destructiveHint: false,
|
|
12
11
|
openWorldHint: true,
|
|
13
12
|
readOnlyHint: true,
|
|
14
13
|
},
|
|
15
14
|
type: "action",
|
|
15
|
+
ai: "optimized",
|
|
16
16
|
props: {
|
|
17
17
|
whoisfreaks,
|
|
18
18
|
domainName: {
|
|
19
|
-
propDefinition: [
|
|
19
|
+
propDefinition: [
|
|
20
|
+
whoisfreaks,
|
|
21
|
+
"domainName",
|
|
22
|
+
],
|
|
20
23
|
},
|
|
21
24
|
format: {
|
|
22
|
-
propDefinition: [
|
|
25
|
+
propDefinition: [
|
|
26
|
+
whoisfreaks,
|
|
27
|
+
"format",
|
|
28
|
+
],
|
|
23
29
|
},
|
|
24
30
|
},
|
|
25
31
|
async run({ $ }) {
|
|
@@ -1,31 +1,34 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
|
|
4
3
|
export default {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
key: "whoisfreaks-domain-reputation-lookup",
|
|
5
|
+
name: "Domain Reputation Lookup",
|
|
6
|
+
description: "Check the reputation and security status of a domain — including whether it is associated with malware, phishing campaigns, or other malicious activity. Use this action for threat intelligence workflows, email security checks, or domain risk scoring. Returns JSON output. [See the documentation](https://whoisfreaks.com/documentation/domain-reputation-api)",
|
|
7
|
+
version: "0.0.2",
|
|
8
|
+
annotations: {
|
|
9
|
+
destructiveHint: false,
|
|
10
|
+
openWorldHint: true,
|
|
11
|
+
readOnlyHint: true,
|
|
12
|
+
},
|
|
13
|
+
type: "action",
|
|
14
|
+
ai: "optimized",
|
|
15
|
+
props: {
|
|
16
|
+
whoisfreaks,
|
|
17
|
+
domainName: {
|
|
18
|
+
propDefinition: [
|
|
16
19
|
whoisfreaks,
|
|
17
|
-
domainName
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
async run({ $ }) {
|
|
22
|
-
const response = await this.whoisfreaks.lookupDomainReputation({
|
|
23
|
-
$,
|
|
24
|
-
params: {
|
|
25
|
-
domainName: this.domainName,
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
$.export("$summary", `Successfully fetched domain reputation data for ${this.domainName}`);
|
|
29
|
-
return response;
|
|
20
|
+
"domainName",
|
|
21
|
+
],
|
|
30
22
|
},
|
|
23
|
+
},
|
|
24
|
+
async run({ $ }) {
|
|
25
|
+
const response = await this.whoisfreaks.lookupDomainReputation({
|
|
26
|
+
$,
|
|
27
|
+
params: {
|
|
28
|
+
domainName: this.domainName,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
$.export("$summary", `Successfully fetched domain reputation data for ${this.domainName}`);
|
|
32
|
+
return response;
|
|
33
|
+
},
|
|
31
34
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
|
|
4
3
|
export default {
|
|
@@ -6,17 +5,21 @@ export default {
|
|
|
6
5
|
name: "IP Geolocation Lookup",
|
|
7
6
|
description:
|
|
8
7
|
"Retrieve geolocation details (country, city, region, ASN, ISP, coordinates) for a single IP address. Supports both IPv4 and IPv6 addresses. Use this action to enrich events with location data, perform fraud detection, or geo-target users. [See the documentation](https://whoisfreaks.com/documentation/ip-geolocation-api#geo-lookup)",
|
|
9
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.2",
|
|
10
9
|
annotations: {
|
|
11
10
|
destructiveHint: false,
|
|
12
11
|
openWorldHint: true,
|
|
13
12
|
readOnlyHint: true,
|
|
14
13
|
},
|
|
15
14
|
type: "action",
|
|
15
|
+
ai: "optimized",
|
|
16
16
|
props: {
|
|
17
17
|
whoisfreaks,
|
|
18
18
|
ip: {
|
|
19
|
-
propDefinition: [
|
|
19
|
+
propDefinition: [
|
|
20
|
+
whoisfreaks,
|
|
21
|
+
"ip",
|
|
22
|
+
],
|
|
20
23
|
},
|
|
21
24
|
},
|
|
22
25
|
async run({ $ }) {
|
|
@@ -1,32 +1,35 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
|
|
4
3
|
export default {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
key: "whoisfreaks-ip-reputation-lookup",
|
|
5
|
+
name: "IP Reputation Lookup",
|
|
6
|
+
description: "Score a single IPv4 or IPv6 address against real-time threat data. Returns a composite threat score (0-100), VPN/proxy/Tor/bot classification, provider names with confidence scores, district-level geolocation, and ASN/ISP details. Use this action for threat intelligence, access control, or fraud prevention workflows. Accepts JSON or XML output. [See the documentation](https://whoisfreaks.com/documentation/ip-security-api#security-lookup)",
|
|
7
|
+
version: "0.0.2",
|
|
8
|
+
annotations: {
|
|
9
|
+
destructiveHint: false,
|
|
10
|
+
openWorldHint: true,
|
|
11
|
+
readOnlyHint: true,
|
|
12
|
+
},
|
|
13
|
+
type: "action",
|
|
14
|
+
ai: "optimized",
|
|
15
|
+
props: {
|
|
16
|
+
whoisfreaks,
|
|
17
|
+
ipAddress: {
|
|
18
|
+
propDefinition: [
|
|
16
19
|
whoisfreaks,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
async run({ $ }) {
|
|
22
|
-
const response = await this.whoisfreaks.lookupIpReputation({
|
|
23
|
-
$,
|
|
24
|
-
params: {
|
|
25
|
-
ip: this.ipAddress,
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
$.export("$summary", `Successfully fetched IP reputation data for ${this.ipAddress}`);
|
|
29
|
-
return response;
|
|
20
|
+
"ip",
|
|
21
|
+
],
|
|
30
22
|
},
|
|
23
|
+
},
|
|
24
|
+
async run({ $ }) {
|
|
25
|
+
const response = await this.whoisfreaks.lookupIpReputation({
|
|
26
|
+
$,
|
|
27
|
+
params: {
|
|
28
|
+
ip: this.ipAddress,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
$.export("$summary", `Successfully fetched IP reputation data for ${this.ipAddress}`);
|
|
32
|
+
return response;
|
|
33
|
+
},
|
|
31
34
|
};
|
|
32
35
|
|
|
@@ -43,7 +43,10 @@ export default {
|
|
|
43
43
|
optional: true,
|
|
44
44
|
},
|
|
45
45
|
format: {
|
|
46
|
-
propDefinition: [
|
|
46
|
+
propDefinition: [
|
|
47
|
+
whoisfreaks,
|
|
48
|
+
"format",
|
|
49
|
+
],
|
|
47
50
|
},
|
|
48
51
|
page: {
|
|
49
52
|
type: "integer",
|
|
@@ -66,12 +69,15 @@ export default {
|
|
|
66
69
|
const company = normalize(this.company);
|
|
67
70
|
|
|
68
71
|
const activeCount = [
|
|
69
|
-
keyword,
|
|
72
|
+
keyword,
|
|
73
|
+
email,
|
|
74
|
+
owner,
|
|
75
|
+
company,
|
|
70
76
|
].filter((v) => v !== undefined && v !== null).length;
|
|
71
77
|
|
|
72
78
|
if (activeCount !== 1) {
|
|
73
79
|
throw new ConfigurationError(
|
|
74
|
-
"Must enter one and only one of keyword, email, owner, or company"
|
|
80
|
+
"Must enter one and only one of keyword, email, owner, or company",
|
|
75
81
|
);
|
|
76
82
|
}
|
|
77
83
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
|
|
4
3
|
export default {
|
|
@@ -6,20 +5,27 @@ export default {
|
|
|
6
5
|
name: "SSL Lookup",
|
|
7
6
|
description:
|
|
8
7
|
"Retrieve details about a domain's SSL certificate (e.g. google.com). Note that this action accepts JSON or XML format values, always requests the full certificate chain (chain=true), and suppresses the raw OpenSSL response (sslRaw=false) for cleaner outputs. [See the documentation](https://whoisfreaks.com/documentation/ssl-certificate-api)",
|
|
9
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.2",
|
|
10
9
|
annotations: {
|
|
11
10
|
destructiveHint: false,
|
|
12
11
|
openWorldHint: true,
|
|
13
12
|
readOnlyHint: true,
|
|
14
13
|
},
|
|
15
14
|
type: "action",
|
|
15
|
+
ai: "optimized",
|
|
16
16
|
props: {
|
|
17
17
|
whoisfreaks,
|
|
18
18
|
domainName: {
|
|
19
|
-
propDefinition: [
|
|
19
|
+
propDefinition: [
|
|
20
|
+
whoisfreaks,
|
|
21
|
+
"domainName",
|
|
22
|
+
],
|
|
20
23
|
},
|
|
21
24
|
format: {
|
|
22
|
-
propDefinition: [
|
|
25
|
+
propDefinition: [
|
|
26
|
+
whoisfreaks,
|
|
27
|
+
"format",
|
|
28
|
+
],
|
|
23
29
|
},
|
|
24
30
|
},
|
|
25
31
|
async run({ $ }) {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// x-pd-ai: optimized
|
|
2
1
|
import whoisfreaks from "../../whoisfreaks.app.mjs";
|
|
3
2
|
|
|
4
3
|
export default {
|
|
@@ -6,20 +5,27 @@ export default {
|
|
|
6
5
|
name: "Subdomain Lookup",
|
|
7
6
|
description:
|
|
8
7
|
"Discover subdomains for a given domain using passive DNS data from 6.3B+ indexed hostnames. Returns active, inactive, and historical subdomain records. Use this action for attack surface mapping, security audits, or competitor research. Returns JSON or XML output. [See the documentation](https://whoisfreaks.com/documentation/subdomains-api)",
|
|
9
|
-
version: "0.0.
|
|
8
|
+
version: "0.0.2",
|
|
10
9
|
annotations: {
|
|
11
10
|
destructiveHint: false,
|
|
12
11
|
readOnlyHint: true,
|
|
13
12
|
openWorldHint: true,
|
|
14
13
|
},
|
|
15
14
|
type: "action",
|
|
15
|
+
ai: "optimized",
|
|
16
16
|
props: {
|
|
17
17
|
whoisfreaks,
|
|
18
18
|
domainName: {
|
|
19
|
-
propDefinition: [
|
|
19
|
+
propDefinition: [
|
|
20
|
+
whoisfreaks,
|
|
21
|
+
"domainName",
|
|
22
|
+
],
|
|
20
23
|
},
|
|
21
24
|
format: {
|
|
22
|
-
propDefinition: [
|
|
25
|
+
propDefinition: [
|
|
26
|
+
whoisfreaks,
|
|
27
|
+
"format",
|
|
28
|
+
],
|
|
23
29
|
},
|
|
24
30
|
page: {
|
|
25
31
|
type: "integer",
|
package/common/utils.mjs
CHANGED
package/package.json
CHANGED
package/whoisfreaks.app.mjs
CHANGED
|
@@ -12,7 +12,7 @@ export default {
|
|
|
12
12
|
domainNames: {
|
|
13
13
|
type: "string[]",
|
|
14
14
|
label: "Domain Names",
|
|
15
|
-
description: "Domain names to look up (e.g. `example.com`, `google.com`). Add one or more values. Supports up to 100 domains per request."
|
|
15
|
+
description: "Domain names to look up (e.g. `example.com`, `google.com`). Add one or more values. Supports up to 100 domains per request.",
|
|
16
16
|
},
|
|
17
17
|
ipAddresses: {
|
|
18
18
|
type: "string[]",
|
|
@@ -30,7 +30,10 @@ export default {
|
|
|
30
30
|
label: "Format",
|
|
31
31
|
description:
|
|
32
32
|
"Two formats are available JSON, XML. If you don't specify the 'format' parameter, the default format will be JSON.",
|
|
33
|
-
options: [
|
|
33
|
+
options: [
|
|
34
|
+
"JSON",
|
|
35
|
+
"XML",
|
|
36
|
+
],
|
|
34
37
|
default: "JSON",
|
|
35
38
|
optional: true,
|
|
36
39
|
},
|
|
@@ -39,7 +42,9 @@ export default {
|
|
|
39
42
|
_baseUrl() {
|
|
40
43
|
return "https://api.whoisfreaks.com";
|
|
41
44
|
},
|
|
42
|
-
_makeRequest({
|
|
45
|
+
_makeRequest({
|
|
46
|
+
$ = this, path, params, ...opts
|
|
47
|
+
}) {
|
|
43
48
|
return axios($, {
|
|
44
49
|
url: `${this._baseUrl()}${path}`,
|
|
45
50
|
params: {
|
|
@@ -49,7 +54,9 @@ export default {
|
|
|
49
54
|
...opts,
|
|
50
55
|
});
|
|
51
56
|
},
|
|
52
|
-
_makePostRequest({
|
|
57
|
+
_makePostRequest({
|
|
58
|
+
$ = this, path, params, body, ...opts
|
|
59
|
+
}) {
|
|
53
60
|
return axios($, {
|
|
54
61
|
url: `${this._baseUrl()}${path}`,
|
|
55
62
|
method: "POST",
|
|
@@ -112,25 +119,25 @@ export default {
|
|
|
112
119
|
lookupBulkWhois(opts = {}) {
|
|
113
120
|
return this._makePostRequest({
|
|
114
121
|
path: "/v2.0/bulkwhois/live",
|
|
115
|
-
...opts
|
|
122
|
+
...opts,
|
|
116
123
|
});
|
|
117
124
|
},
|
|
118
125
|
lookupBulkDnsDomain(opts = {}) {
|
|
119
126
|
return this._makePostRequest({
|
|
120
127
|
path: "/v2.0/dns/bulk/live",
|
|
121
|
-
...opts
|
|
128
|
+
...opts,
|
|
122
129
|
});
|
|
123
130
|
},
|
|
124
131
|
lookupBulkIpGeolocation(opts = {}) {
|
|
125
132
|
return this._makePostRequest({
|
|
126
133
|
path: "/v1.0/geolocation",
|
|
127
|
-
...opts
|
|
134
|
+
...opts,
|
|
128
135
|
});
|
|
129
136
|
},
|
|
130
137
|
lookupBulkIpReputation(opts = {}) {
|
|
131
138
|
return this._makePostRequest({
|
|
132
139
|
path: "/v1.0/security",
|
|
133
|
-
...opts
|
|
140
|
+
...opts,
|
|
134
141
|
});
|
|
135
142
|
},
|
|
136
143
|
},
|