mirror of
https://github.com/Py-KMS-Organization/py-kms.git
synced 2025-11-01 20:13:31 +00:00
bf85c8d8bb720062d27f8e4cca411b8ce73744af
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, and V6 KMS requests.
- Supports activating:
- Windows Vista
- Windows 7
- Windows 8
- Windows 8.1
- Windows 10 ( 1511 / 1607 / 1703 / 1709 / 1803 / 1809 / 1903 / 1909 )
- 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 2.7.15rc1
- tested with Python 3.6.7
Dependencies
- Python 3.x or Python 2.7.x or Python 2.6.x with the
argparsemodule installed. - Tkinter module.
- If the
tzlocalmodule 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
sqlite3module so you can use the database function, storing activation data so it can be recalled again. - Installation example on Ubuntu / Mint:
sudo apt-get update- for python3
sudo apt-get install python3-tk python3-pipsudo pip3 install tzlocal pysqlite3- or for python2
sudo apt-get install python-tk python-pipsudo pip install tzlocal pysqlite
Usage
- NOTE: Pay attention to how invoke scripts, if you want to run with python2 use
python...while for python3 usepython3..., also depending on the Python versions that resides in your PC. - To start the server, execute
python pykms_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 pykms_Client.py [IPADDRESS] [PORT], with the same defaults ofpykms_Server.py. - To show the help pages type:
python pykms_Server.py -handpython pykms_Client.py -h. - To generate a random HWID use
-woption:python pykms_Server.py -w RANDOM. - To get the HWID from any server use the client, for example type:
python pykms_Client.py 0.0.0.0 1688 -m Windows8.1 -V INFO. - To view a minimal set of logging information use
-V MINIoption, for example:python pykms_Server.py -F /path/to/your/logfile.log -V MINI. - To redirect logging on stdout use
-F STDOUToption, for example:python pykms_Server.py -F STDOUT -V DEBUG. - You can create logfile and view logging information on stdout at the same time with
-F FILESTDOUToption, for example:python pykms_Server.py -F FILESTDOUT /path/to/your/logfile.log -V DEBUG. - Select timeout (seconds) for py-kms with
-toption, for examplepython pykms_Server.py -t 10 - For launching py-kms GUI make executable
pykms_Server.pyfile withchmod +x /path/to/folder/py-kms/pykms_Server.py, then simply runpykms_Server.pydouble-clicking. - You can run py-kms deamonized (via Etrigan) using a command like:
python pykms_Server.py etrigan startand stop it with:python pykms_Server.py etrigan stop. - With Etrigan you have another way to launch py-kms GUI (specially suitable if you're using a virtualenv), so:
python pykms_Server.py etrigan start -gand stop the GUI with the same precedent command (or interact with EXIT button).
Other Important Stuff
Consult the Wiki for more information about activation with py-kms and to get GVLK keys.
License
Languages
Python
96.9%
HTML
1.8%
Dockerfile
0.8%
Smarty
0.5%