This commit is contained in:
David Marshall 2025-02-16 09:03:46 -05:00
parent 7906f9d560
commit 6ccbc892c7
2 changed files with 14 additions and 3 deletions

View file

@ -62,3 +62,9 @@ export const URL_REGEX = new RegExp(protocol + hostname + "(?:" + port + ")?(?:"
* Domain name regular expression * Domain name regular expression
*/ */
export const DOMAIN_REGEX = /\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/ig; export const DOMAIN_REGEX = /\b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b/ig;
/**
* DMARC Domain name regular expression
*/
export const DMARC_DOMAIN_REGEX = /\b((?=[a-z0-9_-]{1,63}\.)(xn--)?[a-z0-9_]+(-[a-z0-9_]+)*\.)+[a-z]{2,63}\b/ig;

View file

@ -5,7 +5,7 @@
*/ */
import Operation from "../Operation.mjs"; import Operation from "../Operation.mjs";
import { search, DOMAIN_REGEX } from "../lib/Extract.mjs"; import { search, DOMAIN_REGEX, DMARC_DOMAIN_REGEX } from "../lib/Extract.mjs";
import { caseInsensitiveSort } from "../lib/Sort.mjs"; import { caseInsensitiveSort } from "../lib/Sort.mjs";
/** /**
@ -39,6 +39,11 @@ class ExtractDomains extends Operation {
name: "Unique", name: "Unique",
type: "boolean", type: "boolean",
value: false value: false
},
{
name: "Underscore (DMARC, DKIM, etc)",
type: "boolean",
value: false
} }
]; ];
} }
@ -49,11 +54,11 @@ class ExtractDomains extends Operation {
* @returns {string} * @returns {string}
*/ */
run(input, args) { run(input, args) {
const [displayTotal, sort, unique] = args; const [displayTotal, sort, unique, dmarc] = args;
const results = search( const results = search(
input, input,
DOMAIN_REGEX, dmarc ? DMARC_DOMAIN_REGEX : DOMAIN_REGEX,
null, null,
sort ? caseInsensitiveSort : null, sort ? caseInsensitiveSort : null,
unique unique