mirror of
https://github.com/SystemRage/py-kms.git
synced 2024-11-22 08:15:38 +01:00
d73d0f8f8a
Fix docker 100% cpu load |
||
---|---|---|
docker | ||
py-kms | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE | ||
README.md |
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
argparse
module installed. - Tkinter module.
- 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 / Mint:
sudo apt-get update
- for python3
sudo apt-get install python3-tk python3-pip
sudo pip3 install tzlocal pysqlite3
- or for python2
sudo apt-get install python-tk python-pip
sudo 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 -h
andpython pykms_Client.py -h
. - To generate a random HWID use
-w
option: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 MINI
option, for example:python pykms_Server.py -F /path/to/your/logfile.log -V MINI
. - To redirect logging on stdout use
-F STDOUT
option, 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 FILESTDOUT
option, for example:python pykms_Server.py -F FILESTDOUT /path/to/your/logfile.log -V DEBUG
. - Select timeout (seconds) for py-kms with
-t
option, for examplepython pykms_Server.py -t 10
- For launching py-kms GUI make executable
pykms_Server.py
file withchmod +x /path/to/folder/py-kms/pykms_Server.py
, then simply runpykms_Server.py
double-clicking. - You can run py-kms deamonized (via Etrigan) using a command like:
python pykms_Server.py etrigan start
and 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 -g
and 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.