Skip to content

BlueKnight Panel 5.2.1

Choose a tag to compare

@TaJirax TaJirax released this 10 Sep 19:50
· 9 commits to blue-knight-net since this release

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

  1. Dashboard → Workers & PagesCreateStart from Hello World.
  2. Edit code, select all, paste worker-standalone.js, Deploy.
  3. Settings → Variables → KV Namespace Bindings → bind a namespace to BK_KV.
  4. Settings → Runtime → compatibility date 2024-09-23 or later, enable nodejs_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 (host or host: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_KV binding 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: nosniff and Referrer-Policy: no-referrer; HTML adds a CSP with form-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.