Tech Stack
The v2 platform is designed for performance and privacy, leveraging edge computing.Runtime
Cloudflare Workers (Edge Serverless)
Language
TypeScript (Worker entry point) & Vanilla JS ES6+ (Frontend)
Deployment
Wrangler 4 (Cloudflare CLI)
Assets
Workers Assets (Static Hosting)
Package Manager
pnpm v9+
Formatter
Prettier
Fonts
Poppins via @fontsource/poppins (self-hosted)
Frontend
HTML5, CSS3, Vanilla JavaScript (ES6+)
Routing
Routes are handled insrc/worker.ts. The Worker serves both static assets (via Workers Assets binding) and dynamic routes.
Primary Pages
| Route | Description |
|---|---|
/ | Homepage |
/about | About page |
/contribute | Contribute / donate page |
/terms | Terms of Service |
/privacy | Privacy Policy |
/license | License information |
/blog | Blog index |
/blog/[slug] | Individual blog posts |
/services/dns | DNS service page & tool |
/tool/gfu | Google Form Unlocker |
Blog Posts
Blog slugs are dynamically resolved:/blog/[slug] maps to the static file blog-[slug].html. Slugs are validated against [a-z0-9-] and capped at 200 characters.
| Route | Title |
|---|---|
/blog/dns | DNS |
/blog/adguard-home | AdGuard Home |
/blog/age-verification | Age Verification |
/blog/chromeos-wifi-password-extractor | ChromeOS Wi-Fi Password Extractor |
/blog/death-of-learning | Death of Learning |
/blog/google-form-unlocker | Google Form Unlocker |
/blog/google-form-unlocker-percautions | Google Form Unlocker Precautions |
Shortcuts & Redirects
All redirects are permanent (HTTP 301).| Route | Destination |
|---|---|
/bypass | /services/dns |
/dns | /services/dns |
/forms | /tool/gfu |
/discord | Discord Invite |
/github | GitHub Profile |
Security
The Worker enforces strict security response headers on every request:| Header | Value / Purpose |
|---|---|
Content-Security-Policy | Restricts asset origins; allows connections to DNS monitor subdomains for status checks |
Strict-Transport-Security | HSTS with includeSubDomains; preload (1 year) |
X-Content-Type-Options | nosniff |
X-Frame-Options | SAMEORIGIN |
Referrer-Policy | strict-origin-when-cross-origin |
Permissions-Policy | Disables camera, microphone, geolocation, and payment APIs |
GET and HEAD HTTP methods are accepted; all others return 405 Method Not Allowed.
Development
Prerequisites
- Node.js v18 or higher
- pnpm v9 or higher
- A Cloudflare account with Wrangler authenticated (
wrangler login)
Local Setup
Configure (optional)
Create or edit
.dev.vars for any local environment variables needed during development.Available Scripts
| Script | Description |
|---|---|
pnpm run dev | Generate version data + start local Wrangler dev server |
pnpm run preview | Generate version data + run Wrangler dev in --remote mode |
pnpm run deploy | Generate version data + deploy to Cloudflare Workers |
pnpm run build | Run generate-version only (stamps version-data.js) |
pnpm run format | Format all files with Prettier |
Deployment
Ensure Wrangler is installed and authenticated (wrangler login), then run:
hapara-fail Worker specified in wrangler.jsonc.