feat: migrate from Next.js to pure Bun relay proxy

- Replace Next.js app router with standalone Bun.serve() entry point
- Add middleware stack: rate limiter, body limiter, structured logger, SSRF protection
- Add WebSocket bidirectional relay via x-relay-target header
- Implement error classification (DNS→502, timeouts→504, SSRF→403, rate→429)
- Remove all Next.js dependencies and config files
- Update deploy workflow, tsconfig, wrangler config for Bun deployment

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
MythEclipse
2026-06-10 19:54:55 +07:00
co-authored by Claude Fable 5
parent 124dab98a2
commit f58a92e2aa
43 changed files with 2981 additions and 1659 deletions
+12 -33
View File
@@ -1,41 +1,20 @@
{
"name": "real-starter",
"version": "0.1.0",
"name": "edge-proxy-relay",
"version": "1.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "eslint",
"build:worker": "bunx opennextjs-cloudflare build",
"preview": "wrangler dev",
"deploy": "bun run build:worker && wrangler deploy"
},
"dependencies": {
"@base-ui/react": "^1.4.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^1.14.0",
"next": "16.2.5",
"next-themes": "^0.4.6",
"react": "19.2.4",
"react-dom": "19.2.4",
"shadcn": "^4.7.0",
"sonner": "^2.0.7",
"tailwind-merge": "^3.5.0",
"tw-animate-css": "^1.4.0"
"dev": "bun --hot src/index.ts",
"start": "bun src/index.ts",
"test": "bun test",
"test:watch": "bun test --watch",
"typecheck": "tsc --noEmit",
"build": "bun build src/index.ts --outdir ./dist --target bun",
"build:worker": "bun build src/index.ts --outdir ./dist --target bun --format esm"
},
"dependencies": {},
"devDependencies": {
"@tailwindcss/postcss": "^4",
"@types/node": "^20",
"@types/react": "^19",
"@types/react-dom": "^19",
"bun-types": "^1.3.13",
"eslint": "^9",
"eslint-config-next": "16.2.5",
"tailwindcss": "^4",
"typescript": "^5",
"@opennextjs/cloudflare": "latest",
"wrangler": "^4.90.0"
"typescript": "^5"
}
}