中文说明请见 README-zh.md。
A lightweight subscription management panel for organizing proxy nodes, generating client-ready subscriptions, and composing node-processing workflows.
Features • Quick Start • Deployment • Usage • Documentation
MiSub helps you manage upstream subscriptions and manual nodes, combine them into profiles, process nodes through a visual operator chain, and publish subscription links for common proxy clients.
It is designed for personal and small-team usage: simple operations, clear client links, safe defaults, and flexible Cloudflare Pages deployment.
- Profiles: combine upstream subscriptions and manual nodes into scenario-specific subscription profiles.
- Subscription and node management: manage airport subscriptions, manual nodes, groups, ordering, remarks, traffic, and expiry data.
- Operator Chain: process nodes with filter, regex rename, script/DSL execution, sorting, and smart deduplication steps.
- Multi-client output: generate subscription output for Clash/Mihomo, Sing-Box, Surge, Loon, Quantumult X, Shadowrocket, V2rayN/V2rayNG, and base64 clients.
- Built-in templates: use unified template output, rule-set presets, region groups, policy groups, and custom rule templates.
- Custom public page: publish a public explore page or an immersive disguise/custom page with sanitized HTML rendering.
- Storage options: use Cloudflare KV for simple deployments or Cloudflare D1 for higher write volume and structured storage.
- Notifications and operations: support Telegram notifications, scheduled refresh, backup/restore, logs, and diagnostics.
- Modern UI: responsive Vue 3 interface with light/dark modes and English/Chinese localization.
- Shadowsocks / SS2022
- VMess
- VLESS
- Trojan
- Hysteria2 / HY2
- TUIC
- Snell
- WireGuard
- AnyTLS
- HTTPS
- SOCKS5 / SOCKS5-TLS
clash/ Mihomo YAMLsurgeloonquanxsingboxbase64- external converter backend mode
- A GitHub account
- A Cloudflare account
- Node.js 20+ for local development
- Fork this repository.
- Open Cloudflare Dashboard.
- Go to
Workers & Pages→Create application→Pages→Connect to Git. - Select your forked repository.
- Configure build settings:
- Framework preset:
Vue - Build command:
npm run build - Build output directory:
dist
- Framework preset:
- Deploy the project.
- Bind storage before production use.
Create or select a Cloudflare KV namespace, then bind it in Pages settings:
- Variable name:
MISUB_KV - Binding type: KV namespace
D1 is recommended when you refresh subscriptions frequently or want structured storage.
wrangler d1 create misub
wrangler d1 execute misub --file=schema.sql --remoteBind the database in Pages settings:
- Variable name:
MISUB_DB - Binding type: D1 database
If schema initialization fails in the CLI, run the latest schema.sql manually in the Cloudflare D1 console.
ADMIN_PASSWORD: admin login password. If unset, the default password isadmin.COOKIE_SECRET: stable session signing secret.CORS_ORIGINS: allowed browser origins for API requests.CRON_SECRET: secret used by external cron triggers.MISUB_PUBLIC_URL: public site URL used to generate subscription conversion callback URLs.MISUB_CALLBACK_URL: callback base URL for subscription conversion. It takes precedence overMISUB_PUBLIC_URL.
Never commit real tokens, cookies, UUID/private keys, webhook secrets, bot tokens, subscription URLs, or airport domains.
npm install
npm run devFor local Pages Functions testing:
npm run dev:server -- --ip 0.0.0.0 --kv MISUB_KV --persist-to .wrangler/state-localUseful commands:
npm test -- --run
npm run build
npm run preview- Log in to the admin panel.
- Add upstream subscriptions or manual nodes.
- Create profiles that combine selected sources and manual-node groups.
- Configure the operator chain if you need filtering, renaming, sorting, or deduplication.
- Copy the generated client link or QR code.
- Import the link into your preferred proxy client.
Profiles can inherit a global default operator chain or define their own processing flow. Available operators include:
- Filter nodes by protocol, region, include regex, or exclude regex.
- Rename nodes with regex replacement or templates.
- Apply restricted script/DSL operations.
- Sort nodes by weighted conditions and custom region priority.
- Deduplicate nodes with protocol-aware smart rules.
See Operator Chain Guide for details.
- Admin APIs are password/session protected.
- Custom public HTML is sanitized before rendering.
- User-provided scripts are not executed in the main page context.
- External resource loading and iframe URLs are restricted by renderer policy.
- Subscription fetch and preview flows include SSRF-oriented safeguards.
- Use strong secrets for
ADMIN_PASSWORD,COOKIE_SECRET, andCRON_SECRET.
Current version: v2.7.0
For detailed historical changes, see README-zh.md and the repository commit history.
Thanks to sponsor ForZTN for supporting the project server.
MiSub is developed from CF-Workers-SUB. Thanks to CM for the open-source contribution.
MIT License. See LICENSE.