Static public landing site for blackrelay.network.
The site is built with Astro, TypeScript and Tailwind CSS for Cloudflare Pages static output.
Use Node.js 26.4.0, matching .nvmrc, with pnpm 11.9.0.
Install dependencies:
pnpm installRun the local server:
pnpm devPreview the built Cloudflare Pages output locally:
pnpm build
pnpm pages:devWindows:
pnpm build
pnpm pages:devRun checks and produce the static dist output:
pnpm buildCloudflare Pages should use:
Build command: pnpm build
Output directory: dist
Wrangler configuration lives in wrangler.toml. Deploy the current dist output with:
pnpm build
pnpm pages:deployWindows:
pnpm build
pnpm pages:deploypnpm workspace settings live in pnpm-workspace.yaml. They keep the package-manager supply-chain policy active while approving the expected native build scripts for esbuild, sharp and workerd.
Mutable public links live in src/config/site.ts.
The Discord invite, EVE Frontier referral URL and referral code are public values. They are not secrets.
The site generates:
robots.txtfrom src/pages/robots.txt.ts..well-known/security.txtfrom src/pages/.well-known/security.txt.ts.security.mdfrom src/pages/security.md.ts.security/from src/pages/security.astro.404.htmlfrom src/pages/404.astro.
Unknown routes return the generated 404 page. Client-side navigation then returns the visitor to the last recorded Black Relay page. If no last page is known, the target is /. The home page shows a warning banner with the missing path.
Cloudflare Pages advanced mode is handled by public/_worker.js. The Worker:
- Forwards static assets through the Pages
ASSETSbinding. - Applies security headers and a nonce-based Content Security Policy to HTML.
- Allows Cloudflare Web Analytics / RUM automatic injection.
- Adds dictionary hints for generated Astro CSS and JavaScript assets.
- Serves
llms.txt. - Returns Markdown for HTML pages when the request asks for
Accept: text/markdownor?format=markdown.
Cloudflare Pages response hints live in public/_headers. The Worker is the primary runtime header layer; _headers remains a static Pages hint file for generated asset dictionaries.