Files

37 lines
1.2 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* =====================================================================
index.js — Haupteinstiegspunkt für DogFather Universe. Liefert die statische Website aus
(../ ist der Ordner mit allen .html-Dateien) plus die Zugangsschranke (gate.js), 1:1 wie
vorher der Cloudflare Worker (gate-worker.js).
===================================================================== */
import "dotenv/config";
import express from "express";
import cookieParser from "cookie-parser";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
import { gateMiddleware } from "./gate.js";
const __dirname = dirname(fileURLToPath(import.meta.url));
const SITE_DIR = join(__dirname, "..");
const PORT = Number(process.env.PORT || 4100);
const app = express();
app.set("trust proxy", 1);
app.use(cookieParser());
app.use(express.json({ limit: "1mb" }));
app.use(gateMiddleware);
app.use(express.static(SITE_DIR, { index: "index.html" }));
app.use((req, res) => {
res.status(404).sendFile(join(SITE_DIR, "404.html"), (err) => {
if (err) res.status(404).send("Nicht gefunden.");
});
});
app.listen(PORT, "127.0.0.1", () => {
console.log(`DogFather Universe Server läuft auf http://127.0.0.1:${PORT}`);
});