Top Related Projects
KMS Emulator in C (currently runs on Linux including Android, FreeBSD, Solaris, Minix, Mac OS, iOS, Windows with or without Cygwin)
Quick Overview
py-kms is an open-source Python-based Key Management Server (KMS) emulator. It allows users to activate Microsoft products, such as Windows and Office, without connecting to Microsoft's official KMS servers. This project is intended for educational and testing purposes only.
Pros
- Provides a free alternative to Microsoft's KMS activation
- Written in Python, making it cross-platform compatible
- Supports various Microsoft products, including Windows and Office
- Actively maintained with regular updates
Cons
- May violate Microsoft's terms of service if used improperly
- Requires technical knowledge to set up and configure
- Could potentially be used for software piracy
- May not always be up-to-date with the latest Microsoft product activation methods
Code Examples
As py-kms is not a code library but rather a standalone application, there are no specific code examples to provide. The project is used by running the server and configuring clients to connect to it for activation.
Getting Started
To get started with py-kms:
-
Clone the repository:
git clone https://github.com/SystemRage/py-kms.git
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the KMS server:
python3 pykms_Server.py
-
Configure your Microsoft product to use your py-kms server for activation. This typically involves setting the KMS server address using Windows command prompt or PowerShell.
Note: Use this software responsibly and in compliance with applicable laws and license agreements.
Competitor Comparisons
KMS Emulator in C (currently runs on Linux including Android, FreeBSD, Solaris, Minix, Mac OS, iOS, Windows with or without Cygwin)
Pros of vlmcsd
- Written in C, potentially offering better performance
- Supports a wider range of operating systems and architectures
- More actively maintained with frequent updates
Cons of vlmcsd
- More complex setup and configuration
- Requires compilation for different platforms
- Less beginner-friendly due to lower-level implementation
Code Comparison
py-kms (Python):
def getResponse(self):
response = self.generateResponse()
return response
vlmcsd (C):
int getResponse(const REQUEST *const Request, RESPONSE *const Response, BYTE *const hwId) {
int result = generateResponse(Request, Response, hwId);
return result;
}
Key Differences
- py-kms is written in Python, making it easier to understand and modify for those familiar with the language
- vlmcsd offers potentially better performance due to its C implementation
- py-kms has a simpler setup process, especially for Python developers
- vlmcsd provides broader platform support and more frequent updates
- Both projects aim to emulate KMS servers, but their implementations and target audiences differ
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Readme
History
py-kms is a port of node-kms created by cyrozap, which is a port of either the C#, C++, or .NET implementations of KMS Emulator. The original version was written by CODYQX4 and is derived from the reverse-engineered code of Microsoft's official KMS.
Features
- Responds to
v4
,v5
, andv6
KMS requests. - Supports activating:
- Windows Vista
- Windows 7
- Windows 8
- Windows 8.1
- Windows 10 ( 1511 / 1607 / 1703 / 1709 / 1803 / 1809 )
- Windows 10 ( 1903 / 1909 / 20H1 )
- Windows Server 2008
- Windows Server 2008 R2
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
- Windows Server 2019
- Microsoft Office 2010 ( Volume License )
- Microsoft Office 2013 ( Volume License )
- Microsoft Office 2016 ( Volume License )
- Microsoft Office 2019 ( Volume License )
- It's written in Python (tested with Python 3.6.9).
- Supports execution by
Docker
,systemd
,Upstart
and many more... - Includes a GUI for simple managing.
- Uses
sqlite
for persistent data storage.
Documentation
The wiki has been completly reworked and is now available on readthedocs.com. It should you provide all necessary information how to setup and to use py-kms , all without clumping this readme. The documentation also houses more details about activation with py-kms and how to get GVLK keys.
Quick start
- To start the server, execute
python3 pykms_Server.py [IPADDRESS] [PORT]
, the default IPADDRESS is0.0.0.0
( all interfaces ) and the default PORT is1688
. Note that both the address and port are optional. It's allowed to use IPv4 and IPv6 addresses. If you have a IPv6-capable dual-stack OS, a dual-stack socket is created when using a IPv6 address. - To start the server automatically using Docker, execute
docker run -d --name py-kms --restart always -p 1688:1688 pykmsorg/py-kms
. - To show the help pages type:
python3 pykms_Server.py -h
andpython3 pykms_Client.py -h
. - For launching py-kms GUI make the file
pykms_Server.py
executable withchmod +x /path/to/folder/py-kms/pykms_Server.py
, then simply runpykms_Server.py
by double-clicking.
License
Top Related Projects
KMS Emulator in C (currently runs on Linux including Android, FreeBSD, Solaris, Minix, Mac OS, iOS, Windows with or without Cygwin)
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot