From dab7f3592a2e9a71bc37ffd1844513e373f3ce3e Mon Sep 17 00:00:00 2001 From: Mats Byrkjeland Date: Sat, 26 Aug 2023 00:22:00 +0200 Subject: [PATCH] Stream domains from txt instead of loading whole json file Adding more domains is more convenient because the git diff is prettier and you don't need quotes and commas. Also, it's more memory-efficient to read the file line by line instead of loading the whole file into memory, although it's negligible with such a small file. --- domains.json | 118 --------------------------------------------------- domains.txt | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++ index.js | 7 +-- 3 files changed, 120 insertions(+), 121 deletions(-) delete mode 100644 domains.json create mode 100644 domains.txt diff --git a/domains.json b/domains.json deleted file mode 100644 index 8117016..0000000 --- a/domains.json +++ /dev/null @@ -1,118 +0,0 @@ -[ - "stortinget.no", - "regjeringen.no", - "domstol.no", - "lovdata.no", - "politiet.no", - "forsvaret.no", - "nav.no", - "komplett.no", - "elkjop.no", - "trumf.no", - "coop.no", - "obs.no", - "jernia.no", - "multicom.no", - "megaflis.no", - "power.no", - "proshop.no", - "staypro.no", - "jula.no", - "nordicdream.no", - "whiteaway.no", - "skousen.no", - "xxl.no", - "netonnet.no", - "soundgarden.no", - "cdon.no", - "hifiklubben.no", - "ark.no", - "dustinhome.no", - "fjellsport.no", - "milrab.no", - "outnorth.no", - "kitchn.no", - "tilbords.no", - "norli.no", - "kjell.com", - "sportsnett.no", - "ellos.no", - "nelly.com", - "miinto.no", - "entur.no", - "entur.org", - "vy.no", - "posten.no", - "postnord.no", - "digipost.no", - "1881.no", - "danskebank.no", - "spv.no", - "dnb.no", - "sparebank1.no", - "banknorwegian.no", - "eika.no", - "gjensidige.no", - "klp.no", - "sbanken.no", - "santander.no", - "if.no", - "obos.no", - "storebrand.no", - "dep.no", - "landkreditt.no", - "landkredittbank.no", - "komplettbank.no", - "pst.no", - "nsm.no", - "skatteetaten.no", - "uio.no", - "ntnu.no", - "digdir.no", - "ks.no", - "altinn.no", - "ruter.no", - "nrk.no", - "aftenposten.no", - "dagbladet.no", - "tv2.no", - "e24.no", - "finn.no", - "nettavisen.no", - "dn.no", - "bt.no", - "adressa.no", - "finansavisen.no", - "aftenbladet.no", - "oslohavn.no", - "oda.com", - "uit.no", - "uis.no", - "uib.no", - "uia.no", - "nmbu.no", - "oslomet.no", - "norge.no", - "spar.no", - "kiwi.no", - "rema.no", - "meny.no", - "vipps.no", - "kode24.no", - "norid.no", - "atea.no", - "altibox.no", - "visma.no", - "toogoodtogo.no", - "kk.no", - "bohus.no", - "zalando.no", - "sportmann.no", - "usbl.no", - "dyreparken.no", - "ntb.no", - "nettbil.no", - "kartverket.no", - "norgeskart.no", - "morrowbank.no" -] diff --git a/domains.txt b/domains.txt new file mode 100644 index 0000000..c69e77a --- /dev/null +++ b/domains.txt @@ -0,0 +1,116 @@ +stortinget.no +regjeringen.no +domstol.no +lovdata.no +politiet.no +forsvaret.no +nav.no +komplett.no +elkjop.no +trumf.no +coop.no +obs.no +jernia.no +multicom.no +megaflis.no +power.no +proshop.no +staypro.no +jula.no +nordicdream.no +whiteaway.no +skousen.no +xxl.no +netonnet.no +soundgarden.no +cdon.no +hifiklubben.no +ark.no +dustinhome.no +fjellsport.no +milrab.no +outnorth.no +kitchn.no +tilbords.no +norli.no +kjell.com +sportsnett.no +ellos.no +nelly.com +miinto.no +entur.no +entur.org +vy.no +posten.no +postnord.no +digipost.no +1881.no +danskebank.no +spv.no +dnb.no +sparebank1.no +banknorwegian.no +eika.no +gjensidige.no +klp.no +sbanken.no +santander.no +if.no +obos.no +storebrand.no +dep.no +landkreditt.no +landkredittbank.no +komplettbank.no +pst.no +nsm.no +skatteetaten.no +uio.no +ntnu.no +digdir.no +ks.no +altinn.no +ruter.no +nrk.no +aftenposten.no +dagbladet.no +tv2.no +e24.no +finn.no +nettavisen.no +dn.no +bt.no +adressa.no +finansavisen.no +aftenbladet.no +oslohavn.no +oda.com +uit.no +uis.no +uib.no +uia.no +nmbu.no +oslomet.no +norge.no +spar.no +kiwi.no +rema.no +meny.no +vipps.no +kode24.no +norid.no +atea.no +altibox.no +visma.no +toogoodtogo.no +kk.no +bohus.no +zalando.no +sportmann.no +usbl.no +dyreparken.no +ntb.no +nettbil.no +kartverket.no +norgeskart.no +morrowbank.no diff --git a/index.js b/index.js index 84d8581..519a415 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,6 @@ import { resolveTxt } from "dns"; import { readFileSync, writeFileSync, mkdirSync } from "fs"; - -import DOMAINS from "./domains.json" assert { type: "json" }; +import { open } from "fs/promises"; function getTxtRecords(hostname) { return new Promise((resolve, reject) => @@ -53,7 +52,9 @@ function getTimeElement() { async function main() { const dmarcs = []; - for (const domain of DOMAINS) { + const domainsFile = await open("./domains.txt"); + + for await (const domain of domainsFile.readLines()) { const dmarc = await getDmarcRecord(domain); dmarcs.push({