[WIP] Allow multiple installations of same blueprint (#88)
* Multi-install support, Blueprints and config changes. Initial commit * Migrating jails to blueprints, first steps. Tested Working: - Transmission - Lidarr - Sonarr - Radarr fix lidarr config (+10 squashed commit) Squashed commit: [5f14653] always link ports folders [f18f2f0] Optional (blueprint) ports mount Fixes #89 [96ef7e7] chmod all the things [129e707] same mistake... again... [e1596dc] missing reference [6da3567] Forgot one reference [d78b5b6] Update wiki.yml [cecc53a] Update filecheck.yml [5244abd] basic settings changed. More involved blueprints still need changes, such as: Bitwarden, nextcloud, Mariadb [6568e92] jails -> blueprints * Added Tested Working: - KMS - Plex - Tautulli - Organizr - InfluxDB - MariaDB Many squashed small fixes included: Make *.rc executable (+13 squashed commit) Squashed commit: [b28aa83] use .rc for rc.d config files [e940a48] some mariadb cleanup [dc27aff] testing another way [83bd91b] Mariadb root password alter instead of update, initial config for unifi [0ca3074] some light config cleanup [a0d4352] also remove database from influxdb example config (db should be created when required) [2c218cc] Prepare influxdb and remove unneeded content [1b34109] more shellcheck fixups [c96566c] Some shellcheck cleanup [8969ca7] bitwarden mostly done, some work on nextcloud and unifi [7f89bfa] initial mariadb patch [dd7e85f] missed one problem [f814cb7] Initial pseudo-compatibility patch for unifi * Enable Bitwarden support and some small fixes/tweaks Fixes #95 more bugs and typo's (+3 squashed commit) Squashed commit: [3b5213e] Bitwarden not correctly installing db [b7438a5] yeah thats not gonna cut it... >.< [e7987c2] some slight bitwarden tweaks * Enable Unifi support and some small fixes/tweaks small unifi cleanup. Unifi is working (+3 squashed commit) Squashed commit: [d906d2d] chmod unifi [545e999] Add extra sanity, remove unneeded variables from example [b8c0b24] Some small Unifi Tweaks * Nextcloud Cleanup, Some fixes, Initial support for blueprintsystem Fixes #96 Fixes #97 Fixes #98 some bloat and syntax fixes (+5 squashed commit) Squashed commit: [78f6428] Some more nextcloud cleanup and tweaks - combines multiple variables for cert system selection (Fixes #98 ) - Default to self signed cert - Force manual admin password [7cacae4] slight fixes [3d81cda] More cleanup [50496cc] small mariadb fix and more nextcloud cleanup [c1b2c20] Cleaning nextcloud - Remove external DB (Fixes #97 ) - Remove Postgresql (Fixes #96 ) - Some preparation for blueprint * Nextcloud done and.. another... (+5 squashed commit) Squashed commit: [c65751b] caddy not installed right. [e5da66b] more fixes [a33300e] Damnit, two typo's same scentence [4292a7a] another typo [1b820cf] typo and example hotfix * Introduce version checking for config file
This commit is contained in:
committed by
GitHub
parent
66e997069a
commit
dbfbd489fa
3
blueprints/kms/config.yml
Normal file
3
blueprints/kms/config.yml
Normal file
@ -0,0 +1,3 @@
|
||||
blueprint:
|
||||
kms:
|
||||
pkgs: bash py37-tkinter py37-pip py37-sqlite3 git
|
7
blueprints/kms/includes/Activate_Office_2019_Pro.bat
Normal file
7
blueprints/kms/includes/Activate_Office_2019_Pro.bat
Normal file
@ -0,0 +1,7 @@
|
||||
cd C:\Program Files\Microsoft Office\Office16
|
||||
cscript ospp.vbs /dstatus
|
||||
cscript ospp.vbs /inpkey:VQ9DP-NVHPH-T9HJC-J9PDT-KTQRG
|
||||
cscript ospp.vbs /sethst:192.168.10.43
|
||||
cscript ospp.vbs /setprt:1688
|
||||
cscript ospp.vbs /act
|
||||
cscript ospp.vbs /dstatus
|
4
blueprints/kms/includes/Activate_Windows_10_Pro.bat
Normal file
4
blueprints/kms/includes/Activate_Windows_10_Pro.bat
Normal file
@ -0,0 +1,4 @@
|
||||
cscript slmgr.vbs /upk
|
||||
cscript slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
|
||||
cscript slmgr.vbs /skms 192.168.10.43:1688
|
||||
cscript slmgr.vbs /ato
|
@ -0,0 +1,6 @@
|
||||
%windir%\system32\DISM.exe /Online /Get-TargetEditions
|
||||
%windir%\system32\DISM /online /Set-Edition:ServerStandard /ProductKey:N69G4-B89J2-4G8F4-WWYCC-J464C /AcceptEula
|
||||
cscript %windir%\system32\slmgr.vbs /upk
|
||||
cscript %windir%\system32\slmgr.vbs /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
|
||||
cscript %windir%\system32\slmgr.vbs /skms 192.168.10.43:1688
|
||||
cscript %windir%\system32\slmgr.vbs /ato
|
43
blueprints/kms/includes/Office-2019-Pro-VLK-Config.xml
Normal file
43
blueprints/kms/includes/Office-2019-Pro-VLK-Config.xml
Normal file
@ -0,0 +1,43 @@
|
||||
<Configuration ID="0b261046-a220-4392-88d4-2cfd462c90b3">
|
||||
<Add OfficeClientEdition="64" Channel="PerpetualVL2019">
|
||||
<Product ID="ProPlus2019Volume" PIDKEY="NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP">
|
||||
<Language ID="en-us" />
|
||||
<Language ID="nl-nl" />
|
||||
<Language ID="MatchPreviousMSI" />
|
||||
<ExcludeApp ID="Groove" />
|
||||
<ExcludeApp ID="Lync" />
|
||||
<ExcludeApp ID="OneDrive" />
|
||||
<ExcludeApp ID="OneNote" />
|
||||
</Product>
|
||||
<Product ID="LanguagePack">
|
||||
<Language ID="en-us" />
|
||||
<Language ID="nl-nl" />
|
||||
<Language ID="MatchPreviousMSI" />
|
||||
<ExcludeApp ID="Groove" />
|
||||
<ExcludeApp ID="Lync" />
|
||||
<ExcludeApp ID="OneDrive" />
|
||||
<ExcludeApp ID="OneNote" />
|
||||
</Product>
|
||||
<Product ID="ProofingTools">
|
||||
<Language ID="nl-nl" />
|
||||
<Language ID="en-us" />
|
||||
<Language ID="fr-fr" />
|
||||
<Language ID="de-de" />
|
||||
</Product>
|
||||
</Add>
|
||||
<Property Name="SharedComputerLicensing" Value="0" />
|
||||
<Property Name="PinIconsToTaskbar" Value="TRUE" />
|
||||
<Property Name="SCLCacheOverride" Value="0" />
|
||||
<Property Name="AUTOACTIVATE" Value="0" />
|
||||
<Property Name="FORCEAPPSHUTDOWN" Value="TRUE" />
|
||||
<Property Name="DeviceBasedLicensing" Value="0" />
|
||||
<Updates Enabled="TRUE" />
|
||||
<RemoveMSI />
|
||||
<AppSettings>
|
||||
<User Key="software\microsoft\office\16.0\excel\options" Name="defaultformat" Value="51" Type="REG_DWORD" App="excel16" Id="L_SaveExcelfilesas" />
|
||||
<User Key="software\microsoft\office\16.0\powerpoint\options" Name="defaultformat" Value="27" Type="REG_DWORD" App="ppt16" Id="L_SavePowerPointfilesas" />
|
||||
<User Key="software\microsoft\office\16.0\word\options" Name="defaultformat" Value="" Type="REG_SZ" App="word16" Id="L_SaveWordfilesas" />
|
||||
</AppSettings>
|
||||
<Display Level="Full" AcceptEULA="TRUE" />
|
||||
<Logging Level="Off" />
|
||||
</Configuration>
|
11
blueprints/kms/includes/Readme.md
Normal file
11
blueprints/kms/includes/Readme.md
Normal file
@ -0,0 +1,11 @@
|
||||
## Office 2019 pro
|
||||
|
||||
All CMD commands are expected to be run from an elevated (administrator) command prompt (cmd)
|
||||
|
||||
1. Download office 2019 deployment tool
|
||||
2. Extract the tool
|
||||
3. Copy Office-2019-Pro-VLK-Config.xml to folder you extracted the tool in
|
||||
4. CMD: cd *Path to extracted tool and xml*
|
||||
5. CMD: setup /configure Office-2019-Pro-VLK-Config.xml
|
||||
6. CMD: cd *path to this config file*
|
||||
7. CMD: Activate_Office_2019_Pro.bat
|
7
blueprints/kms/includes/Setup_Office_2019_Pro.txt
Normal file
7
blueprints/kms/includes/Setup_Office_2019_Pro.txt
Normal file
@ -0,0 +1,7 @@
|
||||
cd C:\Program Files\Microsoft Office\Office16
|
||||
cscript ospp.vbs /dstatus
|
||||
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP
|
||||
cscript ospp.vbs /sethst:192.168.10.43
|
||||
cscript ospp.vbs /setprt:1688
|
||||
cscript ospp.vbs /act
|
||||
cscript ospp.vbs /dstatus
|
38
blueprints/kms/includes/py_kms.rc
Executable file
38
blueprints/kms/includes/py_kms.rc
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: py_kms
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
||||
# to enable this service:
|
||||
#
|
||||
# py-kms_enable: Set to YES to enable py-kms
|
||||
# Default: NO
|
||||
# py-kms_user: The user account used to run the py-kms daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run as root.
|
||||
# Default: media
|
||||
# py-kms_group: The group account used to run the py-kms daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run with group wheel.
|
||||
# Default: media
|
||||
# py-kms_data_dir: Directory where py-kms configuration
|
||||
# data is stored.
|
||||
|
||||
. /etc/rc.subr
|
||||
name=py_kms
|
||||
rcvar=${name}_enable
|
||||
load_rc_config $name
|
||||
|
||||
: ${py_kms_enable:="NO"}
|
||||
: ${py_kms_user:="kms"}
|
||||
: ${py_kms_group:="kms"}
|
||||
: ${py_kms_data_dir:="/config"}
|
||||
|
||||
command="/usr/local/bin/python3.7"
|
||||
command_args="/usr/local/share/py-kms/pykms_Server.py 0.0.0.0 1688 -F ${py_kms_data_dir}/py-kms.log etrigan start --etrigan-pid ${py_kms_data_dir}/etrigan.pid"
|
||||
|
||||
run_rc_command "$1"
|
12
blueprints/kms/install.sh
Executable file
12
blueprints/kms/install.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for KMS
|
||||
|
||||
iocage exec "$1" svn checkout https://github.com/SystemRage/py-kms/trunk/py-kms /usr/local/share/py-kms
|
||||
iocage exec "$1" "pw user add kms -c kms -u 666 -d /nonexistent -s /usr/bin/nologin"
|
||||
iocage exec "$1" chown -R kms:kms /usr/local/share/py-kms /config
|
||||
iocage exec "$1" mkdir /usr/local/etc/rc.d
|
||||
# shellcheck disable=SC2154
|
||||
cp "${SCRIPT_DIR}"/blueprints/kms/includes/py_kms.rc /mnt/"${global_dataset_iocage}"/jails/"$1"/root/usr/local/etc/rc.d/py_kms
|
||||
iocage exec "$1" chmod u+x /usr/local/etc/rc.d/py_kms
|
||||
iocage exec "$1" sysrc "py_kms_enable=YES"
|
||||
iocage exec "$1" service py_kms start
|
79
blueprints/kms/readme.md
Normal file
79
blueprints/kms/readme.md
Normal file
@ -0,0 +1,79 @@
|
||||
# Py-KMS
|
||||
|
||||
## Original README from the py-kms github:
|
||||
|
||||
https://github.com/SystemRage/py-kms
|
||||
|
||||
## 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 / 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 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 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 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 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.
|
||||
- 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`
|
||||
and stop the GUI with the same precedent command (or interact with EXIT button).
|
||||
|
||||
## Docker
|
||||

|
||||

|
||||
|
||||
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
|
||||
Consult the [Wiki](https://github.com/SystemRage/py-kms/wiki) for more information about activation with _py-kms_ and to get GVLK keys.
|
||||
|
||||
## License
|
||||
[](https://github.com/SystemRage/py-kms/blob/master/LICENSE)
|
10
blueprints/kms/update.sh
Executable file
10
blueprints/kms/update.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for KMS
|
||||
|
||||
iocage exec "$1" service py_kms stop
|
||||
iocage exec "$1" svn checkout https://github.com/SystemRage/py-kms/trunk/py-kms /usr/local/share/py-kms
|
||||
iocage exec "$1" chown -R kms:kms /usr/local/share/py-kms /config
|
||||
# shellcheck disable=SC2154
|
||||
cp "${SCRIPT_DIR}"/blueprints/kms/includes/py_kms.rc /mnt/"${global_dataset_iocage}"/jails/"$1"/root/usr/local/etc/rc.d/py_kms
|
||||
iocage exec "$1" chmod u+x /usr/local/etc/rc.d/py_kms
|
||||
iocage exec "$1" service py_kms start
|
Reference in New Issue
Block a user