/py-kms

KMS Server Emulator written in Python

Primary LanguagePythonThe UnlicenseUnlicense

Readme

repo-size open-issues last-commit docker-status docker-pulls read-the-docs


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 )
    • 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 is 0.0.0.0 ( all interfaces ) and the default PORT is 1688. 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 and python3 pykms_Client.py -h.
  • For launching py-kms GUI make the file pykms_Server.py executable with chmod +x /path/to/folder/py-kms/pykms_Server.py, then simply run pykms_Server.py by double-clicking.

License

  • py-kms is Unlicense
  • py-kms GUI is MIT © Matteo ℱan