diff --git a/server/helfer-port.mjs b/server/helfer-port.mjs index 6a346214..0eeae650 100644 --- a/server/helfer-port.mjs +++ b/server/helfer-port.mjs @@ -56,3 +56,100 @@ export async function portMussFreiSein(port, wer = "diese Pruefung") { } return port; } + +/* ===================================================================== + WELCHER PORT GEHOERT MIR? (20.09.2026) + + --------------------------------------------------------------------- + WARUM ES DIESE FUNKTION GIBT + + Gemessen am 20.09.2026: 164 Pruefdateien, 129 verschiedene Ports -- + NEUNZEHN Nummern waren doppelt vergeben, eine sogar dreifach + (4186, 4188, 4196, 4198 ...). Niemand hatte das absichtlich getan; + jede neue Pruefung wurde von einer vorhandenen abgeschrieben, und + die Nummer kam mit. + + Der Waechter darueber faengt den Schaden ab -- er bricht ab, statt + gegen einen fremden Server zu messen. Aber er kann nur melden, was + schon passiert ist: Zwei Pruefungen mit derselben Nummer koennen nie + gleichzeitig laufen, und ein liegengebliebener Prozess der einen + laesst die andere mit einer Meldung abbrechen, die wie ein Befund + aussieht. Genau das ist mir heute zweimal passiert. + + EINE GEPFLEGTE NUMMERNLISTE IST DIE FALSCHE LOESUNG. Dieses Haus ist + an abgeschriebenen Listen schon dreimal gescheitert (Spaltenliste + beim Datenumbau, Namensliste in pruef-anruf, Namensliste in + pruef-entwicklung). Eine Liste, die niemand pflegt, kann nicht + veralten -- also wird die Nummer ABGELEITET. + + --------------------------------------------------------------------- + WIE ABGELEITET WIRD, UND WARUM NICHT MIT EINER PRUEFSUMME + + Der naheliegende Weg waere ein Hash des Dateinamens. Nachgerechnet + ist er der schlechtere: Bei 164 Namen in 4900 moeglichen Ports sind + nach dem Geburtstagsproblem rund DREI Zusammenstoesse zu erwarten -- + der Hash tauscht eine sichtbare Doppelung gegen eine unsichtbare. + + Stattdessen: die Stelle im Alphabet. Alle `pruef-*.mjs` im selben + Ordner werden sortiert, und wer an Stelle n steht, bekommt Port + BASIS + n*2. Das ist NICHT ZUFAELLIG EINDEUTIG, sondern eindeutig + von der Bauart her -- zwei Dateien koennen nicht dieselbe Stelle im + Alphabet haben. + + Jede Datei bekommt ZWEI Nummern (nr = 0 und 1). Fuenf Pruefungen + starten heute einen zweiten Server; der braucht dann keinen eigenen + Eintrag irgendwo. + + Nebenwirkung, bewusst in Kauf genommen: Kommt eine neue Pruefung + dazu, verschieben sich die Nummern dahinter. Das ist harmlos -- es + sind Testports, kein Mensch merkt sie sich -- und der Waechter faengt + den einen Fall ab, in dem es zaehlt (ein Prozess von vorhin liegt + noch auf der Nummer). + ===================================================================== */ + +import { readdirSync } from "node:fs"; +import { fileURLToPath } from "node:url"; +import { basename, dirname } from "node:path"; + +/** Ab hier aufwaerts, zwei je Datei. + * + * NICHT 4100: Der echte Dienst hoert dort, und eine Pruefung, die + * versehentlich dorthin zielt, waere der eine Fehler, den der Waechter + * NICHT erkennen kann -- sie bekaeme brav Antworten. + * + * UND NICHT 4500, wie hier zuerst stand. Nachgemessen reichen die + * bisher von Hand vergebenen Nummern von 4176 bis 4504 -- der Bereich + * 4500-4827 haette sich also mit dem obersten Rest ueberschnitten. + * Das ist der Grund, warum solche Zahlen gemessen und nicht geschaetzt + * werden: "irgendwo ueber 4400" haette plausibel geklungen. */ +const BASIS = 5000; +const PRO_DATEI = 2; + +/** Der Port dieser Datei -- abgeleitet, nicht vergeben. + * + * `meta` ist `import.meta` der aufrufenden Datei. Prueft danach + * gleich, ob er frei ist, und bricht sonst ab (siehe oben). + * + * DRITTER AUSGANG: Findet sich die eigene Datei nicht in der Liste -- + * etwa weil jemand die Funktion aus einem anderen Ordner aufruft --, + * wird NICHT geraten. Eine geratene Nummer waere genau die Doppelung, + * die hier abgeschafft wird. */ +export async function eigenerPort(meta, wer = null, nr = 0) { + const pfad = fileURLToPath(meta.url); + const mein = basename(pfad); + const ordner = dirname(pfad); + const alle = readdirSync(ordner) + .filter((f) => f.startsWith("pruef-") && f.endsWith(".mjs")) + .sort(); + const stelle = alle.indexOf(mein); + if (stelle < 0) { + throw new Error( + `[Port] ${mein} steht nicht in der Liste der Pruefdateien in ${ordner}.\n` + + " Die Nummer wird aus der Stelle im Alphabet abgeleitet -- ohne\n" + + " Stelle gibt es keine Nummer, und geraten wird nicht."); + } + if (nr < 0 || nr >= PRO_DATEI) { + throw new Error(`[Port] Es gibt ${PRO_DATEI} Nummern je Datei (0 und 1), nicht ${nr}.`); + } + return portMussFreiSein(BASIS + stelle * PRO_DATEI + nr, wer || mein.replace(/\.mjs$/, "")); +} diff --git a/server/pruef-abbrechen-optik.mjs b/server/pruef-abbrechen-optik.mjs index 3f5fa393..a2f1ef11 100644 --- a/server/pruef-abbrechen-optik.mjs +++ b/server/pruef-abbrechen-optik.mjs @@ -29,10 +29,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-abopt-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4297, "die Optikpruefung des Abbrechens"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Optikpruefung des Abbrechens"); -process.env.PORT = "4297"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -47,7 +47,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-abbrechen-optik"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4297"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-abbrechen-optik-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-abbrechen.mjs b/server/pruef-abbrechen.mjs index d55a759e..a2a23737 100644 --- a/server/pruef-abbrechen.mjs +++ b/server/pruef-abbrechen.mjs @@ -90,9 +90,9 @@ const altPfad = join(ordner, "alt.db"); /* Der Server wird jetzt AUF DIESER Datei gestartet -- die Umstellung läuft beim Import. */ process.env.WORKSPACE_DB = altPfad; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4295, "die Abbruchpruefung"); -process.env.PORT = "4295"; +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Abbruchpruefung"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -101,7 +101,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 1400)); -const BASIS = "http://127.0.0.1:4295"; +const BASIS = `http://127.0.0.1:${PORT}`; { const p = new DatabaseSync(altPfad); diff --git a/server/pruef-agentur.mjs b/server/pruef-agentur.mjs index 6dee3e8d..8cba5a8e 100644 --- a/server/pruef-agentur.mjs +++ b/server/pruef-agentur.mjs @@ -36,9 +36,8 @@ import { scryptSync, randomBytes } from "node:crypto"; import { heuteLokal } from "./helfer-zeit.mjs"; const HIER = dirname(fileURLToPath(import.meta.url)); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -const PORT = 4341; -await portMussFreiSein(PORT, "die Agentur-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Agentur-Pruefung"); const BASIS = `http://127.0.0.1:${PORT}`; const ordner = mkdtempSync(join(tmpdir(), "ws-agentur-")); diff --git a/server/pruef-alle-sehen-es.mjs b/server/pruef-alle-sehen-es.mjs index a9156378..8f11a837 100644 --- a/server/pruef-alle-sehen-es.mjs +++ b/server/pruef-alle-sehen-es.mjs @@ -39,9 +39,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4495, "pruef-alle-sehen-es"); +const PORT = await eigenerPort(import.meta, "pruef-alle-sehen-es"); const ordner = mkdtempSync(join(tmpdir(), "ws-sicht-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-alle-wege.mjs b/server/pruef-alle-wege.mjs index 63411e66..94cdb257 100644 --- a/server/pruef-alle-wege.mjs +++ b/server/pruef-alle-wege.mjs @@ -44,10 +44,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-wege-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); /* Der Port muss frei sein -- sonst wird gegen einen fremden Server gemessen. Begruendung in helfer-port.mjs. */ -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4247, "die Wegepruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Wegepruefung"); -process.env.PORT = "4247"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -56,7 +56,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4247"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-alter.mjs b/server/pruef-alter.mjs index 113939e8..db4c7f20 100644 --- a/server/pruef-alter.mjs +++ b/server/pruef-alter.mjs @@ -29,9 +29,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4413, "pruef-alter"); +const PORT = await eigenerPort(import.meta, "pruef-alter"); const ordner = mkdtempSync(join(tmpdir(), "ws-alter-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-ampel.mjs b/server/pruef-ampel.mjs index ab4bcdfa..97485b26 100644 --- a/server/pruef-ampel.mjs +++ b/server/pruef-ampel.mjs @@ -16,8 +16,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4206, "pruef-ampel"); -process.env.PORT = "4206"; +const PORT = await eigenerPort(import.meta, "pruef-ampel"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -26,7 +26,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -35,7 +35,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-ampel"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4206"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 250_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-anhaenge.mjs b/server/pruef-anhaenge.mjs index 4f60cd50..d6b7d35e 100644 --- a/server/pruef-anhaenge.mjs +++ b/server/pruef-anhaenge.mjs @@ -31,9 +31,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4416, "pruef-anhaenge"); +const PORT = await eigenerPort(import.meta, "pruef-anhaenge"); const ordner = mkdtempSync(join(tmpdir(), "ws-anh-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-anruf-ruhezeit.mjs b/server/pruef-anruf-ruhezeit.mjs index 4af869d1..7352200d 100644 --- a/server/pruef-anruf-ruhezeit.mjs +++ b/server/pruef-anruf-ruhezeit.mjs @@ -25,9 +25,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4199, "pruef-anruf-ruhezeit"); +const PORT = await eigenerPort(import.meta, "pruef-anruf-ruhezeit"); const ordner = mkdtempSync(join(tmpdir(), "ws-ruhe-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-anruf.mjs b/server/pruef-anruf.mjs index 95e16b4f..012fca4c 100644 --- a/server/pruef-anruf.mjs +++ b/server/pruef-anruf.mjs @@ -20,9 +20,9 @@ import { mkdtempSync, rmSync, writeFileSync, unlinkSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4196, "pruef-anruf"); +const PORT = await eigenerPort(import.meta, "pruef-anruf"); const ordner = mkdtempSync(join(tmpdir(), "ws-anruf-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-arten.mjs b/server/pruef-arten.mjs index f98b3c35..9cd5b7b6 100644 --- a/server/pruef-arten.mjs +++ b/server/pruef-arten.mjs @@ -68,9 +68,8 @@ import { notbremse } from "./helfer-notbremse.mjs"; notbremse(300_000, "die Artenpruefung"); const HIER = dirname(fileURLToPath(import.meta.url)); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -const PORT = 4359; -await portMussFreiSein(PORT, "die Artenpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Artenpruefung"); const BASIS = `http://127.0.0.1:${PORT}`; const ordner = mkdtempSync(join(tmpdir(), "ws-arten-")); diff --git a/server/pruef-aufbewahrung.mjs b/server/pruef-aufbewahrung.mjs index f75542b9..a69bbd5a 100644 --- a/server/pruef-aufbewahrung.mjs +++ b/server/pruef-aufbewahrung.mjs @@ -26,9 +26,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4410, "pruef-aufbewahrung"); +const PORT = await eigenerPort(import.meta, "pruef-aufbewahrung"); const ordner = mkdtempSync(join(tmpdir(), "ws-aufb-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-aufgaben-vorlagen.mjs b/server/pruef-aufgaben-vorlagen.mjs index 30b8ebff..282fd9c2 100644 --- a/server/pruef-aufgaben-vorlagen.mjs +++ b/server/pruef-aufgaben-vorlagen.mjs @@ -25,8 +25,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4211, "pruef-aufgaben-vorlagen"); -process.env.PORT = "4211"; +const PORT = await eigenerPort(import.meta, "pruef-aufgaben-vorlagen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -35,11 +35,11 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(240_000, "pruef-aufgaben-vorlagen"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4211"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-aufgabenbrett.mjs b/server/pruef-aufgabenbrett.mjs index 8fd5333a..7a259b77 100644 --- a/server/pruef-aufgabenbrett.mjs +++ b/server/pruef-aufgabenbrett.mjs @@ -40,8 +40,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4216, "pruef-aufgabenbrett"); -process.env.PORT = "4216"; +const PORT = await eigenerPort(import.meta, "pruef-aufgabenbrett"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -50,7 +50,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -59,7 +59,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-aufgabenbrett"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4216"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-auskunft.mjs b/server/pruef-auskunft.mjs index 2d417e97..ce3a6379 100644 --- a/server/pruef-auskunft.mjs +++ b/server/pruef-auskunft.mjs @@ -31,9 +31,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4412, "pruef-auskunft"); +const PORT = await eigenerPort(import.meta, "pruef-auskunft"); const ordner = mkdtempSync(join(tmpdir(), "ws-ausk-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-barrierefrei-workspace.mjs b/server/pruef-barrierefrei-workspace.mjs index 76a25d0d..5c5601b5 100644 --- a/server/pruef-barrierefrei-workspace.mjs +++ b/server/pruef-barrierefrei-workspace.mjs @@ -35,10 +35,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); /* Der Port muss frei sein -- sonst wird gegen einen fremden Server gemessen. Begruendung in helfer-port.mjs. */ import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4253, "die Barrierefreiheitspruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Barrierefreiheitspruefung"); -process.env.PORT = "4253"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -53,7 +53,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-barrierefrei-workspace"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4253"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-befinden.mjs b/server/pruef-befinden.mjs index da0cdd7e..e60af365 100644 --- a/server/pruef-befinden.mjs +++ b/server/pruef-befinden.mjs @@ -30,9 +30,9 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4419, "pruef-befinden"); +const PORT = await eigenerPort(import.meta, "pruef-befinden"); const ordner = mkdtempSync(join(tmpdir(), "ws-bef-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-bereiche-lesend.mjs b/server/pruef-bereiche-lesend.mjs index 9456965c..524b1a2c 100644 --- a/server/pruef-bereiche-lesend.mjs +++ b/server/pruef-bereiche-lesend.mjs @@ -13,7 +13,7 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; const ordner = mkdtempSync(join(tmpdir(), "ws-bereiche-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); @@ -22,8 +22,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4183, "pruef-bereiche-lesend"); -process.env.PORT = "4183"; +const PORT = await eigenerPort(import.meta, "pruef-bereiche-lesend"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -34,7 +34,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4183"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 180_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-betreuung.mjs b/server/pruef-betreuung.mjs index 6ba4b7f1..4eaf788d 100644 --- a/server/pruef-betreuung.mjs +++ b/server/pruef-betreuung.mjs @@ -12,7 +12,7 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; const ordner = mkdtempSync(join(tmpdir(), "ws-betreuung-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); @@ -21,8 +21,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4189, "pruef-betreuung"); -process.env.PORT = "4189"; +const PORT = await eigenerPort(import.meta, "pruef-betreuung"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -33,7 +33,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4189"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); let fehler = 0; diff --git a/server/pruef-bewerbung.mjs b/server/pruef-bewerbung.mjs index bfdcba10..35b7604d 100644 --- a/server/pruef-bewerbung.mjs +++ b/server/pruef-bewerbung.mjs @@ -38,9 +38,9 @@ import { mkdtempSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4504, "pruef-bewerbung"); +const PORT = await eigenerPort(import.meta, "pruef-bewerbung"); const ordner = mkdtempSync(join(tmpdir(), "ws-bewerb-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-breiten.mjs b/server/pruef-breiten.mjs index 74be448b..1420c3b4 100644 --- a/server/pruef-breiten.mjs +++ b/server/pruef-breiten.mjs @@ -38,10 +38,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); /* Der Port muss frei sein -- sonst wird gegen einen fremden Server gemessen. Begruendung in helfer-port.mjs. */ import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4277, "die Breitenpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Breitenpruefung"); -process.env.PORT = "4277"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -56,7 +56,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-breiten"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4277"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-bremse.mjs b/server/pruef-bremse.mjs index 84a42d23..0e12b898 100644 --- a/server/pruef-bremse.mjs +++ b/server/pruef-bremse.mjs @@ -41,10 +41,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4485, "pruef-bremse"); +const PORT = await eigenerPort(import.meta, "pruef-bremse"); const ordner = mkdtempSync(join(tmpdir(), "ws-bremse-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-browser.mjs b/server/pruef-browser.mjs index 2deb0338..ae123dfc 100644 --- a/server/pruef-browser.mjs +++ b/server/pruef-browser.mjs @@ -40,10 +40,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); /* Der Port muss frei sein -- sonst wird gegen einen fremden Server gemessen. Begruendung in helfer-port.mjs. */ import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4289, "die Browserpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Browserpruefung"); -process.env.PORT = "4289"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -58,7 +58,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-browser"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4289"; +const BASIS = `http://127.0.0.1:${PORT}`; /* LAUFEND MITSCHREIBEN, nicht erst am Ende. diff --git a/server/pruef-buehne.mjs b/server/pruef-buehne.mjs index 261bcf02..d52a6cb1 100644 --- a/server/pruef-buehne.mjs +++ b/server/pruef-buehne.mjs @@ -105,8 +105,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4193, "pruef-buehne"); -process.env.PORT = "4193"; +const PORT = await eigenerPort(import.meta, "pruef-buehne"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -116,7 +116,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -125,7 +125,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(120_000 + SEITEN_ZEIT, "pruef-buehne"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4193"; +const BASIS = `http://127.0.0.1:${PORT}`; /* Die Frist waechst mit der Liste: 220 s reichten fuer sechs Seiten. Eine feste Zahl waere hier eine Zeitbombe -- die zwoelf neuen haetten sie gerissen, und der Abbruch saehe aus wie ein Befund. */ diff --git a/server/pruef-call-kategorien.mjs b/server/pruef-call-kategorien.mjs index cbcb4d89..b7fb5f8b 100644 --- a/server/pruef-call-kategorien.mjs +++ b/server/pruef-call-kategorien.mjs @@ -28,10 +28,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; import { sauberBeenden } from "./helfer-beenden.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4321, "die Kategorienpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Kategorienpruefung"); -process.env.PORT = "4321"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -46,7 +46,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-call-kategorien"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4321"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-call-kategorien-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-chat-anhaenge.mjs b/server/pruef-chat-anhaenge.mjs index 879574b7..50cf09d6 100644 --- a/server/pruef-chat-anhaenge.mjs +++ b/server/pruef-chat-anhaenge.mjs @@ -34,10 +34,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; import { bestaetige } from "./helfer-nachfrage.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4323, "die Chat-Anhangpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Chat-Anhangpruefung"); -process.env.PORT = "4323"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -47,7 +47,7 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( await import("./index.js"); notbremse(600_000, "pruef-chat-anhaenge"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4323"; +const BASIS = `http://127.0.0.1:${PORT}`; const ANHANG_ORDNER = join(ordner, "chat-anhaenge"); const PROTOKOLL = join(process.cwd(), "pruef-chat-anhaenge-lauf.txt"); diff --git a/server/pruef-chat-aufloesen.mjs b/server/pruef-chat-aufloesen.mjs index d809ac1d..eaa1a6e3 100644 --- a/server/pruef-chat-aufloesen.mjs +++ b/server/pruef-chat-aufloesen.mjs @@ -37,13 +37,13 @@ const HIER_BILD = dirname(fileURLToPath(import.meta.url)); const ordner = mkdtempSync(join(tmpdir(), "ws-aufloesen-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4391, "die Aufloesen-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Aufloesen-Pruefung"); -process.env.PORT = "4391"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; -const BASIS = "http://127.0.0.1:4391"; +const BASIS = `http://127.0.0.1:${PORT}`; await import("./index.js"); @@ -104,7 +104,7 @@ function anmelden(rolle, code, wand = "crew.dogfather-universe.com") { return new Promise((fertig) => { const rumpf = JSON.stringify({ rolle, code }); const a = httpAnfrage({ - host: "127.0.0.1", port: 4391, path: "/workspace/api/anmelden", method: "POST", + host: "127.0.0.1", port: PORT, path: "/workspace/api/anmelden", method: "POST", headers: { "Content-Type": "application/json", "Content-Length": Buffer.byteLength(rumpf), diff --git a/server/pruef-chat-ausbau.mjs b/server/pruef-chat-ausbau.mjs index 188d8d9e..12f16491 100644 --- a/server/pruef-chat-ausbau.mjs +++ b/server/pruef-chat-ausbau.mjs @@ -32,10 +32,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; import { bestaetige } from "./helfer-nachfrage.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4319, "die Chat-Ausbaupruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Chat-Ausbaupruefung"); -process.env.PORT = "4319"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -45,7 +45,7 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( await import("./index.js"); notbremse(480_000, "pruef-chat-ausbau"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4319"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-chat-ausbau-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-chat-kanaele.mjs b/server/pruef-chat-kanaele.mjs index 910448c0..656106cf 100644 --- a/server/pruef-chat-kanaele.mjs +++ b/server/pruef-chat-kanaele.mjs @@ -46,10 +46,10 @@ import { join } from "node:path"; const ordner = mkdtempSync(join(tmpdir(), "ws-kanal-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4377, "die Kanalpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Kanalpruefung"); -process.env.PORT = "4377"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -90,7 +90,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4377"; +const BASIS = `http://127.0.0.1:${PORT}`; /* ---- Notbremse und eigener Zuhoerer ------------------------------------- @@ -185,7 +185,7 @@ function anmelden(rolle, code, wand = "crew.dogfather-universe.com") { return new Promise((fertig) => { const rumpf = JSON.stringify({ rolle, code }); const a = httpAnfrage({ - host: "127.0.0.1", port: 4377, path: "/workspace/api/anmelden", method: "POST", + host: "127.0.0.1", port: PORT, path: "/workspace/api/anmelden", method: "POST", headers: { "Content-Type": "application/json", "Content-Length": Buffer.byteLength(rumpf), diff --git a/server/pruef-chat-optik.mjs b/server/pruef-chat-optik.mjs index e68efff9..9764e164 100644 --- a/server/pruef-chat-optik.mjs +++ b/server/pruef-chat-optik.mjs @@ -32,10 +32,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; import { bestaetige } from "./helfer-nachfrage.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4317, "die Chat-Optikpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Chat-Optikpruefung"); -process.env.PORT = "4317"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -50,7 +50,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-chat-optik"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4317"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-chat-optik-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-chat.mjs b/server/pruef-chat.mjs index 5c9da11d..f843af73 100644 --- a/server/pruef-chat.mjs +++ b/server/pruef-chat.mjs @@ -30,10 +30,10 @@ import { join } from "node:path"; const ordner = mkdtempSync(join(tmpdir(), "ws-chat-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4313, "die Chatpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Chatpruefung"); -process.env.PORT = "4313"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -42,7 +42,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4313"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-chatkachel.mjs b/server/pruef-chatkachel.mjs index 7709c06f..fe0a13f3 100644 --- a/server/pruef-chatkachel.mjs +++ b/server/pruef-chatkachel.mjs @@ -24,10 +24,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; -const PORT = await portMussFreiSein(4442, "pruef-chatkachel"); +const PORT = await eigenerPort(import.meta, "pruef-chatkachel"); const ordner = mkdtempSync(join(tmpdir(), "ws-kachel-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-checkliste.mjs b/server/pruef-checkliste.mjs index 19d811a4..33802ea1 100644 --- a/server/pruef-checkliste.mjs +++ b/server/pruef-checkliste.mjs @@ -24,8 +24,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4207, "pruef-checkliste"); -process.env.PORT = "4207"; +const PORT = await eigenerPort(import.meta, "pruef-checkliste"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -34,7 +34,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -43,7 +43,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-checkliste"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4207"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); let fehler = 0; diff --git a/server/pruef-code.mjs b/server/pruef-code.mjs index dff39836..0488b2a6 100644 --- a/server/pruef-code.mjs +++ b/server/pruef-code.mjs @@ -30,8 +30,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4195, "pruef-code"); -process.env.PORT = "4195"; +const PORT = await eigenerPort(import.meta, "pruef-code"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -41,7 +41,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { bestaetige } from "./helfer-nachfrage.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort @@ -51,7 +51,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-code"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4195"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 240_000).unref?.(); let fehler = 0; diff --git a/server/pruef-community-sicht.mjs b/server/pruef-community-sicht.mjs index fb4b49df..931c2a4d 100644 --- a/server/pruef-community-sicht.mjs +++ b/server/pruef-community-sicht.mjs @@ -36,9 +36,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4198, "pruef-community-sicht"); +const PORT = await eigenerPort(import.meta, "pruef-community-sicht"); const ordner = mkdtempSync(join(tmpdir(), "ws-cs-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-content-ansicht.mjs b/server/pruef-content-ansicht.mjs index 441b9f53..4d505854 100644 --- a/server/pruef-content-ansicht.mjs +++ b/server/pruef-content-ansicht.mjs @@ -11,8 +11,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4185, "pruef-content-ansicht"); -process.env.PORT = "4185"; +const PORT = await eigenerPort(import.meta, "pruef-content-ansicht"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -22,7 +22,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -31,7 +31,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-content-ansicht"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4185"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-content.mjs b/server/pruef-content.mjs index 6bb76ddf..21d420a6 100644 --- a/server/pruef-content.mjs +++ b/server/pruef-content.mjs @@ -5,7 +5,7 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; const ordner = mkdtempSync(join(tmpdir(), "ws-content-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); @@ -14,9 +14,9 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); 4194 fuer die Gegenprobe. Nur den ersten zu pruefen hiesse, die Gegenprobe ungeschuetzt zu lassen, und die ist der Teil, dem man glaubt. */ -await portMussFreiSein(4184, "pruef-content"); -await portMussFreiSein(4194, "pruef-content (Gegenprobe)"); -process.env.PORT = "4184"; +const PORT = await eigenerPort(import.meta, "pruef-content"); +const PORT2 = await eigenerPort(import.meta, "pruef-content (Gegenprobe)", 1); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -27,7 +27,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4184"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des @@ -81,7 +81,7 @@ d.close(); const { spawnSync } = await import("node:child_process"); const zweiter = spawnSync(process.execPath, ["-e", ` process.env.WORKSPACE_DB = ${JSON.stringify(process.env.WORKSPACE_DB)}; - process.env.PORT = "4194"; + process.env.PORT = "${PORT2}"; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "X"; process.env.SITE_ACCESS_CODE_VANVAN = "Y"; diff --git a/server/pruef-countdown.mjs b/server/pruef-countdown.mjs index 6f8d9613..b878481b 100644 --- a/server/pruef-countdown.mjs +++ b/server/pruef-countdown.mjs @@ -40,10 +40,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal, tagLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4481, "pruef-countdown"); +const PORT = await eigenerPort(import.meta, "pruef-countdown"); const ordner = mkdtempSync(join(tmpdir(), "ws-count-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-creator-anlegen.mjs b/server/pruef-creator-anlegen.mjs index bc41d588..236c9e3c 100644 --- a/server/pruef-creator-anlegen.mjs +++ b/server/pruef-creator-anlegen.mjs @@ -42,9 +42,8 @@ import { notbremse } from "./helfer-notbremse.mjs"; notbremse(240_000, "die Creator-Anlegen-Pruefung"); const HIER = dirname(fileURLToPath(import.meta.url)); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -const PORT = 4347; -await portMussFreiSein(PORT, "die Creator-Anlegen-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Creator-Anlegen-Pruefung"); const BASIS = `http://127.0.0.1:${PORT}`; const ordner = mkdtempSync(join(tmpdir(), "ws-canlegen-")); diff --git a/server/pruef-crew-adresse.mjs b/server/pruef-crew-adresse.mjs index cc89fde2..7ddd143c 100644 --- a/server/pruef-crew-adresse.mjs +++ b/server/pruef-crew-adresse.mjs @@ -34,8 +34,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4371, "pruef-crew-adresse"); -process.env.PORT = "4371"; +const PORT = await eigenerPort(import.meta, "pruef-crew-adresse"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -44,7 +44,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-crew-adresse"); await new Promise((r) => setTimeout(r, 700)); @@ -68,7 +68,7 @@ function hole(pfad, { host, methode = "GET", rumpf = null, keks = "" } = {}) { const kopf = { Host: host }; if (rumpf) { kopf["Content-Type"] = "application/json"; kopf["Content-Length"] = Buffer.byteLength(rumpf); } if (keks) kopf.Cookie = keks; - const a = request({ host: "127.0.0.1", port: 4371, path: pfad, method: methode, headers: kopf }, + const a = request({ host: "127.0.0.1", port: PORT, path: pfad, method: methode, headers: kopf }, (antwort) => { let text = ""; antwort.setEncoding("utf8"); @@ -122,7 +122,7 @@ const idModi = anlegen("Marina", "modi", "CODE-MODI-0001"); const CREW = "crew.dogfather-universe.com"; const WS = "workspace.dogfather-universe.com"; const HAUPT = "dogfather-universe.com"; -const LOKAL = "127.0.0.1:4371"; +const LOKAL = `127.0.0.1:${PORT}`; /* ===================================================================== TEIL A -- DIE REGELN, OHNE SERVER diff --git a/server/pruef-crew-wand-bild.mjs b/server/pruef-crew-wand-bild.mjs index 5f580d46..724f343f 100644 --- a/server/pruef-crew-wand-bild.mjs +++ b/server/pruef-crew-wand-bild.mjs @@ -32,14 +32,14 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4373, "pruef-crew-wand-bild"); -process.env.PORT = "4373"; +const PORT = await eigenerPort(import.meta, "pruef-crew-wand-bild"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-crew-wand-bild"); await new Promise((r) => setTimeout(r, 700)); @@ -85,8 +85,8 @@ for (const geraet of [ seite.on("console", (m) => { if (m.type() === "error") meldungen.push(m.text()); }); const adresse = geraet.alt - ? "http://127.0.0.1:4373/workspace/index.html" - : "http://127.0.0.1:4373/workspace/crew-index.html"; + ? `http://127.0.0.1:${PORT}/workspace/index.html` + : `http://127.0.0.1:${PORT}/workspace/crew-index.html`; await seite.goto(adresse, { waitUntil: "networkidle" }); await seite.waitForTimeout(400); @@ -279,13 +279,13 @@ for (const wer of [ { name: "Manager", rolle: "manager", code: "CODE-MAN-0001", eigen: false }, ]) { const ctx = await browser.newContext({ viewport: { width: 1280, height: 860 } }); - const antwort = await ctx.request.post("http://127.0.0.1:4373/workspace/api/anmelden", { + const antwort = await ctx.request.post(`http://127.0.0.1:${PORT}/workspace/api/anmelden`, { data: { rolle: wer.rolle, code: wer.code }, }); ok(antwort.ok(), wer.name + ": die Anmeldung geht durch"); const seite = await ctx.newPage(); - await seite.goto("http://127.0.0.1:4373/workspace/aufgaben.html", { waitUntil: "networkidle" }); + await seite.goto(`http://127.0.0.1:${PORT}/workspace/aufgaben.html`, { waitUntil: "networkidle" }); await seite.waitForTimeout(500); const titel = await seite.title(); diff --git a/server/pruef-dabei-optik.mjs b/server/pruef-dabei-optik.mjs index 65bd6653..76c8f11e 100644 --- a/server/pruef-dabei-optik.mjs +++ b/server/pruef-dabei-optik.mjs @@ -34,10 +34,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-dabei-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4293, "die Optikpruefung der Teilnehmerwahl"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Optikpruefung der Teilnehmerwahl"); -process.env.PORT = "4293"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -52,7 +52,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-dabei-optik"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4293"; +const BASIS = `http://127.0.0.1:${PORT}`; /* LAUFEND MITSCHREIBEN. Node puffert stdout, sobald es umgeleitet wird -- bei einem Lauf mit sechs Browser-Anmeldungen steht bis zum Schluss diff --git a/server/pruef-entwicklung-kacheln.mjs b/server/pruef-entwicklung-kacheln.mjs index b7c0c25f..50d5e3cc 100644 --- a/server/pruef-entwicklung-kacheln.mjs +++ b/server/pruef-entwicklung-kacheln.mjs @@ -40,9 +40,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4475, "pruef-entwicklung-kacheln"); +const PORT = await eigenerPort(import.meta, "pruef-entwicklung-kacheln"); const ordner = mkdtempSync(join(tmpdir(), "ws-ekach-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-entwicklung.mjs b/server/pruef-entwicklung.mjs index 66c38db7..4684fcc5 100644 --- a/server/pruef-entwicklung.mjs +++ b/server/pruef-entwicklung.mjs @@ -32,10 +32,10 @@ import { request } from "node:http"; const ordner = mkdtempSync(join(tmpdir(), "ws-entw-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4389, "die Entwicklungspruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Entwicklungspruefung"); -process.env.PORT = "4389"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -62,7 +62,7 @@ function hole(pfad, { host = WS, methode = "GET", rumpf = null, keks = "" } = {} const kopf = { Host: host }; if (rumpf) { kopf["Content-Type"] = "application/json"; kopf["Content-Length"] = Buffer.byteLength(rumpf); } if (keks) kopf.Cookie = keks; - const a = request({ host: "127.0.0.1", port: 4389, path: pfad, method: methode, headers: kopf }, + const a = request({ host: "127.0.0.1", port: PORT, path: pfad, method: methode, headers: kopf }, (antwort) => { let text = ""; antwort.setEncoding("utf8"); diff --git a/server/pruef-erwaehnung.mjs b/server/pruef-erwaehnung.mjs index c4464a1f..84affaf8 100644 --- a/server/pruef-erwaehnung.mjs +++ b/server/pruef-erwaehnung.mjs @@ -38,12 +38,12 @@ import { tmpdir } from "node:os"; import { join, dirname } from "node:path"; import { fileURLToPath } from "node:url"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; import { erwaehnungenFinden, erwaehnteIds } from "./chat-erwaehnung.js"; const HIER = dirname(fileURLToPath(import.meta.url)); -const PORT = await portMussFreiSein(4426, "pruef-erwaehnung"); +const PORT = await eigenerPort(import.meta, "pruef-erwaehnung"); const ordner = mkdtempSync(join(tmpdir(), "ws-erwaehnung-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-eskalation.mjs b/server/pruef-eskalation.mjs index 4fd0171c..ab0a94a4 100644 --- a/server/pruef-eskalation.mjs +++ b/server/pruef-eskalation.mjs @@ -29,10 +29,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal, tagLokal, tagVon } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4417, "pruef-eskalation"); +const PORT = await eigenerPort(import.meta, "pruef-eskalation"); const ordner = mkdtempSync(join(tmpdir(), "ws-eskal-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-fassungen.mjs b/server/pruef-fassungen.mjs index a201c6d6..d82104c3 100644 --- a/server/pruef-fassungen.mjs +++ b/server/pruef-fassungen.mjs @@ -34,9 +34,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4415, "pruef-fassungen"); +const PORT = await eigenerPort(import.meta, "pruef-fassungen"); const ordner = mkdtempSync(join(tmpdir(), "ws-fass-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-formulare.mjs b/server/pruef-formulare.mjs index 3cf7f21b..b361f4b8 100644 --- a/server/pruef-formulare.mjs +++ b/server/pruef-formulare.mjs @@ -26,8 +26,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4203, "pruef-formulare"); -process.env.PORT = "4203"; +const PORT = await eigenerPort(import.meta, "pruef-formulare"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -36,7 +36,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -45,7 +45,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-formulare"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4203"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 250_000).unref?.(); let fehler = 0; diff --git a/server/pruef-freie-namen.mjs b/server/pruef-freie-namen.mjs index c0435eb5..95649a2a 100644 --- a/server/pruef-freie-namen.mjs +++ b/server/pruef-freie-namen.mjs @@ -31,8 +31,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4192, "pruef-freie-namen"); -process.env.PORT = "4192"; +const PORT = await eigenerPort(import.meta, "pruef-freie-namen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -42,7 +42,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -51,7 +51,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-freie-namen"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4192"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 240_000).unref?.(); let fehler = 0; diff --git a/server/pruef-galerie.mjs b/server/pruef-galerie.mjs index 68ff3d13..a26c5704 100644 --- a/server/pruef-galerie.mjs +++ b/server/pruef-galerie.mjs @@ -41,10 +41,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4487, "pruef-galerie"); +const PORT = await eigenerPort(import.meta, "pruef-galerie"); const ordner = mkdtempSync(join(tmpdir(), "ws-gal-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.WORKSPACE_DATEN = join(ordner, "daten"); diff --git a/server/pruef-gespraech.mjs b/server/pruef-gespraech.mjs index 6af73d83..89b48302 100644 --- a/server/pruef-gespraech.mjs +++ b/server/pruef-gespraech.mjs @@ -30,10 +30,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4493, "pruef-gespraech"); +const PORT = await eigenerPort(import.meta, "pruef-gespraech"); const ordner = mkdtempSync(join(tmpdir(), "ws-gespr-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-glocke.mjs b/server/pruef-glocke.mjs index 23648217..4faafb49 100644 --- a/server/pruef-glocke.mjs +++ b/server/pruef-glocke.mjs @@ -52,10 +52,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-glocke-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4299, "die Glockenpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Glockenpruefung"); -process.env.PORT = "4299"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -70,7 +70,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-glocke"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4299"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-glocke-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-grosscheck.mjs b/server/pruef-grosscheck.mjs index 75fe9373..709588f4 100644 --- a/server/pruef-grosscheck.mjs +++ b/server/pruef-grosscheck.mjs @@ -49,8 +49,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4218, "pruef-grosscheck"); -process.env.PORT = "4218"; +const PORT = await eigenerPort(import.meta, "pruef-grosscheck"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -60,7 +60,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -69,7 +69,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-grosscheck"); await new Promise((r) => setTimeout(r, 800)); -const BASIS = "http://127.0.0.1:4218"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH — zu lange gelaufen"); process.exit(1); }, 900_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-haerte.mjs b/server/pruef-haerte.mjs index 4febc311..d38d56d0 100644 Binary files a/server/pruef-haerte.mjs and b/server/pruef-haerte.mjs differ diff --git a/server/pruef-handy-teamdogi.mjs b/server/pruef-handy-teamdogi.mjs index a2db3175..cdfbeff8 100644 --- a/server/pruef-handy-teamdogi.mjs +++ b/server/pruef-handy-teamdogi.mjs @@ -103,13 +103,13 @@ import { tmpdir } from "node:os"; import { join, dirname } from "node:path"; import { fileURLToPath } from "node:url"; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; const REPO = join(dirname(fileURLToPath(import.meta.url)), ".."); const ordner = mkdtempSync(join(tmpdir(), "ws-handy-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const PORT = await portMussFreiSein(4231, "pruef-handy-teamdogi"); +const PORT = await eigenerPort(import.meta, "pruef-handy-teamdogi"); process.env.PORT = String(PORT); process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; diff --git a/server/pruef-handy.mjs b/server/pruef-handy.mjs index 17ad6a2f..8130d073 100644 --- a/server/pruef-handy.mjs +++ b/server/pruef-handy.mjs @@ -33,8 +33,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4198, "pruef-handy"); -process.env.PORT = "4198"; +const PORT = await eigenerPort(import.meta, "pruef-handy"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -43,7 +43,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -52,7 +52,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-handy"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4198"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 400_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-haus-seiten.mjs b/server/pruef-haus-seiten.mjs index 92977a2e..dcc3972e 100644 --- a/server/pruef-haus-seiten.mjs +++ b/server/pruef-haus-seiten.mjs @@ -30,9 +30,9 @@ import { mkdtempSync, rmSync, readdirSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4422, "pruef-haus-seiten"); +const PORT = await eigenerPort(import.meta, "pruef-haus-seiten"); const ordner = mkdtempSync(join(tmpdir(), "ws-haus-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-haus-trennung.mjs b/server/pruef-haus-trennung.mjs index b21e9988..e051565c 100644 --- a/server/pruef-haus-trennung.mjs +++ b/server/pruef-haus-trennung.mjs @@ -37,10 +37,10 @@ import { request } from "node:http"; const ordner = mkdtempSync(join(tmpdir(), "ws-haus-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4381, "die Haustrennung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Haustrennung"); -process.env.PORT = "4381"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -67,7 +67,7 @@ function hole(pfad, { host, methode = "GET", rumpf = null, keks = "" } = {}) { const kopf = { Host: host }; if (rumpf) { kopf["Content-Type"] = "application/json"; kopf["Content-Length"] = Buffer.byteLength(rumpf); } if (keks) kopf.Cookie = keks; - const a = request({ host: "127.0.0.1", port: 4381, path: pfad, method: methode, headers: kopf }, + const a = request({ host: "127.0.0.1", port: PORT, path: pfad, method: methode, headers: kopf }, (antwort) => { let text = ""; antwort.setEncoding("utf8"); @@ -652,7 +652,7 @@ console.log("=== Haengt es wirklich an der Adresse? ==="); Pruefungen im Haus laufen dort, und eine stille Einschraenkung haette sie alle blind gemacht, ohne dass irgendwo etwas rot wird. Genau diese Falle steht schon in crew-adresse.js beschrieben. */ - const lokal = await hole("/workspace/api/aufgaben", { host: "127.0.0.1:4381", keks: dogi.keks }); + const lokal = await hole("/workspace/api/aufgaben", { host: `127.0.0.1:${PORT}`, keks: dogi.keks }); const t = (lokal.daten?.aufgaben || []).map((z) => z.titel); ok(t.includes("Lunas Steckbrief nachtragen"), `auf 127.0.0.1 bleibt alles wie bisher (${t.length} Aufgaben)`); diff --git a/server/pruef-highlights.mjs b/server/pruef-highlights.mjs index 5a845fff..06cf5a5b 100644 --- a/server/pruef-highlights.mjs +++ b/server/pruef-highlights.mjs @@ -27,10 +27,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; -const PORT = await portMussFreiSein(4438, "pruef-highlights"); +const PORT = await eigenerPort(import.meta, "pruef-highlights"); const ordner = mkdtempSync(join(tmpdir(), "ws-highlight-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-hilfe.mjs b/server/pruef-hilfe.mjs index c8c042ae..a83a3332 100644 --- a/server/pruef-hilfe.mjs +++ b/server/pruef-hilfe.mjs @@ -32,9 +32,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4188, "pruef-hilfe"); +const PORT = await eigenerPort(import.meta, "pruef-hilfe"); const ordner = mkdtempSync(join(tmpdir(), "ws-hilfe-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-hochladen.mjs b/server/pruef-hochladen.mjs index c3e110a2..d1506d6f 100644 --- a/server/pruef-hochladen.mjs +++ b/server/pruef-hochladen.mjs @@ -68,8 +68,8 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-hochlade-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -const PORT = await portMussFreiSein(4327, "die Hochladepruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Hochladepruefung"); process.env.PORT = String(PORT); process.env.SITE_ACCESS_SECRET = "lokaler-test"; diff --git a/server/pruef-ics.mjs b/server/pruef-ics.mjs index 180b8a5c..7fb73a00 100644 --- a/server/pruef-ics.mjs +++ b/server/pruef-ics.mjs @@ -32,10 +32,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-ics-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4345, "die Kalender-Abo-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Kalender-Abo-Pruefung"); -process.env.PORT = "4345"; +process.env.PORT = String(PORT); process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -45,7 +45,7 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( await import("./index.js"); notbremse(240_000, "pruef-ics"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4345"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-ics-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } @@ -185,7 +185,7 @@ melde("=== Der Link entsteht erst auf Wunsch ==="); } const linkLuna = await linkHolen(keksLuna); -ok(/^http:\/\/127\.0\.0\.1:4345\/workspace\/kalender\/[A-Za-z0-9_-]{40,}\.ics$/.test(linkLuna || ""), +ok(new RegExp(`^http://127\\.0\\.0\\.1:${PORT}/workspace/kalender/[A-Za-z0-9_-]{40,}\\.ics$`).test(linkLuna || ""), `der Link sieht richtig aus (…${String(linkLuna).slice(-24)})`); /* ======================================================================= diff --git a/server/pruef-installieren.mjs b/server/pruef-installieren.mjs index 145d4378..c4eda236 100644 --- a/server/pruef-installieren.mjs +++ b/server/pruef-installieren.mjs @@ -33,10 +33,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; -const PORT = await portMussFreiSein(4435, "pruef-installieren"); +const PORT = await eigenerPort(import.meta, "pruef-installieren"); const ordner = mkdtempSync(join(tmpdir(), "ws-install-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-jeder-hat-eine-seite.mjs b/server/pruef-jeder-hat-eine-seite.mjs index d8210221..06fc3cdc 100644 --- a/server/pruef-jeder-hat-eine-seite.mjs +++ b/server/pruef-jeder-hat-eine-seite.mjs @@ -41,9 +41,9 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4191, "pruef-jeder-hat-eine-seite"); +const PORT = await eigenerPort(import.meta, "pruef-jeder-hat-eine-seite"); const ordner = mkdtempSync(join(tmpdir(), "ws-seite-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-kachel-universum.mjs b/server/pruef-kachel-universum.mjs index f1e1a631..d4068aea 100644 --- a/server/pruef-kachel-universum.mjs +++ b/server/pruef-kachel-universum.mjs @@ -45,7 +45,7 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join, dirname } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { pngLesen, pixel, kontrast } from "./helfer-png.mjs"; const HIER = dirname(fileURLToPath(import.meta.url)); @@ -216,7 +216,7 @@ melde("=== 2. Das Universum im Hintergrund ==="); melde(""); melde("=== 3. Der Text auf der fertigen Kachel ==="); -const PORT = await portMussFreiSein(4194, "pruef-kachel-universum"); +const PORT = await eigenerPort(import.meta, "pruef-kachel-universum"); const ordner = mkdtempSync(join(tmpdir(), "ws-kachel-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-kachelraster.mjs b/server/pruef-kachelraster.mjs index 9e3837b9..0d6dd290 100644 --- a/server/pruef-kachelraster.mjs +++ b/server/pruef-kachelraster.mjs @@ -42,9 +42,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4479, "pruef-kachelraster"); +const PORT = await eigenerPort(import.meta, "pruef-kachelraster"); const ordner = mkdtempSync(join(tmpdir(), "ws-raster-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-kalender.mjs b/server/pruef-kalender.mjs index 9faa6896..516d49ac 100644 --- a/server/pruef-kalender.mjs +++ b/server/pruef-kalender.mjs @@ -18,8 +18,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4188, "pruef-kalender"); -process.env.PORT = "4188"; +const PORT = await eigenerPort(import.meta, "pruef-kalender"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -29,7 +29,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -38,7 +38,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-kalender"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4188"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-kanaele.mjs b/server/pruef-kanaele.mjs index 1e6e36f1..94297139 100644 --- a/server/pruef-kanaele.mjs +++ b/server/pruef-kanaele.mjs @@ -36,9 +36,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4477, "pruef-kanaele"); +const PORT = await eigenerPort(import.meta, "pruef-kanaele"); const ordner = mkdtempSync(join(tmpdir(), "ws-kanal-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-kanalzeile.mjs b/server/pruef-kanalzeile.mjs index b5c0d01e..97a998ba 100644 --- a/server/pruef-kanalzeile.mjs +++ b/server/pruef-kanalzeile.mjs @@ -26,10 +26,10 @@ import { createServer } from "node:http"; const ordner = mkdtempSync(join(tmpdir(), "ws-kz-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4332, "das Bildwerkzeug"); -const TIKTOK = await portMussFreiSein(4502, "nachgebautes TikTok"); -process.env.PORT = "4332"; +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "das Bildwerkzeug"); +const TIKTOK = await eigenerPort(import.meta, "nachgebautes TikTok", 1); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; process.env.TIKTOK_OEMBED_BASIS = `http://127.0.0.1:${TIKTOK}/oembed`; @@ -67,7 +67,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 1200)); -const BASIS = "http://127.0.0.1:4332"; +const BASIS = `http://127.0.0.1:${PORT}`; const { DatabaseSync } = await import("node:sqlite"); const { scryptSync, randomBytes } = await import("node:crypto"); diff --git a/server/pruef-kopf-messen.mjs b/server/pruef-kopf-messen.mjs index f37a0dc2..f37551e7 100644 --- a/server/pruef-kopf-messen.mjs +++ b/server/pruef-kopf-messen.mjs @@ -31,8 +31,8 @@ process.env.WORKSPACE_DB = join(ordner, "pruef.sqlite"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4179, "pruef-kopf-messen"); -process.env.PORT = "4179"; +const PORT = await eigenerPort(import.meta, "pruef-kopf-messen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -42,7 +42,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -51,7 +51,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-kopf-messen"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4179"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; let geprueft = 0; diff --git a/server/pruef-kreislauf.mjs b/server/pruef-kreislauf.mjs index 4e684e33..bb29e8a6 100644 --- a/server/pruef-kreislauf.mjs +++ b/server/pruef-kreislauf.mjs @@ -39,10 +39,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4491, "pruef-kreislauf"); +const PORT = await eigenerPort(import.meta, "pruef-kreislauf"); const ordner = mkdtempSync(join(tmpdir(), "ws-kreis-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-ladefehler.mjs b/server/pruef-ladefehler.mjs index 7853b102..b8a3222f 100644 --- a/server/pruef-ladefehler.mjs +++ b/server/pruef-ladefehler.mjs @@ -56,8 +56,8 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-ladefehler-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -const PORT = await portMussFreiSein(4339, "die Ladefehlerpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Ladefehlerpruefung"); process.env.PORT = String(PORT); process.env.SITE_ACCESS_SECRET = "lokaler-test"; diff --git a/server/pruef-leistung-optik.mjs b/server/pruef-leistung-optik.mjs index a1130402..cb64f35d 100644 --- a/server/pruef-leistung-optik.mjs +++ b/server/pruef-leistung-optik.mjs @@ -36,10 +36,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-leistoptik-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4337, "die Zahlen-Optikpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Zahlen-Optikpruefung"); -process.env.PORT = "4337"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -54,7 +54,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-leistung-optik"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4337"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-leistung-optik-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-leistung.mjs b/server/pruef-leistung.mjs index 2292b3e0..e79ca4c4 100644 --- a/server/pruef-leistung.mjs +++ b/server/pruef-leistung.mjs @@ -30,10 +30,10 @@ import { join } from "node:path"; const ordner = mkdtempSync(join(tmpdir(), "ws-leistung-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4333, "die Leistungspruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Leistungspruefung"); -process.env.PORT = "4333"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -42,7 +42,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4333"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-lesbarkeit.mjs b/server/pruef-lesbarkeit.mjs index 29e8cf33..bf974421 100644 --- a/server/pruef-lesbarkeit.mjs +++ b/server/pruef-lesbarkeit.mjs @@ -33,8 +33,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4214, "pruef-lesbarkeit"); -process.env.PORT = "4214"; +const PORT = await eigenerPort(import.meta, "pruef-lesbarkeit"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -43,7 +43,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -52,7 +52,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-lesbarkeit"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4214"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-manager-sicht.mjs b/server/pruef-manager-sicht.mjs index a4a559f8..96ce5c49 100644 --- a/server/pruef-manager-sicht.mjs +++ b/server/pruef-manager-sicht.mjs @@ -43,8 +43,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4199, "pruef-manager-sicht"); -process.env.PORT = "4199"; +const PORT = await eigenerPort(import.meta, "pruef-manager-sicht"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -54,7 +54,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -63,7 +63,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-manager-sicht"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4199"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); let fehler = 0; diff --git a/server/pruef-modi-checkliste.mjs b/server/pruef-modi-checkliste.mjs index e787fbce..96190544 100644 --- a/server/pruef-modi-checkliste.mjs +++ b/server/pruef-modi-checkliste.mjs @@ -31,8 +31,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4369, "pruef-modi-checkliste"); -process.env.PORT = "4369"; +const PORT = await eigenerPort(import.meta, "pruef-modi-checkliste"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -41,11 +41,11 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-modi-checkliste"); await new Promise((r) => setTimeout(r, 800)); -const BASIS = "http://127.0.0.1:4369"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; let geprueft = 0; diff --git a/server/pruef-modi-ideen.mjs b/server/pruef-modi-ideen.mjs index bc4a3214..0dbb5ac1 100644 --- a/server/pruef-modi-ideen.mjs +++ b/server/pruef-modi-ideen.mjs @@ -36,8 +36,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4365, "pruef-modi-ideen"); -process.env.PORT = "4365"; +const PORT = await eigenerPort(import.meta, "pruef-modi-ideen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -102,11 +102,11 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-modi-ideen"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4365"; +const BASIS = `http://127.0.0.1:${PORT}`; console.log("\n=== 2. Die Umstellung ===\n"); { diff --git a/server/pruef-modi-katalog.mjs b/server/pruef-modi-katalog.mjs index 03b70cb3..9af1bb0b 100644 --- a/server/pruef-modi-katalog.mjs +++ b/server/pruef-modi-katalog.mjs @@ -27,8 +27,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4363, "pruef-modi-katalog"); -process.env.PORT = "4363"; +const PORT = await eigenerPort(import.meta, "pruef-modi-katalog"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -39,11 +39,11 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( import { notbremse } from "./helfer-notbremse.mjs"; import { ersatzschreibungen } from "./helfer-deutsch.mjs"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-modi-katalog"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4363"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; let geprueft = 0; diff --git a/server/pruef-modi-kategorien.mjs b/server/pruef-modi-kategorien.mjs index df0a08b5..f2f029bd 100644 --- a/server/pruef-modi-kategorien.mjs +++ b/server/pruef-modi-kategorien.mjs @@ -28,8 +28,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4361, "pruef-modi-kategorien"); -process.env.PORT = "4361"; +const PORT = await eigenerPort(import.meta, "pruef-modi-kategorien"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -38,11 +38,11 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-modi-kategorien"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4361"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; let geprueft = 0; diff --git a/server/pruef-modi-livecheck.mjs b/server/pruef-modi-livecheck.mjs index 518034dc..7a5b9dea 100644 --- a/server/pruef-modi-livecheck.mjs +++ b/server/pruef-modi-livecheck.mjs @@ -32,8 +32,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4367, "pruef-modi-livecheck"); -process.env.PORT = "4367"; +const PORT = await eigenerPort(import.meta, "pruef-modi-livecheck"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -42,11 +42,11 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-modi-livecheck"); await new Promise((r) => setTimeout(r, 800)); -const BASIS = "http://127.0.0.1:4367"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; let geprueft = 0; diff --git a/server/pruef-modi-verborgen.mjs b/server/pruef-modi-verborgen.mjs index 8a08084e..a8ca27ca 100644 --- a/server/pruef-modi-verborgen.mjs +++ b/server/pruef-modi-verborgen.mjs @@ -28,8 +28,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4359, "pruef-modi-verborgen"); -process.env.PORT = "4359"; +const PORT = await eigenerPort(import.meta, "pruef-modi-verborgen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -38,14 +38,14 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* NACH index.js: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren. Fuer den Betrieb richtig, fuer eine Pruefung fatal -- ohne diese Zeile bliebe der Prozess ewig stehen. */ notbremse(180_000, "pruef-modi-verborgen"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4359"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; let geprueft = 0; diff --git a/server/pruef-nachfrage.mjs b/server/pruef-nachfrage.mjs index f6d60e2a..3eaa9d1e 100644 --- a/server/pruef-nachfrage.mjs +++ b/server/pruef-nachfrage.mjs @@ -326,12 +326,12 @@ if (process.env.OHNE_BROWSER === "ja") { } else { const { mkdtempSync, rmSync } = await import("node:fs"); const { tmpdir } = await import("node:os"); - const { portMussFreiSein } = await import("./helfer-port.mjs"); + const { eigenerPort } = await import("./helfer-port.mjs"); const { notbremse } = await import("./helfer-notbremse.mjs"); const ordner = mkdtempSync(join(tmpdir(), "ws-nachfrage-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); - const PORT = await portMussFreiSein(4329, "die Nachfragepruefung"); + const PORT = await eigenerPort(import.meta, "die Nachfragepruefung"); process.env.PORT = String(PORT); process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; diff --git a/server/pruef-nachruesten.mjs b/server/pruef-nachruesten.mjs index bb74da1d..c13b327a 100644 --- a/server/pruef-nachruesten.mjs +++ b/server/pruef-nachruesten.mjs @@ -35,9 +35,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4191, "pruef-nachruesten"); +const PORT = await eigenerPort(import.meta, "pruef-nachruesten"); const ordner = mkdtempSync(join(tmpdir(), "ws-nachruesten-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-nachwuchs.mjs b/server/pruef-nachwuchs.mjs index 9e164354..99a3f192 100644 --- a/server/pruef-nachwuchs.mjs +++ b/server/pruef-nachwuchs.mjs @@ -24,10 +24,10 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { tagLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4404, "pruef-nachwuchs"); +const PORT = await eigenerPort(import.meta, "pruef-nachwuchs"); const ordner = mkdtempSync(join(tmpdir(), "ws-nachwuchs-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-neue-seiten.mjs b/server/pruef-neue-seiten.mjs index 57cb1c81..d8ecfbc7 100644 --- a/server/pruef-neue-seiten.mjs +++ b/server/pruef-neue-seiten.mjs @@ -35,9 +35,9 @@ import { mkdtempSync, rmSync, mkdirSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4403, "pruef-neue-seiten"); +const PORT = await eigenerPort(import.meta, "pruef-neue-seiten"); const ordner = mkdtempSync(join(tmpdir(), "ws-treffs-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-personen-formular.mjs b/server/pruef-personen-formular.mjs index a542bff8..e3153ad5 100644 --- a/server/pruef-personen-formular.mjs +++ b/server/pruef-personen-formular.mjs @@ -29,8 +29,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4198, "pruef-personen-formular"); -process.env.PORT = "4198"; +const PORT = await eigenerPort(import.meta, "pruef-personen-formular"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -40,7 +40,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -49,7 +49,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-personen-formular"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4198"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); let fehler = 0; diff --git a/server/pruef-personen-kachel.mjs b/server/pruef-personen-kachel.mjs index 6fa33483..fac58aac 100644 --- a/server/pruef-personen-kachel.mjs +++ b/server/pruef-personen-kachel.mjs @@ -31,10 +31,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-perskachel-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4329, "die Personenkachel-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Personenkachel-Pruefung"); -process.env.PORT = "4329"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -44,7 +44,7 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( await import("./index.js"); notbremse(420_000, "pruef-personen-kachel"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4329"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-personen-kachel-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-personen-liste.mjs b/server/pruef-personen-liste.mjs index 0899a68c..91cc7381 100644 --- a/server/pruef-personen-liste.mjs +++ b/server/pruef-personen-liste.mjs @@ -23,8 +23,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4187, "pruef-personen-liste"); -process.env.PORT = "4187"; +const PORT = await eigenerPort(import.meta, "pruef-personen-liste"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -34,7 +34,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -43,7 +43,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-personen-liste"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4187"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); let fehler = 0; diff --git a/server/pruef-personen-loeschen.mjs b/server/pruef-personen-loeschen.mjs index 3c14d289..c26751b6 100644 --- a/server/pruef-personen-loeschen.mjs +++ b/server/pruef-personen-loeschen.mjs @@ -8,7 +8,7 @@ import { mkdtempSync, rmSync, readdirSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; const ordner = mkdtempSync(join(tmpdir(), "ws-loeschen-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); @@ -17,8 +17,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4188, "pruef-personen-loeschen"); -process.env.PORT = "4188"; +const PORT = await eigenerPort(import.meta, "pruef-personen-loeschen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -29,7 +29,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4188"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-portnummern.mjs b/server/pruef-portnummern.mjs new file mode 100644 index 00000000..d45cb997 --- /dev/null +++ b/server/pruef-portnummern.mjs @@ -0,0 +1,97 @@ +/* ===================================================================== + pruef-portnummern.mjs — Zwei Pruefungen, eine Nummer + + WAS HIER SCHIEFGING (20.09.2026 gemessen): + 164 Pruefdateien, 129 verschiedene Nummern -- NEUNZEHN waren doppelt + vergeben, 4186 und 4188 und 4196 und 4198 sogar dreifach. Niemand + hatte das gewollt; jede neue Pruefung wurde von einer vorhandenen + abgeschrieben, und die Nummer kam mit. + + WAS DAS ANRICHTET: Der Waechter bricht ab, statt gegen einen fremden + Server zu messen -- so weit, so richtig. Aber zwei Pruefungen mit + derselben Nummer koennen nie gleichzeitig laufen, und ein + liegengebliebener Prozess der einen laesst die andere mit einer + Meldung abbrechen, die wie ein Befund aussieht. Genau das ist am + 20.09. zweimal passiert, beide Male mit Fehlersuche an der falschen + Stelle. + + WAS DIESE PRUEFUNG SICHERT: Dass die Nummer ABGELEITET bleibt. Eine + von Hand eingetragene Zahl ist der Anfang der naechsten Doppelung -- + sie faellt nur niemandem auf, bis zwei Laeufe kollidieren. + ===================================================================== */ + +import { readdirSync, readFileSync } from "node:fs"; +import { eigenerPort } from "./helfer-port.mjs"; + +let ok_ = 0, fehl = 0; +const ok = (b, text) => { if (b) { ok_++; console.log(" ok " + text); } + else { fehl++; console.log(" FEHL " + text); } }; + +const ORDNER = new URL(".", import.meta.url).pathname.replace(/^\/([A-Za-z]:)/, "$1"); +const dateien = readdirSync(ORDNER) + .filter((f) => f.startsWith("pruef-") && f.endsWith(".mjs")).sort(); + +console.log("\n=== 1. Niemand traegt eine Nummer von Hand ein ==="); +const vonHand = []; +const ohneWaechter = []; +for (const f of dateien) { + const s = readFileSync(ORDNER + "/" + f, "utf8"); + /* Kommentare zaehlen nicht: In helfer-port.mjs und hier stehen alte + Nummern als Beleg, und ein Beleg ist kein Eintrag. */ + const code = s.replace(/\/\*[\s\S]*?\*\//g, "").replace(/^\s*\/\/.*$/gm, ""); + if (/portMussFreiSein\(\s*\d/.test(code)) vonHand.push(f); + const startetServer = /listen\(|process\.env\.PORT\s*=/.test(code); + if (startetServer && !/eigenerPort\(\s*import\.meta/.test(code)) ohneWaechter.push(f); +} +ok(dateien.length > 100, `${dateien.length} Pruefdateien angesehen`); +ok(vonHand.length === 0, + `keine traegt eine feste Nummer im Waechter (${vonHand.slice(0, 4).join(", ") || "—"})`); +ok(ohneWaechter.length === 0, + `jede, die einen Server startet, leitet ihre Nummer ab (${ohneWaechter.slice(0, 4).join(", ") || "—"})`); + +console.log("\n=== 2. Die abgeleiteten Nummern sind eindeutig ==="); +const belegt = new Map(); +let doppelt = 0; +dateien.forEach((f, i) => { + for (let n = 0; n < 2; n++) { + const p = 5000 + i * 2 + n; + if (belegt.has(p)) { doppelt++; console.log(` ${p}: ${belegt.get(p)} und ${f}`); } + belegt.set(p, f); + } +}); +ok(belegt.size === dateien.length * 2 && doppelt === 0, + `${belegt.size} Nummern fuer ${dateien.length} Dateien, ${doppelt} doppelt`); + +console.log("\n=== 3. Die Ableitung stimmt wirklich (gemessen, nicht gerechnet) ==="); +/* NICHT die Formel gegen sich selbst pruefen -- das waere eine + Bestaetigung ohne Aussage. Gefragt wird die Funktion, die die + Pruefungen auch benutzen, und verglichen wird mit der Stelle im + Alphabet. */ +const ersteDatei = dateien[0]; +const meine = dateien.indexOf("pruef-portnummern.mjs"); +const p0 = await eigenerPort(import.meta, "pruef-portnummern (Selbsttest)", 0); +ok(p0 === 5000 + meine * 2, + `meine eigene Nummer ist ${p0} — Stelle ${meine} im Alphabet, erste Datei ${ersteDatei}`); +const p1 = await eigenerPort(import.meta, "pruef-portnummern (Selbsttest)", 1); +ok(p1 === p0 + 1, `und die zweite ist ${p1}, also genau eine daneben`); + +console.log("\n=== 4. Gegenprobe: kann sie auch NICHT IN ORDNUNG sagen? ==="); +/* Eine Pruefung, die immer bestaetigt, bestaetigt nichts. */ +let drittesAusgangGriff = false; +try { + /* Eine Datei, die es nicht gibt -- die Ableitung darf dann NICHT + raten, sondern muss abbrechen. */ + await eigenerPort({ url: new URL("./gibt-es-nicht.mjs", import.meta.url).href }, "Gegenprobe"); +} catch (f) { + drittesAusgangGriff = /steht nicht in der Liste/.test(f?.message || ""); +} +ok(drittesAusgangGriff, "eine unbekannte Datei bekommt keine geratene Nummer, sondern einen Abbruch"); + +let zuHoheNummer = false; +try { await eigenerPort(import.meta, "Gegenprobe", 7); } +catch (f) { zuHoheNummer = /Nummern je Datei/.test(f?.message || ""); } +ok(zuHoheNummer, "und eine dritte Nummer je Datei gibt es nicht"); + +console.log(`\n${ok_} Pruefungen, ${fehl} Fehler`); +console.log(fehl ? "NICHT IN ORDNUNG\n" : "ALLES IN ORDNUNG\n"); +process.exit(fehl ? 1 : 0); diff --git a/server/pruef-protokoll-klappe.mjs b/server/pruef-protokoll-klappe.mjs index 4d663341..aaab6ad5 100644 --- a/server/pruef-protokoll-klappe.mjs +++ b/server/pruef-protokoll-klappe.mjs @@ -15,8 +15,8 @@ process.env.WORKSPACE_DB = join(ordner, "pruef.sqlite"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4180, "pruef-protokoll-klappe"); -process.env.PORT = "4180"; +const PORT = await eigenerPort(import.meta, "pruef-protokoll-klappe"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -26,7 +26,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -35,7 +35,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-protokoll-klappe"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4180"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); let fehler = 0; diff --git a/server/pruef-protokoll-loeschen.mjs b/server/pruef-protokoll-loeschen.mjs index 9d0c49b2..bdb06444 100644 --- a/server/pruef-protokoll-loeschen.mjs +++ b/server/pruef-protokoll-loeschen.mjs @@ -36,8 +36,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4197, "pruef-protokoll-loeschen"); -process.env.PORT = "4197"; +const PORT = await eigenerPort(import.meta, "pruef-protokoll-loeschen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -47,7 +47,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -56,7 +56,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-protokoll-loeschen"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4197"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); let fehler = 0; diff --git a/server/pruef-push-weg.mjs b/server/pruef-push-weg.mjs index d5878934..39f87853 100644 --- a/server/pruef-push-weg.mjs +++ b/server/pruef-push-weg.mjs @@ -51,6 +51,18 @@ import { `unref()` allein genuegt nicht -- es nimmt dem Handle nur das Recht, den Prozess am Leben zu halten; im Schliessen ist es trotzdem. */ +/* ZWEI NACHGEBAUTE PUSH-DIENSTE, ZWEI NUMMERN (20.09.2026). + Vorher standen hier 4341 und 4342 fest -- und 4341 gehoerte + gleichzeitig pruef-agentur. Aufgefallen ist das NICHT beim + Nachzaehlen der Doppelungen: Diese Datei rief den Waechter gar + nicht auf und tauchte in der Liste deshalb nie auf. Gefunden hat + sie erst pruef-portnummern mit der anderen Frage -- "wer startet + einen Server, ohne seine Nummer abzuleiten?". Eine Liste zeigt + nur, was auf ihr steht. */ +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "pruef-push-weg", 0); +const PORT2 = await eigenerPort(import.meta, "pruef-push-weg (Fehlercodes)", 1); + const schliessen = (dienst) => new Promise((fertig) => { if (!dienst.listening) return fertig(); dienst.close(() => fertig()); @@ -141,10 +153,10 @@ let empfangen = null, kopfzeilen = null; a.writeHead(201); a.end(); }); }); - await new Promise((r) => dienst.listen(4341, "127.0.0.1", r)); + await new Promise((r) => dienst.listen(PORT, "127.0.0.1", r)); const paar = schluesselErzeugen(); - const e = await schicken({ endpunkt: "http://127.0.0.1:4341/push/abc", ...anmeldung }, + const e = await schicken({ endpunkt: `http://127.0.0.1:${PORT}/push/abc`, ...anmeldung }, TEXT, paar, "mailto:test@dogfather-universe.com"); ok(e.ok, `zugestellt (Status ${e.status})`); @@ -181,8 +193,8 @@ console.log("\n=== Ein Geraet, das es nicht mehr gibt ==="); const paar = schluesselErzeugen(); for (const [code, erwartetWeg] of [[410, true], [404, true], [500, false], [429, false]]) { const d = createServer((q, a) => { a.writeHead(code); a.end(); }); - await new Promise((r) => d.listen(4342, "127.0.0.1", r)); - const e = await schicken({ endpunkt: "http://127.0.0.1:4342/x", ...anmeldung }, + await new Promise((r) => d.listen(PORT2, "127.0.0.1", r)); + const e = await schicken({ endpunkt: `http://127.0.0.1:${PORT2}/x`, ...anmeldung }, TEXT, paar, "mailto:t@dogfather-universe.com"); ok(e.weg === erwartetWeg, `${code} -> weg=${e.weg} (erwartet ${erwartetWeg})` diff --git a/server/pruef-push-ziel.mjs b/server/pruef-push-ziel.mjs index de3c9e54..c647bae2 100644 --- a/server/pruef-push-ziel.mjs +++ b/server/pruef-push-ziel.mjs @@ -37,10 +37,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { createServer } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4423, "pruef-push-ziel"); -const DIENST = await portMussFreiSein(4424, "pruef-push-ziel (Push-Dienst)"); +const PORT = await eigenerPort(import.meta, "pruef-push-ziel"); +const DIENST = await eigenerPort(import.meta, "pruef-push-ziel (Push-Dienst)", 1); const ordner = mkdtempSync(join(tmpdir(), "ws-pz-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-rechte-umstellen.mjs b/server/pruef-rechte-umstellen.mjs index 90579e3e..ccf66421 100644 --- a/server/pruef-rechte-umstellen.mjs +++ b/server/pruef-rechte-umstellen.mjs @@ -24,9 +24,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4405, "pruef-rechte-umstellen"); +const PORT = await eigenerPort(import.meta, "pruef-rechte-umstellen"); const ordner = mkdtempSync(join(tmpdir(), "ws-rechte-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-rechtetafel.mjs b/server/pruef-rechtetafel.mjs index 15ae8ecb..30079ed0 100644 --- a/server/pruef-rechtetafel.mjs +++ b/server/pruef-rechtetafel.mjs @@ -46,9 +46,9 @@ import { mkdtempSync, rmSync, readdirSync, existsSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4397, "pruef-rechtetafel"); +const PORT = await eigenerPort(import.meta, "pruef-rechtetafel"); const ordner = mkdtempSync(join(tmpdir(), "ws-rechte-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-rollen-anlegen.mjs b/server/pruef-rollen-anlegen.mjs index 5ccb8082..13d1dcbc 100644 --- a/server/pruef-rollen-anlegen.mjs +++ b/server/pruef-rollen-anlegen.mjs @@ -40,9 +40,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4497, "pruef-rollen-anlegen"); +const PORT = await eigenerPort(import.meta, "pruef-rollen-anlegen"); const ordner = mkdtempSync(join(tmpdir(), "ws-ra-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-rollen.mjs b/server/pruef-rollen.mjs index 548200d0..b2cfee04 100644 --- a/server/pruef-rollen.mjs +++ b/server/pruef-rollen.mjs @@ -38,8 +38,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4193, "pruef-rollen"); -process.env.PORT = "4193"; +const PORT = await eigenerPort(import.meta, "pruef-rollen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -49,7 +49,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -76,7 +76,7 @@ await import("./index.js"); irgendwann gar nichts mehr. */ notbremse(900_000, "pruef-rollen"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4193"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 540_000).unref?.(); let fehler = 0; diff --git a/server/pruef-rollstelle.mjs b/server/pruef-rollstelle.mjs index 0124eacd..db5c3c84 100644 --- a/server/pruef-rollstelle.mjs +++ b/server/pruef-rollstelle.mjs @@ -40,10 +40,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; -const PORT = await portMussFreiSein(4432, "pruef-rollstelle"); +const PORT = await eigenerPort(import.meta, "pruef-rollstelle"); const ordner = mkdtempSync(join(tmpdir(), "ws-rollstelle-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-rueckmeldung.mjs b/server/pruef-rueckmeldung.mjs index 0d19a721..28e92cfd 100644 --- a/server/pruef-rueckmeldung.mjs +++ b/server/pruef-rueckmeldung.mjs @@ -36,10 +36,10 @@ import { join } from "node:path"; const ordner = mkdtempSync(join(tmpdir(), "ws-rueck-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4379, "die Rueckmeldungspruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Rueckmeldungspruefung"); -process.env.PORT = "4379"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -48,7 +48,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 1000)); -const BASIS = "http://127.0.0.1:4379"; +const BASIS = `http://127.0.0.1:${PORT}`; /* Netz und Notbremse -- index.js faengt sonst jeden Absturz ab, und der Lauf sieht von aussen aus wie "laeuft noch". */ @@ -96,7 +96,7 @@ function anmelden(rolle, code, wand = "crew.dogfather-universe.com") { return new Promise((fertig) => { const rumpf = JSON.stringify({ rolle, code }); const a = httpAnfrage({ - host: "127.0.0.1", port: 4379, path: "/workspace/api/anmelden", method: "POST", + host: "127.0.0.1", port: PORT, path: "/workspace/api/anmelden", method: "POST", headers: { "Content-Type": "application/json", "Content-Length": Buffer.byteLength(rumpf), Host: wand }, }, (antwort) => { diff --git a/server/pruef-sackgassen.mjs b/server/pruef-sackgassen.mjs index cc73c088..70f10191 100644 --- a/server/pruef-sackgassen.mjs +++ b/server/pruef-sackgassen.mjs @@ -53,8 +53,8 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-sackgasse-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -const PORT = await portMussFreiSein(4331, "die Sackgassenpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Sackgassenpruefung"); process.env.PORT = String(PORT); process.env.SITE_ACCESS_SECRET = "lokaler-test"; diff --git a/server/pruef-schranke.mjs b/server/pruef-schranke.mjs index 8b9bcf25..36e2b83b 100644 --- a/server/pruef-schranke.mjs +++ b/server/pruef-schranke.mjs @@ -34,10 +34,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-schranke-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); /* Der Port muss frei sein -- sonst wird gegen einen fremden Server gemessen. Begruendung in helfer-port.mjs. */ -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4231, "die Schrankenpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Schrankenpruefung"); -process.env.PORT = "4231"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -47,7 +47,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4231"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; @@ -353,7 +353,7 @@ console.log("\n=== Sicherheits-Kopfzeilen ==="); hier ein roher Aufruf -- sonst misst man dreimal denselben Fall. */ const http = await import("node:http"); const mitHost = (host) => new Promise((fertig) => { - const r = http.request({ host: "127.0.0.1", port: 4231, path: "/404.html", + const r = http.request({ host: "127.0.0.1", port: PORT, path: "/404.html", method: "GET", headers: { Host: host } }, (antwort) => { antwort.resume(); fertig(antwort.headers["strict-transport-security"] || null); @@ -362,9 +362,9 @@ console.log("\n=== Sicherheits-Kopfzeilen ==="); r.end(); }); - ok((await mitHost("127.0.0.1:4231")) === null, + ok((await mitHost(`127.0.0.1:${PORT}`)) === null, "ueber http an eine lokale Adresse kommt KEIN HSTS (RFC 6797)"); - ok((await mitHost("localhost:4231")) === null, + ok((await mitHost(`localhost:${PORT}`)) === null, "auch an localhost kommt kein HSTS"); const echt = await mitHost("dogfather-universe.com"); ok(!!echt && echt.includes("max-age="), diff --git a/server/pruef-schritt.mjs b/server/pruef-schritt.mjs index 96f984bf..96bfcc7b 100644 --- a/server/pruef-schritt.mjs +++ b/server/pruef-schritt.mjs @@ -31,9 +31,9 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4421, "pruef-schritt"); +const PORT = await eigenerPort(import.meta, "pruef-schritt"); const ordner = mkdtempSync(join(tmpdir(), "ws-schritt-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-schulung.mjs b/server/pruef-schulung.mjs index 706e14d9..42088c79 100644 --- a/server/pruef-schulung.mjs +++ b/server/pruef-schulung.mjs @@ -23,8 +23,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4205, "pruef-schulung"); -process.env.PORT = "4205"; +const PORT = await eigenerPort(import.meta, "pruef-schulung"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -33,7 +33,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -42,7 +42,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-schulung"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4205"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 250_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-scout-zuteilung.mjs b/server/pruef-scout-zuteilung.mjs index 1e8242a6..7bd1c48d 100644 --- a/server/pruef-scout-zuteilung.mjs +++ b/server/pruef-scout-zuteilung.mjs @@ -31,8 +31,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4217, "pruef-scout-zuteilung"); -process.env.PORT = "4217"; +const PORT = await eigenerPort(import.meta, "pruef-scout-zuteilung"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -41,7 +41,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -50,7 +50,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-scout-zuteilung"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4217"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-serien.mjs b/server/pruef-serien.mjs index 0f9606f3..023cf8a5 100644 --- a/server/pruef-serien.mjs +++ b/server/pruef-serien.mjs @@ -34,8 +34,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4189, "pruef-serien"); -process.env.PORT = "4189"; +const PORT = await eigenerPort(import.meta, "pruef-serien"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -45,7 +45,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -54,7 +54,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-serien"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4189"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); const tagText = (d = new Date()) => diff --git a/server/pruef-sicherung.mjs b/server/pruef-sicherung.mjs index 9f2b02fd..dbb7f7dc 100644 --- a/server/pruef-sicherung.mjs +++ b/server/pruef-sicherung.mjs @@ -15,7 +15,7 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { createRequire } from "node:module"; import { pathToFileURL } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; const ordner = mkdtempSync(join(tmpdir(), "ws-sicherung-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); @@ -24,8 +24,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4181, "pruef-sicherung"); -process.env.PORT = "4181"; +const PORT = await eigenerPort(import.meta, "pruef-sicherung"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -36,7 +36,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4181"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("\nABBRUCH: hing zu lange."); process.exit(1); }, 180_000).unref?.(); let fehler = 0; diff --git a/server/pruef-sicht.mjs b/server/pruef-sicht.mjs index 237738be..51798ac0 100644 --- a/server/pruef-sicht.mjs +++ b/server/pruef-sicht.mjs @@ -31,8 +31,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4215, "pruef-sicht"); -process.env.PORT = "4215"; +const PORT = await eigenerPort(import.meta, "pruef-sicht"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -41,7 +41,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -50,7 +50,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-sicht"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4215"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-spicy.mjs b/server/pruef-spicy.mjs index b2854306..42d4b313 100644 --- a/server/pruef-spicy.mjs +++ b/server/pruef-spicy.mjs @@ -38,9 +38,8 @@ import { notbremse } from "./helfer-notbremse.mjs"; notbremse(300_000, "die Spicy-Pruefung"); const HIER = dirname(fileURLToPath(import.meta.url)); -const { portMussFreiSein } = await import("./helfer-port.mjs"); -const PORT = 4351; -await portMussFreiSein(PORT, "die Spicy-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Spicy-Pruefung"); const BASIS = `http://127.0.0.1:${PORT}`; const ordner = mkdtempSync(join(tmpdir(), "ws-spicy-")); diff --git a/server/pruef-sprung.mjs b/server/pruef-sprung.mjs index 5c6ef3a8..aa686712 100644 --- a/server/pruef-sprung.mjs +++ b/server/pruef-sprung.mjs @@ -37,8 +37,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4212, "pruef-sprung"); -process.env.PORT = "4212"; +const PORT = await eigenerPort(import.meta, "pruef-sprung"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -47,7 +47,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -56,7 +56,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-sprung"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4212"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 300_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-start-ansicht.mjs b/server/pruef-start-ansicht.mjs index ade37920..7f9fe27a 100644 --- a/server/pruef-start-ansicht.mjs +++ b/server/pruef-start-ansicht.mjs @@ -11,8 +11,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4186, "pruef-start-ansicht"); -process.env.PORT = "4186"; +const PORT = await eigenerPort(import.meta, "pruef-start-ansicht"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -22,7 +22,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -31,7 +31,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-start-ansicht"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4186"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-steckbrief.mjs b/server/pruef-steckbrief.mjs index 4c91fb11..8cc295b3 100644 --- a/server/pruef-steckbrief.mjs +++ b/server/pruef-steckbrief.mjs @@ -16,8 +16,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4196, "pruef-steckbrief"); -process.env.PORT = "4196"; +const PORT = await eigenerPort(import.meta, "pruef-steckbrief"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -26,7 +26,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -35,7 +35,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-steckbrief"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4196"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); let fehler = 0; diff --git a/server/pruef-tagesblick.mjs b/server/pruef-tagesblick.mjs index 8f2699fc..e167148a 100644 --- a/server/pruef-tagesblick.mjs +++ b/server/pruef-tagesblick.mjs @@ -29,10 +29,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-tagesblick-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4303, "die Tagesblickpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Tagesblickpruefung"); -process.env.PORT = "4303"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -47,7 +47,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-tagesblick"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4303"; +const BASIS = `http://127.0.0.1:${PORT}`; const PROTOKOLL = join(process.cwd(), "pruef-tagesblick-lauf.txt"); try { rmSync(PROTOKOLL, { force: true }); } catch { /* gab es noch nicht */ } diff --git a/server/pruef-tagesruf.mjs b/server/pruef-tagesruf.mjs index fb79bc99..71907371 100644 --- a/server/pruef-tagesruf.mjs +++ b/server/pruef-tagesruf.mjs @@ -44,8 +44,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4186, "pruef-tagesruf"); -process.env.PORT = "4186"; +const PORT = await eigenerPort(import.meta, "pruef-tagesruf"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -55,7 +55,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -64,7 +64,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-start-ansicht"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4186"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-team-ampel.mjs b/server/pruef-team-ampel.mjs index 3eff0291..3964ecad 100644 --- a/server/pruef-team-ampel.mjs +++ b/server/pruef-team-ampel.mjs @@ -36,8 +36,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4385, "pruef-team-ampel"); -process.env.PORT = "4385"; +const PORT = await eigenerPort(import.meta, "pruef-team-ampel"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -45,11 +45,11 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-team-ampel"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4385"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0, geprueft = 0, offen = 0; const ok = (b, t) => { geprueft++; console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-team-stufen.mjs b/server/pruef-team-stufen.mjs index 3596c68f..cdc8e5fc 100644 --- a/server/pruef-team-stufen.mjs +++ b/server/pruef-team-stufen.mjs @@ -32,8 +32,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4375, "pruef-team-stufen"); -process.env.PORT = "4375"; +const PORT = await eigenerPort(import.meta, "pruef-team-stufen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -41,11 +41,11 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); notbremse(180_000, "pruef-team-stufen"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4375"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0, geprueft = 0, offen = 0; const ok = (b, t) => { geprueft++; console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-team.mjs b/server/pruef-team.mjs index 5c31aaed..b1c91514 100644 --- a/server/pruef-team.mjs +++ b/server/pruef-team.mjs @@ -33,10 +33,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-team-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4345, "die Team-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Team-Pruefung"); -process.env.PORT = "4345"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -46,7 +46,7 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( await import("./index.js"); notbremse(300_000, "pruef-team"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4345"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0, geprueft = 0; const ok = (b, t) => { geprueft++; console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-teilen.mjs b/server/pruef-teilen.mjs index 87d5c66e..9e36d1a0 100644 --- a/server/pruef-teilen.mjs +++ b/server/pruef-teilen.mjs @@ -28,10 +28,10 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { createServer } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4494, "pruef-teilen"); -const TIKTOK = await portMussFreiSein(4503, "nachgebautes TikTok"); +const PORT = await eigenerPort(import.meta, "pruef-teilen"); +const TIKTOK = await eigenerPort(import.meta, "nachgebautes TikTok", 1); const ordner = mkdtempSync(join(tmpdir(), "ws-teilen-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-teilnehmer.mjs b/server/pruef-teilnehmer.mjs index db3328c5..198142c0 100644 --- a/server/pruef-teilnehmer.mjs +++ b/server/pruef-teilnehmer.mjs @@ -33,10 +33,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-teiln-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); /* Der Port muss frei sein -- sonst wird gegen einen fremden Server gemessen. Begruendung in helfer-port.mjs. */ -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4321, "die Teilnehmerpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Teilnehmerpruefung"); -process.env.PORT = "4321"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -45,7 +45,7 @@ const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; await import("./index.js"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4321"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-tempo-workspace.mjs b/server/pruef-tempo-workspace.mjs index 8f5c540a..96269cb7 100644 --- a/server/pruef-tempo-workspace.mjs +++ b/server/pruef-tempo-workspace.mjs @@ -39,10 +39,10 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); /* Der Port muss frei sein -- sonst wird gegen einen fremden Server gemessen. Begruendung in helfer-port.mjs. */ import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4283, "die Tempopruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Tempopruefung"); -process.env.PORT = "4283"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -57,7 +57,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-tempo-workspace"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4283"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0; const ok = (b, t) => { console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-terminregel.mjs b/server/pruef-terminregel.mjs index fc49bf6c..34bf7a66 100644 --- a/server/pruef-terminregel.mjs +++ b/server/pruef-terminregel.mjs @@ -31,10 +31,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { tagLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4192, "pruef-terminregel"); +const PORT = await eigenerPort(import.meta, "pruef-terminregel"); const ordner = mkdtempSync(join(tmpdir(), "ws-terminregel-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-treff-start.mjs b/server/pruef-treff-start.mjs index a62dc9f4..00ed37cb 100644 --- a/server/pruef-treff-start.mjs +++ b/server/pruef-treff-start.mjs @@ -34,10 +34,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { ersatzschreibungen } from "./helfer-deutsch.mjs"; -const PORT = await portMussFreiSein(4489, "pruef-treff-start"); +const PORT = await eigenerPort(import.meta, "pruef-treff-start"); const ordner = mkdtempSync(join(tmpdir(), "ws-start-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-treff-werkzeuge.mjs b/server/pruef-treff-werkzeuge.mjs index ffd870db..39c7e090 100644 --- a/server/pruef-treff-werkzeuge.mjs +++ b/server/pruef-treff-werkzeuge.mjs @@ -40,9 +40,9 @@ import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; import { heuteLokal } from "./helfer-tag.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4402, "pruef-treff-werkzeuge"); +const PORT = await eigenerPort(import.meta, "pruef-treff-werkzeuge"); const ordner = mkdtempSync(join(tmpdir(), "ws-treffw-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-treff.mjs b/server/pruef-treff.mjs index 5ee24bba..172c2f4f 100644 --- a/server/pruef-treff.mjs +++ b/server/pruef-treff.mjs @@ -41,9 +41,9 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4398, "pruef-treff"); +const PORT = await eigenerPort(import.meta, "pruef-treff"); const ordner = mkdtempSync(join(tmpdir(), "ws-treff-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-treffchat.mjs b/server/pruef-treffchat.mjs index 652f1075..59deb0af 100644 --- a/server/pruef-treffchat.mjs +++ b/server/pruef-treffchat.mjs @@ -38,7 +38,7 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; /* ==== ZWEI LAEUFE, EIN PROGRAMM ===================================== @@ -54,8 +54,14 @@ import { portMussFreiSein } from "./helfer-port.mjs"; nacheinander) und aus demselben Grund: Eine Gegenprobe, die nur behauptet wird, ist keine. */ const NACHTLAUF = process.env.TREFF_PRUEF_NACHT === "ja"; -const PORT = await portMussFreiSein(NACHTLAUF ? 4424 : 4423, - NACHTLAUF ? "pruef-treffchat (Nachtlauf)" : "pruef-treffchat"); +/* ZWEI NUMMERN, WEIL ES ZWEI LAEUFE SIND: Der Nachtlauf stellt die + Uhr um und muss neben dem Taglauf bestehen koennen -- mit derselben + Nummer schloessen sie einander aus. Genau dafuer hat jede Pruefdatei + zwei (nr = 0 und 1). Vorher standen hier 4423 und 4424 von Hand, und + 4424 gehoerte gleichzeitig pruef-push-ziel. */ +const PORT = await eigenerPort(import.meta, + NACHTLAUF ? "pruef-treffchat (Nachtlauf)" : "pruef-treffchat", + NACHTLAUF ? 1 : 0); const ordner = mkdtempSync(join(tmpdir(), "ws-treff-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-uebergang.mjs b/server/pruef-uebergang.mjs index 1264198d..b248f8dc 100644 --- a/server/pruef-uebergang.mjs +++ b/server/pruef-uebergang.mjs @@ -29,9 +29,9 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4420, "pruef-uebergang"); +const PORT = await eigenerPort(import.meta, "pruef-uebergang"); const ordner = mkdtempSync(join(tmpdir(), "ws-ueber-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-uebernahme.mjs b/server/pruef-uebernahme.mjs index cb683212..d1f89464 100644 --- a/server/pruef-uebernahme.mjs +++ b/server/pruef-uebernahme.mjs @@ -28,9 +28,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4414, "pruef-uebernahme"); +const PORT = await eigenerPort(import.meta, "pruef-uebernahme"); const ordner = mkdtempSync(join(tmpdir(), "ws-ueb-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-uebersicht-browser.mjs b/server/pruef-uebersicht-browser.mjs index 5b92f95e..bd497971 100644 --- a/server/pruef-uebersicht-browser.mjs +++ b/server/pruef-uebersicht-browser.mjs @@ -17,8 +17,8 @@ process.env.WORKSPACE_DB = join(ordner, "pruef.sqlite"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4177, "pruef-uebersicht-browser"); -process.env.PORT = "4177"; +const PORT = await eigenerPort(import.meta, "pruef-uebersicht-browser"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -30,7 +30,7 @@ express.response.cookie = function (name, wert, opt) { return echteCookie.call(this, name, wert, { ...(opt || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -40,7 +40,7 @@ await import("./index.js"); notbremse(150_000, "pruef-uebersicht-browser"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4177"; +const BASIS = `http://127.0.0.1:${PORT}`; /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des Benutzers; toISOString() liefert dagegen UTC und damit zwischen Mitternacht und 2 Uhr den VORTAG. In diesem Fenster schlug diese diff --git a/server/pruef-uebersicht.mjs b/server/pruef-uebersicht.mjs index d83a0d9e..c4f14412 100644 --- a/server/pruef-uebersicht.mjs +++ b/server/pruef-uebersicht.mjs @@ -10,7 +10,7 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; const ordner = mkdtempSync(join(tmpdir(), "ws-uebersicht-")); process.env.WORKSPACE_DB = join(ordner, "pruef.sqlite"); @@ -19,8 +19,8 @@ process.env.WORKSPACE_DB = join(ordner, "pruef.sqlite"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4176, "pruef-uebersicht"); -process.env.PORT = "4176"; +const PORT = await eigenerPort(import.meta, "pruef-uebersicht"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -35,7 +35,7 @@ express.response.cookie = function (name, wert, opt) { await import("./index.js"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4176"; +const BASIS = `http://127.0.0.1:${PORT}`; /* Notbremse. index.js faengt uncaughtException ab, damit die Website nicht an einem Einzelfehler stirbt -- im Test heisst das aber: ein diff --git a/server/pruef-verborgen.mjs b/server/pruef-verborgen.mjs index 6b870c74..47cd177a 100644 --- a/server/pruef-verborgen.mjs +++ b/server/pruef-verborgen.mjs @@ -11,8 +11,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4186, "pruef-verborgen"); -process.env.PORT = "4186"; +const PORT = await eigenerPort(import.meta, "pruef-verborgen"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -22,7 +22,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -31,7 +31,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-start-ansicht"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4186"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); /* ORTSZEIT, nicht UTC. Die Anwendung rechnet "heute" nach der Uhr des diff --git a/server/pruef-verteilen.mjs b/server/pruef-verteilen.mjs index d422ed1e..a21577f2 100644 --- a/server/pruef-verteilen.mjs +++ b/server/pruef-verteilen.mjs @@ -29,10 +29,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; -const PORT = await portMussFreiSein(4433, "pruef-verteilen"); +const PORT = await eigenerPort(import.meta, "pruef-verteilen"); const ordner = mkdtempSync(join(tmpdir(), "ws-verteilen-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-video.mjs b/server/pruef-video.mjs index 20315ad9..25e60693 100644 --- a/server/pruef-video.mjs +++ b/server/pruef-video.mjs @@ -40,10 +40,10 @@ import { mkdtempSync, rmSync, existsSync, readdirSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { createServer } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4499, "pruef-video"); -const TIKTOK = await portMussFreiSein(4501, "pruef-video (nachgebautes TikTok)"); +const PORT = await eigenerPort(import.meta, "pruef-video"); +const TIKTOK = await eigenerPort(import.meta, "pruef-video (nachgebautes TikTok)", 1); const ordner = mkdtempSync(join(tmpdir(), "ws-video-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-vorlagen.mjs b/server/pruef-vorlagen.mjs index e56883c3..38ace308 100644 --- a/server/pruef-vorlagen.mjs +++ b/server/pruef-vorlagen.mjs @@ -18,9 +18,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4197, "pruef-vorlagen"); +const PORT = await eigenerPort(import.meta, "pruef-vorlagen"); const ordner = mkdtempSync(join(tmpdir(), "ws-vorl-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-vorschlaege.mjs b/server/pruef-vorschlaege.mjs index 0c6f6da3..c76a0a0f 100644 --- a/server/pruef-vorschlaege.mjs +++ b/server/pruef-vorschlaege.mjs @@ -27,10 +27,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; -const PORT = await portMussFreiSein(4436, "pruef-vorschlaege"); +const PORT = await eigenerPort(import.meta, "pruef-vorschlaege"); const ordner = mkdtempSync(join(tmpdir(), "ws-vorschlag-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-wecker.mjs b/server/pruef-wecker.mjs index 52ffd3dd..042fdf02 100644 --- a/server/pruef-wecker.mjs +++ b/server/pruef-wecker.mjs @@ -47,10 +47,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-wecker-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4357, "die Weckerpruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Weckerpruefung"); -process.env.PORT = "4357"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; /* KEINE RUHEZEIT WAEHREND DER PRUEFUNG. @@ -77,7 +77,7 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( await import("./index.js"); notbremse(300_000, "pruef-wecker"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4357"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0, gemacht = 0; const ok = (b, t) => { gemacht++; console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; }; diff --git a/server/pruef-wege-nach-draussen.mjs b/server/pruef-wege-nach-draussen.mjs index 50a53b8d..61a60720 100644 --- a/server/pruef-wege-nach-draussen.mjs +++ b/server/pruef-wege-nach-draussen.mjs @@ -38,9 +38,9 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4196, "pruef-wege-nach-draussen"); +const PORT = await eigenerPort(import.meta, "pruef-wege-nach-draussen"); const ordner = mkdtempSync(join(tmpdir(), "ws-wege-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-werdegang.mjs b/server/pruef-werdegang.mjs index e2e93ec2..46409b8d 100644 --- a/server/pruef-werdegang.mjs +++ b/server/pruef-werdegang.mjs @@ -33,9 +33,9 @@ import { mkdtempSync, rmSync, readFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4422, "pruef-werdegang"); +const PORT = await eigenerPort(import.meta, "pruef-werdegang"); const ordner = mkdtempSync(join(tmpdir(), "ws-weg-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-wissen-neu.mjs b/server/pruef-wissen-neu.mjs index ca4d9b68..dd1a0978 100644 --- a/server/pruef-wissen-neu.mjs +++ b/server/pruef-wissen-neu.mjs @@ -20,8 +20,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4201, "pruef-wissen-neu"); -process.env.PORT = "4201"; +const PORT = await eigenerPort(import.meta, "pruef-wissen-neu"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -30,7 +30,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -39,7 +39,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-wissen-neu"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4201"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 200_000).unref?.(); let fehler = 0; diff --git a/server/pruef-womit.mjs b/server/pruef-womit.mjs index 636b20a3..7cd63d12 100644 --- a/server/pruef-womit.mjs +++ b/server/pruef-womit.mjs @@ -30,9 +30,9 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { request as httpAnfrage } from "node:http"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; -const PORT = await portMussFreiSein(4418, "pruef-womit"); +const PORT = await eigenerPort(import.meta, "pruef-womit"); const ordner = mkdtempSync(join(tmpdir(), "ws-womit-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); diff --git a/server/pruef-workspace-seiten.mjs b/server/pruef-workspace-seiten.mjs index 938effa3..485ab1ca 100644 --- a/server/pruef-workspace-seiten.mjs +++ b/server/pruef-workspace-seiten.mjs @@ -12,8 +12,8 @@ process.env.WORKSPACE_DB = join(ordner, "pruef.sqlite"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4178, "pruef-workspace-seiten"); -process.env.PORT = "4178"; +const PORT = await eigenerPort(import.meta, "pruef-workspace-seiten"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -25,7 +25,7 @@ express.response.cookie = function (n, w, o) { return echteCookie.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -34,7 +34,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-workspace-seiten"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4178"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 150_000).unref?.(); await fetch(BASIS + "/workspace/api/anmelden", { diff --git a/server/pruef-wunschliste.mjs b/server/pruef-wunschliste.mjs index 37ff269d..891301ac 100644 --- a/server/pruef-wunschliste.mjs +++ b/server/pruef-wunschliste.mjs @@ -38,10 +38,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { fileURLToPath } from "node:url"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal, tagLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4483, "pruef-wunschliste"); +const PORT = await eigenerPort(import.meta, "pruef-wunschliste"); const ordner = mkdtempSync(join(tmpdir(), "ws-wunsch-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-zeitraum.mjs b/server/pruef-zeitraum.mjs index 62252ab0..73f8c83e 100644 --- a/server/pruef-zeitraum.mjs +++ b/server/pruef-zeitraum.mjs @@ -25,10 +25,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { notbremse } from "./helfer-notbremse.mjs"; -const PORT = await portMussFreiSein(4437, "pruef-zeitraum"); +const PORT = await eigenerPort(import.meta, "pruef-zeitraum"); const ordner = mkdtempSync(join(tmpdir(), "ws-zeitraum-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-zentrale-ring.mjs b/server/pruef-zentrale-ring.mjs index 29ecf11c..2a389fbf 100644 --- a/server/pruef-zentrale-ring.mjs +++ b/server/pruef-zentrale-ring.mjs @@ -41,10 +41,10 @@ import { mkdtempSync, rmSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; import { heuteLokal, tagLokal } from "./helfer-tag.mjs"; -const PORT = await portMussFreiSein(4473, "pruef-zentrale-ring"); +const PORT = await eigenerPort(import.meta, "pruef-zentrale-ring"); const ordner = mkdtempSync(join(tmpdir(), "ws-ring-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); process.env.PORT = String(PORT); diff --git a/server/pruef-zustand-ansicht.mjs b/server/pruef-zustand-ansicht.mjs index 7c918f7e..f076d000 100644 --- a/server/pruef-zustand-ansicht.mjs +++ b/server/pruef-zustand-ansicht.mjs @@ -13,8 +13,8 @@ process.env.WORKSPACE_DB = join(ordner, "workspace.db"); STILL nicht -- und alles Folgende misst gegen einen fremden Stand. Das ist der dritte Ausgang: belegt ist etwas anderes als kaputt. */ -await portMussFreiSein(4182, "pruef-zustand-ansicht"); -process.env.PORT = "4182"; +const PORT = await eigenerPort(import.meta, "pruef-zustand-ansicht"); +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_ACCESS_CODE_DOGI = "DOGI-TEST-1"; process.env.SITE_ACCESS_CODE_VANVAN = "VANVAN-TEST-1"; @@ -24,7 +24,7 @@ const express = (await import("express")).default; const ec = express.response.cookie; express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...(o || {}), secure: false }); }; import { notbremse } from "./helfer-notbremse.mjs"; -import { portMussFreiSein } from "./helfer-port.mjs"; +import { eigenerPort } from "./helfer-port.mjs"; await import("./index.js"); /* DIE NOTBREMSE. Muss NACH index.js stehen: Der Server haengt dort zwei Auffangnetze ein, die einen Absturz nur protokollieren -- @@ -33,7 +33,7 @@ await import("./index.js"); Server ihn am Leben haelt (siehe helfer-notbremse.mjs). */ notbremse(480_000, "pruef-zustand-ansicht"); await new Promise((r) => setTimeout(r, 700)); -const BASIS = "http://127.0.0.1:4182"; +const BASIS = `http://127.0.0.1:${PORT}`; setTimeout(() => { console.log("ABBRUCH"); process.exit(1); }, 180_000).unref?.(); let fehler = 0; diff --git a/server/pruef-zwischenspeicher.mjs b/server/pruef-zwischenspeicher.mjs index 6d85ef5d..5341bf5a 100644 --- a/server/pruef-zwischenspeicher.mjs +++ b/server/pruef-zwischenspeicher.mjs @@ -28,10 +28,10 @@ const ordner = mkdtempSync(join(tmpdir(), "ws-cache-")); process.env.WORKSPACE_DB = join(ordner, "workspace.db"); import { notbremse } from "./helfer-notbremse.mjs"; -const { portMussFreiSein } = await import("./helfer-port.mjs"); -await portMussFreiSein(4343, "die Zwischenspeicher-Pruefung"); +const { eigenerPort } = await import("./helfer-port.mjs"); +const PORT = await eigenerPort(import.meta, "die Zwischenspeicher-Pruefung"); -process.env.PORT = "4343"; +process.env.PORT = `${PORT}`; process.env.SITE_ACCESS_SECRET = "lokaler-test"; process.env.SITE_PUBLIC_LAUNCH_AT = "2020-01-01T00:00:00+01:00"; @@ -41,7 +41,7 @@ express.response.cookie = function (n, w, o) { return ec.call(this, n, w, { ...( await import("./index.js"); notbremse(120_000, "pruef-zwischenspeicher"); await new Promise((r) => setTimeout(r, 900)); -const BASIS = "http://127.0.0.1:4343"; +const BASIS = `http://127.0.0.1:${PORT}`; let fehler = 0, geprueft = 0; const ok = (b, t) => { geprueft++; console.log((b ? " ok " : " FEHL ") + t); if (!b) fehler++; };