mirror of
https://github.com/SystemRage/py-kms.git
synced 2024-11-22 08:15:38 +01:00
Merge pull request #55 from Simonmicro/master
Integrate official docker image
This commit is contained in:
commit
19ef51a6db
55
README.md
55
README.md
@ -24,35 +24,48 @@ _py-kms_ is a port of node-kms created by [cyrozap](http://forums.mydigitallife.
|
|||||||
- tested with Python 3.6.7
|
- tested with Python 3.6.7
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
- Python 3.x or Python 2.7.x or Python 2.6.x with the ```argparse``` module installed.
|
- Python 3.x or Python 2.7.x or Python 2.6.x with the `argparse` module installed.
|
||||||
- Tkinter module.
|
- 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.
|
- 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.
|
- 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:
|
- Installation example on Ubuntu / Mint:
|
||||||
- ```sudo apt-get update```
|
- `sudo apt-get update`
|
||||||
- for python3
|
- for python3
|
||||||
- ```sudo apt-get install python3-tk python3-pip```
|
- `sudo apt-get install python3-tk python3-pip`
|
||||||
- ```sudo pip3 install tzlocal pysqlite3```
|
- `sudo pip3 install tzlocal pysqlite3`
|
||||||
- or for python2
|
- or for python2
|
||||||
- ```sudo apt-get install python-tk python-pip```
|
- `sudo apt-get install python-tk python-pip`
|
||||||
- ```sudo pip install tzlocal pysqlite```
|
- `sudo pip install tzlocal pysqlite`
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
- __NOTE__: Pay attention to how invoke scripts, if you want to run with python2 use ```python...``` while for python3 use ```python3...```, also depending on the Python versions that resides in your PC.
|
- __NOTE__: Pay attention to how invoke scripts, if you want to run with python2 use `python...` while for python3 use `python3...`, 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 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 of ```pykms_Server.py```.
|
- To run the client (only for testing purposes), use `python pykms_Client.py [IPADDRESS] [PORT]`, with the same defaults of `pykms_Server.py`.
|
||||||
- To show the help pages type: ```python pykms_Server.py -h``` and ```python pykms_Client.py -h```.
|
- To show the help pages type: `python pykms_Server.py -h` and `python pykms_Client.py -h`.
|
||||||
- To generate a random HWID use ```-w``` option: ```python pykms_Server.py -w RANDOM```.
|
- 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 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 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```.
|
- 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```.
|
- 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 example ```python pykms_Server.py -t 10```
|
- Select timeout (seconds) for py-kms with `-t` option, for example `python pykms_Server.py -t 10`
|
||||||
- For launching py-kms GUI make executable ```pykms_Server.py``` file with ```chmod +x /path/to/folder/py-kms/pykms_Server.py```, then simply run ```pykms_Server.py``` double-clicking.
|
- For launching py-kms GUI make executable `pykms_Server.py` file with `chmod +x /path/to/folder/py-kms/pykms_Server.py`, then simply run `pykms_Server.py` double-clicking.
|
||||||
- You can run py-kms deamonized (via [Etrigan](https://github.com/SystemRage/Etrigan)) using a command like: ```python pykms_Server.py etrigan start``` and stop it with: ```python pykms_Server.py etrigan stop```.
|
- You can run py-kms deamonized (via [Etrigan](https://github.com/SystemRage/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```
|
- 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).
|
and stop the GUI with the same precedent command (or interact with EXIT button).
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
![auto-docker](https://img.shields.io/docker/cloud/automated/pykmsorg/py-kms)
|
||||||
|
![status-docker](https://img.shields.io/docker/cloud/build/pykmsorg/py-kms)
|
||||||
|
|
||||||
|
This projects has docker image support. You can find all available image configurations inside the docker folder.
|
||||||
|
There are three tags of the images available:
|
||||||
|
* `latest`, currently the same like minimal...
|
||||||
|
* `minimal`, wich is based on the python3 minimal configuration of py-kms. _This image does NOT include SQLLite support!_
|
||||||
|
* `python2`, which is fully configurable and equiped with SQLLite support and web interface.
|
||||||
|
* `python3`, which is like the `python2` tag - just with Python 3...
|
||||||
|
If you just want to use the image and don't want to build them yourself, you can use the official image at the docker hub (`pykmsorg/py-kms`).
|
||||||
|
To ensure that the image is always up-to-date you should check [watchtower](https://github.com/containrrr/watchtower) out!
|
||||||
|
|
||||||
# Other Important Stuff
|
# Other Important Stuff
|
||||||
Consult the [Wiki](https://github.com/SystemRage/py-kms/wiki) for more information about activation with _py-kms_ and to get GVLK keys.
|
Consult the [Wiki](https://github.com/SystemRage/py-kms/wiki) for more information about activation with _py-kms_ and to get GVLK keys.
|
||||||
|
|
||||||
|
@ -1,28 +1,3 @@
|
|||||||
# History
|
|
||||||
_py-kms_ is a port of node-kms created by [cyrozap](http://forums.mydigitallife.info/members/183074-markedsword), which is a port of either the C#, C++, or .NET implementations of KMS Emulator. The original version was written by [CODYQX4](http://forums.mydigitallife.info/members/89933-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 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
|
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
```
|
```
|
||||||
docker run -it -d --name py3-kms \
|
docker run -it -d --name py3-kms \
|
||||||
@ -37,8 +12,10 @@ docker run -it -d --name py3-kms \
|
|||||||
-e LOGFILE=/var/log/py3-kms.log \
|
-e LOGFILE=/var/log/py3-kms.log \
|
||||||
-v /etc/localtime:/etc/localtime:ro \
|
-v /etc/localtime:/etc/localtime:ro \
|
||||||
-v /var/log:/var/log:rw \
|
-v /var/log:/var/log:rw \
|
||||||
--restart unless-stopped ekonprof18/pykms:py3-kms
|
--restart unless-stopped pykmsorg/py-kms:[TAG]
|
||||||
```
|
```
|
||||||
|
_Make sure to insert at `[TAG]` your wanted edition! The default is `latest`, which does not include SQLLite support. For all available tag check [this](https://hub.docker.com/r/pykmsorg/py-kms/tags) out._
|
||||||
|
Please note you can omit the `SQLITE` option if you plan to use the minimal ot `latest` image
|
||||||
|
|
||||||
# Sqlite-web
|
# Sqlite-web
|
||||||
A web-based SQLite database browser written in Python.
|
A web-based SQLite database browser written in Python.
|
||||||
@ -112,9 +89,3 @@ ENV LOGFILE /var/log/pykms_logserver.log
|
|||||||
ENV LOGSIZE ""
|
ENV LOGSIZE ""
|
||||||
# Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.
|
# Use this flag to set a maximum size (in MB) to the output log file. Desactivated by default.
|
||||||
```
|
```
|
||||||
|
|
||||||
# Other Important Stuff
|
|
||||||
Consult the [Wiki](https://github.com/SystemRage/py-kms/wiki) for more informations about activation with _py-kms_ and to get GVLK keys.
|
|
||||||
|
|
||||||
# License
|
|
||||||
[![License](https://img.shields.io/badge/license-unlicense-lightgray.svg)](https://github.com/SystemRage/py-kms/blob/master/LICENSE)
|
|
||||||
|
36
docker/docker-py3-kms-minimal/Dockerfile
Normal file
36
docker/docker-py3-kms-minimal/Dockerfile
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# This is a minimized version from docker/docker-py3-kms/Dockerfile without SQLLite support to further reduce image size
|
||||||
|
|
||||||
|
FROM alpine:3.8
|
||||||
|
|
||||||
|
ENV IP 0.0.0.0
|
||||||
|
ENV PORT 1688
|
||||||
|
ENV EPID ""
|
||||||
|
ENV LCID 1033
|
||||||
|
ENV CLIENT_COUNT 26
|
||||||
|
ENV ACTIVATION_INTERVAL 120
|
||||||
|
ENV RENEWAL_INTERVAL 10080
|
||||||
|
ENV HWID "RANDOM"
|
||||||
|
ENV LOGLEVEL INFO
|
||||||
|
ENV LOGFILE /var/log/pykms_logserver.log
|
||||||
|
ENV LOGSIZE ""
|
||||||
|
|
||||||
|
RUN apk add --no-cache --update \
|
||||||
|
bash \
|
||||||
|
git \
|
||||||
|
py3-argparse \
|
||||||
|
py3-flask \
|
||||||
|
py3-pygments \
|
||||||
|
python3-tkinter \
|
||||||
|
sqlite-libs \
|
||||||
|
py3-pip && \
|
||||||
|
pip3 install peewee tzlocal && \
|
||||||
|
git clone https://github.com/SystemRage/py-kms/ /tmp/py-kms && \
|
||||||
|
mv /tmp/py-kms/py-kms /home/ && \
|
||||||
|
rm -rf /tmp/py-kms && \
|
||||||
|
apk del git
|
||||||
|
|
||||||
|
WORKDIR /home/py-kms
|
||||||
|
|
||||||
|
EXPOSE ${PORT}/tcp
|
||||||
|
|
||||||
|
ENTRYPOINT /usr/bin/python3 pykms_Server.py ${IP} ${PORT} -l ${LCID} -c ${CLIENT_COUNT} -a ${ACTIVATION_INTERVAL} -r ${RENEWAL_INTERVAL} -w ${HWID} -V ${LOGLEVEL} -F ${LOGFILE}
|
Loading…
Reference in New Issue
Block a user