Skip to content

ikxin/kms-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4cafc24 · Feb 16, 2025
Sep 24, 2024
May 30, 2024
Feb 16, 2025
Dec 31, 2024
Jan 6, 2025
Feb 16, 2025
Jan 6, 2025
Jan 5, 2025
Feb 16, 2025
Nov 28, 2022
Jan 6, 2025
Dec 26, 2024
Dec 27, 2024
Jun 24, 2022
Jul 6, 2022
Jan 6, 2025
Aug 28, 2024
Aug 28, 2024
Feb 16, 2025
Jan 2, 2025
Jan 1, 2025
Dec 26, 2024
Jan 14, 2025
Jan 14, 2025

Repository files navigation

English

📖 介绍

一站式 KMS 工具箱,集成了 KMS 激活脚本生成、KMS 服务器检测、KMS 服务器状态监控等功能。

该项目最早诞生于 2020 年 4 月,首发在 Hostloc 论坛,之前仅仅只是一个用来生成 KMS 激活脚本的小工具。上大学的时候我在学校负责维护教学楼和机房的电脑设备,平日里经常需要重装各种各样版本的操作系统,这个小工具提高了激活操作系统的效率。于是在 2022 年 6 月,我将这个小工具翻出来,使用许多新技术对其进行了重构,再一次发布到了 Hostloc 论坛,得到了许多大佬的关注和支持。

后来的一段时间里也会偶尔更新一些功能,但一直都没有很完善,直到前些时候收到了两个特别的 issues「#25#26」,其中有一个还是非中文语言发起的,我没有想到一个小小的项目能够得到海外朋友的关注。作为我开源的第一款「处女作」,我决定将其继续开发和维护下去。

原先的版本是一个纯前端的工具,为了实现 KMS 检测和 KMS 监控等功能,我使用 Bun + Elysia 写了一个后端服务,将整个项目区分为纯前端版本和全栈版本,前端版本可以调用 kms.ikxin.com 的 API 接口,而全栈版本则可以独立部署所有功能,甚至包含了 Vlmcsd 来作为 KMS 激活服务器。

📦 在线使用

全栈版本

纯前端版本

🌈 功能预览

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

👀 历史版本

v1.2.0 v1.0.0 v0.1.5

✨ 技术栈

后端

  • Bun - 用于 JavaScript 和 TypeScript 应用程序的一体化工具包
  • Drizzle ORM - 下一代的无头 TypeScript ORM 框架
  • Elysia - 符合人体工程学的 Web 框架,用于使用 Bun 构建后端服务器

前端

📦 本地构建

不管是全栈版本还是纯前端版本,都需要依赖 Bun 来进行构建,使用以下脚本在本地安装 Bun 环境。

Linux & macOS:

curl -fsSL https://bun.sh/install | bash

Windows:

powershell -c "irm bun.sh/install.ps1 | iex"

接下来将项目克隆到本地,然后执行命令安装依赖

git clone https://github.com/ikxin/kms-tools.git
cd kms-tools && bun install

全栈版本

  1. 创建 MySQL 数据库,使用以下 SQL 创建表的结构
CREATE TABLE `logs` (
  `id` int AUTO_INCREMENT NOT NULL,
  `host` text NOT NULL,
  `delay` int NOT NULL DEFAULT 0,
  `content` text,
  `status` boolean NOT NULL DEFAULT false,
  `created_at` timestamp NOT NULL,
  CONSTRAINT `logs_id` PRIMARY KEY(`id`)
);
--> statement-breakpoint
CREATE TABLE `server` (
  `id` int AUTO_INCREMENT NOT NULL,
  `host` text NOT NULL,
  `port` int NOT NULL DEFAULT 1688,
  `total` int NOT NULL DEFAULT 0,
  `success` int NOT NULL DEFAULT 0,
  `fail` int NOT NULL DEFAULT 0,
  `delay` float NOT NULL DEFAULT 0,
  `rate` float NOT NULL DEFAULT 0,
  `updated_at` timestamp,
  `created_at` timestamp,
  CONSTRAINT `server_id` PRIMARY KEY(`id`)
);
  1. .env.example 文件重命名为 .env,并修改其中的配置项
ENABLE_VLMCSD = false # 是否启用 Vlmcsd 服务
PORT = 3000 # 服务端口
DATABASE_URL = 'mysql://root:password@localhost:3306/database' # 数据库连接地址
  1. 运行以下命令启动服务
bun run service

纯前端版本

  1. 使用以下命令构建项目
bun run build
  1. 运行以下命令启动服务
npx serve dist

⭐ 星星

🧑‍💻 作者

Code with ❤️ by 一纸忘忧

📜 开源协议

MIT License Copyright (c) 2022 ~ Present