Skip to content
 
 

Latest commit

 

History

477 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 | English

📖 介绍

KMS Tools 是一个一站式 KMS 工具箱,基于 Nuxt 4 全栈框架构建,集成了 KMS 激活脚本生成、KMS 服务器检测、KMS 服务器状态监控等功能。

Note

项目依赖于 Node.js 的 child_process 模块来调用 vlmcs 二进制文件执行 KMS 检测服务,无法在 GitHub Pages 等纯静态网站托管平台上运行,因此区分了全栈版本和静态版本两种部署方式。

✨ 功能特性

  • 🔑 KMS 激活脚本生成 - 一键生成 Windows / Windows Server / Office 的 KMS 激活脚本
  • 🔍 KMS 服务器检测 - 实时检测 KMS 服务器的可用性和响应时间
  • 📊 KMS 服务器监控 - 持续监控多个 KMS 服务器的运行状态,提供可视化图表
  • 🌍 国际化支持 - 支持简体中文和英文界面切换
  • 🌗 暗色模式 - 支持亮色 / 暗色 / 跟随系统三种主题模式
  • 🐳 Docker 部署 - 提供开箱即用的 Docker 镜像,支持 AMD64 和 ARM64 架构

🌈 界面预览

KMS 激活脚本生成 KMS 服务器检测 KMS 服务器状态监控

📦 演示

全栈版本

https://kms.ikxin.com

静态版本

静态版本默认调用 https://kms.ikxin.com 的 API 接口,也可以自行部署全栈版本,然后通过环境变量 NUXT_PUBLIC_API_URL 设置。

平台 演示链接
Vercel https://kms-tools.vercel.app
Cloudflare https://kmstools.pages.dev
Netlify https://kms-tools.netlify.app

🛠️ 技术栈

技术 说明
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 数据库
Nuxt I18n 适用于 Nuxt 的国际化支持插件

📦 部署

环境变量

名称 示例值 描述
NUXT_PUBLIC_API_URL https://kms.ikxin.com 静态版本 API 接口地址
NUXT_MONITOR_LIST kms.org.cn,win.freekms.cn 自定义监控 KMS 服务器列表,使用 , 分隔
NUXT_MONITOR_INTERVAL 10 监控频率,单位为秒,默认 10 秒
PORT 3000 服务监听端口(也可使用 NITRO_PORT

Note

生产环境(node .output/server/index.mjs)不会自动读取 .env 文件,环境变量需要在运行前通过系统环境或部署平台进行配置。.env 文件仅在开发和构建阶段有效。

全栈版本

Cloudflare Workers 与 D1

项目在 Cloudflare 运行时会优先使用 DB D1 绑定保存监控配置和记录。首次部署时,Wrangler 会根据项目配置自动创建并绑定数据库:

NITRO_PRESET=cloudflare_module pnpm run build
pnpm exec wrangler deploy
pnpm run db:migrate:remote

迁移会创建 serversmonitor_records 两张空表。修改 server/database/schema.ts 后,可以生成新的迁移:

pnpm run db:generate

本地开发默认使用 Cloudflare 预设和 Wrangler 提供的本地 D1。首次开发或新增迁移后,先应用尚未执行的迁移:

pnpm run db:migrate:local
pnpm run dev

之后直接运行 pnpm run dev 即可。本地数据持久化在 .wrangler/state,无需登录 Cloudflare。Docker 和 Node.js 部署没有 D1 绑定时,会继续使用原有的 Nitro Storage 与 NUXT_MONITOR_LIST 配置。

Docker(推荐)

使用 Docker Compose:

services:
  kms-tools:
    image: ikxin/kms-tools:latest
    container_name: kms-tools
    ports:
      - 3000:3000
    volumes:
      - kms-data:/app/.data
    environment:
      - NUXT_MONITOR_LIST=kms.org.cn,win.freekms.cn
    restart: unless-stopped

volumes:
  kms-data:

或者使用 Docker CLI:

docker run -d \
  --name kms-tools \
  -p 3000:3000 \
  -v kms-data:/app/.data \
  ikxin/kms-tools:latest

镜像也可以从 GitHub Container Registry 拉取:

docker pull ghcr.io/ikxin/kms-tools:latest

Zeabur

Deployed on Zeabur

手动部署

  1. 克隆项目仓库到本地,安装依赖
git clone https://github.com/ikxin/kms-tools.git
cd kms-tools && pnpm install
  1. 构建项目
pnpm run build
  1. 启动服务,项目默认监听 3000 端口,可通过 PORT 环境变量修改
node .output/server/index.mjs

如需自定义端口和监控列表,可在启动时设置环境变量:

PORT=3512 NUXT_MONITOR_LIST=kms.example.com node .output/server/index.mjs

静态版本

几乎所有 SaaS 平台都支持静态网站托管服务,以下是通用的部署方式:

Warning

注意:如果你使用的是 Cloudflare Pages,部署时需要将 NODE_VERSION 设置为 22,否则构建时会出现报错。

  1. Fork 本项目仓库到自己的 GitHub 账户
  2. 在 SaaS 平台创建项目,选择刚才 Fork 的仓库
  3. 设置项目的构建命令为 pnpm run generate
  4. 设置环境变量 NUXT_PUBLIC_API_URL=https://kms.ikxin.com
  5. 点击部署项目即可

Note

如果在其他 SaaS 平台部署时遇到问题,欢迎提交 Issue 来获得支持。

🔧 本地开发

# 克隆项目
git clone https://github.com/ikxin/kms-tools.git
cd kms-tools

# 安装依赖
pnpm install

# 启动开发服务器
pnpm run dev

# 构建生产版本
pnpm run build

# 生成静态版本
pnpm run generate

🤝 参与贡献

欢迎各种形式的贡献!请先阅读 贡献指南

  1. Fork 本仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'feat: add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 提交 Pull Request

⭐ Star 历史

💖 赞助商

本项目 CDN 加速及安全防护由 Tencent EdgeOne 赞助。

📄 开源协议

本项目基于 MIT License 开源。

🧑‍💻 作者

Code with ❤️ by 一纸忘忧

📜 开源协议

MIT License Copyright (c) 2022 ~ Present

About

能激活office的KMS 工具箱,集成了激活脚本生成、KMS 服务器检查、KMS 服务器状态监控以及其他功能。

Topics

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages