An all-in-one KMS toolbox integrating features such as KMS activation script generation, KMS server detection, and KMS server status monitoring.
This project was originally born in April 2020 and was first launched on the Hostloc Forum. It was initially just a small tool for generating KMS activation scripts. When I was in college, I was responsible for maintaining the computer equipment in the teaching buildings and computer rooms at school, and I often needed to reinstall various versions of operating systems. This small tool improved the efficiency of activating operating systems. So in June 2022, I took out this small tool, refactored it with many new technologies, and released it again on the Hostloc Forum, which received a lot of attention and support from many big shots.
Later on, I would occasionally update some features, but it was never very complete until I received two special issues "#25, #26", one of which was initiated in a non-Chinese language, I did not expect a small project to get the attention of overseas friends. As my first open-source "virgin work", I decided to continue to develop and maintain it.
The original version was a pure front-end tool. In order to implement functions such as KMS detection and KMS monitoring, I used Bun + Elysia to write a backend service, dividing the entire project into a pure front-end version and a full-stack version. The front-end version can call the API interface of kms.ikxin.com, while the full-stack version can independently deploy all functions, even including Vlmcsd as a KMS activation server.
- Official website: kms.ikxin.com
- Cloudflare: kmstools.pages.dev
- Vercel: kmstools.vercel.app
KMS Activation Script Generation | KMS Server Detection | KMS Server Status Monitoring |
---|---|---|
v1.2.0 | v1.0.0 | v0.1.5 |
---|---|---|
- Bun - An all-in-one toolkit for JavaScript and TypeScript applications
- Drizzle ORM - The next-generation headless TypeScript ORM framework
- Elysia - An ergonomic web framework for building backend servers with Bun
- Vue.js - A JavaScript framework for building user interfaces
- Vite - The next-generation front-end build tool
- Arco Design Vue - ByteDance's enterprise-level product design system developed by
- Vue Router - A routing component developed by the Vue.js core team
- Pinia - A state management library with type safety, scalability, and modular design
- UnoCSS - An instant on-demand atomic CSS engine
- VueUse - A collection of utility functions based on the Composition API
- Vue I18n - I18n international language support
- unplugin-auto-import - A plugin for automatically importing Composition API on demand
- unplugin-vue-components - A plugin for automatically importing Vue components on demand
- unplugin-vue-router - A Vue Router auto-import based on file-based route system
- unplugin-vue-markdown - Markdown document support
Whether it is a full-stack version or a pure front-end version, it is necessary to rely on Bun for building. Use the following scripts to install the Bun environment locally.
Linux & macOS:
curl -fsSL https://bun.sh/install | bash
Windows:
powershell -c "irm bun.sh/install.ps1 | iex"
Next, clone the project to the local and execute the command to install dependencies
git clone https://github.com/ikxin/kms-tools.git
cd kms-tools && bun install
- Create a MySQL database and use the following SQL to create the table structure
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`)
);
- Rename the
.env.example
file to.env
and modify the configuration items in it
ENABLE_VLMCSD = false # Whether to enable the Vlmcsd service
PORT = 3000 # Service port
DATABASE_URL = 'mysql://root:password@localhost:3306/database' # Database connection address
- Run the following command to start the service
bun run service
- Use the following command to build the project
bun run build
- Run the following command to start the service
npx serve dist
Code with ❤️ by ikxin
MIT License Copyright (c) 2022 ~ Present