51 lines
No EOL
2 KiB
TypeScript
51 lines
No EOL
2 KiB
TypeScript
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'
|
|
] |