KMS Tools 是一个一站式 KMS 工具箱,基于 Nuxt 4 全栈框架构建,集成了 KMS 激活脚本生成、KMS 服务器检测、KMS 服务器状态监控等功能。
Note
项目统一部署到 Cloudflare Workers,使用 Cloudflare D1 保存监控服务器配置和检测记录。本地开发通过 Wrangler 运行本地 D1。
- 🔑 KMS 激活脚本生成 - 一键生成 Windows / Windows Server / Office 的 KMS 激活脚本
- 🔍 KMS 服务器检测 - 实时检测 KMS 服务器的可用性和响应时间
- 📊 KMS 服务器监控 - 持续监控多个 KMS 服务器的运行状态,提供可视化图表
- 🌍 国际化支持 - 支持简体中文和英文界面切换
- 🌗 暗色模式 - 支持亮色 / 暗色 / 跟随系统三种主题模式
- ☁️ Cloudflare Workers 部署 - 使用 D1 持久化监控数据,通过 Cron Triggers 定时检测
| KMS 激活脚本生成 | KMS 服务器检测 | KMS 服务器状态监控 |
|---|---|---|
![]() |
![]() |
![]() |
| 技术 | 说明 |
|---|---|
| Nuxt | 基于 Vue.js 的全栈 Web 应用框架 |
| Vue.js | 渐进式 JavaScript 框架 |
| Nitro | 基于 unjs/h3 的高性能 Web 服务端框架 |
| Vite | 极速开发服务器和现代构建工具 |
| TypeScript | 带类型系统的 JavaScript 超集 |
| Tailwind CSS | 实用性优先的 CSS 框架 |
| Arco Design Vue | 字节跳动开发的企业级产品设计系统 |
| ECharts | 功能丰富的交互式图表库 |
| Drizzle ORM | 类型安全的数据库访问与迁移工具 |
| Cloudflare D1 | Cloudflare 原生 SQLite 数据库 |
| Cloudflare Workers | 应用运行与定时任务 |
| Nuxt I18n | 适用于 Nuxt 的国际化支持插件 |
项目使用 Cloudflare Workers 运行应用,并且必须绑定名为 DB 的 Cloudflare D1 数据库。Workers、D1、Cron Triggers 和日志配置统一维护在 wrangler.jsonc 中。
站点和多语言链接基础地址固定为 https://kms.ikxin.com,前端 API 请求使用同源相对路径,无需配置地址相关环境变量。部署后需要将该域名绑定到 Worker。
安装依赖后,登录 Cloudflare 并创建数据库:
pnpm exec wrangler login
pnpm exec wrangler d1 create kms-tools将命令返回的 database_id 添加到 wrangler.jsonc 的 d1_databases 配置中,保留绑定名称 DB。如果已有数据库,填入现有数据库的 ID 即可。本地开发不需要远程数据库 ID。
# 应用远程数据库迁移
pnpm run db:migrate:remote
# 构建 Workers 应用并部署
pnpm run build
pnpm run deploy构建时 Nitro 会合并 wrangler.jsonc 并生成 Workers 部署配置,pnpm run deploy 使用该配置发布应用。后续部署前,也需要先应用新增的远程数据库迁移。
迁移会创建 servers 和 monitor_records 两张空表。监控列表通过 servers 表中的 host、port 和 enabled 字段管理,例如:
pnpm exec wrangler d1 execute DB --remote --config wrangler.jsonc --command "INSERT OR IGNORE INTO servers (host, port) VALUES ('kms.org.cn', 1688)"监控任务默认每 10 分钟执行一次。修改频率时,请同时更新 wrangler.jsonc 的 triggers.crons 和 nuxt.config.ts 的 nitro.scheduledTasks。
# 克隆项目并安装依赖
git clone https://github.com/ikxin/kms-tools.git
cd kms-tools
pnpm install
# 自动应用本地 D1 迁移并启动开发服务器
pnpm run dev开发服务器通过 Wrangler 提供的绑定代理访问本地 D1,数据库持久化在 .wrangler/state/v3,无需登录 Cloudflare。本地 API 请求使用当前开发服务器,数据与远程 D1 相互独立。
添加本地监控服务器:
pnpm exec wrangler d1 execute DB --local --config wrangler.jsonc --command "INSERT OR IGNORE INTO servers (host, port) VALUES ('kms.org.cn', 1688)"修改 server/database/schema.ts 后,生成并应用迁移:
pnpm run db:generate
pnpm run db:migrate:local欢迎各种形式的贡献!请先阅读 贡献指南。
- Fork 本仓库
- 创建你的功能分支 (
git checkout -b feature/amazing-feature) - 提交你的更改 (
git commit -m 'feat: add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 提交 Pull Request
本项目 CDN 加速及安全防护由 Tencent EdgeOne 赞助。
本项目基于 MIT License 开源。
Code with ❤️ by 一纸忘忧
MIT License Copyright (c) 2022 ~ Present



