import forge from "node-forge" // import crypto from "node:crypto" import path from "path" // change "activitypub" to whatever you want your account name to be export const ACCOUNT = process.env.ACCOUNT || "activitypub" // set up username and password for admin actions export const ADMIN_USERNAME = process.env.ADMIN_USERNAME || ""; export const ADMIN_PASSWORD = process.env.ADMIN_PASSWORD || ""; // get the hostname (`PROJECT_DOMAIN` is set via glitch, but since we're using Bun now, this won't matter) export const HOSTNAME = /*(process.env.PROJECT_DOMAIN && `${process.env.PROJECT_DOMAIN}.glitch.me`) ||*/ process.env.HOSTNAME || "localhost" export const NODE_ENV = process.env.NODE_ENV || "development" export const PORT = process.env.PORT || "3000" export const BASE_URL = (HOSTNAME === "localhost" ? "http://" : "https://") + HOSTNAME export const ACTOR = BASE_URL //+ '/' + ACCOUNT // in development, generate a key pair to make it easier to get started const keypair = NODE_ENV === "development" ? forge.pki.rsa.generateKeyPair({bits: 4096}) //crypto.generateKeyPairSync("rsa", { modulusLength: 4096 }) : undefined export const PUBLIC_KEY = process.env.PUBLIC_KEY || (keypair && forge.pki.publicKeyToPem(keypair.publicKey)) || //keypair?.publicKey.export({ type: "spki", format: "pem" }) || "" export const PRIVATE_KEY = process.env.PRIVATE_KEY || (keypair && forge.pki.privateKeyToPem(keypair.privateKey)) || //keypair?.privateKey.export({ type: "pkcs8", format: "pem" }) || "" export const STATIC_PATH = path.join('.', '_site') export const CONTENT_PATH = path.join('.', '_content') export const POSTS_PATH = path.join(CONTENT_PATH, "posts") export const DATA_PATH = path.join(CONTENT_PATH, "_data") export const ACTIVITY_INBOX_PATH = path.join(DATA_PATH, "_inbox") export const ACTIVITY_OUTBOX_PATH = path.join(DATA_PATH, "_outbox") export const DEFAULT_DOCUMENTS = process.env.DEFAULT_DOCUMENTS || [ 'index.html', 'index.shtml', 'index.htm', 'Index.html', 'Index.shtml', 'Index.htm', 'default.html', 'default.htm' ]