19 lines
1.8 KiB
JavaScript
19 lines
1.8 KiB
JavaScript
// scaneaza-local.mjs <port>: scanerul AERE de pregatire post-cuantica (cloud-gateway/readiness-service.mjs, functia scaneazaAdresa,
|
|
// fara garda de adrese private: tinta e 127.0.0.1, aleasa de noi) pe serverul de proba al unei retete. Tipareste verdictul, rezumatul si
|
|
// constatarile, exact ce ar vedea un client al scanerului pe serverul lui dupa aplicarea retetei.
|
|
import fs from 'node:fs';
|
|
import { pathToFileURL, fileURLToPath } from 'node:url';
|
|
const port = Number(process.argv[2] || 8445);
|
|
// 2026-10-19: scanerul se ia relativ la acest fisier, in ambele asezari (cloud-gateway/readiness-service.mjs in arborele de dezvoltare,
|
|
// readiness/readiness-service.mjs in copia publica aere-quantum), sau din AERE_READINESS_SERVICE; prima forma purta calea absoluta de pe
|
|
// laptopul de lucru, publicata asa in aere-quantum (D-541).
|
|
const CAND = [new URL('../../../readiness-service.mjs', import.meta.url), new URL('../../../readiness/readiness-service.mjs', import.meta.url)].find((u) => fs.existsSync(fileURLToPath(u)));
|
|
const SCANER = process.env.AERE_READINESS_SERVICE ? pathToFileURL(process.env.AERE_READINESS_SERVICE).href : CAND && CAND.href;
|
|
if (!SCANER) { console.error('scaneaza-local.mjs: scanerul de pregatire (readiness-service.mjs) nu se gaseste nici in arborele de dezvoltare, nici in copia publica; da calea in AERE_READINESS_SERVICE'); process.exit(2); }
|
|
const { scaneazaAdresa } = await import(SCANER).catch((e) => {
|
|
console.error('scaneaza-local.mjs: scanerul de pregatire nu s-a putut incarca (' + e.message + ')');
|
|
process.exit(2);
|
|
});
|
|
const r = await scaneazaAdresa('proba.local', { address: '127.0.0.1', family: 4 }, { port, jurnal: false });
|
|
console.log(JSON.stringify({ score: r.score, verdict: r.verdict, summary: r.summary, findings: (r.findings || []).map((f) => f.id + ':' + f.severity), error: r.error, detail: r.detail }, null, 1).replace(/\n\s*/g, ' '));
|