BlueKnight Panel 5.2.1
Proxy panel, encrypted-DNS gateway and client-subscription server for Cloudflare's edge or any Node 22+ host.
Updates and support: @BlueKnight_Net on Telegram
Downloads
| File | Use it when |
|---|---|
worker-standalone.js |
You want to paste one file into the Cloudflare dashboard. Every lib/ module inlined, all ten wallpapers embedded — 1.80 MB, under the 3 MB Workers free-plan limit. |
BlueKnight-Panel-5.2.1.zip |
Full deployable project. Unzip and double-click BlueKnight-Deploy.cmd for the interactive picker across all 11 targets. |
BlueKnight-Deploy.cmd |
The Windows launcher on its own, if you already have the project. |
Paste-deploy to Cloudflare Workers
- Dashboard → Workers & Pages → Create → Start from Hello World.
- Edit code, select all, paste
worker-standalone.js, Deploy. - Settings → Variables → KV Namespace Bindings → bind a namespace to
BK_KV. - Settings → Runtime → compatibility date
2024-09-23or later, enablenodejs_compat. Redeploy.
Open https://<your-worker>.workers.dev/panel and set an admin password.
Sites behind Cloudflare's CDN: Workers cannot open sockets to Cloudflare's own IPs. Set Relay for Cloudflare-hosted Sites (ProxyIP) in the panel to a non-Cloudflare relay (
hostorhost:port) and the Worker retries through it when a direct connection fails. Clean IPs may include a port, e.g.172.67.180.1:2053.
Without the
BK_KVbinding the panel cannot store your password or sign sessions, and will refuse to log you in rather than fall back to a shared key.
Why a standalone build
The repo's worker.js imports ./lib/ modules and resolves /assets/theme-bg-N.jpg through a static-asset binding. Pasted into the dashboard as-is it fails on the first import, and every theme renders on a flat colour. This build bundles the imports and bakes the wallpapers in, so a single-file deploy looks the same as a Pages deploy.
Rebuild it yourself with npm run build:standalone. Test suites are maintained locally and excluded from the project download.
Deployment targets
Cloudflare Workers · Cloudflare Pages · Vercel · Netlify · Fly.io · Railway · Render · Koyeb · Docker/VPS · Local · Native sing-box stack
All except Netlify carry VLESS/Trojan tunnel traffic; Netlify's function runtime cannot hold a WebSocket open, so use it for the panel and DNS only. node deploy.mjs validates project files and runs any available local regression suites, stopping on failure. Missing local test suites are reported and skipped.
Security
- Admin password stored as PBKDF2-SHA256, 100,000 iterations, per-record salt. Upgrading from an older build migrates on first login.
- Session signing key from KV or
JWT_SECRET; the panel fails closed rather than falling back to a shared key. - Every response carries
X-Frame-Options: DENY,X-Content-Type-Options: nosniffandReferrer-Policy: no-referrer; HTML adds a CSP withform-action 'self',base-uri 'none',frame-ancestors 'none'. - There is no rate limit on
/panel/login— put a Cloudflare WAF rule on it if the panel is internet-facing.
See the README for per-platform instructions and how the panel works internally.
Updated assets built from main commit fca3f91: Workers password-save fix, client DNS configuration, and deployment support without local test files. The release tag retains its original source snapshot; use the attached project ZIP for the updated code.