GithubHelp home page GithubHelp logo

ikxin / kms-tools Goto Github PK

View Code? Open in Web Editor NEW
470.0 5.0 158.0 10.89 MB

An all-in-one KMS toolbox

Home Page: https://kms.ikxin.com

License: MIT License

Vue 57.67% TypeScript 38.28% HTML 1.84% CSS 0.61% Less 0.75% Dockerfile 0.85%
kms kms-server office windows kms-activator vlmcsd kms-client kms-module kmspico

kms-tools's Introduction

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

kms-tools's People

Contributors

ikxin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kms-tools's Issues

Unable to start docker

          Unable to start docker.
Bun v1.1.27 (Linux arm64)

18696 |   module.exports = [

18697 |   module.exports = [

18698 |   module.exports = [

18699 |   module.exports = [

18700 |   module.exports = [

18701 |   module.exports = [

                                        ^

error: Failed to connect

 errno: 103

  code: "ECONNREFUSED"

      at createConnection (/$bunfs/root/kms-tools:18701:33)

      at module code (/$bunfs/root/kms-tools:34688:57)

Docker Compose:


services:
  kms-tools:
    build: .
    ports:
      - 3000:3000
    restart: unless-stopped
  db:
    image: mysql:8
    restart: always
    environment:
      MYSQL_DATABASE: 'db'
      MYSQL_USER: 'kmstool'
      MYSQL_PASSWORD: 'password'
      MYSQL_ROOT_PASSWORD: 'otherpassword'
    ports:
      - '3306:3306'
    volumes:
      - /var/www/vhosts/eniyiweb.net/lisans.eniyiweb.net/db:/var/lib/mysql

volumes:
  my-db:

Originally posted by @eniyiweb in #24 (comment)

大大能不能再构建一个 release

我看更新了好多东西,但是release还是1.2.0,苦于我自己不会构建,如果有空能否烦请你再构建一个最新版的,感谢!

如何让页面显示完整列表

就是访问就直接显示

Windows 10 Windows 8.1 Windows 8 Windows Vista Windows 7 Windows Server 2016 Windows Server 2012 Windows Server 2008

让他不显示下拉箭头了。直接显示全部。怎么改。。。。。

Unable to switch language

Sorry, this is not really an 'issue' I see there are language settings. I do not see any documentation on changing to English, but I can see lang info in vue devtools, but I am unsure how/where to change it. I tried translating to search easier.

I cannot seem to find this. Can you provide information on how to change?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.