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.
- Responds to V4, V5, and V6 KMS requests.
- Supports activating:
- Windows Vista
- Windows 7
- Windows 8
- Windows 8.1
- Windows 10 ( 1511 / 1607 / 1703 / 1709 / 1803 / 1809 )
- 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:
- py2-kms tested with Python 2.7.12
- py3-kms tested with Python 3.5.2
- Python 3.x or Python 2.7.x or Python 2.6.x with the
argparse
module installed. - If the
tzlocal
module is installed, the "Request Time" in the verbose output will be converted into local time. Otherwise, it will be in UTC. - It can use the
sqlite3
module so you can use the database function, storing activation data so it can be recalled again. - Installation Example on Ubuntu:
sudo apt-get install python-pip
sudo pip install tzlocal
sudo apt-get install python-sqlite
orsudo pip install pysqlite
- NOTE: Pay attention to how invoke scripts, if you want to run py2-kms use
python...
while for py3-kms usepython3...
, also depending on the Python versions that resides in your PC. - To start the server, execute
python server.py [IPADDRESS] [PORT]
. The default IPADDRESS is "0.0.0.0" ( all interfaces ) and the default PORT is "1688". - To run the client (only for testing purposes), use
python client.py IPADDRESS [PORT]
. Argument IPADDRESS is always required, while the default PORT is "1688", so a valid command is:python client.py 0.0.0.0
- To show the help pages type:
python server.py -h
andpython client.py -h
- To generate a random HWID use
-w
option:python server.py -w random
- To get the HWID from any server use the client, for example type:
python client.py 0.0.0.0 1688 -m Windows8.1 -v INFO
Consult the Wiki for more informations about activation with py-kms and to get GVLK keys.