From e5c8b34476801808e864c1fe45c1c1874b52eda6 Mon Sep 17 00:00:00 2001 From: Mogeko Date: Sat, 16 Nov 2024 19:46:06 +0800 Subject: [PATCH 1/2] build: remove the compilation results of the document --- vlmcsd-1113/man/vlmcs.1.dos.txt | 335 ------- vlmcsd-1113/man/vlmcs.1.html | 559 ----------- vlmcsd-1113/man/vlmcs.1.pdf | Bin 26772 -> 0 bytes vlmcsd-1113/man/vlmcs.1.unix.txt | 335 ------- vlmcsd-1113/man/vlmcsd-floppy.7.dos.txt | 554 ---------- vlmcsd-1113/man/vlmcsd-floppy.7.html | 840 ---------------- vlmcsd-1113/man/vlmcsd-floppy.7.pdf | Bin 35504 -> 0 bytes vlmcsd-1113/man/vlmcsd-floppy.7.unix.txt | 554 ---------- vlmcsd-1113/man/vlmcsd.7.dos.txt | 226 ----- vlmcsd-1113/man/vlmcsd.7.html | 416 -------- vlmcsd-1113/man/vlmcsd.7.pdf | Bin 17301 -> 0 bytes vlmcsd-1113/man/vlmcsd.7.unix.txt | 226 ----- vlmcsd-1113/man/vlmcsd.8.dos.txt | 785 --------------- vlmcsd-1113/man/vlmcsd.8.html | 1172 ---------------------- vlmcsd-1113/man/vlmcsd.8.pdf | Bin 47941 -> 0 bytes vlmcsd-1113/man/vlmcsd.8.unix.txt | 785 --------------- vlmcsd-1113/man/vlmcsd.ini.5.dos.txt | 486 --------- vlmcsd-1113/man/vlmcsd.ini.5.html | 726 -------------- vlmcsd-1113/man/vlmcsd.ini.5.pdf | Bin 29146 -> 0 bytes vlmcsd-1113/man/vlmcsd.ini.5.unix.txt | 486 --------- vlmcsd-1113/man/vlmcsdmulti.1.dos.txt | 76 -- vlmcsd-1113/man/vlmcsdmulti.1.html | 158 --- vlmcsd-1113/man/vlmcsdmulti.1.pdf | Bin 10042 -> 0 bytes vlmcsd-1113/man/vlmcsdmulti.1.unix.txt | 76 -- 24 files changed, 8795 deletions(-) delete mode 100644 vlmcsd-1113/man/vlmcs.1.dos.txt delete mode 100644 vlmcsd-1113/man/vlmcs.1.html delete mode 100644 vlmcsd-1113/man/vlmcs.1.pdf delete mode 100644 vlmcsd-1113/man/vlmcs.1.unix.txt delete mode 100644 vlmcsd-1113/man/vlmcsd-floppy.7.dos.txt delete mode 100644 vlmcsd-1113/man/vlmcsd-floppy.7.html delete mode 100644 vlmcsd-1113/man/vlmcsd-floppy.7.pdf delete mode 100644 vlmcsd-1113/man/vlmcsd-floppy.7.unix.txt delete mode 100644 vlmcsd-1113/man/vlmcsd.7.dos.txt delete mode 100644 vlmcsd-1113/man/vlmcsd.7.html delete mode 100644 vlmcsd-1113/man/vlmcsd.7.pdf delete mode 100644 vlmcsd-1113/man/vlmcsd.7.unix.txt delete mode 100644 vlmcsd-1113/man/vlmcsd.8.dos.txt delete mode 100644 vlmcsd-1113/man/vlmcsd.8.html delete mode 100644 vlmcsd-1113/man/vlmcsd.8.pdf delete mode 100644 vlmcsd-1113/man/vlmcsd.8.unix.txt delete mode 100644 vlmcsd-1113/man/vlmcsd.ini.5.dos.txt delete mode 100644 vlmcsd-1113/man/vlmcsd.ini.5.html delete mode 100644 vlmcsd-1113/man/vlmcsd.ini.5.pdf delete mode 100644 vlmcsd-1113/man/vlmcsd.ini.5.unix.txt delete mode 100644 vlmcsd-1113/man/vlmcsdmulti.1.dos.txt delete mode 100644 vlmcsd-1113/man/vlmcsdmulti.1.html delete mode 100644 vlmcsd-1113/man/vlmcsdmulti.1.pdf delete mode 100644 vlmcsd-1113/man/vlmcsdmulti.1.unix.txt diff --git a/vlmcsd-1113/man/vlmcs.1.dos.txt b/vlmcsd-1113/man/vlmcs.1.dos.txt deleted file mode 100644 index 1f110c9..0000000 --- a/vlmcsd-1113/man/vlmcs.1.dos.txt +++ /dev/null @@ -1,335 +0,0 @@ -VLMCS(1) KMS Activation Manual VLMCS(1) - - - -NAME - vlmcs - a client for testing and/or charging KMS servers - - -SYNOPSIS - vlmcs [ options ] [ target ] [ options ] - - target can be one of the following: - - hostname|ipaddress[:tcp-port] to query a specific KMS server - (example: vlmcs kms.example.com:1688). - .domain to automatically detect KMS servers via DNS for domain - (example: vlmcs .example.com). Please note the dot before - domain. - - (a single dash) to detect KMS servers in your own domain. - - If you use ipaddress:port as the target, the ipaddress must be enclosed - in brackets if it contains colons, e.g. [2001:db8:dead:beef::1]:1688. - If you use a link-local IPv6 address on Unix systems, you must append a - percent sign and the interface identifier of the source interface, for - example fe80::dead:beef%eth0. - - If you omit the target, 127.0.0.1:1688 will be used except if you use - -i6. In this case the default target is [::1]:1688. - - -DESCRIPTION - vlmcs is a program that can be used to test a KMS server that provides - activation for several Microsoft products. The KMS server may also be - an emulator. It supports KMS protocol versions 4, 5 and 6. - - vlmcs generates one or more activation requests for a Microsoft KMS - product and sends it to a KMS server. It then analyzes and displays the - responses of the KMS server. - - vlcms checks both the DCE-RPC protocol and the activation message for - correctness and reports any errors that it finds. - - vlmcs can also be used to "charge" a KMS server. A Microsoft KMS server - sends correct activation messages only if it detects a certain minimum - of clients (25 for Windows client OSses, 5 otherwise) on the network. - This is Microsoft's futile attempt to prevent running a KMS server in a - home environment. - - -OPTIONS - -h or -? - Show help. - - - -V Displays extended version information. This includes the com- - piler used to build vlmcs, the intended platform and flags (com- - pile time options) to build vlmcs. If you have the source code - of vlmcsd, you can type make help (or gmake help on systems that - do not use the GNU version of make(1) by default) to see the - meaning of those flags. - - - -x Show valid applications that can be used with -l. - - - -e Show some examples how to use vlmcs correctly. - - - -v Be verbose. Instead of just displaying the returned ePID and the - HwId (protocol v6 only) vlmcsd shows all details of the query - and the response. - - - -l application - Request activation for a specific application. Valid applica- - tions can be displayed by using -x. The default application is - Windows Vista Business. The list of available applications is - not complete. You may supply GUIDs with -a, -k and -s to specify - applications that are not listed with -x. The -l option is used - as a shortcut for the most common applications. - - - -K protocol-version - Force a specific version of the KMS protocol. Valid versions are - 4.0, 5.0 and 6.0. The default is to select a suitable version - according to the application selected. You may use -K to send an - incorrect protocol version to the KMS server and see how it - behaves. Genuine KMS servers return HRESULT 0x8007000D if the - KMS protocol is not 4.0, 5.0 or 6.0. Emulators should do the - same. When sending a request with an incorrect protocol number, - vlmcs ignores the minor protocol number (e.g. sends a v4 request - for version 4.1). If the major version number is less then 4, it - sends a v4 request. If the major version is greater then 6, it - sends a v6 request. In any case the protocol-version as speci- - fied by -K is put in the version fields of the request. - - - -4, -5 and -6 - Force version 4, 5 or 6 of the KMS protocol. These options are - actually shortcuts of -K 4.0, -K 5.0 and -K 6.0. - - - -j filename - Use KMS data file filename. By default vlmcs contains product - data that is recent when vlmcs was compiled. You may use a more - recent KMS data file that contains additional products. - - If vlmcsd has been compiled to use a default KMS data file, you - may use -j- to ignore the default configuration file. - - - -m Let the client pretend to be a virtual machine. Early versions - of Microsoft's KMS server did not increase the client count if - the request came from a virtual machine. Newer versions ignore - this flag. - - - -d Use NetBIOS names instead of DNS names. By default vlmcsd gener- - ates some random DNS names for each request. If you prefer Net- - BIOS names, you may use -d. A real Microsoft activation client - uses DNS names or NetBIOS depending on the client name configu- - ration. KMS servers treat the workstation name as a comment that - affects logging only. Clients will be identified by a GUID that - can be specified using -c. -d has no effect if you also specify - -w. - - - -a application-guid - Send requests with a specific application-guid. There are cur- - rently only three known valid application-guids: - - - 55c92734-d682-4d71-983e-d6ec3f16059f (Windows) - 59a52881-a989-479d-af46-f275c6370663 (Office 2010) - 0ff1ce15-a989-479d-af46-f275c6370663 (Office 2013) - - - A Microsoft KMS server uses these GUIDs to have seperate coun- - ters for the already activated clients. A client that does not - contact the KMS server within 30 days will be deleted from the - database. Emulated KMS servers are always fully charged. - - - -k kms-guid - Send requests with a specific kms-guid. A Microsoft KMS server - uses these GUIDs as a product id to decide whether to grant - activation or not. A list of current kms-guids can be found in - kms.c (table KmsIdList). Emulated KMS servers grant activation - unconditionally and do not check the kms-guid. - - - -s activation-guid - The activation-guid defines the actual product, e.g. "Windows - 8.1 Professional WMC KMSCLIENT edition". A activation-guid maps - 1:1 to a product key. However, neither a Microsoft KMS server - nor emulated servers check this id. The activation-guid is use- - ful in logging to get a specific product description like "Win- - dows 8.1 Professional WMC". A list of current activation-guids - can be found in kms.c (table ExtendedProductList). - - - -n requests - Send requests requests to the server. The default is to send at - least one request and enough subsequent requests that the server - is fully charged afterwards for the application-guid you - selected (explicitly with -a or implicitly by using -l). - - - -T Causes to use a new TCP connection for each request if multiple - requests are sent with vlmcsd. This is useful when you want to - test an emulated KMS server whether it suffers from memory - leaks. To test for memory leaks use -n with a large number of - requests (> 100000) and then test twice (with and without -T). - This option may become neccessary for future versions of Micro- - soft's KMS server because multiple requests with different - clients-guids for the same kms-id-guid are impossible in a real - KMS szenario over the same TCP connection. - - - -c client-machine-guid - Normally vlmcs generates a random client-machine-guid for each - request. By using this option you can specify a fixed client- - machine-guid This causes a Microsoft KMS not to increment its - client count because it receives multiple requests for the same - client. Thus do not use -c if you want to charge a real KMS - server. - - - -o previous-client-machine-guid - If the client-machine-guid changes for some reason, the real KMS - client stores a previous-client-machine-guid which is sent to - the KMS server. This happens rarely and usually - 00000000-0000-0000-0000-000000000000 is used. You can use -o to - specify a different previous-client-machine-guid. - - - -G filename - Grabs ePIDs and HWIDs from a KMS server and writes the informa- - tion to filename in format suitable to be used as a configura- - tion file (aka ini file) for vlmcsd(8). This is especially use- - ful if you have access to a genuine KMS server and want to use - the same data with vlmcsd(8). - - If filename does not exist, it will be created. If you specify - an existing filename, it will be updated to use the information - received from the remote KMS server and a backup filename~ will - be created. - - -G cannot be used with -l, -4, -5, -6, -a, -s, -k, -r and -n - - - -w workstation-name - Send requests with a specific workstation-name. This disables - the random generator for the workstation name. Since it is a - comment only, this option does not have much effect. - - - -r required-client-count - Also known as the "N count policy". Tells the KMS server that - successful activation requires required-client-count clients. - The default is the required-client-count that the product would - need if the request was a real activation. A Microsoft KMS - server counts clients up to the double amount what was specified - with -r. This option can be used to "overcharge" a Microsoft KMS - server. - - - -t status - Reports a specific license status to the KMS server. status is a - number that can be from 0 to 6. 0=unlicensed, 1=licensed, 2=OOB - grace, 3=OOT grace, 4=Non-genuinue grace, 5=notification, - 6=extended grace. Refer to TechNet - for more information. A Microsoft KMS server collects this - information for statistics only. - - - -g binding-expiration - This tells the KMS server how long a client will stay in its - current license status. This can be the remaining OOB time (the - grace peroid that is granted between installation of a product - and when activation is actuall required) or the remaining time - when KMS activation must be renewed. binding-expiration is - specified in minutes. A Microsoft KMS server apparantly does not - use this information. - - - -i protocol-version - Force the use of Internet protocol protocol-version. Allowed - values are 4 (IPv4) and 6 (IPv6). This option is useful only if - you specfiy a hostname and not an ip-address on the command - line. - - - -p Do not set the RPC_PF_MULTIPLEX flag in the RPC bind request. - This can be used to test if the KMS server uses the same setting - of this flag in the RPC bind respone. Some KMS emulators don't - set this correctly. - - - -N0 and -N1 - Disables (-N0) or enables (-N1) the NDR64 transfer syntax in the - RPC protocol. Disable NDR64 only in case of problems. If NDR64 - is not used, vlmcs cannot detect many RPC protocol errors in KMS - emulators. If you want to test whether a KMS emulator fully sup- - ports NDR64, you must use the -n option to send at least two - requests. This is because Microsoft's client always sends the - first request using NDR32 syntax and subsequent requests using - NDR64 syntax. - - - -B0 and -B1 - Disables (-B0) or enables (-B1) bind time feature negotiation - (BTFN) in the RPC protocol. Disable BTFN only in case of prob- - lems. If BTFN is not used, vlmcs cannot detect many RPC protocol - errors in KMS emulators. - - - Options that do not require an argument can be specified together with - a single dash, e.g. vlmcs -6mvT. If you specify an option more than - once, the last occurence will be in effect. - - -FILES - vlmcsd.ini(5) - - -EXAMPLES - vlmcs kms.example.com - Request activation for Windows Vista using v4 protocol from - kms.example.com. Repeat activation requests until server is - charged for all Windows products. - - - vlmcs - - Request activation for Windows Vista using v4 protocol from a - KMS server that is published via DNS for the current domain. - - - vlmcs .example.com - Request activation for Windows Vista using v4 protocol from a - KMS server that is published via DNS for domain example.com. - - - vlmcs -6 -l Office2013 -v -n 1 - Request exactly one activation for Office2013 using v6 protocol - from localhost. Display verbose results. - - - vlmcs kms.bigcompany.com -G /etc/vlmcsd.ini - Get ePIDs and HWIDs from kms.bigcompany.com and create/update - /etc/vlmcsd.ini accordingly. - - -BUGS - Some platforms (e.g. Solaris) may have a man(7) system that does not - handle URLs. URLs may be omitted in the documentation on those plat- - forms. Cygwin, Linux, FreeBSD and Mac OS X are known to work correctly. - - -AUTHOR - Written by Hotbird64 - - -CREDITS - Thanks to CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, nos- - ferati87, qad, Ratiborus, vityan666, ... - - -SEE ALSO - vlmcsd(7), vlmcsd(8), vlmcsdmulti(1) - - - -Hotbird64 November 2016 VLMCS(1) diff --git a/vlmcsd-1113/man/vlmcs.1.html b/vlmcsd-1113/man/vlmcs.1.html deleted file mode 100644 index 975f75f..0000000 --- a/vlmcsd-1113/man/vlmcs.1.html +++ /dev/null @@ -1,559 +0,0 @@ - - - - - - - - - -VLMCS - - - - -

VLMCS

- -NAME
-SYNOPSIS
-DESCRIPTION
-OPTIONS
-FILES
-EXAMPLES
-BUGS
-AUTHOR
-CREDITS
-SEE ALSO
- -
- - -

NAME - -

- - -

vlmcs - a -client for testing and/or charging KMS servers

- -

SYNOPSIS - -

- - -

vlmcs [ -options ] [ target ] [ options ]

- -

target -can be one of the following:

- - -

hostname|ipaddress[:tcp-port] -to query a specific KMS server (example: vlmcs -kms.example.com:1688).
-.domain to automatically detect KMS servers via DNS -for domain (example: vlmcs .example.com). Please note -the dot before domain.
--
(a single dash) to detect KMS servers in your own -domain.

- -

If you use -ipaddress:port as the target, the -ipaddress must be enclosed in brackets if it contains -colons, e.g. [2001:db8:dead:beef::1]:1688. If you use a -link-local IPv6 address on Unix systems, you must append a -percent sign and the interface identifier of the source -interface, for example fe80::dead:beef%eth0.

- -

If you omit the -target, 127.0.0.1:1688 will be used except if you use --i6. In this case the default target is -[::1]:1688.

- -

DESCRIPTION - -

- - -

vlmcs is -a program that can be used to test a KMS server that -provides activation for several Microsoft products. The KMS -server may also be an emulator. It supports KMS protocol -versions 4, 5 and 6.

- -

vlmcs -generates one or more activation requests for a Microsoft -KMS product and sends it to a KMS server. It then analyzes -and displays the responses of the KMS server.

- -

vlcms -checks both the DCE-RPC protocol and the activation message -for correctness and reports any errors that it finds.

- -

vlmcs -can also be used to "charge" a KMS server. A -Microsoft KMS server sends correct activation messages only -if it detects a certain minimum of clients (25 for Windows -client OSses, 5 otherwise) on the network. This is -Microsoft’s futile attempt to prevent running a KMS -server in a home environment.

- -

OPTIONS - -

- - -

-h or --?

- -

Show help.

- - - - - - - - - - - - - - - - - - - - - - -
- - -

-V

- - -

Displays extended version information. This includes the -compiler used to build vlmcs, the intended platform and -flags (compile time options) to build vlmcs. If you have the -source code of vlmcsd, you can type make help (or -gmake help on systems that do not use the GNU version -of make(1) by default) to see the meaning of those -flags.

- - -

-x

- - -

Show valid applications that can be used with --l.

- - -

-e

- - -

Show some examples how to use vlmcs correctly.

- - -

-v

- - -

Be verbose. Instead of just displaying the returned ePID -and the HwId (protocol v6 only) vlmcsd shows all details of -the query and the response.

- -

-l -application

- -

Request activation for a -specific application. Valid applications can be -displayed by using -x. The default application -is Windows Vista Business. The list of available -applications is not complete. You may supply GUIDs with --a, -k and -s to specify applications -that are not listed with -x. The -l option is -used as a shortcut for the most common applications.

- -

-K -protocol-version

- -

Force a specific version of the -KMS protocol. Valid versions are 4.0, 5.0 and 6.0. The -default is to select a suitable version according to the -application selected. You may use -K to send -an incorrect protocol version to the KMS server and see how -it behaves. Genuine KMS servers return HRESULT 0x8007000D if -the KMS protocol is not 4.0, 5.0 or 6.0. Emulators should do -the same. When sending a request with an incorrect protocol -number, vlmcs ignores the minor protocol number (e.g. sends -a v4 request for version 4.1). If the major version number -is less then 4, it sends a v4 request. If the major version -is greater then 6, it sends a v6 request. In any case the -protocol-version as specified by -K is put in -the version fields of the request.

- -

-4, -5 and --6

- -

Force version 4, 5 or 6 of the -KMS protocol. These options are actually shortcuts of -K -4.0, -K 5.0 and -K 6.0.

- -

-j filename

- -

Use KMS data file -filename. By default vlmcs contains product data that -is recent when vlmcs was compiled. You may use a more recent -KMS data file that contains additional products.

- -

If vlmcsd has -been compiled to use a default KMS data file, you may use --j- to ignore the default configuration file.

- - - - - - - - - - - - -
- - -

-m

- - -

Let the client pretend to be a virtual machine. Early -versions of Microsoft’s KMS server did not increase -the client count if the request came from a virtual machine. -Newer versions ignore this flag.

- - -

-d

- - -

Use NetBIOS names instead of DNS names. By default -vlmcsd generates some random DNS names for each request. If -you prefer NetBIOS names, you may use -d. A real -Microsoft activation client uses DNS names or NetBIOS -depending on the client name configuration. KMS servers -treat the workstation name as a comment that affects logging -only. Clients will be identified by a GUID that can be -specified using -c. -d has no effect if you -also specify -w.

- -

-a -application-guid

- -

Send requests with a specific -application-guid. There are currently only three -known valid application-guids:

- - -

55c92734-d682-4d71-983e-d6ec3f16059f -(Windows)
-59a52881-a989-479d-af46-f275c6370663 (Office 2010)
-0ff1ce15-a989-479d-af46-f275c6370663 (Office 2013)

- -

A Microsoft KMS -server uses these GUIDs to have seperate counters for the -already activated clients. A client that does not contact -the KMS server within 30 days will be deleted from the -database. Emulated KMS servers are always fully charged.

- -

-k kms-guid

- -

Send requests with a specific -kms-guid. A Microsoft KMS server uses these GUIDs as -a product id to decide whether to grant activation or not. A -list of current kms-guids can be found in kms.c -(table KmsIdList). Emulated KMS servers grant activation -unconditionally and do not check the kms-guid.

- -

-s -activation-guid

- -

The activation-guid -defines the actual product, e.g. "Windows 8.1 -Professional WMC KMSCLIENT edition". A -activation-guid maps 1:1 to a product key. However, -neither a Microsoft KMS server nor emulated servers check -this id. The activation-guid is useful in logging to -get a specific product description like "Windows 8.1 -Professional WMC". A list of current -activation-guids can be found in kms.c (table -ExtendedProductList).

- -

-n requests

- -

Send requests requests -to the server. The default is to send at least one request -and enough subsequent requests that the server is fully -charged afterwards for the application-guid you -selected (explicitly with -a or implicitly by using --l).

- - - - - - - -
- - -

-T

- - -

Causes to use a new TCP connection for each request if -multiple requests are sent with vlmcsd. This is useful when -you want to test an emulated KMS server whether it suffers -from memory leaks. To test for memory leaks use -n -with a large number of requests (> 100000) and then test -twice (with and without -T). This option may become -neccessary for future versions of Microsoft’s KMS -server because multiple requests with different -clients-guids for the same kms-id-guid are -impossible in a real KMS szenario over the same TCP -connection.

- -

-c -client-machine-guid

- -

Normally vlmcs generates a -random client-machine-guid for each request. By using -this option you can specify a fixed -client-machine-guid This causes a Microsoft KMS not -to increment its client count because it receives multiple -requests for the same client. Thus do not use -c if -you want to charge a real KMS server.

- -

-o -previous-client-machine-guid

- -

If the -client-machine-guid changes for some reason, the real -KMS client stores a previous-client-machine-guid -which is sent to the KMS server. This happens rarely and -usually 00000000-0000-0000-0000-000000000000 is used. You -can use -o to specify a different -previous-client-machine-guid.

- -

-G filename

- -

Grabs ePIDs and HWIDs from a -KMS server and writes the information to filename in -format suitable to be used as a configuration file (aka ini -file) for vlmcsd(8). This is especially useful if you -have access to a genuine KMS server and want to use the same -data with vlmcsd(8).

- -

If -filename does not exist, it will be created. If you -specify an existing filename, it will be updated to -use the information received from the remote KMS server and -a backup filename~ will be created.

- -

-G -cannot be used with -l, -4, -5, --6, -a, -s, -k, -r and --n

- -

-w -workstation-name

- -

Send requests with a specific -workstation-name. This disables the random generator -for the workstation name. Since it is a comment only, this -option does not have much effect.

- -

-r -required-client-count

- -

Also known as the "N count -policy". Tells the KMS server that successful -activation requires required-client-count clients. -The default is the required-client-count that the -product would need if the request was a real activation. A -Microsoft KMS server counts clients up to the double amount -what was specified with -r. This option can be used -to "overcharge" a Microsoft KMS server.

- - -

-t status

- -

Reports a specific license -status to the KMS server. status is a number that can -be from 0 to 6. 0=unlicensed, 1=licensed, 2=OOB grace, 3=OOT -grace, 4=Non-genuinue grace, 5=notification, 6=extended -grace. Refer to -TechNet -for more information. A Microsoft KMS server collects this -information for statistics only.

- -

-g -binding-expiration

- -

This tells the KMS server how -long a client will stay in its current license status. This -can be the remaining OOB time (the grace peroid that is -granted between installation of a product and when -activation is actuall required) or the remaining time when -KMS activation must be renewed. binding-expiration is -specified in minutes. A Microsoft KMS server apparantly does -not use this information.

- -

-i -protocol-version

- -

Force the use of Internet -protocol protocol-version. Allowed values are 4 -(IPv4) and 6 (IPv6). This option is useful only if you -specfiy a hostname and not an ip-address on -the command line.

- - - - - - - -
- - -

-p

- - -

Do not set the RPC_PF_MULTIPLEX flag in the RPC bind -request. This can be used to test if the KMS server uses the -same setting of this flag in the RPC bind respone. Some KMS -emulators don’t set this correctly.

- -

-N0 and -N1

- -

Disables (-N0) or -enables (-N1) the NDR64 transfer syntax in the RPC -protocol. Disable NDR64 only in case of problems. If NDR64 -is not used, vlmcs cannot detect many RPC protocol errors in -KMS emulators. If you want to test whether a KMS emulator -fully supports NDR64, you must use the -n option to -send at least two requests. This is because -Microsoft’s client always sends the first request -using NDR32 syntax and subsequent requests using NDR64 -syntax.

- -

-B0 and -B1

- -

Disables (-B0) or -enables (-B1) bind time feature negotiation (BTFN) in -the RPC protocol. Disable BTFN only in case of problems. If -BTFN is not used, vlmcs cannot detect many RPC protocol -errors in KMS emulators.

- -

Options that do -not require an argument can be specified together with a -single dash, e.g. vlmcs -6mvT. If you specify an option more -than once, the last occurence will be in effect.

- -

FILES - -

- - - -

vlmcsd.ini(5)

- -

EXAMPLES - -

- - -

vlmcs -kms.example.com

- -

Request activation for Windows -Vista using v4 protocol from kms.example.com. Repeat -activation requests until server is charged for all Windows -products.

- -

vlmcs -

- -

Request activation for Windows -Vista using v4 protocol from a KMS server that is published -via DNS for the current domain.

- -

vlmcs .example.com

- -

Request activation for Windows -Vista using v4 protocol from a KMS server that is published -via DNS for domain example.com.

- -

vlmcs -6 -l Office2013 -v -n -1

- -

Request exactly one activation -for Office2013 using v6 protocol from localhost. Display -verbose results.

- -

vlmcs kms.bigcompany.com -G -/etc/vlmcsd.ini

- -

Get ePIDs and HWIDs from -kms.bigcompany.com and create/update /etc/vlmcsd.ini -accordingly.

- -

BUGS - -

- - -

Some platforms -(e.g. Solaris) may have a man(7) system that does not -handle URLs. URLs may be omitted in the documentation on -those platforms. Cygwin, Linux, FreeBSD and Mac OS X are -known to work correctly.

- -

AUTHOR - -

- - -

Written by -Hotbird64

- -

CREDITS - -

- - -

Thanks to -CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, -nosferati87, qad, Ratiborus, vityan666, ...

- -

SEE ALSO - -

- - - -

vlmcsd(7), -vlmcsd(8), vlmcsdmulti(1)

-
- - diff --git a/vlmcsd-1113/man/vlmcs.1.pdf b/vlmcsd-1113/man/vlmcs.1.pdf deleted file mode 100644 index 115cd4c90d9e6c6efd4c7f40750d0067d1aa0348..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26772 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 100000) and then test twice (with and without -T). - This option may become neccessary for future versions of Micro- - soft's KMS server because multiple requests with different - clients-guids for the same kms-id-guid are impossible in a real - KMS szenario over the same TCP connection. - - - -c client-machine-guid - Normally vlmcs generates a random client-machine-guid for each - request. By using this option you can specify a fixed client- - machine-guid This causes a Microsoft KMS not to increment its - client count because it receives multiple requests for the same - client. Thus do not use -c if you want to charge a real KMS - server. - - - -o previous-client-machine-guid - If the client-machine-guid changes for some reason, the real KMS - client stores a previous-client-machine-guid which is sent to - the KMS server. This happens rarely and usually - 00000000-0000-0000-0000-000000000000 is used. You can use -o to - specify a different previous-client-machine-guid. - - - -G filename - Grabs ePIDs and HWIDs from a KMS server and writes the informa- - tion to filename in format suitable to be used as a configura- - tion file (aka ini file) for vlmcsd(8). This is especially use- - ful if you have access to a genuine KMS server and want to use - the same data with vlmcsd(8). - - If filename does not exist, it will be created. If you specify - an existing filename, it will be updated to use the information - received from the remote KMS server and a backup filename~ will - be created. - - -G cannot be used with -l, -4, -5, -6, -a, -s, -k, -r and -n - - - -w workstation-name - Send requests with a specific workstation-name. This disables - the random generator for the workstation name. Since it is a - comment only, this option does not have much effect. - - - -r required-client-count - Also known as the "N count policy". Tells the KMS server that - successful activation requires required-client-count clients. - The default is the required-client-count that the product would - need if the request was a real activation. A Microsoft KMS - server counts clients up to the double amount what was specified - with -r. This option can be used to "overcharge" a Microsoft KMS - server. - - - -t status - Reports a specific license status to the KMS server. status is a - number that can be from 0 to 6. 0=unlicensed, 1=licensed, 2=OOB - grace, 3=OOT grace, 4=Non-genuinue grace, 5=notification, - 6=extended grace. Refer to TechNet - for more information. A Microsoft KMS server collects this - information for statistics only. - - - -g binding-expiration - This tells the KMS server how long a client will stay in its - current license status. This can be the remaining OOB time (the - grace peroid that is granted between installation of a product - and when activation is actuall required) or the remaining time - when KMS activation must be renewed. binding-expiration is - specified in minutes. A Microsoft KMS server apparantly does not - use this information. - - - -i protocol-version - Force the use of Internet protocol protocol-version. Allowed - values are 4 (IPv4) and 6 (IPv6). This option is useful only if - you specfiy a hostname and not an ip-address on the command - line. - - - -p Do not set the RPC_PF_MULTIPLEX flag in the RPC bind request. - This can be used to test if the KMS server uses the same setting - of this flag in the RPC bind respone. Some KMS emulators don't - set this correctly. - - - -N0 and -N1 - Disables (-N0) or enables (-N1) the NDR64 transfer syntax in the - RPC protocol. Disable NDR64 only in case of problems. If NDR64 - is not used, vlmcs cannot detect many RPC protocol errors in KMS - emulators. If you want to test whether a KMS emulator fully sup- - ports NDR64, you must use the -n option to send at least two - requests. This is because Microsoft's client always sends the - first request using NDR32 syntax and subsequent requests using - NDR64 syntax. - - - -B0 and -B1 - Disables (-B0) or enables (-B1) bind time feature negotiation - (BTFN) in the RPC protocol. Disable BTFN only in case of prob- - lems. If BTFN is not used, vlmcs cannot detect many RPC protocol - errors in KMS emulators. - - - Options that do not require an argument can be specified together with - a single dash, e.g. vlmcs -6mvT. If you specify an option more than - once, the last occurence will be in effect. - - -FILES - vlmcsd.ini(5) - - -EXAMPLES - vlmcs kms.example.com - Request activation for Windows Vista using v4 protocol from - kms.example.com. Repeat activation requests until server is - charged for all Windows products. - - - vlmcs - - Request activation for Windows Vista using v4 protocol from a - KMS server that is published via DNS for the current domain. - - - vlmcs .example.com - Request activation for Windows Vista using v4 protocol from a - KMS server that is published via DNS for domain example.com. - - - vlmcs -6 -l Office2013 -v -n 1 - Request exactly one activation for Office2013 using v6 protocol - from localhost. Display verbose results. - - - vlmcs kms.bigcompany.com -G /etc/vlmcsd.ini - Get ePIDs and HWIDs from kms.bigcompany.com and create/update - /etc/vlmcsd.ini accordingly. - - -BUGS - Some platforms (e.g. Solaris) may have a man(7) system that does not - handle URLs. URLs may be omitted in the documentation on those plat- - forms. Cygwin, Linux, FreeBSD and Mac OS X are known to work correctly. - - -AUTHOR - Written by Hotbird64 - - -CREDITS - Thanks to CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, nos- - ferati87, qad, Ratiborus, vityan666, ... - - -SEE ALSO - vlmcsd(7), vlmcsd(8), vlmcsdmulti(1) - - - -Hotbird64 November 2016 VLMCS(1) diff --git a/vlmcsd-1113/man/vlmcsd-floppy.7.dos.txt b/vlmcsd-1113/man/vlmcsd-floppy.7.dos.txt deleted file mode 100644 index dcd67b5..0000000 --- a/vlmcsd-1113/man/vlmcsd-floppy.7.dos.txt +++ /dev/null @@ -1,554 +0,0 @@ -VLMCSD-FLOPPY(7) KMS Activation Manual VLMCSD-FLOPPY(7) - - - -NAME - floppy144.vfd - a bootable floppy disk with Linux and vlmcsd(8) - - -DESCRIPTION - floppy144.vfd is an image of a bootable floppy that contains a minimal - version of Linux and vlmcsd(8). It requires only 16 MB of RAM. Its pri- - mary purpose is to run vlmcsd(8) in a small virtual machine which makes - it easy to use vlmcsd(8) to activate the virtual machine's host com- - puter which is not possible in Windows 8.1 and up. The floppy image is - a standard 3,5" floppy with 1.44 MB storage. It is formatted with a - FAT12 filesystem. The floppy can be mounted to apply several customiza- - tions. - - -SUPPORTED HYPERVISORS - The floppy image has been tested with the following hypervisors: - - VMWare, VirtualBox, Hyper-V and QEMU - - Others are likely to work. - - -SETUP - Create a new virtual machine. Assign 16 MB of RAM. Add a floppy drive - and attach floppy144.vfd to this drive. Do not create a virtual hard - disk. Setup the virtual machine to boot from a floppy drive (VirtualBox - has floppy boot disabled by default). If possible, setup a virtual - machine with plain old BIOS (not UEFI). If you created an UEFI virtual - machine, enable the compatibility support mode (CSM) to allow a BIOS - compatible boot. Set number of CPUs to 1. The Linux kernel is not capa- - ble of SMP. Remove IDE, SATA, SCSI and USB support if possible. The - Linux kernel can't handle this and ignores any devices connected to - these buses. - - Setup an ethernet card. The following models are supported: - - Intel PRO/1000 - AMD PCNET III - AMD PCNET32 - VMWare vmxnet3 (paravirtualized driver used by VMWare) - virtio (paravirtualized driver used by VirtualBox, QEMU, KVM and - lguest) - - Most hypervisors emulate an Intel PRO/1000 or AMD PCNET32 by default. - Selecting a paravirtualized driver slightly improves performance. In - VirtualBox you can simply select virtio in the network configuration - dialog. VMWare requires that you add or change the VMX file. Use 'eth- - ernet0.virtualDev = "vmxnet3"' in your VMWare config file. - - If you are using QEMU, you must also setup a TAP adapter. Port redi- - rection does not work to activate your own computer. - - -CONFIGURATION - floppy144.vfd can be customized to fit your needs. This is done by - editing the file syslinux.cfg on the floppy image. The floppy image - must be mounted. Under Linux you can simply attach floppy144.vfd to a - loop device which is mountable like any other block device. For Windows - you must use some software that allows mounting a floppy image, e.g. - OSFMount - - OSFMount works under all Windows versions beginning with Windows XP up - to Windows 10 (32- and 64-bit). - - The default syslinux.cfg file looks like this: - - prompt 0 - TIMEOUT 50 - default dhcp - - LABEL dhcp - KERNEL bzImage - APPEND vga=773 quiet initrd=initrd KBD=us LIS- - TEN=[::]:1688,0.0.0.0:1688 TZ=UTC0 IPV4_CONFIG=DHCP - NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd ROOT_PASSWORD=vlmcsd - USER_NAME=user USER_PASSWORD=vlmcsd GUEST_PASSWORD=vlmcsd - INETD=Y WINDOWS=06401-00206-271-395032-03-1033-9600.0000-1652016 - OFFICE2010=06401-00096-199-204970-03-1033-9600.0000-1652016 - OFFICE2013=06401-00206-234-921934-03-1033-9600.0000-1652016 - HWID=36:4F:46:3A:88:63:D3:5F - - LABEL static - KERNEL bzImage - APPEND vga=773 quiet initrd=initrd KBD=fr LIS- - TEN=[::]:1688,0.0.0.0:1688 TZ=CET-1CEST,M3.5.0,M10.5.0/3 - IPV4_CONFIG=STATIC IPV4_ADDRESS=192.168.20.123/24 IPV4_GATE- - WAY=192.168.20.2 IPV4_DNS1=192.168.20.2 IPV4_DNS2=NONE - NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd ROOT_PASSWORD=vlmcsd - USER_NAME=user USER_PASSWORD=vlmcsd GUEST_PASSWORD=vlmcsd - INETD=Y - - - There are two configurations in this files: dhcp (for configuring the - IPv4 network via DHCP) and static (for a static IPv4 configuration). - The kernel always boots the dhcp configuration without asking (lines - 'prompt 0' and 'default dhcp'). You can simply change the default con- - figuration to static and then customize the APPEND line in the static - configuration. For more details how to customize the syslinux.cfg file - see syslinux(1). - - Each APPPEND line contains one or more items seperated by spaces. All - items are case-sensitive. The following parameters can be customized: - - - vga=vesa-video-mode - Sets the VESA display mode for the virtual machine. The parame- - ter is not optional. If you ommit it, you will not see anything - on the screen. 773 means 1024x768 with 256 colors. See Wikipedia - for more video - modes. Note that all 16 color (4-bit) modes will not work. Use - 8-bit (256 colors), 16-bit (65536 colors), 24-bit and 32-bit (> - 16 Million colors) only. All modes above 1280x1024 are non-VESA- - standard and vary for all (virtual) graphic cards. - - - quiet This causes the kernel not display the its log during boot. You - may omit quiet but it doesn't make much sense. The boot log is - actually very verbose and scrolls away from screen quickly. If - any errors occur during boot, they will be displayed even if - quiet is present in the APPEND line. You may evaluate the com- - plete boot log later by using the dmesg command or the menu on - /dev/tty8. - - - initrd=initial-ram-disk-file - This defines the initial ram disk that the kernel will read. - There is only one initial ram disk on the floppy thus leave ini- - trd=initrd as it is. - - - KBD=keyboard-layout-name - This allows you to select the keyboard layout. keyboard-layout- - name is usually the ISO 3166-1 (top level domain) code for a - country. A list of valid keyboard-layout-names can be accessed - via the menu system on /dev/tty8 (press ALT-F8). Note, that this - is a keyboard driver only. There is no Unicode font support in - floppy144.vfd (due to the fact that the kernel uses a generic - VESA framebuffer device only). Characters beyond ASCII work for - Western European languages only but not Eastern European, Greek, - Cyrillic, Arabic, Hebrew, CJK and other languages. There is no - need in floppy144.vfd to enter any characters outside ASCII. The - purpose of the keyboard maps are that you will find characters - like dash, backslash, brackets, braces, etc. at the usual place - on your keyboard. - - - LISTEN=PRIVATE[:tcp-port] | ip-address[:tcp-port][,ip-address[:tcp- - port]][,...] - One or more combinations of IP addresses and optional TCP port - seperated by commas that vlmcsd(8) should listen on or PRIVATE - to listen on all private IP addresses only. The default port is - 1688. If you use an explicit port number, append it to the IP - address seperated by a colon. If you use a port number and the - IP address contains colons, you must enclose the IP address in - brackets. For example 192.168.0.2,[fd00::dead:beef]:5678 causes - vlmcsd(8) to listen on 192.168.0.2 port 1688 and fd00::dead:beef - port 5678. - - - WINDOWS=epid - Defines the ePID that is used for Windows activations. If you - ommit this parameter, vlmcsd generates a random ePID when it is - started. - - - OFFICE2010=epid - Defines the ePID that is used for Office 2010 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - OFFICE2013=epid - Defines the ePID that is used for Office 2016 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - OFFICE2016=epid - Defines the ePID that is used for Office 2016 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - OFFICE2019=epid - Defines the ePID that is used for Office 2019 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - WINCHINAGOV=epid - Defines the ePID that is used for Windows China Government Edi- - tion activations (Enterprise G/GN). If you ommit this parameter, - vlmcsd(8) generates a random ePID when it is started. - - - HWID=hwid - Defines the HwId that is sent to clients. hwid must be specified - as 16 hex digits that are interpreted as a series of 8 bytes - (big endian). Any character that is not a hex digit will be - ignored. This is for better readability. - - - TZ=posix-time-zone-string - Set the time zone to posix-time-zone-string. It must conform to - the POSIX specification. Simplified time zone - strings like "Europe/London" or "America/Detroit" are not - allowed. This has the very simple reason that there is no space - on the floppy to store the time zone database. - - The string CET-1CEST,M3.5.0,M10.5.0/3 (most countries in Europe) - reads as follows: - - CET The standard (winter) time zone has the name CET. - - -1 The standard time zone is one hour east of UTC. Nega- - tive numbers are east of UTC. Positive numbers are - west of UTC. - - CEST The daylight saving (summer) time zone has the name - CEST. - - M3.5.0 Daylight saving time starts in the 3rd month (March) - on the 5th (=last) occurence of weekday 0 (Sunday) at - 2 o'clock (2 o'clock is a default value). - - M10.5.0/3 Daylight saving time ends in the 10th month (October) - on the 5th (=last) occurence of weekday 0 (Sunday) at - 3 o'clock. - - If you don't have daylight saving time, things are easier. For - Chinese Standard Time for example, just use CST-8 as the time - zone string. - - On a Linux desktop system, you can use a command like - strings /usr/share/zoneinfo/America/New_York | tail -n1. This - should return EST5EDT,M3.2.0,M11.1.0. You can use the returned - string for the TZ=posix-time-zone-string parameter. - - - IPV4_CONFIG=DHCP | STATIC - This determines how you want to configure IPv4 networking. If - you use IPV4_CONFIG=STATIC, you must supply additional para- - maters to the APPEND command line. - - - IPV4_ADDRESS=ipv4-address/CIDR-mask - Use ipv4-address with netmask CIDR-mask for static IPv4 configu- - ration. The netmask must not be ommitted. For IPv4 address - 192.168.12.17 with a netmask of 255.255.255.0 use - 192.168.12.17/24. For IPv4 address 10.4.0.8 with a netmask of - 255.255.0.0 use 10.4.0.8/16. This paramater is ignored, if you - used IPV4_CONFIG=DHCP. - - - IPV4_GATEWAY=ipv4-address | NONE - Use ipv4-address as the default gateway. This is usually the - IPv4 address of your router. You may specify NONE explicitly for - no gateway. In this case your virtual machine is only visible on - its local LAN. This paramater is ignored, if you used IPV4_CON- - FIG=DHCP. - - - IPV4_DNS1=ipv4-address | NONE - Use ipv4-address as the primary name server. In home networks - this is often the IPv4 address of your router. You may specify - NONE explicitly. If you specified NONE for both IPV4_DNS1= and - IPV4_DNS2=, your virtual machine cannot resolve host names to IP - addresses. While vlmcsd(8) works perfectly without DNS servers, - you must use IP addresses when referring to a host, e.g. for - specifying an NTP server. This paramater is ignored, if you used - IPV4_CONFIG=DHCP. - - - IPV4_DNS2=ipv4-address | NONE - Use ipv4-address as the secondary name server. It serves as a - backup if the primary name server is not available. Home net- - works often don't have a secondary name server. In this case set - this to NONE. This paramater is ignored, if you used IPV4_CON- - FIG=DHCP. - - - NTP_SERVER=host-name | ipv4-address | NONE - This sets the name of a time server using the NTP protocol. If - your virtualization environment reliably provides time, you can - set this to NONE. Don't use a public time service like - pool.ntp.org or time.nist.gov if you have a (at least somewhat - reliable) NTP server in your LAN. - - - HOST_NAME=host-name - Sets the local host name for your virtual machine. It can be a - single name or a fully-qualified domain name FQDN. If you used - IPV4_CONFIG=DHCP and your DHCP server returns a domain name, the - domain part of an FQDN will be replaced by that name. This host - name or host part of an FQDN will not replaced by a host name - returned via DHCP. The host name is not important for the opera- - tion of floppy144.vfd. - - - ROOT_PASSWORD=password - Sets the password of the root user. - - - USER_NAME=username - Sets the name of for a general user with no special privileges. - This user can login but can't do much. - - - USER_PASSWORD=password - Sets the password for the user defined by USER_NAME=username. - - - GUEST_PASSWORD=password - Sets the password for the pre-defined guest user. This user has - the same priviliges (none) as the user defined by - USER_NAME=username. - - - INETD=Y | N - INETD=Y specifies that inetd(8) should automatically be started. - That means you can telnet and ftp to your virtual machine. - - - VLMCSD_EXTRA_ARGS=comma-seperated-argument-list - Allows you to specify additional command line options that will - be passed to vlmcsd(8). Instead of spaces you use commas between - arguments. Example: VLMCSD_EXTRA_ARGS=-c1,-K3,-M1 - - -OPERATION - Diskless System - The floppy144.vfd virtual machine is a diskless system that works - entirely from RAM. The file system is actually a RAM disk that is cre- - ated from the initrd(4) file on the floppy image. - - Anything you'll do from inside the virtual machine, for instance edit- - ing a config file, will be lost when you reboot the machine. So, if you - ever asked yourself if rm -fr / (root privileges required) really - deletes all files from all mounted partitions, the floppy144.vfd VM is - the right place to test it (Yes, it does). - - The VM uses a RAM disk, because the Linux kernel had to be stripped - down to essential features to fit on a 1.44 MB floppy. It has no floppy - driver, no disk file system drivers and no block layer (cannot use - disks of any type). - - - System startup - The kernel boots up very quickly and the init script (/sbin/init) waits - 5 seconds. In these 5 seconds you can: - - Press 'm' to manually enter the time zone and the IPv4 parame- - ters. These will be queried interactively. - Press 't' to manually enter the time zone only. - Press 's' to escape to a shell. - - If you don't want to 5 seconds for continuing the init process, you can - press any other key to speed things up. At the end of the init script - you should see thatvlmcsd(8) has started. You should also see the IP - addresses and all user names and passwords. - - - Logging into the system - There are 5 local logins provided on /dev/tty2 to /dev/tty6. To switch - to these logins, simply press ALT-F2 to ALT-F6. To return to the con- - sole on /dev/tty1, press ALT-F1. If inetd(8) is running you can also - use telnet(1). This allows you use a terminal program (e.g. putty) that - can utilize your keyboard layout, can be resized and has full UTF-8 - support. The local terminals support US keyboard layout only. Please be - aware that telnet(1) is unencrypted and everything including passwords - is transmitted in clear text. There is not enough space for an ssh - server like sshd(8) or dropbear(8). - - The floppy image only provides basic Unix commands. Type busybox or ll - /bin to get a list. The only editor available is vi(1). If you don't - like vi, you may transfer config files via ftp(1) edit them with the - editor of your choice and transfer them back to the floppy144.vfd VM. - - - The menu system - You'll find a menu system on /dev/tty8 (press ALT-F8 to see it). It - allows you performing some administrative tasks and to view various - system information. It is mainly for users that do not have much expe- - rience with Unix commands. - - - 1) (Re)start vlmcsd - Starts or restarts vlmcsd(8). This is useful if you changed - /etc/vlmcsd.ini(5). - - - 2) Stop vlmcsd - Stops vlmcsd(8). - - - 3) (Re)start inetd - Starts or restarts inetd(8). If inetd(8) is restarted, current - clients connected via telnet(1) or ftp(1) will not be dropped. - They can continue their sessions. This is useful if you changed - /etc/inetd.conf(5). - - - 4) Stop inet - Stops inetd(8). All clients connected via telnet(1) or ftp(1) - will be dropped immediately. - - - 5) Change the time zone - Just in case you missed pressing 't' during system startup. This - also restarts vlmcsd(8) if it was running to notify it that the - time zone has changed. Restarting vlmcsd(8) allows currently - connected clients to finish their activation. - - - k) Change keyboard layout - This allows you to select a different keyboard layout. - - - 6) Show all kernel boot parameters - Shows all parameters passed to the kernel via syslinux.cfg. If - you experience any unexpected behavior, you can use this to - check if your APPEND line in syslinux.cfg is correct. The output - is piped through less(1). So press 'q' to return to the menu. - - - 7) Show boot log (dmesg) - Shows the boot log of the kernel. The output is piped through - less(1). So press 'q' to return to the menu. - - - 8) Show TCP/IP configuration - Shows the TCP/IP configuration, listening sockets and current - TCP and UDP connections. Useful, if you problems with net con- - nectivity. The output is piped through less(1). So press 'q' to - return to the menu. - - - 9) Show running processes - Shows all processes including memory and CPU usage. Display will - updated every second. Press 'q' or CTRL-C to return to the menu. - - - s) Shutdown - Shuts down the floppy144.vfd virtual machine. Proper shutdown is - not required. It is ok to use a hard power off in your virtual- - ization program. - - - r) Reboot - Reboots the floppy144.vfd virtual machine. Proper reboot is not - required. It is ok to use a hard reset in your virtualization - program. - - -PERMANENT CHANGES OF INITRD - If you want to change any file or script of the file system (e.g. the - init script /sbin/init or /etc/vlmcsd.ini), you'll need to mount the - floppy image, unpack the initrd(4) file, make any modfications you - like, create a new initrd(4) file and copy it to the mounted floppy. - - To unpack the initrd(4) file you'll need xz(1) (or lzma(1) on older - unix-like OSses) and cpio(1). These can be installed using your package - manager on all major distros. It is ok to use the BSD version of - cpio(1). No need to get the GNU version for BSD users. Provided the - floppy is mounted in /mnt/floppy do the following: - - Create an empty directory - mkdir ~/vlmcsd-floppy-initrd - - cd into that directory - cd ~/vlmcsd-floppy-initrd - - Unpack initrd - cat /mnt/floppy/initrd | unlzma | cpio -i - - After applying your changes build a new initrd(4) file: - - - cd into your directory - cd ~/vlmcsd-floppy-initrd - - Create the packed file - find . | cpio -o -H newc | lzma > /mnt/floppy/initrd - - Do not try to use 'lzma -9' to achive better compression. The kernel - can't read the resulting file. While customizing the initrd(4) file - works on almost any unix-like OS, it does not work on Windows even not - with Cygwin. The reason is that the NTFS file system can't handle uids - and gids. These cannot be preserved when unpacking the cpio(1) archive - to NTFS. If you use the WSL subsystem of Windows 10 Redstone (Anniver- - sary Update) and later, you must make sure to unpack the initrd(4) file - to a directory on VolFs (normally everything that is not mounted under - /mnt). The initrd(4) file can be on a VolFs or DriveFs. - - -FAQ - On what distro is the floppy image based? - None. Besides the boot loader ldlinux.sys, there are only three bina- - ries: The Linux kernel bzImage, busybox(1) and vlmcsdmulti-x86-musl- - static. bzImage and busybox(1) have been compiled with carefully - selected configuration parameters not found in any distro. This was - neccesary to fit everything on a 1.44 MB floppy. - - - Why is a rather old Linux kernel (3.12) used? - Linux 3.12 is the last kernel that can be booted with 16 MB of RAM. - Beginning with Linux 3.13 it requires much more memory (about 80 MB) to - boot. The floppy image is regularly tested with newer kernels. Every- - thing works except that you need to assign much more main memory to the - virtual machine. - - - Can the floppy be booted on bare metal? - Basically yes. However, only Intel Pro/1000 and AMD PCNET32 ethernet - cards are supported by the kernel. In addition there is no USB support - compiled into the kernel. That means you can only use an IBM AT or IBM - PS/2 keyboard which are not available on newer hardware. - - -FILES - syslinux.cfg, vlmcsd.ini(5) - - -BUGS - IPv6 cannot be configured with static or manual parameters. - DHCPv6 is not supported. - 'ip route add ...' does not work. Use 'route add ...' instead. - - -AUTHOR - floppy144.vfd has been created by Hotbird64 - - -CREDITS - Linus Torvalds et al. for the Linux kernel - Erik Andersen et al. for the original uClibc - Waldemar Brodkorb et al. for uClibc-ng - Denys Vlasenko et al. for BusyBox - H. Peter Anvin et al. for SYSLINUX - - -SEE ALSO - vlmcsd(8), vlmcsd.ini(5), initrd(4), busybox(1), syslinux(1) - - - -Hotbird64 February 2019 VLMCSD-FLOPPY(7) diff --git a/vlmcsd-1113/man/vlmcsd-floppy.7.html b/vlmcsd-1113/man/vlmcsd-floppy.7.html deleted file mode 100644 index 750177e..0000000 --- a/vlmcsd-1113/man/vlmcsd-floppy.7.html +++ /dev/null @@ -1,840 +0,0 @@ - - - - - - - - - -VLMCSD-FLOPPY - - - - -

VLMCSD-FLOPPY

- -NAME
-DESCRIPTION
-SUPPORTED HYPERVISORS
-SETUP
-CONFIGURATION
-OPERATION
-PERMANENT CHANGES OF INITRD
-FAQ
-FILES
-BUGS
-AUTHOR
-CREDITS
-SEE ALSO
- -
- - -

NAME - -

- - -

floppy144.vfd - -a bootable floppy disk with Linux and vlmcsd(8)

- -

DESCRIPTION - -

- - - -

floppy144.vfd -is an image of a bootable floppy that contains a minimal -version of Linux and vlmcsd(8). It requires only 16 -MB of RAM. Its primary purpose is to run vlmcsd(8) in -a small virtual machine which makes it easy to use -vlmcsd(8) to activate the virtual machine’s -host computer which is not possible in Windows 8.1 and up. -The floppy image is a standard 3,5" floppy with 1.44 MB -storage. It is formatted with a FAT12 filesystem. The floppy -can be mounted to apply several customizations.

- -

SUPPORTED HYPERVISORS - -

- - -

The floppy -image has been tested with the following hypervisors:

- -

VMWare, -VirtualBox, Hyper-V and QEMU

- -

Others are -likely to work.

- -

SETUP - -

- - -

Create a new -virtual machine. Assign 16 MB of RAM. Add a floppy drive and -attach floppy144.vfd to this drive. Do not create a -virtual hard disk. Setup the virtual machine to boot from a -floppy drive (VirtualBox has floppy boot disabled by -default). If possible, setup a virtual machine with plain -old BIOS (not UEFI). If you created an UEFI virtual machine, -enable the compatibility support mode (CSM) to allow a BIOS -compatible boot. Set number of CPUs to 1. The Linux kernel -is not capable of SMP. Remove IDE, SATA, SCSI and USB -support if possible. The Linux kernel can’t handle -this and ignores any devices connected to these buses.

- -

Setup an -ethernet card. The following models are supported:

- -

Intel PRO/1000 -
-AMD PCNET III
-AMD PCNET32
-VMWare vmxnet3 (paravirtualized driver used by VMWare)
-virtio (paravirtualized driver used by VirtualBox, QEMU, KVM -and lguest)

- -

Most -hypervisors emulate an Intel PRO/1000 or AMD PCNET32 by -default. Selecting a paravirtualized driver slightly -improves performance. In VirtualBox you can simply select -virtio in the network configuration dialog. VMWare requires -that you add or change the VMX file. Use -’ethernet0.virtualDev = "vmxnet3"’ -in your VMWare config file.

- -

If you are -using QEMU, you must also setup a TAP adapter. Port -redirection does not work to activate your own computer.

- -

CONFIGURATION - -

- - - -

floppy144.vfd -can be customized to fit your needs. This is done by editing -the file syslinux.cfg on the floppy image. The floppy image -must be mounted. Under Linux you can simply attach -floppy144.vfd to a loop device which is mountable -like any other block device. For Windows you must use some -software that allows mounting a floppy image, e.g. -OSFMount

- -

OSFMount works -under all Windows versions beginning with Windows XP up to -Windows 10 (32- and 64-bit).

- -

The default -syslinux.cfg file looks like this:

- -

prompt 0 -
-TIMEOUT 50
-default dhcp

- -

LABEL -dhcp
-KERNEL bzImage
-APPEND vga=773 quiet initrd=initrd KBD=us -LISTEN=[::]:1688,0.0.0.0:1688 TZ=UTC0 IPV4_CONFIG=DHCP -NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd -ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd -GUEST_PASSWORD=vlmcsd INETD=Y -WINDOWS=06401-00206-271-395032-03-1033-9600.0000-1652016 -OFFICE2010=06401-00096-199-204970-03-1033-9600.0000-1652016 -OFFICE2013=06401-00206-234-921934-03-1033-9600.0000-1652016 -HWID=36:4F:46:3A:88:63:D3:5F

- -

LABEL -static
-KERNEL bzImage
-APPEND vga=773 quiet initrd=initrd KBD=fr -LISTEN=[::]:1688,0.0.0.0:1688 TZ=CET-1CEST,M3.5.0,M10.5.0/3 -IPV4_CONFIG=STATIC IPV4_ADDRESS=192.168.20.123/24 -IPV4_GATEWAY=192.168.20.2 IPV4_DNS1=192.168.20.2 -IPV4_DNS2=NONE NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd -ROOT_PASSWORD=vlmcsd USER_NAME=user USER_PASSWORD=vlmcsd -GUEST_PASSWORD=vlmcsd INETD=Y

- -

There are two -configurations in this files: dhcp (for configuring -the IPv4 network via DHCP) and static (for a static -IPv4 configuration). The kernel always boots the dhcp -configuration without asking (lines ’prompt 0’ -and ’default dhcp’). You can simply change the -default configuration to static and then customize -the APPEND line in the static configuration. For more -details how to customize the syslinux.cfg file see -syslinux(1).

- -

Each APPPEND -line contains one or more items seperated by spaces. All -items are case-sensitive. The following parameters can -be customized:
-vga=
vesa-video-mode

- -

Sets the VESA display mode for -the virtual machine. The parameter is not optional. If you -ommit it, you will not see anything on the screen. 773 means -1024x768 with 256 colors. See -Wikipedia -for more video modes. Note that all 16 color (4-bit) modes -will not work. Use 8-bit (256 colors), 16-bit (65536 -colors), 24-bit and 32-bit (> 16 Million colors) only. -All modes above 1280x1024 are non-VESA-standard and vary for -all (virtual) graphic cards.

- - - - - - - -
- - -

quiet

- - -

This causes the kernel not display the its log during -boot. You may omit quiet but it doesn’t make -much sense. The boot log is actually very verbose and -scrolls away from screen quickly. If any errors occur during -boot, they will be displayed even if quiet is present -in the APPEND line. You may evaluate the complete boot log -later by using the dmesg command or the menu on -/dev/tty8.

- - -

initrd=initial-ram-disk-file

- -

This defines the initial ram -disk that the kernel will read. There is only one initial -ram disk on the floppy thus leave initrd=initrd as it -is.

- - -

KBD=keyboard-layout-name

- -

This allows you to select the -keyboard layout. keyboard-layout-name is usually the -ISO 3166-1 (top level domain) code for a country. A list of -valid keyboard-layout-names can be accessed via the -menu system on /dev/tty8 (press ALT-F8). Note, that this is -a keyboard driver only. There is no Unicode font support in -floppy144.vfd (due to the fact that the kernel uses a -generic VESA framebuffer device only). Characters beyond -ASCII work for Western European languages only but not -Eastern European, Greek, Cyrillic, Arabic, Hebrew, CJK and -other languages. There is no need in floppy144.vfd to -enter any characters outside ASCII. The purpose of the -keyboard maps are that you will find characters like dash, -backslash, brackets, braces, etc. at the usual place on your -keyboard.

- - -

LISTEN=PRIVATE[:tcp-port] -|
- -ip-address
[:tcp-port][,ip-address[:tcp-port]][,...]

- -

One or more combinations of IP -addresses and optional TCP port seperated by commas that -vlmcsd(8) should listen on or PRIVATE to listen on -all private IP addresses only. The default port is 1688. If -you use an explicit port number, append it to the IP address -seperated by a colon. If you use a port number and the IP -address contains colons, you must enclose the IP address in -brackets. For example -192.168.0.2,[fd00::dead:beef]:5678 causes -vlmcsd(8) to listen on 192.168.0.2 port 1688 and -fd00::dead:beef port 5678.

- -

WINDOWS=epid

- -

Defines the ePID that is used -for Windows activations. If you ommit this parameter, vlmcsd -generates a random ePID when it is started.

- - -

OFFICE2010=epid

- -

Defines the ePID that is used -for Office 2010 activations. If you ommit this parameter, -vlmcsd(8) generates a random ePID when it is -started.

- - -

OFFICE2013=epid

- -

Defines the ePID that is used -for Office 2016 activations. If you ommit this parameter, -vlmcsd(8) generates a random ePID when it is -started.

- - -

OFFICE2016=epid

- -

Defines the ePID that is used -for Office 2016 activations. If you ommit this parameter, -vlmcsd(8) generates a random ePID when it is -started.

- - -

OFFICE2019=epid

- -

Defines the ePID that is used -for Office 2019 activations. If you ommit this parameter, -vlmcsd(8) generates a random ePID when it is -started.

- - -

WINCHINAGOV=epid

- -

Defines the ePID that is used -for Windows China Government Edition activations (Enterprise -G/GN). If you ommit this parameter, vlmcsd(8) -generates a random ePID when it is started.

- -

HWID=hwid

- -

Defines the HwId that is sent -to clients. hwid must be specified as 16 hex digits -that are interpreted as a series of 8 bytes (big endian). -Any character that is not a hex digit will be ignored. This -is for better readability.

- - -

TZ=posix-time-zone-string

- -

Set the time zone to -posix-time-zone-string. It must conform to the -POSIX -specification. Simplified time zone strings like -"Europe/London" or "America/Detroit" are -not allowed. This has the very simple reason that there is -no space on the floppy to store the time zone database.

- -

The string -CET-1CEST,M3.5.0,M10.5.0/3 (most countries in Europe) -reads as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

CET

- - -

The standard (winter) time zone has the name CET.

- - -

-1

- - -

The standard time zone is one hour east of UTC. Negative -numbers are east of UTC. Positive numbers are west of -UTC.

- - -

CEST

- - -

The daylight saving (summer) time zone has the name -CEST.

- - -

M3.5.0

- - -

Daylight saving time starts in the 3rd month (March) on -the 5th (=last) occurence of weekday 0 (Sunday) at 2 -o’clock (2 o’clock is a default value).

- - -

M10.5.0/3

- - -

Daylight saving time ends in the 10th month (October) on -the 5th (=last) occurence of weekday 0 (Sunday) at 3 -o’clock.

- -

If you -don’t have daylight saving time, things are easier. -For Chinese Standard Time for example, just use CST-8 -as the time zone string.

- -

On a Linux -desktop system, you can use a command like -strings /usr/share/zoneinfo/America/New_York | tail -n1. -This should return EST5EDT,M3.2.0,M11.1.0. You can -use the returned string for the -TZ=posix-time-zone-string parameter.

- -

IPV4_CONFIG=DHCP | -STATIC

- -

This determines how you want to -configure IPv4 networking. If you use -IPV4_CONFIG=STATIC, you must supply additional -paramaters to the APPEND command line.

- - -

IPV4_ADDRESS=ipv4-address/CIDR-mask

- -

Use ipv4-address with -netmask CIDR-mask for static IPv4 configuration. The -netmask must not be ommitted. For IPv4 address 192.168.12.17 -with a netmask of 255.255.255.0 use 192.168.12.17/24. -For IPv4 address 10.4.0.8 with a netmask of 255.255.0.0 use -10.4.0.8/16. This paramater is ignored, if you used -IPV4_CONFIG=DHCP.

- - -

IPV4_GATEWAY=ipv4-address -| NONE

- -

Use ipv4-address as the -default gateway. This is usually the IPv4 address of your -router. You may specify NONE explicitly for no gateway. In -this case your virtual machine is only visible on its local -LAN. This paramater is ignored, if you used -IPV4_CONFIG=DHCP.

- - -

IPV4_DNS1=ipv4-address -| NONE

- -

Use ipv4-address as the -primary name server. In home networks this is often the IPv4 -address of your router. You may specify NONE explicitly. If -you specified NONE for both IPV4_DNS1= and -IPV4_DNS2=, your virtual machine cannot resolve host -names to IP addresses. While vlmcsd(8) works -perfectly without DNS servers, you must use IP addresses -when referring to a host, e.g. for specifying an NTP server. -This paramater is ignored, if you used -IPV4_CONFIG=DHCP.

- - -

IPV4_DNS2=ipv4-address -| NONE

- -

Use ipv4-address as the -secondary name server. It serves as a backup if the primary -name server is not available. Home networks often -don’t have a secondary name server. In this case set -this to NONE. This paramater is ignored, if you used -IPV4_CONFIG=DHCP.

- - -

NTP_SERVER=host-name -| ipv4-address | NONE

- -

This sets the name of a time -server using the NTP protocol. If your virtualization -environment reliably provides time, you can set this to -NONE. Don’t use a public time service like -pool.ntp.org or time.nist.gov if you have a (at least -somewhat reliable) NTP server in your LAN.

- - -

HOST_NAME=host-name

- -

Sets the local host name for -your virtual machine. It can be a single name or a -fully-qualified domain name FQDN. If you used -IPV4_CONFIG=DHCP and your DHCP server returns a -domain name, the domain part of an FQDN will be replaced by -that name. This host name or host part of an FQDN will not -replaced by a host name returned via DHCP. The host name is -not important for the operation of floppy144.vfd.

- - -

ROOT_PASSWORD=password

- -

Sets the password of the root -user.

- - -

USER_NAME=username

- -

Sets the name of for a general -user with no special privileges. This user can login but -can’t do much.

- - -

USER_PASSWORD=password

- -

Sets the password for the user -defined by USER_NAME=username.

- - -

GUEST_PASSWORD=password

- -

Sets the password for the -pre-defined guest user. This user has the same priviliges -(none) as the user defined by -USER_NAME=username.

- -

INETD=Y | N

- -

INETD=Y specifies that -inetd(8) should automatically be started. That means -you can telnet and ftp to your virtual machine.

- - -

VLMCSD_EXTRA_ARGS=comma-seperated-argument-list

- -

Allows you to specify -additional command line options that will be passed to -vlmcsd(8). Instead of spaces you use commas between -arguments. Example: VLMCSD_EXTRA_ARGS=-c1,-K3,-M1

- -

OPERATION - -

- - -

Diskless -System
-The floppy144.vfd virtual machine is a diskless -system that works entirely from RAM. The file system is -actually a RAM disk that is created from the -initrd(4) file on the floppy image.

- -

Anything -you’ll do from inside the virtual machine, for -instance editing a config file, will be lost when you reboot -the machine. So, if you ever asked yourself if rm -fr -/ (root privileges required) really deletes all files -from all mounted partitions, the floppy144.vfd VM is -the right place to test it (Yes, it does).

- -

The VM uses a -RAM disk, because the Linux kernel had to be stripped down -to essential features to fit on a 1.44 MB floppy. It has no -floppy driver, no disk file system drivers and no block -layer (cannot use disks of any type).

- -

System -startup
-The kernel boots up very quickly and the init script -(/sbin/init) waits 5 seconds. In these 5 seconds you -can:

- -

Press -’m’ to manually enter the time zone and the IPv4 -parameters. These will be queried interactively.
-Press ’t’ to manually enter the time zone only. -
-Press ’s’ to escape to a shell.

- -

If you -don’t want to 5 seconds for continuing the init -process, you can press any other key to speed things up. At -the end of the init script you should see -thatvlmcsd(8) has started. You should also see the IP -addresses and all user names and passwords.

- -

Logging into -the system
-There are 5 local logins provided on /dev/tty2 to /dev/tty6. -To switch to these logins, simply press ALT-F2 to ALT-F6. To -return to the console on /dev/tty1, press ALT-F1. If -inetd(8) is running you can also use -telnet(1). This allows you use a terminal program -(e.g. putty) that can utilize your keyboard layout, can be -resized and has full UTF-8 support. The local terminals -support US keyboard layout only. Please be aware that -telnet(1) is unencrypted and everything including -passwords is transmitted in clear text. There is not enough -space for an ssh server like sshd(8) or -dropbear(8).

- -

The floppy -image only provides basic Unix commands. Type busybox -or ll /bin to get a list. The only editor available -is vi(1). If you don’t like vi, you may -transfer config files via ftp(1) edit them with the -editor of your choice and transfer them back to the -floppy144.vfd VM.

- -

The menu -system
-You’ll find a menu system on /dev/tty8 (press ALT-F8 -to see it). It allows you performing some administrative -tasks and to view various system information. It is mainly -for users that do not have much experience with Unix -commands.
-1) (Re)start vlmcsd

- -

Starts or restarts -vlmcsd(8). This is useful if you changed -/etc/vlmcsd.ini(5).

- -

2) Stop vlmcsd

- -

Stops vlmcsd(8).

- -

3) (Re)start inetd

- -

Starts or restarts -inetd(8). If inetd(8) is restarted, current -clients connected via telnet(1) or ftp(1) will -not be dropped. They can continue their sessions. -This is useful if you changed /etc/inetd.conf(5).

- -

4) Stop inet

- -

Stops inetd(8). All -clients connected via telnet(1) or ftp(1) will -be dropped immediately.

- -

5) Change the time -zone

- -

Just in case you missed -pressing ’t’ during system startup. This also -restarts vlmcsd(8) if it was running to notify it -that the time zone has changed. Restarting vlmcsd(8) -allows currently connected clients to finish their -activation.

- -

k) Change keyboard -layout

- -

This allows you to select a -different keyboard layout.

- -

6) Show all kernel boot -parameters

- -

Shows all parameters passed to -the kernel via syslinux.cfg. If you experience any -unexpected behavior, you can use this to check if your -APPEND line in syslinux.cfg is correct. The output is piped -through less(1). So press ’q’ to return -to the menu.

- -

7) Show boot log -(dmesg)

- -

Shows the boot log of the -kernel. The output is piped through less(1). So press -’q’ to return to the menu.

- -

8) Show TCP/IP -configuration

- -

Shows the TCP/IP configuration, -listening sockets and current TCP and UDP connections. -Useful, if you problems with net connectivity. The output is -piped through less(1). So press ’q’ to -return to the menu.

- -

9) Show running -processes

- -

Shows all processes including -memory and CPU usage. Display will updated every second. -Press ’q’ or CTRL-C to return to the menu.

- -

s) Shutdown

- -

Shuts down the -floppy144.vfd virtual machine. Proper shutdown is not -required. It is ok to use a hard power off in your -virtualization program.

- -

r) Reboot

- -

Reboots the -floppy144.vfd virtual machine. Proper reboot is not -required. It is ok to use a hard reset in your -virtualization program.

- -

PERMANENT CHANGES OF INITRD - -

- - -

If you want to -change any file or script of the file system (e.g. the init -script /sbin/init or /etc/vlmcsd.ini), you’ll need to -mount the floppy image, unpack the initrd(4) file, -make any modfications you like, create a new -initrd(4) file and copy it to the mounted floppy.

- -

To unpack the -initrd(4) file you’ll need xz(1) (or -lzma(1) on older unix-like OSses) and cpio(1). -These can be installed using your package manager on all -major distros. It is ok to use the BSD version of -cpio(1). No need to get the GNU version for BSD -users. Provided the floppy is mounted in /mnt/floppy do the -following:
-Create an empty directory

- -

mkdir -~/vlmcsd-floppy-initrd

- -

cd into that directory

- -

cd ~/vlmcsd-floppy-initrd

- -

Unpack initrd

- -

cat /mnt/floppy/initrd | unlzma -| cpio -i

- -

After applying -your changes build a new initrd(4) file:
-cd into your directory

- -

cd ~/vlmcsd-floppy-initrd

- -

Create the packed file

- -

find . | cpio -o -H newc | lzma -> /mnt/floppy/initrd

- -

Do not try to -use ’lzma -9’ to achive better compression. The -kernel can’t read the resulting file. While -customizing the initrd(4) file works on almost any -unix-like OS, it does not work on Windows even not with -Cygwin. The reason is that the NTFS file system can’t -handle uids and gids. These cannot be preserved when -unpacking the cpio(1) archive to NTFS. If you use the -WSL subsystem of Windows 10 Redstone (Anniversary Update) -and later, you must make sure to unpack the initrd(4) -file to a directory on VolFs (normally everything that is -not mounted under /mnt). The initrd(4) file -can be on a VolFs or DriveFs.

- -

FAQ - -

- - -

On what -distro is the floppy image based?
-None. Besides the boot loader ldlinux.sys, there are -only three binaries: The Linux kernel bzImage, -busybox(1) and vlmcsdmulti-x86-musl-static. -bzImage and busybox(1) have been compiled with -carefully selected configuration parameters not found in any -distro. This was neccesary to fit everything on a 1.44 MB -floppy.

- -

Why is a -rather old Linux kernel (3.12) used?
-Linux 3.12 is the last kernel that can be booted with 16 MB -of RAM. Beginning with Linux 3.13 it requires much more -memory (about 80 MB) to boot. The floppy image is regularly -tested with newer kernels. Everything works except that you -need to assign much more main memory to the virtual -machine.

- -

Can the -floppy be booted on bare metal?
-Basically yes. However, only Intel Pro/1000 and AMD PCNET32 -ethernet cards are supported by the kernel. In addition -there is no USB support compiled into the kernel. That means -you can only use an IBM AT or IBM PS/2 keyboard which are -not available on newer hardware.

- -

FILES - -

- - - -

syslinux.cfg, -vlmcsd.ini(5)

- -

BUGS - -

- - -

IPv6 cannot be -configured with static or manual parameters.
-DHCPv6 is not supported.
-´ip route add ...’ does not work. Use -’route add ...’ instead.

- -

AUTHOR - -

- - - -

floppy144.vfd -has been created by Hotbird64

- -

CREDITS - -

- - -

Linus Torvalds -et al. for the Linux kernel
-Erik Andersen et al. for the original uClibc
-Waldemar Brodkorb et al. for uClibc-ng
-Denys Vlasenko et al. for BusyBox
-H. Peter Anvin et al. for SYSLINUX

- -

SEE ALSO - -

- - - -

vlmcsd(8), -vlmcsd.ini(5), initrd(4), busybox(1), -syslinux(1)

-
- - diff --git a/vlmcsd-1113/man/vlmcsd-floppy.7.pdf b/vlmcsd-1113/man/vlmcsd-floppy.7.pdf deleted file mode 100644 index eaa17b2896f43e12dfc024f1c5f03e013cbf97f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35504 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 - - OSFMount works under all Windows versions beginning with Windows XP up - to Windows 10 (32- and 64-bit). - - The default syslinux.cfg file looks like this: - - prompt 0 - TIMEOUT 50 - default dhcp - - LABEL dhcp - KERNEL bzImage - APPEND vga=773 quiet initrd=initrd KBD=us LIS- - TEN=[::]:1688,0.0.0.0:1688 TZ=UTC0 IPV4_CONFIG=DHCP - NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd ROOT_PASSWORD=vlmcsd - USER_NAME=user USER_PASSWORD=vlmcsd GUEST_PASSWORD=vlmcsd - INETD=Y WINDOWS=06401-00206-271-395032-03-1033-9600.0000-1652016 - OFFICE2010=06401-00096-199-204970-03-1033-9600.0000-1652016 - OFFICE2013=06401-00206-234-921934-03-1033-9600.0000-1652016 - HWID=36:4F:46:3A:88:63:D3:5F - - LABEL static - KERNEL bzImage - APPEND vga=773 quiet initrd=initrd KBD=fr LIS- - TEN=[::]:1688,0.0.0.0:1688 TZ=CET-1CEST,M3.5.0,M10.5.0/3 - IPV4_CONFIG=STATIC IPV4_ADDRESS=192.168.20.123/24 IPV4_GATE- - WAY=192.168.20.2 IPV4_DNS1=192.168.20.2 IPV4_DNS2=NONE - NTP_SERVER=pool.ntp.org HOST_NAME=vlmcsd ROOT_PASSWORD=vlmcsd - USER_NAME=user USER_PASSWORD=vlmcsd GUEST_PASSWORD=vlmcsd - INETD=Y - - - There are two configurations in this files: dhcp (for configuring the - IPv4 network via DHCP) and static (for a static IPv4 configuration). - The kernel always boots the dhcp configuration without asking (lines - 'prompt 0' and 'default dhcp'). You can simply change the default con- - figuration to static and then customize the APPEND line in the static - configuration. For more details how to customize the syslinux.cfg file - see syslinux(1). - - Each APPPEND line contains one or more items seperated by spaces. All - items are case-sensitive. The following parameters can be customized: - - - vga=vesa-video-mode - Sets the VESA display mode for the virtual machine. The parame- - ter is not optional. If you ommit it, you will not see anything - on the screen. 773 means 1024x768 with 256 colors. See Wikipedia - for more video - modes. Note that all 16 color (4-bit) modes will not work. Use - 8-bit (256 colors), 16-bit (65536 colors), 24-bit and 32-bit (> - 16 Million colors) only. All modes above 1280x1024 are non-VESA- - standard and vary for all (virtual) graphic cards. - - - quiet This causes the kernel not display the its log during boot. You - may omit quiet but it doesn't make much sense. The boot log is - actually very verbose and scrolls away from screen quickly. If - any errors occur during boot, they will be displayed even if - quiet is present in the APPEND line. You may evaluate the com- - plete boot log later by using the dmesg command or the menu on - /dev/tty8. - - - initrd=initial-ram-disk-file - This defines the initial ram disk that the kernel will read. - There is only one initial ram disk on the floppy thus leave ini- - trd=initrd as it is. - - - KBD=keyboard-layout-name - This allows you to select the keyboard layout. keyboard-layout- - name is usually the ISO 3166-1 (top level domain) code for a - country. A list of valid keyboard-layout-names can be accessed - via the menu system on /dev/tty8 (press ALT-F8). Note, that this - is a keyboard driver only. There is no Unicode font support in - floppy144.vfd (due to the fact that the kernel uses a generic - VESA framebuffer device only). Characters beyond ASCII work for - Western European languages only but not Eastern European, Greek, - Cyrillic, Arabic, Hebrew, CJK and other languages. There is no - need in floppy144.vfd to enter any characters outside ASCII. The - purpose of the keyboard maps are that you will find characters - like dash, backslash, brackets, braces, etc. at the usual place - on your keyboard. - - - LISTEN=PRIVATE[:tcp-port] | ip-address[:tcp-port][,ip-address[:tcp- - port]][,...] - One or more combinations of IP addresses and optional TCP port - seperated by commas that vlmcsd(8) should listen on or PRIVATE - to listen on all private IP addresses only. The default port is - 1688. If you use an explicit port number, append it to the IP - address seperated by a colon. If you use a port number and the - IP address contains colons, you must enclose the IP address in - brackets. For example 192.168.0.2,[fd00::dead:beef]:5678 causes - vlmcsd(8) to listen on 192.168.0.2 port 1688 and fd00::dead:beef - port 5678. - - - WINDOWS=epid - Defines the ePID that is used for Windows activations. If you - ommit this parameter, vlmcsd generates a random ePID when it is - started. - - - OFFICE2010=epid - Defines the ePID that is used for Office 2010 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - OFFICE2013=epid - Defines the ePID that is used for Office 2016 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - OFFICE2016=epid - Defines the ePID that is used for Office 2016 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - OFFICE2019=epid - Defines the ePID that is used for Office 2019 activations. If - you ommit this parameter, vlmcsd(8) generates a random ePID when - it is started. - - - WINCHINAGOV=epid - Defines the ePID that is used for Windows China Government Edi- - tion activations (Enterprise G/GN). If you ommit this parameter, - vlmcsd(8) generates a random ePID when it is started. - - - HWID=hwid - Defines the HwId that is sent to clients. hwid must be specified - as 16 hex digits that are interpreted as a series of 8 bytes - (big endian). Any character that is not a hex digit will be - ignored. This is for better readability. - - - TZ=posix-time-zone-string - Set the time zone to posix-time-zone-string. It must conform to - the POSIX specification. Simplified time zone - strings like "Europe/London" or "America/Detroit" are not - allowed. This has the very simple reason that there is no space - on the floppy to store the time zone database. - - The string CET-1CEST,M3.5.0,M10.5.0/3 (most countries in Europe) - reads as follows: - - CET The standard (winter) time zone has the name CET. - - -1 The standard time zone is one hour east of UTC. Nega- - tive numbers are east of UTC. Positive numbers are - west of UTC. - - CEST The daylight saving (summer) time zone has the name - CEST. - - M3.5.0 Daylight saving time starts in the 3rd month (March) - on the 5th (=last) occurence of weekday 0 (Sunday) at - 2 o'clock (2 o'clock is a default value). - - M10.5.0/3 Daylight saving time ends in the 10th month (October) - on the 5th (=last) occurence of weekday 0 (Sunday) at - 3 o'clock. - - If you don't have daylight saving time, things are easier. For - Chinese Standard Time for example, just use CST-8 as the time - zone string. - - On a Linux desktop system, you can use a command like - strings /usr/share/zoneinfo/America/New_York | tail -n1. This - should return EST5EDT,M3.2.0,M11.1.0. You can use the returned - string for the TZ=posix-time-zone-string parameter. - - - IPV4_CONFIG=DHCP | STATIC - This determines how you want to configure IPv4 networking. If - you use IPV4_CONFIG=STATIC, you must supply additional para- - maters to the APPEND command line. - - - IPV4_ADDRESS=ipv4-address/CIDR-mask - Use ipv4-address with netmask CIDR-mask for static IPv4 configu- - ration. The netmask must not be ommitted. For IPv4 address - 192.168.12.17 with a netmask of 255.255.255.0 use - 192.168.12.17/24. For IPv4 address 10.4.0.8 with a netmask of - 255.255.0.0 use 10.4.0.8/16. This paramater is ignored, if you - used IPV4_CONFIG=DHCP. - - - IPV4_GATEWAY=ipv4-address | NONE - Use ipv4-address as the default gateway. This is usually the - IPv4 address of your router. You may specify NONE explicitly for - no gateway. In this case your virtual machine is only visible on - its local LAN. This paramater is ignored, if you used IPV4_CON- - FIG=DHCP. - - - IPV4_DNS1=ipv4-address | NONE - Use ipv4-address as the primary name server. In home networks - this is often the IPv4 address of your router. You may specify - NONE explicitly. If you specified NONE for both IPV4_DNS1= and - IPV4_DNS2=, your virtual machine cannot resolve host names to IP - addresses. While vlmcsd(8) works perfectly without DNS servers, - you must use IP addresses when referring to a host, e.g. for - specifying an NTP server. This paramater is ignored, if you used - IPV4_CONFIG=DHCP. - - - IPV4_DNS2=ipv4-address | NONE - Use ipv4-address as the secondary name server. It serves as a - backup if the primary name server is not available. Home net- - works often don't have a secondary name server. In this case set - this to NONE. This paramater is ignored, if you used IPV4_CON- - FIG=DHCP. - - - NTP_SERVER=host-name | ipv4-address | NONE - This sets the name of a time server using the NTP protocol. If - your virtualization environment reliably provides time, you can - set this to NONE. Don't use a public time service like - pool.ntp.org or time.nist.gov if you have a (at least somewhat - reliable) NTP server in your LAN. - - - HOST_NAME=host-name - Sets the local host name for your virtual machine. It can be a - single name or a fully-qualified domain name FQDN. If you used - IPV4_CONFIG=DHCP and your DHCP server returns a domain name, the - domain part of an FQDN will be replaced by that name. This host - name or host part of an FQDN will not replaced by a host name - returned via DHCP. The host name is not important for the opera- - tion of floppy144.vfd. - - - ROOT_PASSWORD=password - Sets the password of the root user. - - - USER_NAME=username - Sets the name of for a general user with no special privileges. - This user can login but can't do much. - - - USER_PASSWORD=password - Sets the password for the user defined by USER_NAME=username. - - - GUEST_PASSWORD=password - Sets the password for the pre-defined guest user. This user has - the same priviliges (none) as the user defined by - USER_NAME=username. - - - INETD=Y | N - INETD=Y specifies that inetd(8) should automatically be started. - That means you can telnet and ftp to your virtual machine. - - - VLMCSD_EXTRA_ARGS=comma-seperated-argument-list - Allows you to specify additional command line options that will - be passed to vlmcsd(8). Instead of spaces you use commas between - arguments. Example: VLMCSD_EXTRA_ARGS=-c1,-K3,-M1 - - -OPERATION - Diskless System - The floppy144.vfd virtual machine is a diskless system that works - entirely from RAM. The file system is actually a RAM disk that is cre- - ated from the initrd(4) file on the floppy image. - - Anything you'll do from inside the virtual machine, for instance edit- - ing a config file, will be lost when you reboot the machine. So, if you - ever asked yourself if rm -fr / (root privileges required) really - deletes all files from all mounted partitions, the floppy144.vfd VM is - the right place to test it (Yes, it does). - - The VM uses a RAM disk, because the Linux kernel had to be stripped - down to essential features to fit on a 1.44 MB floppy. It has no floppy - driver, no disk file system drivers and no block layer (cannot use - disks of any type). - - - System startup - The kernel boots up very quickly and the init script (/sbin/init) waits - 5 seconds. In these 5 seconds you can: - - Press 'm' to manually enter the time zone and the IPv4 parame- - ters. These will be queried interactively. - Press 't' to manually enter the time zone only. - Press 's' to escape to a shell. - - If you don't want to 5 seconds for continuing the init process, you can - press any other key to speed things up. At the end of the init script - you should see thatvlmcsd(8) has started. You should also see the IP - addresses and all user names and passwords. - - - Logging into the system - There are 5 local logins provided on /dev/tty2 to /dev/tty6. To switch - to these logins, simply press ALT-F2 to ALT-F6. To return to the con- - sole on /dev/tty1, press ALT-F1. If inetd(8) is running you can also - use telnet(1). This allows you use a terminal program (e.g. putty) that - can utilize your keyboard layout, can be resized and has full UTF-8 - support. The local terminals support US keyboard layout only. Please be - aware that telnet(1) is unencrypted and everything including passwords - is transmitted in clear text. There is not enough space for an ssh - server like sshd(8) or dropbear(8). - - The floppy image only provides basic Unix commands. Type busybox or ll - /bin to get a list. The only editor available is vi(1). If you don't - like vi, you may transfer config files via ftp(1) edit them with the - editor of your choice and transfer them back to the floppy144.vfd VM. - - - The menu system - You'll find a menu system on /dev/tty8 (press ALT-F8 to see it). It - allows you performing some administrative tasks and to view various - system information. It is mainly for users that do not have much expe- - rience with Unix commands. - - - 1) (Re)start vlmcsd - Starts or restarts vlmcsd(8). This is useful if you changed - /etc/vlmcsd.ini(5). - - - 2) Stop vlmcsd - Stops vlmcsd(8). - - - 3) (Re)start inetd - Starts or restarts inetd(8). If inetd(8) is restarted, current - clients connected via telnet(1) or ftp(1) will not be dropped. - They can continue their sessions. This is useful if you changed - /etc/inetd.conf(5). - - - 4) Stop inet - Stops inetd(8). All clients connected via telnet(1) or ftp(1) - will be dropped immediately. - - - 5) Change the time zone - Just in case you missed pressing 't' during system startup. This - also restarts vlmcsd(8) if it was running to notify it that the - time zone has changed. Restarting vlmcsd(8) allows currently - connected clients to finish their activation. - - - k) Change keyboard layout - This allows you to select a different keyboard layout. - - - 6) Show all kernel boot parameters - Shows all parameters passed to the kernel via syslinux.cfg. If - you experience any unexpected behavior, you can use this to - check if your APPEND line in syslinux.cfg is correct. The output - is piped through less(1). So press 'q' to return to the menu. - - - 7) Show boot log (dmesg) - Shows the boot log of the kernel. The output is piped through - less(1). So press 'q' to return to the menu. - - - 8) Show TCP/IP configuration - Shows the TCP/IP configuration, listening sockets and current - TCP and UDP connections. Useful, if you problems with net con- - nectivity. The output is piped through less(1). So press 'q' to - return to the menu. - - - 9) Show running processes - Shows all processes including memory and CPU usage. Display will - updated every second. Press 'q' or CTRL-C to return to the menu. - - - s) Shutdown - Shuts down the floppy144.vfd virtual machine. Proper shutdown is - not required. It is ok to use a hard power off in your virtual- - ization program. - - - r) Reboot - Reboots the floppy144.vfd virtual machine. Proper reboot is not - required. It is ok to use a hard reset in your virtualization - program. - - -PERMANENT CHANGES OF INITRD - If you want to change any file or script of the file system (e.g. the - init script /sbin/init or /etc/vlmcsd.ini), you'll need to mount the - floppy image, unpack the initrd(4) file, make any modfications you - like, create a new initrd(4) file and copy it to the mounted floppy. - - To unpack the initrd(4) file you'll need xz(1) (or lzma(1) on older - unix-like OSses) and cpio(1). These can be installed using your package - manager on all major distros. It is ok to use the BSD version of - cpio(1). No need to get the GNU version for BSD users. Provided the - floppy is mounted in /mnt/floppy do the following: - - Create an empty directory - mkdir ~/vlmcsd-floppy-initrd - - cd into that directory - cd ~/vlmcsd-floppy-initrd - - Unpack initrd - cat /mnt/floppy/initrd | unlzma | cpio -i - - After applying your changes build a new initrd(4) file: - - - cd into your directory - cd ~/vlmcsd-floppy-initrd - - Create the packed file - find . | cpio -o -H newc | lzma > /mnt/floppy/initrd - - Do not try to use 'lzma -9' to achive better compression. The kernel - can't read the resulting file. While customizing the initrd(4) file - works on almost any unix-like OS, it does not work on Windows even not - with Cygwin. The reason is that the NTFS file system can't handle uids - and gids. These cannot be preserved when unpacking the cpio(1) archive - to NTFS. If you use the WSL subsystem of Windows 10 Redstone (Anniver- - sary Update) and later, you must make sure to unpack the initrd(4) file - to a directory on VolFs (normally everything that is not mounted under - /mnt). The initrd(4) file can be on a VolFs or DriveFs. - - -FAQ - On what distro is the floppy image based? - None. Besides the boot loader ldlinux.sys, there are only three bina- - ries: The Linux kernel bzImage, busybox(1) and vlmcsdmulti-x86-musl- - static. bzImage and busybox(1) have been compiled with carefully - selected configuration parameters not found in any distro. This was - neccesary to fit everything on a 1.44 MB floppy. - - - Why is a rather old Linux kernel (3.12) used? - Linux 3.12 is the last kernel that can be booted with 16 MB of RAM. - Beginning with Linux 3.13 it requires much more memory (about 80 MB) to - boot. The floppy image is regularly tested with newer kernels. Every- - thing works except that you need to assign much more main memory to the - virtual machine. - - - Can the floppy be booted on bare metal? - Basically yes. However, only Intel Pro/1000 and AMD PCNET32 ethernet - cards are supported by the kernel. In addition there is no USB support - compiled into the kernel. That means you can only use an IBM AT or IBM - PS/2 keyboard which are not available on newer hardware. - - -FILES - syslinux.cfg, vlmcsd.ini(5) - - -BUGS - IPv6 cannot be configured with static or manual parameters. - DHCPv6 is not supported. - 'ip route add ...' does not work. Use 'route add ...' instead. - - -AUTHOR - floppy144.vfd has been created by Hotbird64 - - -CREDITS - Linus Torvalds et al. for the Linux kernel - Erik Andersen et al. for the original uClibc - Waldemar Brodkorb et al. for uClibc-ng - Denys Vlasenko et al. for BusyBox - H. Peter Anvin et al. for SYSLINUX - - -SEE ALSO - vlmcsd(8), vlmcsd.ini(5), initrd(4), busybox(1), syslinux(1) - - - -Hotbird64 February 2019 VLMCSD-FLOPPY(7) diff --git a/vlmcsd-1113/man/vlmcsd.7.dos.txt b/vlmcsd-1113/man/vlmcsd.7.dos.txt deleted file mode 100644 index 45637f2..0000000 --- a/vlmcsd-1113/man/vlmcsd.7.dos.txt +++ /dev/null @@ -1,226 +0,0 @@ -VLMCSD(7) KMS Activation Manual VLMCSD(7) - - - -NAME - vlmcsd - a guide to KMS activation using vlmcsd - - -SYNOPSIS - vlmcsd [ options ] - - -DESCRIPTION - This manual describes the concepts of Microsoft KMS activation using - vlmcsd. For detailed usage of vlmcsd see vlmcsd(8). - - - What is KMS? - KMS is a way to activate Microsoft products that was designed for - medium and large businesses. In a standard SOHO environment you enter a - product key during installation and then activate your product over the - Internet. This is done by sending a request to a server at micro- - soft.com which then either grants or refuses activation. - - By entering a special key called General Volume License Key (GVLK), - a.k.a "KMS client key", the product no longer asks the Microsoft server - for activation but a user-defined server (called the KMS server) which - usually resides in a company's intranet. vlmcsd is an independent open - source implementation of a KMS server that is available for everyone - while Microsoft gives their KMS server only to corporations that signed - a so called "Select contract". In addition vlmcsd never refuses activa- - tion while the Microsoft KMS server only activates the products the - customer has paid for. - - Product activation using vlmcsd is performed in three easy steps: - - 1) Run vlmcsd (or any other KMS emulator) on a computer in your net- - work. This will be your KMS server. New users should simply run the - program without any parameters. The defaults should fit the needs of - most users. - - 2) Install your product and enter the GVLK when you are asked for a key - - 3) Configure your client (the machine where you installed your product) - to use your KMS server. - - However, when it comes to the details, some things turn out to be more - difficult than you might think. - - The most important thing to know is that KMS activation is not perma- - nent. The computer remains activated for 180 days (30 or 45 days with - consumer-only products). KMS activation however is not an evaluation - license. You can repeat the activation anytime and as often as you like - to extend activation to another 180 days. This normally happens auto- - matically. For this to work, you have to ensure that a KMS server is - always reachable for the clients on your network. - - Beginning with Windows 8.1 the KMS server must be a different computer - than the client. You cannot use vlmcsd on the same computer where you - want to activate a product. If you have only one computer, you can run - vlmcsd in a virtual machine. vlmcsd is also designed to run on "always- - on devices", for example a router. The router becomes your KMS server - then. - - - How to get a GVLK? - That is relatively simple. The GVLKs are published on Microsoft's Tech- - net web site. - - Windows: http://technet.microsoft.com/en-us/library/jj612867.aspx - Office 2010: http://technet.microsoft.com/en- - us/library/ee624355(v=office.14).aspx#section2_3 - Office 2013: http://technet.microsoft.com/en-us/library/dn385360.aspx - - These lists only include products that Microsoft sells to corporations - via volume license contracts. For Windows there are inofficial GVLKs - that work with consumer-only versions of Windows. Here is a list: - - TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 - Windows 10 Home - 3KHY7-WNT83-DGQKR-F7HPR-844BM - Windows 10 Home N - 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH - Windows 10 Home Single Language - PVMJN-6DFY6-9CCP6-7BKTT-D3WVR - Windows 10 Home Country Specific - 789NJ-TQK6T-6XTH8-J39CJ-J8D3P - Windows 8.1 Professional with Media - Center - M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK - Windows 8.1 Core - 7B9N3-D94CG-YTVHR-QBPX3-RJP64 - Windows 8.1 Core N - BB6NG-PQ82V-VRDPW-8XVD2-V8P66 - Windows 8.1 Core Single Language - NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 - Windows 8.1 Core Country Specific - GNBB8-YVD74-QJHX6-27H4K-8QHDG - Windows 8 Professional with Media Cen- - ter - BN3D2-R7TKB-3YPBD-8DRP2-27GG4 - Windows 8 Core - 8N2M2-HWPGY-7PGT9-HGDD8-GVGGY - Windows 8 Core N - 2WN2H-YGCQR-KFX6K-CD6TF-84YXQ - Windows 8 Core Single Language - 4K36P-JN4VD-GDC6V-KDT89-DYFKP - Windows 8 Core Country Specific - - The above keys require activation renewal every 45 days (Win 8.1) or 30 - days (Win 8). All GVLKs from the Microsoft Technet web site require - renewal every 180 days. - - - What are SLMGR and OSPP and how to use them? - You will need these utilities later. So please continue reading this - section. - - These are two Visual Basic script utilities that are used to control - Microsoft's Software Protection system. To use them open a Windows Com- - mand Prompt. slmgr.vbs is for Windows. ospp.vbs is for Office 2010 and - 2013. These utilities are installed with Windows and Office and you - don't need to download them. - - slmgr.vbs resides in the system32 directory. So you just have to type - "slmgr" in the Windows Command prompt to use it. To use ospp.vbs you'll - have to change the current directory to your Office installation. This - is usually something like "C:\Program Files\Microsoft Office\Office14". - You may type "slmgr" or "cscript ospp.vbs" without parameters to see - help for these commands but this produces some rather confusing output - for newbies. - - - How to get the GVLK into the product? - Normally every product asks you to enter a key during installation. At - this time simply enter the GVLK. If you skipped this step or entered - some other key which later turned out to be non-working, you can use - "slmgr /ipk GVLK" (Windows) or "cscript ospp.vbs /inpkey:GVLK" (Office) - at any time. - - Examples - slmgr /ipk GCRJD-8NW9H-F2CDX-CCM8D-9D6T9 - cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT - - - Why doesn't Office accpet a GVLK? - You'll have to install a volume license (VL) version of Office. Office - versions downloaded from MSDN and/or Technet are non-VL. - - - How to configure a client to use a KMS server? - After you have installed a GVLK you can set your product to use your - KMS server. vlmcsd or another KMS server must already be running on - your server machine. - - Windows - - Type "slmgr /skms kms-server[:tcp-port]". Example: - "slmgr /skms 192.168.1.17:1688" - - - Office - - 1) Type "cscript ospp.vbs /sethst:kms-server". Example "cscript - ospp.vbs /sethst:192.168.1.17" - - 2) Type "cscript ospp.vbs /setprt:tcp-port". Example: cscript - ospp.vbs /setprt:1688 - - tcp-port is usually 1688 unless you instructed vlmcsd to use a differ- - ent port which is rarely necessary. - - - How to activate my product? - If you have installed a product with GVLK and pointed it to working KMS - server like vlmcsd, activation occurs automatically. This may take a - while. - - You may type - slmgr /ato - -or- - cscript ospp.vbs /act - - at any time to speed up that process. You may repeat these commands - later to extend your activation for another 180 (45) days. - - - Does vlmcsd work correctly? - If something does not work, it may have the cause that vlmcsd does not - work correctly although this is unlikely. You can test this with the - KMS client vlmcs(1). First type "vlmcs" on the same machine where you - started vlmcsd. If things are ok, you should see something like this: - - Connecting to 127.0.0.1:1688 ... successful - Sending activation request (KMS V4) 1 of 1 -> - 06401-00206-296-206344-03-5179-9600.0000-3432013 - - If anything goes wrong, you'll see an error message. Next try "vlmcs - kms-server" from another machine where kms-server is the hostname or IP - address of your KMS server. If that fails while it works locally, - you'll most likely have to configure your firewall that it accepts - incoming connections on TCP port 1688. - - - Is there an easier way than using OSPP and SLMGR? - Yes and no. KMS activation was designed for large corporations. Thus - Microsoft designed KMS in a way that corporations can configure their - network infrastructure to fully automate KMS activation. Since this - involves DHCP and DNS, it is not that easy to accomplish that for home - users. However, if you are using an open source router firmware like - OpenWRT or DD-WRT, it is easy to customize DHCP and DNS. - - 1) Configure DHCP that it assigns a DNS domain name to your clients (if - it doesn't already), e.g. my-home-net.local - - 2) Create zone my-home-net.local in your DNS server (if it doesn't - exist already). - - 3) Add the following records to your DNS - - _vlmcs._tcp.my-home-net.local. 10800 IN SRV 100 100 kms1.my-home- - net.local. - kms1.my-home-net.local. 10800 IN A 192.168.1.17 - - Replace 192.168.1.17 with the IP address of your KMS server. If you - don't like a cache time of 10800 seconds (3 hours), replace it with - another number. - - This causes that clients will find the KMS server automatically. - - -AUTHOR - This manual page was written by Hotbird64. - -SEE ALSO - vlmcsd(8), vlmcs(1) - - - -Hotbird64 March 2016 VLMCSD(7) diff --git a/vlmcsd-1113/man/vlmcsd.7.html b/vlmcsd-1113/man/vlmcsd.7.html deleted file mode 100644 index 9638790..0000000 --- a/vlmcsd-1113/man/vlmcsd.7.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - - - - - - -VLMCSD - - - - -

VLMCSD

- -
NAME
-SYNOPSIS
-DESCRIPTION
-AUTHOR
-SEE ALSO
- -
- - -

NAME - -

- - - -

vlmcsd - a -guide to KMS activation using vlmcsd

- -

SYNOPSIS - -

- - -

vlmcsd [ -options ]

- -

DESCRIPTION - -

- - -

This manual -describes the concepts of Microsoft KMS activation using -vlmcsd. For detailed usage of vlmcsd see -vlmcsd(8).

- -

What is -KMS?
-KMS is a way to activate Microsoft products that was -designed for medium and large businesses. In a standard SOHO -environment you enter a product key during installation and -then activate your product over the Internet. This is done -by sending a request to a server at microsoft.com which then -either grants or refuses activation.

- -

By entering a -special key called General Volume License Key (GVLK), -a.k.a "KMS client key", the product no longer asks -the Microsoft server for activation but a user-defined -server (called the KMS server) which usually resides in a -company’s intranet. vlmcsd is an independent -open source implementation of a KMS server that is available -for everyone while Microsoft gives their KMS server only to -corporations that signed a so called "Select -contract". In addition vlmcsd never refuses -activation while the Microsoft KMS server only activates the -products the customer has paid for.

- -

Product -activation using vlmcsd is performed in three easy -steps:

- - - - - - - - - - - - - - - - - -
- - -

1)

- - -

Run vlmcsd (or any other KMS emulator) on a -computer in your network. This will be your KMS server. New -users should simply run the program without any parameters. -The defaults should fit the needs of most users.

- - -

2)

- - -

Install your product and enter the GVLK when you are -asked for a key

- - -

3)

- - -

Configure your client (the machine where you installed -your product) to use your KMS server.

- -

However, when -it comes to the details, some things turn out to be more -difficult than you might think.

- -

The most -important thing to know is that KMS activation is not -permanent. The computer remains activated for 180 days (30 -or 45 days with consumer-only products). KMS activation -however is not an evaluation license. You can repeat the -activation anytime and as often as you like to extend -activation to another 180 days. This normally happens -automatically. For this to work, you have to ensure that a -KMS server is always reachable for the clients on your -network.

- -

Beginning with -Windows 8.1 the KMS server must be a different computer than -the client. You cannot use vlmcsd on the same -computer where you want to activate a product. If you have -only one computer, you can run vlmcsd in a virtual -machine. vlmcsd is also designed to run on -"always-on devices", for example a router. The -router becomes your KMS server then.

- -

How to get a -GVLK?
-That is relatively simple. The GVLKs are published on -Microsoft’s Technet web site.

- -

Windows: -http://technet.microsoft.com/en-us/library/jj612867.aspx -
-Office 2010: -http://technet.microsoft.com/en-us/library/ee624355(v=office.14).aspx#section2_3 -
-Office 2013: -http://technet.microsoft.com/en-us/library/dn385360.aspx

- -

These lists -only include products that Microsoft sells to corporations -via volume license contracts. For Windows there are -inofficial GVLKs that work with consumer-only versions of -Windows. Here is a list:

- - -

TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 -- Windows 10 Home
-3KHY7-WNT83-DGQKR-F7HPR-844BM - Windows 10 Home N
-7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH - Windows 10 Home Single -Language
-PVMJN-6DFY6-9CCP6-7BKTT-D3WVR - Windows 10 Home Country -Specific
-789NJ-TQK6T-6XTH8-J39CJ-J8D3P - Windows 8.1 Professional -with Media Center
-M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK - Windows 8.1 Core
-7B9N3-D94CG-YTVHR-QBPX3-RJP64 - Windows 8.1 Core N
-BB6NG-PQ82V-VRDPW-8XVD2-V8P66 - Windows 8.1 Core Single -Language
-NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 - Windows 8.1 Core Country -Specific
-GNBB8-YVD74-QJHX6-27H4K-8QHDG - Windows 8 Professional with -Media Center
-BN3D2-R7TKB-3YPBD-8DRP2-27GG4 - Windows 8 Core
-8N2M2-HWPGY-7PGT9-HGDD8-GVGGY - Windows 8 Core N
-2WN2H-YGCQR-KFX6K-CD6TF-84YXQ - Windows 8 Core Single -Language
-4K36P-JN4VD-GDC6V-KDT89-DYFKP - Windows 8 Core Country -Specific

- -

The above keys -require activation renewal every 45 days (Win 8.1) or 30 -days (Win 8). All GVLKs from the Microsoft Technet web site -require renewal every 180 days.

- -

What are -SLMGR and OSPP and how to use them?
-You will need these utilities later. So please continue -reading this section.

- -

These are two -Visual Basic script utilities that are used to control -Microsoft’s Software Protection system. To use them -open a Windows Command Prompt. slmgr.vbs is for Windows. -ospp.vbs is for Office 2010 and 2013. These utilities are -installed with Windows and Office and you don’t need -to download them.

- -

slmgr.vbs -resides in the system32 directory. So you just have to type -"slmgr" in the Windows Command prompt to use it. -To use ospp.vbs you’ll have to change the current -directory to your Office installation. This is usually -something like -"C:\Program Files\Microsoft Office\Office14". -You may type "slmgr" or "cscript -ospp.vbs" without parameters to see help for these -commands but this produces some rather confusing output for -newbies.

- -

How to get -the GVLK into the product?
-Normally every product asks you to enter a key during -installation. At this time simply enter the GVLK. If you -skipped this step or entered some other key which later -turned out to be non-working, you can use -"slmgr /ipk GVLK" (Windows) or -"cscript ospp.vbs /inpkey:GVLK" -(Office) at any time.
-Examples

- -

slmgr /ipk -GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
-cscript -ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT

- -

Why -doesn’t Office accpet a GVLK?
-You’ll have to install a volume license (VL) version -of Office. Office versions downloaded from MSDN and/or -Technet are non-VL.

- -

How to -configure a client to use a KMS server?
-After you have installed a GVLK you can set your product to -use your KMS server. vlmcsd or another KMS server -must already be running on your server machine.
-Windows

- -

Type -"slmgr /skms kms-server[:tcp-port]". -Example: "slmgr /skms 192.168.1.17:1688" -
-Office

- - - - - - - - - - - - -
- - -

1)

- - -

Type "cscript -ospp.vbs /sethst:kms-server". Example -"cscript ospp.vbs /sethst:192.168.1.17"

- - -

2)

- - -

Type "cscript -ospp.vbs /setprt:tcp-port". Example: -cscript ospp.vbs /setprt:1688

- - -

tcp-port -is usually 1688 unless you instructed vlmcsd to use a -different port which is rarely necessary.

- -

How to -activate my product?
-If you have installed a product with GVLK and pointed it to -working KMS server like vlmcsd, activation occurs -automatically. This may take a while.
-You may type

- -

slmgr /ato
--or-
-cscript ospp.vbs /act

- -

at any time to -speed up that process. You may repeat these commands later -to extend your activation for another 180 (45) days.

- -

Does vlmcsd -work correctly?
-If something does not work, it may have the cause that -vlmcsd does not work correctly although this is unlikely. -You can test this with the KMS client vlmcs(1). First -type "vlmcs" on the same machine where you started -vlmcsd. If things are ok, you should see something -like this:

- -

Connecting to -127.0.0.1:1688 ... successful
- -Sending activation request (KMS V4) 1 of 1 -> -06401-00206-296-206344-03-5179-9600.0000-3432013

- -

If anything -goes wrong, you’ll see an error message. Next try -"vlmcs kms-server" from another machine -where kms-server is the hostname or IP address of -your KMS server. If that fails while it works locally, -you’ll most likely have to configure your firewall -that it accepts incoming connections on TCP port 1688.

- -

Is there an -easier way than using OSPP and SLMGR?
-Yes and no. KMS activation was designed for large -corporations. Thus Microsoft designed KMS in a way that -corporations can configure their network infrastructure to -fully automate KMS activation. Since this involves DHCP and -DNS, it is not that easy to accomplish that for home users. -However, if you are using an open source router firmware -like OpenWRT or DD-WRT, it is easy to customize DHCP and -DNS.

- - - - - - - - - - - - - - - - - -
- - -

1)

- - -

Configure DHCP that it assigns a DNS domain name to your -clients (if it doesn’t already), e.g. -my-home-net.local

- - -

2)

- - -

Create zone my-home-net.local in your DNS server (if it -doesn’t exist already).

- - -

3)

- - -

Add the following records to your DNS

- - -

_vlmcs._tcp.my-home-net.local. -10800 IN SRV 100 100 kms1.my-home-net.local.
-kms1.my-home-net.local. 10800 IN A 192.168.1.17

- -

Replace -192.168.1.17 with the IP address of your KMS server. If you -don’t like a cache time of 10800 seconds (3 hours), -replace it with another number.

- -

This causes -that clients will find the KMS server automatically.

- -

AUTHOR - -

- - -

This manual -page was written by Hotbird64.

- -

SEE ALSO - -

- - - -

vlmcsd(8), -vlmcs(1)

-
- - diff --git a/vlmcsd-1113/man/vlmcsd.7.pdf b/vlmcsd-1113/man/vlmcsd.7.pdf deleted file mode 100644 index 5c42cfaf3bd34957818b655f52b0a8ee59e0138a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17301 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 diff --git a/vlmcsd-1113/man/vlmcsd.7.unix.txt b/vlmcsd-1113/man/vlmcsd.7.unix.txt deleted file mode 100644 index 5a00340..0000000 --- a/vlmcsd-1113/man/vlmcsd.7.unix.txt +++ /dev/null @@ -1,226 +0,0 @@ -VLMCSD(7) KMS Activation Manual VLMCSD(7) - - - -NAME - vlmcsd - a guide to KMS activation using vlmcsd - - -SYNOPSIS - vlmcsd [ options ] - - -DESCRIPTION - This manual describes the concepts of Microsoft KMS activation using - vlmcsd. For detailed usage of vlmcsd see vlmcsd(8). - - - What is KMS? - KMS is a way to activate Microsoft products that was designed for - medium and large businesses. In a standard SOHO environment you enter a - product key during installation and then activate your product over the - Internet. This is done by sending a request to a server at micro- - soft.com which then either grants or refuses activation. - - By entering a special key called General Volume License Key (GVLK), - a.k.a "KMS client key", the product no longer asks the Microsoft server - for activation but a user-defined server (called the KMS server) which - usually resides in a company's intranet. vlmcsd is an independent open - source implementation of a KMS server that is available for everyone - while Microsoft gives their KMS server only to corporations that signed - a so called "Select contract". In addition vlmcsd never refuses activa- - tion while the Microsoft KMS server only activates the products the - customer has paid for. - - Product activation using vlmcsd is performed in three easy steps: - - 1) Run vlmcsd (or any other KMS emulator) on a computer in your net- - work. This will be your KMS server. New users should simply run the - program without any parameters. The defaults should fit the needs of - most users. - - 2) Install your product and enter the GVLK when you are asked for a key - - 3) Configure your client (the machine where you installed your product) - to use your KMS server. - - However, when it comes to the details, some things turn out to be more - difficult than you might think. - - The most important thing to know is that KMS activation is not perma- - nent. The computer remains activated for 180 days (30 or 45 days with - consumer-only products). KMS activation however is not an evaluation - license. You can repeat the activation anytime and as often as you like - to extend activation to another 180 days. This normally happens auto- - matically. For this to work, you have to ensure that a KMS server is - always reachable for the clients on your network. - - Beginning with Windows 8.1 the KMS server must be a different computer - than the client. You cannot use vlmcsd on the same computer where you - want to activate a product. If you have only one computer, you can run - vlmcsd in a virtual machine. vlmcsd is also designed to run on "always- - on devices", for example a router. The router becomes your KMS server - then. - - - How to get a GVLK? - That is relatively simple. The GVLKs are published on Microsoft's Tech- - net web site. - - Windows: http://technet.microsoft.com/en-us/library/jj612867.aspx - Office 2010: http://technet.microsoft.com/en- - us/library/ee624355(v=office.14).aspx#section2_3 - Office 2013: http://technet.microsoft.com/en-us/library/dn385360.aspx - - These lists only include products that Microsoft sells to corporations - via volume license contracts. For Windows there are inofficial GVLKs - that work with consumer-only versions of Windows. Here is a list: - - TX9XD-98N7V-6WMQ6-BX7FG-H8Q99 - Windows 10 Home - 3KHY7-WNT83-DGQKR-F7HPR-844BM - Windows 10 Home N - 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH - Windows 10 Home Single Language - PVMJN-6DFY6-9CCP6-7BKTT-D3WVR - Windows 10 Home Country Specific - 789NJ-TQK6T-6XTH8-J39CJ-J8D3P - Windows 8.1 Professional with Media - Center - M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK - Windows 8.1 Core - 7B9N3-D94CG-YTVHR-QBPX3-RJP64 - Windows 8.1 Core N - BB6NG-PQ82V-VRDPW-8XVD2-V8P66 - Windows 8.1 Core Single Language - NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3 - Windows 8.1 Core Country Specific - GNBB8-YVD74-QJHX6-27H4K-8QHDG - Windows 8 Professional with Media Cen- - ter - BN3D2-R7TKB-3YPBD-8DRP2-27GG4 - Windows 8 Core - 8N2M2-HWPGY-7PGT9-HGDD8-GVGGY - Windows 8 Core N - 2WN2H-YGCQR-KFX6K-CD6TF-84YXQ - Windows 8 Core Single Language - 4K36P-JN4VD-GDC6V-KDT89-DYFKP - Windows 8 Core Country Specific - - The above keys require activation renewal every 45 days (Win 8.1) or 30 - days (Win 8). All GVLKs from the Microsoft Technet web site require - renewal every 180 days. - - - What are SLMGR and OSPP and how to use them? - You will need these utilities later. So please continue reading this - section. - - These are two Visual Basic script utilities that are used to control - Microsoft's Software Protection system. To use them open a Windows Com- - mand Prompt. slmgr.vbs is for Windows. ospp.vbs is for Office 2010 and - 2013. These utilities are installed with Windows and Office and you - don't need to download them. - - slmgr.vbs resides in the system32 directory. So you just have to type - "slmgr" in the Windows Command prompt to use it. To use ospp.vbs you'll - have to change the current directory to your Office installation. This - is usually something like "C:\Program Files\Microsoft Office\Office14". - You may type "slmgr" or "cscript ospp.vbs" without parameters to see - help for these commands but this produces some rather confusing output - for newbies. - - - How to get the GVLK into the product? - Normally every product asks you to enter a key during installation. At - this time simply enter the GVLK. If you skipped this step or entered - some other key which later turned out to be non-working, you can use - "slmgr /ipk GVLK" (Windows) or "cscript ospp.vbs /inpkey:GVLK" (Office) - at any time. - - Examples - slmgr /ipk GCRJD-8NW9H-F2CDX-CCM8D-9D6T9 - cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT - - - Why doesn't Office accpet a GVLK? - You'll have to install a volume license (VL) version of Office. Office - versions downloaded from MSDN and/or Technet are non-VL. - - - How to configure a client to use a KMS server? - After you have installed a GVLK you can set your product to use your - KMS server. vlmcsd or another KMS server must already be running on - your server machine. - - Windows - - Type "slmgr /skms kms-server[:tcp-port]". Example: - "slmgr /skms 192.168.1.17:1688" - - - Office - - 1) Type "cscript ospp.vbs /sethst:kms-server". Example "cscript - ospp.vbs /sethst:192.168.1.17" - - 2) Type "cscript ospp.vbs /setprt:tcp-port". Example: cscript - ospp.vbs /setprt:1688 - - tcp-port is usually 1688 unless you instructed vlmcsd to use a differ- - ent port which is rarely necessary. - - - How to activate my product? - If you have installed a product with GVLK and pointed it to working KMS - server like vlmcsd, activation occurs automatically. This may take a - while. - - You may type - slmgr /ato - -or- - cscript ospp.vbs /act - - at any time to speed up that process. You may repeat these commands - later to extend your activation for another 180 (45) days. - - - Does vlmcsd work correctly? - If something does not work, it may have the cause that vlmcsd does not - work correctly although this is unlikely. You can test this with the - KMS client vlmcs(1). First type "vlmcs" on the same machine where you - started vlmcsd. If things are ok, you should see something like this: - - Connecting to 127.0.0.1:1688 ... successful - Sending activation request (KMS V4) 1 of 1 -> - 06401-00206-296-206344-03-5179-9600.0000-3432013 - - If anything goes wrong, you'll see an error message. Next try "vlmcs - kms-server" from another machine where kms-server is the hostname or IP - address of your KMS server. If that fails while it works locally, - you'll most likely have to configure your firewall that it accepts - incoming connections on TCP port 1688. - - - Is there an easier way than using OSPP and SLMGR? - Yes and no. KMS activation was designed for large corporations. Thus - Microsoft designed KMS in a way that corporations can configure their - network infrastructure to fully automate KMS activation. Since this - involves DHCP and DNS, it is not that easy to accomplish that for home - users. However, if you are using an open source router firmware like - OpenWRT or DD-WRT, it is easy to customize DHCP and DNS. - - 1) Configure DHCP that it assigns a DNS domain name to your clients (if - it doesn't already), e.g. my-home-net.local - - 2) Create zone my-home-net.local in your DNS server (if it doesn't - exist already). - - 3) Add the following records to your DNS - - _vlmcs._tcp.my-home-net.local. 10800 IN SRV 100 100 kms1.my-home- - net.local. - kms1.my-home-net.local. 10800 IN A 192.168.1.17 - - Replace 192.168.1.17 with the IP address of your KMS server. If you - don't like a cache time of 10800 seconds (3 hours), replace it with - another number. - - This causes that clients will find the KMS server automatically. - - -AUTHOR - This manual page was written by Hotbird64. - -SEE ALSO - vlmcsd(8), vlmcs(1) - - - -Hotbird64 March 2016 VLMCSD(7) diff --git a/vlmcsd-1113/man/vlmcsd.8.dos.txt b/vlmcsd-1113/man/vlmcsd.8.dos.txt deleted file mode 100644 index d7d183e..0000000 --- a/vlmcsd-1113/man/vlmcsd.8.dos.txt +++ /dev/null @@ -1,785 +0,0 @@ -VLMCSD(8) KMS Activation Manual VLMCSD(8) - - - -NAME - vlmcsd - a fully Microsoft compatible KMS server - - -SYNOPSIS - vlmcsd [ options ] - - -DESCRIPTION - vlmcsd is a fully Microsoft compatible KMS server that provides product - activation services to clients. It is meant as a drop-in replacement - for a Microsoft KMS server (Windows computer with KMS key entered). It - currently supports KMS protocol versions 4, 5 and 6. - - vlmcsd is designed to run on POSIX compatible operating systens. It - only requires a basic C library with a BSD-style sockets API and either - fork(2) or pthreads(7). That allows it to run on most embedded systems - like routers, NASes, mobile phones, tablets, TVs, settop boxes, etc. - Some efforts have been made that it also runs on Windows. - - Although vlmcsd does neither require an activation key nor a payment to - anyone, it is not meant to run illegal copies of Windows. Its purpose - is to ensure that owners of legal copies can use their software without - restrictions, e.g. if you buy a new computer or motherboard and your - key will be refused activation from Microsoft servers due to hardware - changes. - - vlmcsd may be started via an internet superserver like inetd(8) or - xinetd(8) as well as an advanced init system like systemd(8) or - launchd(8) using socket based activation. If vlmcsd detects that - stdin(3) is a socket, it assumes that there is already a connected - client on stdin that wants to be activated. - - All options that control setting up listening sockets will be ignored - when in inetd mode. The sockets will be set up by your internet super- - server. You also cannot limit the number of simultanous clients (option - -m). You need to configure the limit in your internet superserver. - - The followong features that require that vlmcsd is permanently loaded - will not work if started from an internet superserver: - - - You cannot maintain a client list (option -M1) - - - EPID Randomization Level 1 (option -r1) works like Level 2 - (-r2). You may want to use Level 0 (-r0) or custom EPIDs - (options -w, -G, -0, -3 and -6) instead. - - -OPTIONS - Since vlmcsd can be configured at compile time, some options may not be - available on your system. - - All options that do no require an argument may be combined with a sin- - gle dash, for instance "vlmcsd -D -e" is identical to "vlmcsd -De". For - all options that require an argument a space between the option and the - option argument is optional. Thus "vlmcsd -r 2" and "vlmcsd -r2" are - identical too. - - - -h or -? - Displays help. - - - -V Displays extended version information. This includes the com- - piler used to build vlmcsd, the intended platform and flags - (compile time options) to build vlmcsd. If you have the source - code of vlmcsd, you can type make help (or gmake help on systems - that do not use the GNU version of make(1) by default) to see - the meaning of those flags. - - - -L ipaddress[:port] - Instructs vlmcsd to listen on ipaddress with optional port - (default 1688). You can use this option more than once. If you - do not specify -L at least once, IP addresses 0.0.0.0 (IPv4) and - :: (IPv6) are used. If the IP address contains colons (IPv6) you - must enclose the IP address in brackets if you specify the - optional port, e.g. [2001:db8::dead:beef]:1688. - - If no port is specified, vlmcsd uses the default port according - to a preceding -P option. If you specify a port, it can be a - number (1-65535) or a name (usually found in /etc/services if - not provided via LDAP, NIS+ or another name service). - - If you specify a link local IPv6 address (fe80::/10, usually - starting with fe80::), it must be followed by a percent sign (%) - and a scope id (=network interface name or number) on most - unixoid OSses including Linux, Android, MacOS X and iOS, e.g. - fe80::1234:56ff:fe78:9abc%eth0 or - [fe80::1234:56ff:fe78:9abc%2]:1688. Windows (including cygwin) - does not require a scope id unless the same link local address - is used on more than one network interface. Windows does not - accept a name and the scope id must be a number. - - - -o level - Sets the level of protection against activations from public IP - addresses. The default is -o0 for no protection. - - -o1 causes vlmcsd not to listen on all IP addresses but on pri- - vate IP addresses only. IPv4 addresses in the 100.64.0.0/10 - range (see RFC6598) are not treated as private since they can be - reached from other users of your ISP. Private IPv4 addresses are - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 and - 127.0.0.0/8. vlmcsd treats all IPv6 addresses not within - 2000::/3 as private addresses. - - If -o1 is combined with -L, it will listen on all private IP - addresses plus the ones specified by one or more -L statements. - If -o1 is combined with -P, only the last -P statement will be - used. - - Using -o1 does not protect you if you enable NAT port forwarding - on your router to your vlmcsd machine. It is identical to using - multiple -L statements with all of your private IP addresses. - What -o1 does for you, is automatically enumerating your private - IP addresses. - - -o2 does not affect the interfaces, vlmcsd is listening on. When - a clients connects, vlmcsd immediately drops the connection if - the client has a public IP address. Unlike -o1 clients will be - able to establish a TCP connection but it will be closed without - a single byte sent over the connection. This protects against - clients with public IP addresses even if NAT port forwarding is - used. While -o2 offers a higher level of protection than -o1, - the client sees that the KMS TCP port (1688 by default) is actu- - ally accepting connections. - - If vlmcsd is compiled to use MS RPC, -o2 can only offer very - poor protection. Control is passed from MS RPC to vlmcsd after - the KMS protocol has already been negotiated. Thus a client can - always verify that the KMS protocol is available even though it - receives an RPC_S_ACCESS_DENIED error message. vlmcsd will issue - a warning if -o2 is used with MS RPC. For adaequate protection - do not use a MS RPC build of vlmcsd with -o2. - - -o3 combines -o1 and -o2. vlmcsd listens on private interfaces - only and if a public client manages to connect anyway due to NAT - port forwarding, it will be immediately dropped. - - If you use any form of TCP level port forwarding (e.g. nc(1), - netcat(1), ssh(1) port forwarding or similar) to redirect KMS - requests to vlmcsd, there will be no protection even if you use - -o2 or -o3. This is due to the simple fact that vlmcsd sees the - IP address of the redirector and not the IP address of the - client. - - -o1 (and thus -o3) is not (yet) available in some scenarios: - - FreeBSD: There is a longtime unfixed bug in the - 32-bit ABI of the 64-bit kernel. If you have a 64-bit Free- - BSD kernel, you must run the 64-bit version of vlmcsd if - you use -o1 or -o3. The 32-bit version causes undefined - behavior up to crashing vlmcsd. Other BSDs (NetBSD, Open- - BSD, Dragonfly and Mac OS X) work correctly. - - If vlmcsd was started by an internet superserver or was - compiled to use Microsoft RPC (Windows only) or simple - sockets, -o1 and -o3 are not available by design. - - - -P port - Use TCP port for all subsequent -L statements that do not - include an optional port. If you use -P and -L, -P must be spec- - ified before -L. - - - -O vpn-adapter-name[=ipv4-address][/cidr-mask][:dhcp-lease-duration] - Enables a compatible VPN adapter to create additional local IPv4 - addresses (like 127.0.0.1) that appear as remote IPv4 addresses - to the system. This allows product activation using a local - instance of vlmcsd. This feature is only available in Windows - and Cygwin builds of vlmcsd since it is not of any use on other - operating systems. Compatible VPN adapters are Tap-windows ver- - sion 8.2 or higher (from OpenVPN) and the TeamViewer VPN - adapter. There are two special vpn-adapter-names. A single - period (.) instructs vlmcsd to use the first available compati- - ble VPN adapter. A single dash (-) disables the use of a VPN - adapter if one has been configured in vlmcsd.ini(5). The vpn- - adapter-name is not case-sensitive. If the vpn-adapter-name con- - tains spaces (e.g. Ethernet 3), you must enclose it in quotes. - - The default ipv4-address is 10.10.10.9 and the default cidr-mask - is 30. If you are using the default values, your VPN adapter - uses an IPv4 address of 10.10.10.9 and you can set your activa- - tion client to use the easy to remember address 10.10.10.10 - (e.g. slmgr /skms 10.10.10.10 or cscript ospp.vbs - /sethst:10.10.10.10). - - The dhcp-lease-duration is a number optionally followed by s, m, - h, d or w to indicate seconds, minutes, hours, days or weeks. - The default dhcp-lease-duration is 1d (one day). It is normally - not required to change this value. - - It is advised not to manually configure your OpenVPN TAP or - TeamViewer VPN adapter in "Network Connections". If you set the - IPv4 configuration manually anyway, the IPv4 address and the - subnet mask must match the -O parameter. It is safe leave the - IPv4 configuration to automatic (DHCP). vlmcsd will wait up to - four seconds for the DHCP configuration to complete before bind- - ing to and listenin on any interfaces. - - You should be aware that only one program can use a VPN adapter - at a time. If you use the TeamViewer VPN adapter for example, - you will not be able to use the VPN feature of TeamViewer as - long as vlmcsd is running. The same applies to OpenVPN TAP - adapters that are in use by other programs (for example OpenVPN, - QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid con- - flicts is to install Tap-Windows from OpenVPN, cd to C:\Program - Files\TAP-Windows\bin and run addtap.bat to install an addi- - tional TAP adapter. Go to "Network Connections" and rename the - new adapter to "vlmcsd" and specify -O vlmcsd to use it. - - Example: -O "Ethernet 7"=192.168.123.1/24 (uses VPN adapter Eth- - ernet 7 with IPv4 address 192.168.123.1 and have 192.168.123.2 - to 192.168.123.254 as additional local (but apparently remote) - IPv4 addresses. - - - -x0 and -x1 - Controls under what circumstances vlmcsd will exit. Using the - default of -x0 vlmcsd stays active as long as it can perform - some useful operations. If vlmcsd is run by any form of a watch- - dog, e.g. NT service manager (Windows), systemd (Linux) or - launchd (Mac OS / iOS), it may be desirable to end vlmcsd and - let the watchdog restart it. This is especially true if some - pre-requisites are not yet met but will be some time later, e.g. - network is not yet fully setup. - - By using -x0 vlmcsd will - - exit if none of the listening sockets specified with -L can - be used. It continues if at least one socket can be setup - for listening. - - exit any TAP mirror thread (Windows version only) if there - is an error condition while reading or writing from or to - the VPN adapter but continue to work without utilizing a - VPN adapter. - - By using -x1 vlmcsd will - - exit if not all listening sockets specified with -L can be - used. - - exit completely if there is a problem with a VPN adapter it - is using. This can happen for instance if the VPN adapter - has been disabled using "Control Panel - Network - Adapter - Settings" while vlmcsd is using it. - - - Please note that -x1 is kind of a workaround option. While it - may help under some circumstances, it is better to solve the - problem at its origin, e.g. properly implementing dependencies - in your startup script to ensure all network interfaces and the - VPN adapter you will use are completely setup before you start - vlmcsd. - - - -F0 and -F1 - Allow (-F1) or disallow (-F0) binding to IP addresses that are - currently not configured on your system. The default is -F0. -F1 - allows you to bind to an IP address that may be configured after - you started vlmcsd. vlmcsd will listen on that address as soon - as it becomes available. This feature is only available under - Linux (IPv4 and IPv6) and FreeBSD (IPv4 only). FreeBSD allows - this feature only for the root user (more correctly: processes - that have the PRIV_NETINET_BINDANY privilege). Linux does not - require a capability for this. - - - -t seconds - Timeout the TCP connection with the client after seconds sec- - onds. After sending an activation request. RPC keeps the TCP - connection for a while. The default is 30 seconds. You may spec- - ify a shorter period to free ressources on your device faster. - This is useful for devices with limited main memory or if you - used -m to limit the concurrent clients that may request activa- - tion. Microsoft RPC clients disconnect after 30 seconds by - default. Setting seconds to a greater value does not make much - sense. - - - -m concurrent-clients - Limit the number of clients that will be handled concurrently. - This is useful for devices with limited ressources or if you are - experiencing DoS attacks that spawn thousands of threads or - forked processes. If additional clients connect to vlmcsd, they - need to wait until another client disconnects. If you set con- - current-clients to a small value ( <10 ), you should also select - a reasonable timeout of 2 or 3 seconds with -t. The default is - no limit. - - - -d Disconnect each client after processing one activation request. - This is a direct violation of DCE RPC but may help if you - receive malicous fake RPC requests that block your threads or - forked processes. Some other KMS emulators (e.g. py-kms) behave - this way. - - - -k Do not disconnect clients after processing an activation - request. This selects the default behavior. -k is useful only if - you used an ini file (see vlmcsd.ini(5) and -i). If the ini file - contains the line "DisconnectClientsImmediately = true", you can - use this switch to restore the default behavior. - - - -N0 and -N1 - Disables (-N0) or enables (-N1) the use of the NDR64 transfer - syntax in the RPC protocol. Unlike Microsoft vlmcsd supports - NDR64 on 32-bit operating systems. Microsoft introduced NDR64 in - Windows Vista but their KMS servers started using it with Win- - dows 8. Thus if you choose random ePIDs, vlmcsd will select - ePIDs with build numbers 9200 and 9600 if you enable NDR64 and - build numbers 6002 and 7601 if you disable NDR64. The default is - to enable NDR64. - - - -B0 and -B1 - Disables (-B0) or enables (-B1) bind time feature negotiation - (BTFN) in the RPC protocol. All Windows operating systems start- - ing with Vista support BTFN and try to negotiate it when initi- - ating an RPC connection. Thus consider turning it off as a debug - / troubleshooting feature only. Some older firewalls that selec- - tively block or redirect RPC traffic may get confused when they - detect NDR64 or BTFN. - - - -l filename - Use filename as a log file. The log file records all activations - with IP address, Windows workstation name (no reverse DNS - lookup), activated product, KMS protocol, time and date. If you - do not specify a log file, no log is created. For a live view of - the log file type tail -f file. - - If you use the special filename "syslog", vlmcsd uses syslog(3) - for logging. If your system has no syslog service (/dev/log) - installed, logging output will go to /dev/console. Syslog log- - ging is not available in the native Windows version. The Cygwin - version does support syslog logging. - - - -T0 and -T1 - Disable (-T0) or enable (-T1) the inclusion of date and time in - each line of the log. The default is -T1. -T0 is useful if you - log to stdout(3) which is redirected to another logging mecha- - nism that already includes date and time in its output, for - instance systemd-journald(8). If you log to syslog(3), -T1 is - ignored and date and time will never be included in the output - sent to syslog(3). - - - -D Normally vlmcsd daemonizes and runs in background (except the - native Windows version). If -D is specified, vlmcsd does not - daemonize and runs in foreground. This is useful for testing and - allows you to simply press to exit vlmcsd. - - The native Windows version never daemonizes and always behaves - as if -D had been specified. You may want to install vlmcsd as a - service instead. See -s. - - - -e If specified, vlmcsd ignores -l and writes all logging output to - stdout(3). This is mainly useful for testing and debugging and - often combined with -D. - - - -v Use verbose logging. Logs every parameter of the base request - and the base response. It also logs the HWID of the KMS server - if KMS protocol version 6 is used. This option is mainly for - debugging purposes. It only has an effect if some form of log- - ging is used. Thus -v does not make sense if not used with -l, - -e or -f. - - - -q Do not use verbose logging. This is actually the default behav- - ior. It only makes sense if you use vlmcsd with an ini file (see - -i and vlmcsd.ini(5)). If the ini file contains the line - "LogVerbose = true" you can use -q to restore the default behav- - ior. - - - -p filename - Create pid file filename. This has nothing to do with KMS ePIDs. - A pid file is a file where vlmcsd writes its own process id. - This is used by standard init scripts (typically found in - /etc/init.d). The default is not to write a pid file. - - - -u user and -g group - Causes vlmcsd to run in the specified user and group security - context. The main purpose for this is to drop root privileges - after it has been started from the root account. To use this - feature from cygwin you must run cyglsa-config and the account - from which vlmcsd is started must have the rights "Act as part - of the operating system" and "Replace a process level token". - The native Windows version does not support these options. - - The actual security context switch is performed after the TCP - sockets have been created. This allows you to use privileged - ports (< 1024) when you start vlmcsd from the root account. - - However if you use an ini, pid or log file, you must ensure that - the unprivileged user has access to these files. You can always - log to syslog(3) from an unprivileged account on most platforms - (see -l). - - - -a CSVLK = ePID [ / HwId ] - Use ePID and HwId for a specific CSVLK. When you use it, -r is - disregarded for this CSVLK. If vlmcsd uses the default vlm- - csd.kmd database, you can use the following CSVLKs: Windows, - WinChinaGov, Office2010, Office2013, Office2016 and Office2019. - The -a option requires that database version 1.6 or later is - used. - - HwId must be specified as 16 hex digits that are interpreted as - a series of 8 bytes (big endian). Any character that is not a - hex digit will be ignored. This is for better readability. - - - -i filename - Use configuration file (aka ini file) filename. Most configura- - tion parameters can be set either via the command line or an ini - file. The command line always has precedence over configuration - items in the ini file. See vlmcsd.ini(5) for the format of the - configuration file. - - If vlmcsd has been compiled to use a default configuration file - (often /etc/vlmcsd.ini), you may use -i- to ignore the default - configuration file. - - - -j filename - Use KMS data file filename. By default vlmcsd only contains the - minimum product data that is required to perform all operations - correctly. You may use a more complete KMS data file that con- - tains all detailed product names. This is especially useful if - you are logging KMS requests. If you don't log, there is no need - to load an external KMS data file. - - If vlmcsd has been compiled to use a default KMS data file, you - may use -j- to ignore the default configuration file. - - - -r0, -r1 (default) and -r2 - These options determine how ePIDs are generated if - - - you did not sprecify an ePID in the command line and - - you haven't used -i or - - the file specified by -i cannot be opened or - - the file specified by -i does not contain an ePID for the KMS - request - - -r0 means there are no random ePIDs. vlmcsd simply issues - default ePIDs that are built into the binary at compile time. - Pro: behaves like real KMS server that also always issues the - same ePID. Con: Microsoft may start blacklisting again and the - default ePID may not work any longer. - - -r1 instructs vlmcsd to generate random ePIDs when the program - starts or receives a SIGHUP signal and uses these ePIDs until it - is stopped or receives another SIGHUP. Most other KMS emulators - generate a new ePID on every KMS request. This is easily - detectable. Microsoft could just modify sppsvc.exe in a way that - it always sends two identical KMS requests in two RPC requests - but over the same TCP connection. If both KMS responses contain - the different ePIDs, the KMS server is not genuine. -r1 is the - default mode. -r1 also ensures that all three ePIDs (Windows, - Office 2010 and Office 2013) use the same OS build number and - LCID (language id). - - If vlmcsd has been started by an internet superserver, -r1 works - almost identically to -r2. The only exception occurs if you send - more than one activation request over the same TCP connection. - This is simply due to the fact that vlmcsd is started upon a - connection request and does not stay in memory after servicing a - KMS request. Consider using -r0 or -w, -G, -0, -3 and -6 when - starting vlmcsd by an internet superserver. - - -r2 behaves like most other KMS server emulators with random - support and generates a new random ePID on every request. -r2 - should be treated as debugging option only because it allows - very easy emulator detection. - - - -C LCID - Do not randomize the locale id part of the ePID and use LCID - instead. The LCID must be specified as a decimal number, e.g. - 1049 for "Russian - Russia". This option has no effect if the - ePID is not randomized at all, e.g. if it is selected from the - command line or an ini file. - - By default vlmcsd generates a valid locale id that is recognized - by .NET Framework 4.0. This may lead to a locale id which is - unlikely to occur in your country, for instance 2155 for "Quecha - - Ecuador". You may want to select the locale id of your country - instead. See MSDN for a list of valid LCIDs. Please note that some - of them are not recognized by .NET Framework 4.0. - - Most other KMS emulators use a fixed LCID of 1033 (English - - US). To achive the same behavior in vlmcsd use -C 1033. - - - -H HostBuild - Do not randomize the host build number in the ePID and use Host- - Build instead, for instance 17763 for Windows Server 2019 / Win- - dows 10 1809. - - - -K0, -K1, -K2 and -K3 - Sets the whitelisting level to determine which products vlmcsd - activates or refuses. The default is -K0. - - -K0: activate all products with an unknown, retail or - beta/preview KMS ID. - -K1: activate products with a retail or beta/preview KMS ID - but refuse to activate products with an unknown KMS ID. - -K2: activate products with an unknown KMS ID but refuse - products with a retail or beta/preview KMS ID. - -K3: activate only products with a known volume license RTM - KMS ID and refuse all others. - - - The SKU ID is not checked. Like a genuine KMS server vlmcsd - activates a product that has a random or unknown SKU ID. If you - select -K1 or -K3, vlmcsd also checks the Application ID for - correctness. If Microsoft introduces a new KMS ID for a new - product, you cannot activate it if you used -K1 or -K3 until a - new version of vlmcsd is available. - - - -c0 and -c1 - -c1 causes vlmcsd to check if the client time differs no more - than four hours from the system time. -c0 (the default) disables - this check. -c1 is useful to prevent emulator detection. A - client that tries to detect an emulator could simply send two - subsequent request with two time stamps that differ more than - four hours from each other. If both requests succeed, the server - is an emulator. If you specify -c1 on a system with no reliable - time source, activations will fail. It is ok to set the correct - system time after you started vlmcsd. - - - -M0 and -M1 - Disables (-M0) or enables (-M1) maintaining a list of client - machine IDs (CMIDs). The default is -M0. -M1 is useful to pre- - vent emulator detection. By maintaing a CMID list, vlmcsd - reports current active clients exactly like a genuine KMS emula- - tor. This includes bug compatibility to the extent that you can - permanently kill a genuine KMS emulator by sending an "over- - charge request" with a required client count of 376 or more and - then request activation for 671 clients. vlmcsd can be reset - from this condition by restarting it. If -M0 is used, vlmcsd - reports current active clients as good as possible. If no client - sends an "overcharge request", it is not possible to detect vlm- - csd as an emulator with -M0. -M1 requires the allocation of a - buffer that is about 50 kB in size. On hardware with few memory - resources use it only if you really need it. - - If you start vlmcsd from an internet superserver, -M1 cannot be - used. Since vlmcsd exits after each activation, it cannot main- - tain any state in memory. - - - -E0 and -E1 - These options are ignored if you do not also specify -M1. If you - use -E0 (the default), vlmcsd starts up as a fully "charged" KMS - server. Clients activate immediately. -E1 lets you start up vlm- - csd with an empty CMID list. Activation will start when the - required minimum clients (25 for Windows Client OSses, 5 for - Windows Server OSses and Office) have registered with the KMS - server. As long as the minimum client count has not been - reached, clients end up in HRESULT 0xC004F038 "The count - reported by your Key Management Service (KMS) is insufficient. - Please contact your system administrator". You may use vlmcs(1) - or another KMS client emulator to "charge" vlmcsd. -E1 does not - improve emulator detection prevention. It's primary purpose is - to help developers of KMS clients to test "charging" a KMS - server. - - - -R renewal-interval - Instructs clients to renew activation every renewal-interval. - The renewal-interval is a number optionally immediately followed - by a letter indicating the unit. Valid unit letters are s (sec- - onds), m (minutes), h (hours), d (days) and w (weeks). If you do - not specify a letter, minutes is assumed. - - -R3d for instance instructs clients to renew activation every 3 - days. The default renewal-interval is 10080 (identical to 7d and - 1w). - - Due to poor implementation of Microsofts KMS Client it cannot be - guaranteed that activation is renewed on time as specfied by the - -R option. Don't care about that. Renewal will happen well - before your activation expires (usually 180 days). - - Even though you can specify seconds, the granularity of this - option is 1 minute. Seconds are rounded down to the next multi- - ple of 60. - - - -A activation-interval - Instructs clients to retry activation every activation-interval - if it was unsuccessful, e.g. because it could not reach the - server. The default is 120 (identical to 2h). activation-inter- - val follows the same syntax as renewal-interval in the -R - option. - - - -s Installs vlmcsd as a Windows service. This option only works - with the native Windows version and Cygwin. Combine -s with - other command line options. These will be in effect when you - start the service. The service automatically starts when you - reboot your machine. To start it manually, type "net start vlm- - csd". - - If you use Cygwin, you must include your Cygwin system DLL - directory (usually C:\Cygwin\bin or C:\Cygwin64\bin) into the - PATH environment variable or the service will not start. - - You can reinstall the service anytime using vlmcsd -s again, - e.g. with a different command line. If the service is running, - it will be restarted with the new command line. - - When using -s the command line is checked for basic syntax - errors only. For example "vlmcsd -s -L 1.2.3.4" reports no error - but the service will not start if 1.2.3.4 is not an IP address - on your system. - - - -S Uninstalls the vlmcsd service. Works only with the native Win- - dows version and Cygwin. All other options will be ignored if - you include -S in the command line. - - - -U [domain\]username - Can only be used together with -s. Starts the service as a dif- - ferent user than the local SYSTEM account. This is used to run - the service under an account with low privileges. If you omit - the domain, an account from the local computer will be used. - - You may use "NT AUTHORITY\NetworkService". This is a pseudo user - with low privileges. You may also use "NT AUTHORITY\LocalSer- - vice" which has more privileges but these are of no use for run- - ning vlmcsd. - - Make sure that the user you specify has at least execute permis- - sion for your executable. "NT AUTHORITY\NetworkService" normally - has no permission to run binaries from your home directory. - - For your convenience you can use the special username "/l" as a - shortcut for "NT AUTHORITY\LocalService" and "/n" for "NT - AUTHORITY\NetworkService". "vlmcsd -s -U /n" installs the ser- - vice to run as "NT AUTHORITY\NetworkService". - - - -W password - Can only be used together with -s. Specifies a password for the - corresponding username you use with -U. SYSTEM, "NT AUTHOR- - ITY\NetworkService", "NT AUTHORITY\LocalService" do not require - a password. - - If you specify a user with even lower privileges than "NT - AUTHORITY\NetworkService", you must specify its password. You - also have to grant the "Log on as a service" right to that user. - - -SIGNALS - The following signals differ from the default behavior: - - - SIGTERM, SIGINT - These signals cause vlmcsd to exit gracefully. All global sema- - phores and shared memory pages will be released, the pid file - will be unlinked (deleted) and a shutdown message will be - logged. - - - SIGHUP Causes vlmcsd to be restarted completely. This is useful if you - started vlmcsd with an ini file. You can modify the ini file - while vlmcsd is running and then sending SIGHUP, e.g. by typing - "killall -SIGHUP vlmcsd" or "kill -SIGHUP `cat /var/run/vlm- - csd.pid`". - - The SIGHUP handler has been implemented relatively simple. It is - virtually the same as stopping vlmcsd and starting it again - immediately with the following exceptions: - - - -- The new process does not get a new process id. - - -- If you used a pid file, it is not deleted and recreated - because the process id stays the same. - - -- If you used the 'user' and/or 'group' directive in an ini - file these are ignored. This is because once you switched to - lower privileged users and groups, there is no way back. Any- - thing else would be a severe security flaw in the OS. - - Signaling is not available in the native Windows version and in the - Cygwin version when vlmcsd runs as a Windows service. - - -SUPPORTED OPERATING SYSTEMS - vlmcsd compiles and runs on Linux, Windows (no Cygwin required but - explicitly supported), Mac OS X, FreeBSD, NetBSD, OpenBSD, Dragonfly - BSD, Minix, Solaris, OpenIndiana, Android and iOS. Other POSIX or - unixoid OSses may work with unmodified sources or may require minor - porting efforts. - - -SUPPORTED PRODUCTS - vlmcsd can answer activation requests for the following products: Win- - dows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 (up to 1809), - Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Win- - dows Server 2012 R2, Windows Server 2016, Office 2010, Project 2010, - Visio 2010, Office 2013, Project 2013, Visio 2013, Office 2016, Project - 2016, Visio 2016, Office 2019, Project 2019, Visio 2019. Newer products - may work as long as the KMS protocol does not change. A complete list - of fully supported products can be obtained using the -x option of - vlmcs(1). - - Windows Vista, Windows 7, Office, Project and Visio must be volume - license versions. - - -FILES - vlmcsd.ini(5) - - -EXAMPLES - vlmcsd -De - Starts vlmcsd in foreground. Useful if you use it for the first - time and want to see what's happening when a client requests - activation. - - - vlmcsd -l /var/log/vlmcsd.log - Starts vlmcsd as a daemon and logs everything to /var/log/vlm- - csd.log. - - - vlmcsd -L 192.168.1.17 - Starts vlmcsd as a daemon and listens on IP address 192.168.1.17 - only. This is useful for routers that have a public and a pri- - vate IP address to prevent your KMS server from becoming public. - - - vlmcsd -s -U /n -l C:\logs\vlmcsd.log - Installs vlmcsd as a Windows service with low privileges and - logs everything to C:\logs\vlmcsd.log when the service is - started with "net start vlmcsd". - - -BUGS - An ePID specified in an ini file must not contain spaces. - - -AUTHOR - Written by crony12, Hotbird64 and vityan666. With contributions from - DougQaid. - - -CREDITS - Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87, - qad, Ratiborus, ... - - -SEE ALSO - vlmcsd.ini(5), vlmcsd(7), vlmcs(1), vlmcsdmulti(1) - - - -Hotbird64 February 2019 VLMCSD(8) diff --git a/vlmcsd-1113/man/vlmcsd.8.html b/vlmcsd-1113/man/vlmcsd.8.html deleted file mode 100644 index e093269..0000000 --- a/vlmcsd-1113/man/vlmcsd.8.html +++ /dev/null @@ -1,1172 +0,0 @@ - - - - - - - - - -VLMCSD - - - - -

VLMCSD

- -NAME
-SYNOPSIS
-DESCRIPTION
-OPTIONS
-SIGNALS
-SUPPORTED OPERATING SYSTEMS
-SUPPORTED PRODUCTS
-FILES
-EXAMPLES
-BUGS
-AUTHOR
-CREDITS
-SEE ALSO
- -
- - -

NAME - -

- - -

vlmcsd - a -fully Microsoft compatible KMS server

- -

SYNOPSIS - -

- - -

vlmcsd [ -options ]

- -

DESCRIPTION - -

- - -

vlmcsd -is a fully Microsoft compatible KMS server that provides -product activation services to clients. It is meant as a -drop-in replacement for a Microsoft KMS server (Windows -computer with KMS key entered). It currently supports KMS -protocol versions 4, 5 and 6.

- -

vlmcsd -is designed to run on POSIX compatible operating systens. It -only requires a basic C library with a BSD-style sockets API -and either fork(2) or pthreads(7). That allows -it to run on most embedded systems like routers, NASes, -mobile phones, tablets, TVs, settop boxes, etc. Some efforts -have been made that it also runs on Windows.

- -

Although -vlmcsd does neither require an activation key nor a -payment to anyone, it is not meant to run illegal copies of -Windows. Its purpose is to ensure that owners of legal -copies can use their software without restrictions, e.g. if -you buy a new computer or motherboard and your key will be -refused activation from Microsoft servers due to hardware -changes.

- -

vlmcsd -may be started via an internet superserver like -inetd(8) or xinetd(8) as well as an advanced -init system like systemd(8) or launchd(8) -using socket based activation. If vlmcsd detects that -stdin(3) is a socket, it assumes that there is -already a connected client on stdin that wants to be -activated.

- -

All options -that control setting up listening sockets will be ignored -when in inetd mode. The sockets will be set up by your -internet superserver. You also cannot limit the number of -simultanous clients (option -m). You need to -configure the limit in your internet superserver.

- -

The followong -features that require that vlmcsd is permanently loaded will -not work if started from an internet superserver:

- -

You cannot -maintain a client list (option -M1)

- -

EPID -Randomization Level 1 (option -r1) works like Level 2 -(-r2). You may want to use Level 0 (-r0) or -custom EPIDs (options -w, -G, -0, --3 and -6) instead.

- -

OPTIONS - -

- - -

Since vlmcsd -can be configured at compile time, some options may not be -available on your system.

- -

All options -that do no require an argument may be combined with a single -dash, for instance "vlmcsd -D -e" is identical to -"vlmcsd -De". For all options that require an -argument a space between the option and the option argument -is optional. Thus "vlmcsd -r 2" and "vlmcsd --r2" are identical too.
--h
or -?

- -

Displays help.

- - - - - - - -
- - -

-V

- - -

Displays extended version information. This includes the -compiler used to build vlmcsd, the intended platform and -flags (compile time options) to build vlmcsd. If you have -the source code of vlmcsd, you can type make help (or -gmake help on systems that do not use the GNU version -of make(1) by default) to see the meaning of those -flags.

- -

-L -ipaddress[:port]

- -

Instructs vlmcsd to listen on -ipaddress with optional port (default 1688). -You can use this option more than once. If you do not -specify -L at least once, IP addresses 0.0.0.0 (IPv4) -and :: (IPv6) are used. If the IP address contains colons -(IPv6) you must enclose the IP address in brackets if you -specify the optional port, e.g. -[2001:db8::dead:beef]:1688.

- -

If no port is -specified, vlmcsd uses the default port according to a -preceding -P option. If you specify a port, it can be -a number (1-65535) or a name (usually found in /etc/services -if not provided via LDAP, NIS+ or another name service).

- -

If you specify -a link local IPv6 address (fe80::/10, usually starting with -fe80::), it must be followed by a percent sign (%) and a -scope id (=network interface name or number) on most unixoid -OSses including Linux, Android, MacOS X and iOS, e.g. -fe80::1234:56ff:fe78:9abc%eth0 or -[fe80::1234:56ff:fe78:9abc%2]:1688. Windows -(including cygwin) does not require a scope id unless the -same link local address is used on more than one network -interface. Windows does not accept a name and the scope id -must be a number.

- -

-o level

- -

Sets the level of -protection against activations from public IP addresses. The -default is -o0 for no protection.

- -

-o1 -causes vlmcsd not to listen on all IP addresses but on -private IP addresses only. IPv4 addresses in the -100.64.0.0/10 range (see RFC6598) are not treated as private -since they can be reached from other users of your ISP. -Private IPv4 addresses are 10.0.0.0/8, 172.16.0.0/12, -192.168.0.0/16, 169.254.0.0/16 and 127.0.0.0/8. vlmcsd -treats all IPv6 addresses not within 2000::/3 as private -addresses.

- -

If -o1 -is combined with -L, it will listen on all private IP -addresses plus the ones specified by one or more -L -statements. If -o1 is combined with -P, only -the last -P statement will be used.

- -

Using --o1 does not protect you if you enable NAT port -forwarding on your router to your vlmcsd machine. It is -identical to using multiple -L statements with all of your -private IP addresses. What -o1 does for you, is -automatically enumerating your private IP addresses.

- -

-o2 does -not affect the interfaces, vlmcsd is listening on. When a -clients connects, vlmcsd immediately drops the connection if -the client has a public IP address. Unlike -o1 -clients will be able to establish a TCP connection but it -will be closed without a single byte sent over the -connection. This protects against clients with public IP -addresses even if NAT port forwarding is used. While --o2 offers a higher level of protection than --o1, the client sees that the KMS TCP port (1688 by -default) is actually accepting connections.

- -

If vlmcsd is -compiled to use MS RPC, -o2 can only offer very poor -protection. Control is passed from MS RPC to vlmcsd after -the KMS protocol has already been negotiated. Thus a client -can always verify that the KMS protocol is available even -though it receives an RPC_S_ACCESS_DENIED error message. -vlmcsd will issue a warning if -o2 is used with MS -RPC. For adaequate protection do not use a MS RPC build -of vlmcsd with -o2.

- -

-o3 -combines -o1 and -o2. vlmcsd listens on -private interfaces only and if a public client manages to -connect anyway due to NAT port forwarding, it will be -immediately dropped.

- -

If you use any -form of TCP level port forwarding (e.g. nc(1), -netcat(1), ssh(1) port forwarding or similar) -to redirect KMS requests to vlmcsd, there will be no -protection even if you use -o2 or -o3. This is -due to the simple fact that vlmcsd sees the IP address of -the redirector and not the IP address of the client.

- -

-o1 (and -thus -o3) is not (yet) available in some -scenarios:

- -

FreeBSD: There -is a longtime unfixed -bug -in the 32-bit ABI of the 64-bit kernel. If you have a 64-bit -FreeBSD kernel, you must run the 64-bit version of vlmcsd if -you use -o1 or -o3. The 32-bit version causes -undefined behavior up to crashing vlmcsd. Other BSDs -(NetBSD, OpenBSD, Dragonfly and Mac OS X) work -correctly.

- -

If vlmcsd was -started by an internet superserver or was compiled to use -Microsoft RPC (Windows only) or simple sockets, -o1 -and -o3 are not available by design.

- -

-P port

- -

Use TCP port for all -subsequent -L statements that do not include an -optional port. If you use -P and -L, -P -must be specified before -L.

- -

-O -vpn-adapter-name[=ipv4-address][/cidr-mask][:dhcp-lease-duration]

- -

Enables a compatible VPN -adapter to create additional local IPv4 addresses (like -127.0.0.1) that appear as remote IPv4 addresses to the -system. This allows product activation using a local -instance of vlmcsd. This feature is only available in -Windows and Cygwin builds of vlmcsd since it is not of any -use on other operating systems. Compatible VPN adapters are -Tap-windows version 8.2 or higher (from OpenVPN) and the -TeamViewer VPN adapter. There are two special -vpn-adapter-names. A single period (.) instructs -vlmcsd to use the first available compatible VPN adapter. A -single dash (-) disables the use of a VPN adapter if one has -been configured in vlmcsd.ini(5). The -vpn-adapter-name is not case-sensitive. If the -vpn-adapter-name contains spaces (e.g. Ethernet 3), -you must enclose it in quotes.

- -

The default -ipv4-address is 10.10.10.9 and the default -cidr-mask is 30. If you are using the default values, -your VPN adapter uses an IPv4 address of 10.10.10.9 and you -can set your activation client to use the easy to remember -address 10.10.10.10 (e.g. slmgr /skms 10.10.10.10 or cscript -ospp.vbs /sethst:10.10.10.10).

- -

The -dhcp-lease-duration is a number optionally followed -by s, m, h, d or w to indicate seconds, minutes, hours, days -or weeks. The default dhcp-lease-duration is 1d (one -day). It is normally not required to change this value.

- -

It is advised -not to manually configure your OpenVPN TAP or TeamViewer VPN -adapter in "Network Connections". If you set the -IPv4 configuration manually anyway, the IPv4 address and the -subnet mask must match the -O parameter. It is safe -leave the IPv4 configuration to automatic (DHCP). vlmcsd -will wait up to four seconds for the DHCP configuration to -complete before binding to and listenin on any -interfaces.

- -

You should be -aware that only one program can use a VPN adapter at a time. -If you use the TeamViewer VPN adapter for example, you will -not be able to use the VPN feature of TeamViewer as long as -vlmcsd is running. The same applies to OpenVPN TAP adapters -that are in use by other programs (for example OpenVPN, -QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid -conflicts is to install Tap-Windows from OpenVPN, cd to -C:\Program Files\TAP-Windows\bin and run addtap.bat to -install an additional TAP adapter. Go to "Network -Connections" and rename the new adapter to -"vlmcsd" and specify -O vlmcsd to use -it.

- -

Example: -O -"Ethernet 7"=192.168.123.1/24 (uses VPN -adapter Ethernet 7 with IPv4 address 192.168.123.1 and have -192.168.123.2 to 192.168.123.254 as additional local (but -apparently remote) IPv4 addresses.

- -

-x0 and -x1

- -

Controls under what -circumstances vlmcsd will exit. Using the default of --x0 vlmcsd stays active as long as it can perform -some useful operations. If vlmcsd is run by any form of a -watchdog, e.g. NT service manager (Windows), systemd (Linux) -or launchd (Mac OS / iOS), it may be desirable to end vlmcsd -and let the watchdog restart it. This is especially true if -some pre-requisites are not yet met but will be some time -later, e.g. network is not yet fully setup.

- -

By using --x0 vlmcsd will

- -

exit if none of -the listening sockets specified with -L can be used. -It continues if at least one socket can be setup for -listening.

- -

exit any TAP -mirror thread (Windows version only) if there is an error -condition while reading or writing from or to the VPN -adapter but continue to work without utilizing a VPN -adapter.

- -

By using --x1 vlmcsd will

- -

exit if not all -listening sockets specified with -L can be used.

- -

exit completely -if there is a problem with a VPN adapter it is using. This -can happen for instance if the VPN adapter has been disabled -using "Control Panel - Network - Adapter Settings" -while vlmcsd is using it.

- -

Please note -that -x1 is kind of a workaround option. While it may -help under some circumstances, it is better to solve the -problem at its origin, e.g. properly implementing -dependencies in your startup script to ensure all network -interfaces and the VPN adapter you will use are completely -setup before you start vlmcsd.

- -

-F0 and -F1

- -

Allow (-F1) or disallow -(-F0) binding to IP addresses that are currently not -configured on your system. The default is -F0. --F1 allows you to bind to an IP address that may be -configured after you started vlmcsd. vlmcsd -will listen on that address as soon as it becomes available. -This feature is only available under Linux (IPv4 and IPv6) -and FreeBSD (IPv4 only). FreeBSD allows this feature only -for the root user (more correctly: processes that have the -PRIV_NETINET_BINDANY privilege). Linux does not require a -capability for this.

- -

-t seconds

- -

Timeout the TCP connection with -the client after seconds seconds. After sending an -activation request. RPC keeps the TCP connection for a -while. The default is 30 seconds. You may specify a shorter -period to free ressources on your device faster. This is -useful for devices with limited main memory or if you used --m to limit the concurrent clients that may request -activation. Microsoft RPC clients disconnect after 30 -seconds by default. Setting seconds to a greater -value does not make much sense.

- -

-m -concurrent-clients

- -

Limit the number of clients -that will be handled concurrently. This is useful for -devices with limited ressources or if you are experiencing -DoS attacks that spawn thousands of threads or forked -processes. If additional clients connect to vlmcsd, they -need to wait until another client disconnects. If you set -concurrent-clients to a small value ( <10 ), you -should also select a reasonable timeout of 2 or 3 seconds -with -t. The default is no limit.

- - - - - - - - - - - - -
- - -

-d

- - -

Disconnect each client after processing one activation -request. This is a direct violation of DCE RPC but may help -if you receive malicous fake RPC requests that block your -threads or forked processes. Some other KMS emulators (e.g. -py-kms) behave this way.

- - -

-k

- - -

Do not disconnect clients after processing an activation -request. This selects the default behavior. -k is -useful only if you used an ini file (see -vlmcsd.ini(5) and -i). If the ini file -contains the line "DisconnectClientsImmediately = -true", you can use this switch to restore the default -behavior.

- -

-N0 and -N1

- -

Disables (-N0) or -enables (-N1) the use of the NDR64 transfer syntax in -the RPC protocol. Unlike Microsoft vlmcsd supports NDR64 on -32-bit operating systems. Microsoft introduced NDR64 in -Windows Vista but their KMS servers started using it with -Windows 8. Thus if you choose random ePIDs, vlmcsd will -select ePIDs with build numbers 9200 and 9600 if you enable -NDR64 and build numbers 6002 and 7601 if you disable NDR64. -The default is to enable NDR64.

- -

-B0 and -B1

- -

Disables (-B0) or -enables (-B1) bind time feature negotiation (BTFN) in -the RPC protocol. All Windows operating systems starting -with Vista support BTFN and try to negotiate it when -initiating an RPC connection. Thus consider turning it off -as a debug / troubleshooting feature only. Some older -firewalls that selectively block or redirect RPC traffic may -get confused when they detect NDR64 or BTFN.

- -

-l filename

- -

Use filename as a log -file. The log file records all activations with IP address, -Windows workstation name (no reverse DNS lookup), activated -product, KMS protocol, time and date. If you do not specify -a log file, no log is created. For a live view of the log -file type tail -f file.

- -

If you use the -special filename "syslog", vlmcsd uses -syslog(3) for logging. If your system has no syslog -service (/dev/log) installed, logging output will go to -/dev/console. Syslog logging is not available in the native -Windows version. The Cygwin version does support syslog -logging.

- -

-T0 and -T1

- -

Disable (-T0) or enable -(-T1) the inclusion of date and time in each line of -the log. The default is -T1. -T0 is useful if -you log to stdout(3) which is redirected to another -logging mechanism that already includes date and time in its -output, for instance systemd-journald(8). If you log -to syslog(3), -T1 is ignored and date and time -will never be included in the output sent to -syslog(3).

- - - - - - - -
- - -

-D

- - -

Normally vlmcsd daemonizes and runs in background -(except the native Windows version). If -D is -specified, vlmcsd does not daemonize and runs in foreground. -This is useful for testing and allows you to simply press -<Ctrl-C> to exit vlmcsd.

- -

The native -Windows version never daemonizes and always behaves as if --D had been specified. You may want to install vlmcsd -as a service instead. See -s.

- - - - - - - - - - - - - - - - - -
- - -

-e

- - -

If specified, vlmcsd ignores --l and writes all logging output to stdout(3). -This is mainly useful for testing and debugging and often -combined with -D.

- - -

-v

- - -

Use verbose logging. Logs every parameter of the base -request and the base response. It also logs the HWID of the -KMS server if KMS protocol version 6 is used. This option is -mainly for debugging purposes. It only has an effect if some -form of logging is used. Thus -v does not make sense -if not used with -l, -e or -f.

- - -

-q

- - -

Do not use verbose logging. This is actually the default -behavior. It only makes sense if you use vlmcsd with an ini -file (see -i and vlmcsd.ini(5)). If the ini -file contains the line "LogVerbose = true" you can -use -q to restore the default behavior.

- -

-p filename

- -

Create pid file -filename. This has nothing to do with KMS ePIDs. A -pid file is a file where vlmcsd writes its own process id. -This is used by standard init scripts (typically found in -/etc/init.d). The default is not to write a pid file.

- -

-u user and --g group

- -

Causes vlmcsd to run in the -specified user and group security context. The -main purpose for this is to drop root privileges after it -has been started from the root account. To use this feature -from cygwin you must run cyglsa-config and the account from -which vlmcsd is started must have the rights "Act as -part of the operating system" and "Replace a -process level token". The native Windows version does -not support these options.

- -

The actual -security context switch is performed after the TCP sockets -have been created. This allows you to use privileged ports -(< 1024) when you start vlmcsd from the root account.

- -

However if you -use an ini, pid or log file, you must ensure that the -unprivileged user has access to these files. You can always -log to syslog(3) from an unprivileged account on most -platforms (see -l).

- -

-a CSVLK = -ePID [ / HwId ]

- -

Use ePID and HwId -for a specific CSVLK. When you use it, -r is -disregarded for this CSVLK. If vlmcsd uses the -default vlmcsd.kmd database, you can use the following -CSVLKs: Windows, WinChinaGov, Office2010, Office2013, -Office2016 and Office2019. The -a option requires -that database version 1.6 or later is used.

- -

HwId -must be specified as 16 hex digits that are interpreted as a -series of 8 bytes (big endian). Any character that is not a -hex digit will be ignored. This is for better -readability.

- -

-i filename

- -

Use configuration file (aka ini -file) filename. Most configuration parameters can be -set either via the command line or an ini file. The command -line always has precedence over configuration items in the -ini file. See vlmcsd.ini(5) for the format of the -configuration file.

- -

If vlmcsd has -been compiled to use a default configuration file (often -/etc/vlmcsd.ini), you may use -i- to ignore the -default configuration file.

- -

-j filename

- -

Use KMS data file -filename. By default vlmcsd only contains the minimum -product data that is required to perform all operations -correctly. You may use a more complete KMS data file that -contains all detailed product names. This is especially -useful if you are logging KMS requests. If you don’t -log, there is no need to load an external KMS data file.

- -

If vlmcsd has -been compiled to use a default KMS data file, you may use --j- to ignore the default configuration file.

- -

-r0, -r1 -(default) and -r2

- -

These options determine how -ePIDs are generated if

- -

- you did not -sprecify an ePID in the command line and
-- you haven’t used -i or
-- the file specified by -i cannot be opened or
-- the file specified by -i does not contain an ePID -for the KMS request

- -

-r0 -means there are no random ePIDs. vlmcsd simply issues -default ePIDs that are built into the binary at compile -time. Pro: behaves like real KMS server that also -always issues the same ePID. Con: Microsoft may start -blacklisting again and the default ePID may not work any -longer.

- -

-r1 -instructs vlmcsd to generate random ePIDs when the program -starts or receives a SIGHUP signal and uses these ePIDs -until it is stopped or receives another SIGHUP. Most other -KMS emulators generate a new ePID on every KMS request. This -is easily detectable. Microsoft could just modify sppsvc.exe -in a way that it always sends two identical KMS requests in -two RPC requests but over the same TCP connection. If both -KMS responses contain the different ePIDs, the KMS server is -not genuine. -r1 is the default mode. -r1 also -ensures that all three ePIDs (Windows, Office 2010 and -Office 2013) use the same OS build number and LCID (language -id).

- -

If vlmcsd has -been started by an internet superserver, -r1 works -almost identically to -r2. The only exception occurs -if you send more than one activation request over the same -TCP connection. This is simply due to the fact that vlmcsd -is started upon a connection request and does not stay in -memory after servicing a KMS request. Consider using --r0 or -w, -G, -0, -3 and --6 when starting vlmcsd by an internet -superserver.

- -

-r2 -behaves like most other KMS server emulators with random -support and generates a new random ePID on every request. --r2 should be treated as debugging option only -because it allows very easy emulator detection.

- -

-C LCID

- -

Do not randomize the locale id -part of the ePID and use LCID instead. The -LCID must be specified as a decimal number, e.g. 1049 -for "Russian - Russia". This option has no effect -if the ePID is not randomized at all, e.g. if it is selected -from the command line or an ini file.

- -

By default -vlmcsd generates a valid locale id that is recognized by -.NET Framework 4.0. This may lead to a locale id which is -unlikely to occur in your country, for instance 2155 for -"Quecha - Ecuador". You may want to select the -locale id of your country instead. See -MSDN -for a list of valid LCIDs. Please note that some of -them are not recognized by .NET Framework 4.0.

- -

Most other KMS -emulators use a fixed LCID of 1033 (English - US). To -achive the same behavior in vlmcsd use -C 1033.

- -

-H HostBuild

- -

Do not randomize the host build -number in the ePID and use HostBuild instead, for -instance 17763 for Windows Server 2019 / Windows 10 -1809.

- -

-K0, -K1, --K2 and -K3

- -

Sets the whitelisting level to -determine which products vlmcsd activates or refuses. The -default is -K0.

- -

-K0: -activate all products with an unknown, retail or -beta/preview KMS ID.
--K1
: activate products with a retail or beta/preview KMS -ID but refuse to activate products with an unknown KMS ID. -
--K2
: activate products with an unknown KMS ID but refuse -products with a retail or beta/preview KMS ID.
--K3
: activate only products with a known volume license -RTM KMS ID and refuse all others.

- - - - - -
- - -

The SKU ID is not checked. Like a genuine KMS server -vlmcsd activates a product that has a random or unknown SKU -ID. If you select -K1 or -K3, vlmcsd also -checks the Application ID for correctness. If Microsoft -introduces a new KMS ID for a new product, you cannot -activate it if you used -K1 or -K3 until a new -version of vlmcsd is available.

- -

-c0 and -c1

- -

-c1 causes vlmcsd to -check if the client time differs no more than four hours -from the system time. -c0 (the default) disables this -check. -c1 is useful to prevent emulator detection. A -client that tries to detect an emulator could simply send -two subsequent request with two time stamps that differ more -than four hours from each other. If both requests succeed, -the server is an emulator. If you specify -c1 on a -system with no reliable time source, activations will fail. -It is ok to set the correct system time after you started -vlmcsd.

- -

-M0 and -M1

- -

Disables (-M0) or -enables (-M1) maintaining a list of client machine -IDs (CMIDs). The default is -M0. -M1 is useful -to prevent emulator detection. By maintaing a CMID list, -vlmcsd reports current active clients exactly like a genuine -KMS emulator. This includes bug compatibility to the extent -that you can permanently kill a genuine KMS emulator by -sending an "overcharge request" with a required -client count of 376 or more and then request activation for -671 clients. vlmcsd can be reset from this condition by -restarting it. If -M0 is used, vlmcsd reports current -active clients as good as possible. If no client sends an -"overcharge request", it is not possible to detect -vlmcsd as an emulator with -M0. -M1 requires -the allocation of a buffer that is about 50 kB in size. On -hardware with few memory resources use it only if you really -need it.

- -

If you start -vlmcsd from an internet superserver, -M1 cannot be -used. Since vlmcsd exits after each activation, it cannot -maintain any state in memory.

- -

-E0 and -E1

- -

These options are ignored if -you do not also specify -M1. If you use -E0 -(the default), vlmcsd starts up as a fully -"charged" KMS server. Clients activate -immediately. -E1 lets you start up vlmcsd with an -empty CMID list. Activation will start when the required -minimum clients (25 for Windows Client OSses, 5 for Windows -Server OSses and Office) have registered with the KMS -server. As long as the minimum client count has not been -reached, clients end up in HRESULT 0xC004F038 "The -count reported by your Key Management Service (KMS) is -insufficient. Please contact your system -administrator". You may use vlmcs(1) or another -KMS client emulator to "charge" vlmcsd. -E1 -does not improve emulator detection prevention. It’s -primary purpose is to help developers of KMS clients to test -"charging" a KMS server.

- -

-R -renewal-interval

- -

Instructs clients to renew -activation every renewal-interval. The -renewal-interval is a number optionally immediately -followed by a letter indicating the unit. Valid unit letters -are s (seconds), m (minutes), h (hours), d (days) and w -(weeks). If you do not specify a letter, minutes is -assumed.

- -

-R3d for -instance instructs clients to renew activation every 3 days. -The default renewal-interval is 10080 (identical to -7d and 1w).

- -

Due to poor -implementation of Microsofts KMS Client it cannot be -guaranteed that activation is renewed on time as specfied by -the -R option. Don’t care about that. Renewal will -happen well before your activation expires (usually 180 -days).

- -

Even though you -can specify seconds, the granularity of this option is 1 -minute. Seconds are rounded down to the next multiple of -60.

- -

-A -activation-interval

- -

Instructs clients to retry -activation every activation-interval if it was -unsuccessful, e.g. because it could not reach the server. -The default is 120 (identical to 2h). -activation-interval follows the same syntax as -renewal-interval in the -R option.

- - - - - - - -
- - -

-s

- - -

Installs vlmcsd as a Windows service. This option only -works with the native Windows version and Cygwin. Combine --s with other command line options. These will be in -effect when you start the service. The service automatically -starts when you reboot your machine. To start it manually, -type "net start vlmcsd".

- -

If you use -Cygwin, you must include your Cygwin system DLL directory -(usually C:\Cygwin\bin or C:\Cygwin64\bin) into the PATH -environment variable or the service will not start.

- -

You can -reinstall the service anytime using vlmcsd -s again, e.g. -with a different command line. If the service is running, it -will be restarted with the new command line.

- -

When using --s the command line is checked for basic syntax -errors only. For example "vlmcsd -s -L 1.2.3.4" -reports no error but the service will not start if 1.2.3.4 -is not an IP address on your system.

- - - - - - - -
- - -

-S

- - -

Uninstalls the vlmcsd service. -Works only with the native Windows version and Cygwin. All -other options will be ignored if you include -S in the -command line.

- -

-U -[domain\]username

- -

Can only be used together with --s. Starts the service as a different user than the -local SYSTEM account. This is used to run the service under -an account with low privileges. If you omit the domain, an -account from the local computer will be used.

- -

You may use -"NT AUTHORITY\NetworkService". This is a pseudo -user with low privileges. You may also use "NT -AUTHORITY\LocalService" which has more privileges but -these are of no use for running vlmcsd.

- -

Make sure that -the user you specify has at least execute permission for -your executable. "NT AUTHORITY\NetworkService" -normally has no permission to run binaries from your home -directory.

- -

For your -convenience you can use the special username "/l" -as a shortcut for "NT AUTHORITY\LocalService" and -"/n" for "NT AUTHORITY\NetworkService". -"vlmcsd -s -U /n" installs the -service to run as "NT -AUTHORITY\NetworkService".

- -

-W password

- -

Can only be used together with --s. Specifies a password for the corresponding -username you use with -U. SYSTEM, "NT -AUTHORITY\NetworkService", "NT -AUTHORITY\LocalService" do not require a password.

- -

If you specify -a user with even lower privileges than "NT -AUTHORITY\NetworkService", you must specify its -password. You also have to grant the "Log on as a -service" right to that user.

- -

SIGNALS - -

- - -

The following -signals differ from the default behavior:
-SIGTERM
, SIGINT

- -

These signals cause vlmcsd to -exit gracefully. All global semaphores and shared memory -pages will be released, the pid file will be unlinked -(deleted) and a shutdown message will be logged.

- - - - - - - -
- - -

SIGHUP

- - -

Causes vlmcsd to be restarted completely. This is useful -if you started vlmcsd with an ini file. You can modify the -ini file while vlmcsd is running and then sending -SIGHUP, e.g. by typing "killall -SIGHUP -vlmcsd" or "kill -SIGHUP ’cat -/var/run/vlmcsd.pid’".

- -

The SIGHUP -handler has been implemented relatively simple. It is -virtually the same as stopping vlmcsd and starting it again -immediately with the following exceptions:

- - - - - - - - - - - - - - - - - -
- - -

- - -

The new process does not get a -new process id.

- - -

- - -

If you used a pid file, it is not deleted and recreated -because the process id stays the same.

- - -

- - -

If you used the ’user’ and/or -’group’ directive in an ini file these are -ignored. This is because once you switched to lower -privileged users and groups, there is no way back. Anything -else would be a severe security flaw in the OS.

- -

Signaling is -not available in the native Windows version and in the -Cygwin version when vlmcsd runs as a Windows service.

- -

SUPPORTED OPERATING SYSTEMS - -

- - -

vlmcsd -compiles and runs on Linux, Windows (no Cygwin required but -explicitly supported), Mac OS X, FreeBSD, NetBSD, OpenBSD, -Dragonfly BSD, Minix, Solaris, OpenIndiana, Android and iOS. -Other POSIX or unixoid OSses may work with unmodified -sources or may require minor porting efforts.

- -

SUPPORTED PRODUCTS - -

- - -

vlmcsd -can answer activation requests for the following products: -Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 -(up to 1809), Windows Server 2008, Windows Server 2008 R2, -Windows Server 2012, Windows Server 2012 R2, Windows Server -2016, Office 2010, Project 2010, Visio 2010, Office 2013, -Project 2013, Visio 2013, Office 2016, Project 2016, Visio -2016, Office 2019, Project 2019, Visio 2019. Newer products -may work as long as the KMS protocol does not change. A -complete list of fully supported products can be obtained -using the -x option of vlmcs(1).

- -

Windows Vista, -Windows 7, Office, Project and Visio must be volume license -versions.

- -

FILES - -

- - - -

vlmcsd.ini(5)

- -

EXAMPLES - -

- - -

vlmcsd --De

- -

Starts vlmcsd in -foreground. Useful if you use it for the first time and want -to see what’s happening when a client requests -activation.

- -

vlmcsd -l -/var/log/vlmcsd.log

- -

Starts vlmcsd as a -daemon and logs everything to /var/log/vlmcsd.log.

- -

vlmcsd -L -192.168.1.17

- -

Starts vlmcsd as a -daemon and listens on IP address 192.168.1.17 only. This is -useful for routers that have a public and a private IP -address to prevent your KMS server from becoming public.

- -

vlmcsd -s -U /n -l -C:\logs\vlmcsd.log

- -

Installs vlmcsd as a -Windows service with low privileges and logs everything to -C:\logs\vlmcsd.log when the service is started with -"net start vlmcsd".

- -

BUGS - -

- - -

An ePID -specified in an ini file must not contain spaces.

- -

AUTHOR - -

- - -

Written by -crony12, Hotbird64 and vityan666. With contributions from -DougQaid.

- -

CREDITS - -

- - -

Thanks to -abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87, -qad, Ratiborus, ...

- -

SEE ALSO - -

- - - -

vlmcsd.ini(5), -vlmcsd(7), vlmcs(1), vlmcsdmulti(1)

-
- - diff --git a/vlmcsd-1113/man/vlmcsd.8.pdf b/vlmcsd-1113/man/vlmcsd.8.pdf deleted file mode 100644 index 5500dfd2bb0be6ac65534220da0e7d16e2c6b920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47941 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 LzI}di@5H|Wy38Kr diff --git a/vlmcsd-1113/man/vlmcsd.8.unix.txt b/vlmcsd-1113/man/vlmcsd.8.unix.txt deleted file mode 100644 index 17d08eb..0000000 --- a/vlmcsd-1113/man/vlmcsd.8.unix.txt +++ /dev/null @@ -1,785 +0,0 @@ -VLMCSD(8) KMS Activation Manual VLMCSD(8) - - - -NAME - vlmcsd - a fully Microsoft compatible KMS server - - -SYNOPSIS - vlmcsd [ options ] - - -DESCRIPTION - vlmcsd is a fully Microsoft compatible KMS server that provides product - activation services to clients. It is meant as a drop-in replacement - for a Microsoft KMS server (Windows computer with KMS key entered). It - currently supports KMS protocol versions 4, 5 and 6. - - vlmcsd is designed to run on POSIX compatible operating systens. It - only requires a basic C library with a BSD-style sockets API and either - fork(2) or pthreads(7). That allows it to run on most embedded systems - like routers, NASes, mobile phones, tablets, TVs, settop boxes, etc. - Some efforts have been made that it also runs on Windows. - - Although vlmcsd does neither require an activation key nor a payment to - anyone, it is not meant to run illegal copies of Windows. Its purpose - is to ensure that owners of legal copies can use their software without - restrictions, e.g. if you buy a new computer or motherboard and your - key will be refused activation from Microsoft servers due to hardware - changes. - - vlmcsd may be started via an internet superserver like inetd(8) or - xinetd(8) as well as an advanced init system like systemd(8) or - launchd(8) using socket based activation. If vlmcsd detects that - stdin(3) is a socket, it assumes that there is already a connected - client on stdin that wants to be activated. - - All options that control setting up listening sockets will be ignored - when in inetd mode. The sockets will be set up by your internet super- - server. You also cannot limit the number of simultanous clients (option - -m). You need to configure the limit in your internet superserver. - - The followong features that require that vlmcsd is permanently loaded - will not work if started from an internet superserver: - - - You cannot maintain a client list (option -M1) - - - EPID Randomization Level 1 (option -r1) works like Level 2 - (-r2). You may want to use Level 0 (-r0) or custom EPIDs - (options -w, -G, -0, -3 and -6) instead. - - -OPTIONS - Since vlmcsd can be configured at compile time, some options may not be - available on your system. - - All options that do no require an argument may be combined with a sin- - gle dash, for instance "vlmcsd -D -e" is identical to "vlmcsd -De". For - all options that require an argument a space between the option and the - option argument is optional. Thus "vlmcsd -r 2" and "vlmcsd -r2" are - identical too. - - - -h or -? - Displays help. - - - -V Displays extended version information. This includes the com- - piler used to build vlmcsd, the intended platform and flags - (compile time options) to build vlmcsd. If you have the source - code of vlmcsd, you can type make help (or gmake help on systems - that do not use the GNU version of make(1) by default) to see - the meaning of those flags. - - - -L ipaddress[:port] - Instructs vlmcsd to listen on ipaddress with optional port - (default 1688). You can use this option more than once. If you - do not specify -L at least once, IP addresses 0.0.0.0 (IPv4) and - :: (IPv6) are used. If the IP address contains colons (IPv6) you - must enclose the IP address in brackets if you specify the - optional port, e.g. [2001:db8::dead:beef]:1688. - - If no port is specified, vlmcsd uses the default port according - to a preceding -P option. If you specify a port, it can be a - number (1-65535) or a name (usually found in /etc/services if - not provided via LDAP, NIS+ or another name service). - - If you specify a link local IPv6 address (fe80::/10, usually - starting with fe80::), it must be followed by a percent sign (%) - and a scope id (=network interface name or number) on most - unixoid OSses including Linux, Android, MacOS X and iOS, e.g. - fe80::1234:56ff:fe78:9abc%eth0 or - [fe80::1234:56ff:fe78:9abc%2]:1688. Windows (including cygwin) - does not require a scope id unless the same link local address - is used on more than one network interface. Windows does not - accept a name and the scope id must be a number. - - - -o level - Sets the level of protection against activations from public IP - addresses. The default is -o0 for no protection. - - -o1 causes vlmcsd not to listen on all IP addresses but on pri- - vate IP addresses only. IPv4 addresses in the 100.64.0.0/10 - range (see RFC6598) are not treated as private since they can be - reached from other users of your ISP. Private IPv4 addresses are - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16 and - 127.0.0.0/8. vlmcsd treats all IPv6 addresses not within - 2000::/3 as private addresses. - - If -o1 is combined with -L, it will listen on all private IP - addresses plus the ones specified by one or more -L statements. - If -o1 is combined with -P, only the last -P statement will be - used. - - Using -o1 does not protect you if you enable NAT port forwarding - on your router to your vlmcsd machine. It is identical to using - multiple -L statements with all of your private IP addresses. - What -o1 does for you, is automatically enumerating your private - IP addresses. - - -o2 does not affect the interfaces, vlmcsd is listening on. When - a clients connects, vlmcsd immediately drops the connection if - the client has a public IP address. Unlike -o1 clients will be - able to establish a TCP connection but it will be closed without - a single byte sent over the connection. This protects against - clients with public IP addresses even if NAT port forwarding is - used. While -o2 offers a higher level of protection than -o1, - the client sees that the KMS TCP port (1688 by default) is actu- - ally accepting connections. - - If vlmcsd is compiled to use MS RPC, -o2 can only offer very - poor protection. Control is passed from MS RPC to vlmcsd after - the KMS protocol has already been negotiated. Thus a client can - always verify that the KMS protocol is available even though it - receives an RPC_S_ACCESS_DENIED error message. vlmcsd will issue - a warning if -o2 is used with MS RPC. For adaequate protection - do not use a MS RPC build of vlmcsd with -o2. - - -o3 combines -o1 and -o2. vlmcsd listens on private interfaces - only and if a public client manages to connect anyway due to NAT - port forwarding, it will be immediately dropped. - - If you use any form of TCP level port forwarding (e.g. nc(1), - netcat(1), ssh(1) port forwarding or similar) to redirect KMS - requests to vlmcsd, there will be no protection even if you use - -o2 or -o3. This is due to the simple fact that vlmcsd sees the - IP address of the redirector and not the IP address of the - client. - - -o1 (and thus -o3) is not (yet) available in some scenarios: - - FreeBSD: There is a longtime unfixed bug in the - 32-bit ABI of the 64-bit kernel. If you have a 64-bit Free- - BSD kernel, you must run the 64-bit version of vlmcsd if - you use -o1 or -o3. The 32-bit version causes undefined - behavior up to crashing vlmcsd. Other BSDs (NetBSD, Open- - BSD, Dragonfly and Mac OS X) work correctly. - - If vlmcsd was started by an internet superserver or was - compiled to use Microsoft RPC (Windows only) or simple - sockets, -o1 and -o3 are not available by design. - - - -P port - Use TCP port for all subsequent -L statements that do not - include an optional port. If you use -P and -L, -P must be spec- - ified before -L. - - - -O vpn-adapter-name[=ipv4-address][/cidr-mask][:dhcp-lease-duration] - Enables a compatible VPN adapter to create additional local IPv4 - addresses (like 127.0.0.1) that appear as remote IPv4 addresses - to the system. This allows product activation using a local - instance of vlmcsd. This feature is only available in Windows - and Cygwin builds of vlmcsd since it is not of any use on other - operating systems. Compatible VPN adapters are Tap-windows ver- - sion 8.2 or higher (from OpenVPN) and the TeamViewer VPN - adapter. There are two special vpn-adapter-names. A single - period (.) instructs vlmcsd to use the first available compati- - ble VPN adapter. A single dash (-) disables the use of a VPN - adapter if one has been configured in vlmcsd.ini(5). The vpn- - adapter-name is not case-sensitive. If the vpn-adapter-name con- - tains spaces (e.g. Ethernet 3), you must enclose it in quotes. - - The default ipv4-address is 10.10.10.9 and the default cidr-mask - is 30. If you are using the default values, your VPN adapter - uses an IPv4 address of 10.10.10.9 and you can set your activa- - tion client to use the easy to remember address 10.10.10.10 - (e.g. slmgr /skms 10.10.10.10 or cscript ospp.vbs - /sethst:10.10.10.10). - - The dhcp-lease-duration is a number optionally followed by s, m, - h, d or w to indicate seconds, minutes, hours, days or weeks. - The default dhcp-lease-duration is 1d (one day). It is normally - not required to change this value. - - It is advised not to manually configure your OpenVPN TAP or - TeamViewer VPN adapter in "Network Connections". If you set the - IPv4 configuration manually anyway, the IPv4 address and the - subnet mask must match the -O parameter. It is safe leave the - IPv4 configuration to automatic (DHCP). vlmcsd will wait up to - four seconds for the DHCP configuration to complete before bind- - ing to and listenin on any interfaces. - - You should be aware that only one program can use a VPN adapter - at a time. If you use the TeamViewer VPN adapter for example, - you will not be able to use the VPN feature of TeamViewer as - long as vlmcsd is running. The same applies to OpenVPN TAP - adapters that are in use by other programs (for example OpenVPN, - QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid con- - flicts is to install Tap-Windows from OpenVPN, cd to C:\Program - Files\TAP-Windows\bin and run addtap.bat to install an addi- - tional TAP adapter. Go to "Network Connections" and rename the - new adapter to "vlmcsd" and specify -O vlmcsd to use it. - - Example: -O "Ethernet 7"=192.168.123.1/24 (uses VPN adapter Eth- - ernet 7 with IPv4 address 192.168.123.1 and have 192.168.123.2 - to 192.168.123.254 as additional local (but apparently remote) - IPv4 addresses. - - - -x0 and -x1 - Controls under what circumstances vlmcsd will exit. Using the - default of -x0 vlmcsd stays active as long as it can perform - some useful operations. If vlmcsd is run by any form of a watch- - dog, e.g. NT service manager (Windows), systemd (Linux) or - launchd (Mac OS / iOS), it may be desirable to end vlmcsd and - let the watchdog restart it. This is especially true if some - pre-requisites are not yet met but will be some time later, e.g. - network is not yet fully setup. - - By using -x0 vlmcsd will - - exit if none of the listening sockets specified with -L can - be used. It continues if at least one socket can be setup - for listening. - - exit any TAP mirror thread (Windows version only) if there - is an error condition while reading or writing from or to - the VPN adapter but continue to work without utilizing a - VPN adapter. - - By using -x1 vlmcsd will - - exit if not all listening sockets specified with -L can be - used. - - exit completely if there is a problem with a VPN adapter it - is using. This can happen for instance if the VPN adapter - has been disabled using "Control Panel - Network - Adapter - Settings" while vlmcsd is using it. - - - Please note that -x1 is kind of a workaround option. While it - may help under some circumstances, it is better to solve the - problem at its origin, e.g. properly implementing dependencies - in your startup script to ensure all network interfaces and the - VPN adapter you will use are completely setup before you start - vlmcsd. - - - -F0 and -F1 - Allow (-F1) or disallow (-F0) binding to IP addresses that are - currently not configured on your system. The default is -F0. -F1 - allows you to bind to an IP address that may be configured after - you started vlmcsd. vlmcsd will listen on that address as soon - as it becomes available. This feature is only available under - Linux (IPv4 and IPv6) and FreeBSD (IPv4 only). FreeBSD allows - this feature only for the root user (more correctly: processes - that have the PRIV_NETINET_BINDANY privilege). Linux does not - require a capability for this. - - - -t seconds - Timeout the TCP connection with the client after seconds sec- - onds. After sending an activation request. RPC keeps the TCP - connection for a while. The default is 30 seconds. You may spec- - ify a shorter period to free ressources on your device faster. - This is useful for devices with limited main memory or if you - used -m to limit the concurrent clients that may request activa- - tion. Microsoft RPC clients disconnect after 30 seconds by - default. Setting seconds to a greater value does not make much - sense. - - - -m concurrent-clients - Limit the number of clients that will be handled concurrently. - This is useful for devices with limited ressources or if you are - experiencing DoS attacks that spawn thousands of threads or - forked processes. If additional clients connect to vlmcsd, they - need to wait until another client disconnects. If you set con- - current-clients to a small value ( <10 ), you should also select - a reasonable timeout of 2 or 3 seconds with -t. The default is - no limit. - - - -d Disconnect each client after processing one activation request. - This is a direct violation of DCE RPC but may help if you - receive malicous fake RPC requests that block your threads or - forked processes. Some other KMS emulators (e.g. py-kms) behave - this way. - - - -k Do not disconnect clients after processing an activation - request. This selects the default behavior. -k is useful only if - you used an ini file (see vlmcsd.ini(5) and -i). If the ini file - contains the line "DisconnectClientsImmediately = true", you can - use this switch to restore the default behavior. - - - -N0 and -N1 - Disables (-N0) or enables (-N1) the use of the NDR64 transfer - syntax in the RPC protocol. Unlike Microsoft vlmcsd supports - NDR64 on 32-bit operating systems. Microsoft introduced NDR64 in - Windows Vista but their KMS servers started using it with Win- - dows 8. Thus if you choose random ePIDs, vlmcsd will select - ePIDs with build numbers 9200 and 9600 if you enable NDR64 and - build numbers 6002 and 7601 if you disable NDR64. The default is - to enable NDR64. - - - -B0 and -B1 - Disables (-B0) or enables (-B1) bind time feature negotiation - (BTFN) in the RPC protocol. All Windows operating systems start- - ing with Vista support BTFN and try to negotiate it when initi- - ating an RPC connection. Thus consider turning it off as a debug - / troubleshooting feature only. Some older firewalls that selec- - tively block or redirect RPC traffic may get confused when they - detect NDR64 or BTFN. - - - -l filename - Use filename as a log file. The log file records all activations - with IP address, Windows workstation name (no reverse DNS - lookup), activated product, KMS protocol, time and date. If you - do not specify a log file, no log is created. For a live view of - the log file type tail -f file. - - If you use the special filename "syslog", vlmcsd uses syslog(3) - for logging. If your system has no syslog service (/dev/log) - installed, logging output will go to /dev/console. Syslog log- - ging is not available in the native Windows version. The Cygwin - version does support syslog logging. - - - -T0 and -T1 - Disable (-T0) or enable (-T1) the inclusion of date and time in - each line of the log. The default is -T1. -T0 is useful if you - log to stdout(3) which is redirected to another logging mecha- - nism that already includes date and time in its output, for - instance systemd-journald(8). If you log to syslog(3), -T1 is - ignored and date and time will never be included in the output - sent to syslog(3). - - - -D Normally vlmcsd daemonizes and runs in background (except the - native Windows version). If -D is specified, vlmcsd does not - daemonize and runs in foreground. This is useful for testing and - allows you to simply press to exit vlmcsd. - - The native Windows version never daemonizes and always behaves - as if -D had been specified. You may want to install vlmcsd as a - service instead. See -s. - - - -e If specified, vlmcsd ignores -l and writes all logging output to - stdout(3). This is mainly useful for testing and debugging and - often combined with -D. - - - -v Use verbose logging. Logs every parameter of the base request - and the base response. It also logs the HWID of the KMS server - if KMS protocol version 6 is used. This option is mainly for - debugging purposes. It only has an effect if some form of log- - ging is used. Thus -v does not make sense if not used with -l, - -e or -f. - - - -q Do not use verbose logging. This is actually the default behav- - ior. It only makes sense if you use vlmcsd with an ini file (see - -i and vlmcsd.ini(5)). If the ini file contains the line - "LogVerbose = true" you can use -q to restore the default behav- - ior. - - - -p filename - Create pid file filename. This has nothing to do with KMS ePIDs. - A pid file is a file where vlmcsd writes its own process id. - This is used by standard init scripts (typically found in - /etc/init.d). The default is not to write a pid file. - - - -u user and -g group - Causes vlmcsd to run in the specified user and group security - context. The main purpose for this is to drop root privileges - after it has been started from the root account. To use this - feature from cygwin you must run cyglsa-config and the account - from which vlmcsd is started must have the rights "Act as part - of the operating system" and "Replace a process level token". - The native Windows version does not support these options. - - The actual security context switch is performed after the TCP - sockets have been created. This allows you to use privileged - ports (< 1024) when you start vlmcsd from the root account. - - However if you use an ini, pid or log file, you must ensure that - the unprivileged user has access to these files. You can always - log to syslog(3) from an unprivileged account on most platforms - (see -l). - - - -a CSVLK = ePID [ / HwId ] - Use ePID and HwId for a specific CSVLK. When you use it, -r is - disregarded for this CSVLK. If vlmcsd uses the default vlm- - csd.kmd database, you can use the following CSVLKs: Windows, - WinChinaGov, Office2010, Office2013, Office2016 and Office2019. - The -a option requires that database version 1.6 or later is - used. - - HwId must be specified as 16 hex digits that are interpreted as - a series of 8 bytes (big endian). Any character that is not a - hex digit will be ignored. This is for better readability. - - - -i filename - Use configuration file (aka ini file) filename. Most configura- - tion parameters can be set either via the command line or an ini - file. The command line always has precedence over configuration - items in the ini file. See vlmcsd.ini(5) for the format of the - configuration file. - - If vlmcsd has been compiled to use a default configuration file - (often /etc/vlmcsd.ini), you may use -i- to ignore the default - configuration file. - - - -j filename - Use KMS data file filename. By default vlmcsd only contains the - minimum product data that is required to perform all operations - correctly. You may use a more complete KMS data file that con- - tains all detailed product names. This is especially useful if - you are logging KMS requests. If you don't log, there is no need - to load an external KMS data file. - - If vlmcsd has been compiled to use a default KMS data file, you - may use -j- to ignore the default configuration file. - - - -r0, -r1 (default) and -r2 - These options determine how ePIDs are generated if - - - you did not sprecify an ePID in the command line and - - you haven't used -i or - - the file specified by -i cannot be opened or - - the file specified by -i does not contain an ePID for the KMS - request - - -r0 means there are no random ePIDs. vlmcsd simply issues - default ePIDs that are built into the binary at compile time. - Pro: behaves like real KMS server that also always issues the - same ePID. Con: Microsoft may start blacklisting again and the - default ePID may not work any longer. - - -r1 instructs vlmcsd to generate random ePIDs when the program - starts or receives a SIGHUP signal and uses these ePIDs until it - is stopped or receives another SIGHUP. Most other KMS emulators - generate a new ePID on every KMS request. This is easily - detectable. Microsoft could just modify sppsvc.exe in a way that - it always sends two identical KMS requests in two RPC requests - but over the same TCP connection. If both KMS responses contain - the different ePIDs, the KMS server is not genuine. -r1 is the - default mode. -r1 also ensures that all three ePIDs (Windows, - Office 2010 and Office 2013) use the same OS build number and - LCID (language id). - - If vlmcsd has been started by an internet superserver, -r1 works - almost identically to -r2. The only exception occurs if you send - more than one activation request over the same TCP connection. - This is simply due to the fact that vlmcsd is started upon a - connection request and does not stay in memory after servicing a - KMS request. Consider using -r0 or -w, -G, -0, -3 and -6 when - starting vlmcsd by an internet superserver. - - -r2 behaves like most other KMS server emulators with random - support and generates a new random ePID on every request. -r2 - should be treated as debugging option only because it allows - very easy emulator detection. - - - -C LCID - Do not randomize the locale id part of the ePID and use LCID - instead. The LCID must be specified as a decimal number, e.g. - 1049 for "Russian - Russia". This option has no effect if the - ePID is not randomized at all, e.g. if it is selected from the - command line or an ini file. - - By default vlmcsd generates a valid locale id that is recognized - by .NET Framework 4.0. This may lead to a locale id which is - unlikely to occur in your country, for instance 2155 for "Quecha - - Ecuador". You may want to select the locale id of your country - instead. See MSDN for a list of valid LCIDs. Please note that some - of them are not recognized by .NET Framework 4.0. - - Most other KMS emulators use a fixed LCID of 1033 (English - - US). To achive the same behavior in vlmcsd use -C 1033. - - - -H HostBuild - Do not randomize the host build number in the ePID and use Host- - Build instead, for instance 17763 for Windows Server 2019 / Win- - dows 10 1809. - - - -K0, -K1, -K2 and -K3 - Sets the whitelisting level to determine which products vlmcsd - activates or refuses. The default is -K0. - - -K0: activate all products with an unknown, retail or - beta/preview KMS ID. - -K1: activate products with a retail or beta/preview KMS ID - but refuse to activate products with an unknown KMS ID. - -K2: activate products with an unknown KMS ID but refuse - products with a retail or beta/preview KMS ID. - -K3: activate only products with a known volume license RTM - KMS ID and refuse all others. - - - The SKU ID is not checked. Like a genuine KMS server vlmcsd - activates a product that has a random or unknown SKU ID. If you - select -K1 or -K3, vlmcsd also checks the Application ID for - correctness. If Microsoft introduces a new KMS ID for a new - product, you cannot activate it if you used -K1 or -K3 until a - new version of vlmcsd is available. - - - -c0 and -c1 - -c1 causes vlmcsd to check if the client time differs no more - than four hours from the system time. -c0 (the default) disables - this check. -c1 is useful to prevent emulator detection. A - client that tries to detect an emulator could simply send two - subsequent request with two time stamps that differ more than - four hours from each other. If both requests succeed, the server - is an emulator. If you specify -c1 on a system with no reliable - time source, activations will fail. It is ok to set the correct - system time after you started vlmcsd. - - - -M0 and -M1 - Disables (-M0) or enables (-M1) maintaining a list of client - machine IDs (CMIDs). The default is -M0. -M1 is useful to pre- - vent emulator detection. By maintaing a CMID list, vlmcsd - reports current active clients exactly like a genuine KMS emula- - tor. This includes bug compatibility to the extent that you can - permanently kill a genuine KMS emulator by sending an "over- - charge request" with a required client count of 376 or more and - then request activation for 671 clients. vlmcsd can be reset - from this condition by restarting it. If -M0 is used, vlmcsd - reports current active clients as good as possible. If no client - sends an "overcharge request", it is not possible to detect vlm- - csd as an emulator with -M0. -M1 requires the allocation of a - buffer that is about 50 kB in size. On hardware with few memory - resources use it only if you really need it. - - If you start vlmcsd from an internet superserver, -M1 cannot be - used. Since vlmcsd exits after each activation, it cannot main- - tain any state in memory. - - - -E0 and -E1 - These options are ignored if you do not also specify -M1. If you - use -E0 (the default), vlmcsd starts up as a fully "charged" KMS - server. Clients activate immediately. -E1 lets you start up vlm- - csd with an empty CMID list. Activation will start when the - required minimum clients (25 for Windows Client OSses, 5 for - Windows Server OSses and Office) have registered with the KMS - server. As long as the minimum client count has not been - reached, clients end up in HRESULT 0xC004F038 "The count - reported by your Key Management Service (KMS) is insufficient. - Please contact your system administrator". You may use vlmcs(1) - or another KMS client emulator to "charge" vlmcsd. -E1 does not - improve emulator detection prevention. It's primary purpose is - to help developers of KMS clients to test "charging" a KMS - server. - - - -R renewal-interval - Instructs clients to renew activation every renewal-interval. - The renewal-interval is a number optionally immediately followed - by a letter indicating the unit. Valid unit letters are s (sec- - onds), m (minutes), h (hours), d (days) and w (weeks). If you do - not specify a letter, minutes is assumed. - - -R3d for instance instructs clients to renew activation every 3 - days. The default renewal-interval is 10080 (identical to 7d and - 1w). - - Due to poor implementation of Microsofts KMS Client it cannot be - guaranteed that activation is renewed on time as specfied by the - -R option. Don't care about that. Renewal will happen well - before your activation expires (usually 180 days). - - Even though you can specify seconds, the granularity of this - option is 1 minute. Seconds are rounded down to the next multi- - ple of 60. - - - -A activation-interval - Instructs clients to retry activation every activation-interval - if it was unsuccessful, e.g. because it could not reach the - server. The default is 120 (identical to 2h). activation-inter- - val follows the same syntax as renewal-interval in the -R - option. - - - -s Installs vlmcsd as a Windows service. This option only works - with the native Windows version and Cygwin. Combine -s with - other command line options. These will be in effect when you - start the service. The service automatically starts when you - reboot your machine. To start it manually, type "net start vlm- - csd". - - If you use Cygwin, you must include your Cygwin system DLL - directory (usually C:\Cygwin\bin or C:\Cygwin64\bin) into the - PATH environment variable or the service will not start. - - You can reinstall the service anytime using vlmcsd -s again, - e.g. with a different command line. If the service is running, - it will be restarted with the new command line. - - When using -s the command line is checked for basic syntax - errors only. For example "vlmcsd -s -L 1.2.3.4" reports no error - but the service will not start if 1.2.3.4 is not an IP address - on your system. - - - -S Uninstalls the vlmcsd service. Works only with the native Win- - dows version and Cygwin. All other options will be ignored if - you include -S in the command line. - - - -U [domain\]username - Can only be used together with -s. Starts the service as a dif- - ferent user than the local SYSTEM account. This is used to run - the service under an account with low privileges. If you omit - the domain, an account from the local computer will be used. - - You may use "NT AUTHORITY\NetworkService". This is a pseudo user - with low privileges. You may also use "NT AUTHORITY\LocalSer- - vice" which has more privileges but these are of no use for run- - ning vlmcsd. - - Make sure that the user you specify has at least execute permis- - sion for your executable. "NT AUTHORITY\NetworkService" normally - has no permission to run binaries from your home directory. - - For your convenience you can use the special username "/l" as a - shortcut for "NT AUTHORITY\LocalService" and "/n" for "NT - AUTHORITY\NetworkService". "vlmcsd -s -U /n" installs the ser- - vice to run as "NT AUTHORITY\NetworkService". - - - -W password - Can only be used together with -s. Specifies a password for the - corresponding username you use with -U. SYSTEM, "NT AUTHOR- - ITY\NetworkService", "NT AUTHORITY\LocalService" do not require - a password. - - If you specify a user with even lower privileges than "NT - AUTHORITY\NetworkService", you must specify its password. You - also have to grant the "Log on as a service" right to that user. - - -SIGNALS - The following signals differ from the default behavior: - - - SIGTERM, SIGINT - These signals cause vlmcsd to exit gracefully. All global sema- - phores and shared memory pages will be released, the pid file - will be unlinked (deleted) and a shutdown message will be - logged. - - - SIGHUP Causes vlmcsd to be restarted completely. This is useful if you - started vlmcsd with an ini file. You can modify the ini file - while vlmcsd is running and then sending SIGHUP, e.g. by typing - "killall -SIGHUP vlmcsd" or "kill -SIGHUP `cat /var/run/vlm- - csd.pid`". - - The SIGHUP handler has been implemented relatively simple. It is - virtually the same as stopping vlmcsd and starting it again - immediately with the following exceptions: - - - -- The new process does not get a new process id. - - -- If you used a pid file, it is not deleted and recreated - because the process id stays the same. - - -- If you used the 'user' and/or 'group' directive in an ini - file these are ignored. This is because once you switched to - lower privileged users and groups, there is no way back. Any- - thing else would be a severe security flaw in the OS. - - Signaling is not available in the native Windows version and in the - Cygwin version when vlmcsd runs as a Windows service. - - -SUPPORTED OPERATING SYSTEMS - vlmcsd compiles and runs on Linux, Windows (no Cygwin required but - explicitly supported), Mac OS X, FreeBSD, NetBSD, OpenBSD, Dragonfly - BSD, Minix, Solaris, OpenIndiana, Android and iOS. Other POSIX or - unixoid OSses may work with unmodified sources or may require minor - porting efforts. - - -SUPPORTED PRODUCTS - vlmcsd can answer activation requests for the following products: Win- - dows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 (up to 1809), - Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Win- - dows Server 2012 R2, Windows Server 2016, Office 2010, Project 2010, - Visio 2010, Office 2013, Project 2013, Visio 2013, Office 2016, Project - 2016, Visio 2016, Office 2019, Project 2019, Visio 2019. Newer products - may work as long as the KMS protocol does not change. A complete list - of fully supported products can be obtained using the -x option of - vlmcs(1). - - Windows Vista, Windows 7, Office, Project and Visio must be volume - license versions. - - -FILES - vlmcsd.ini(5) - - -EXAMPLES - vlmcsd -De - Starts vlmcsd in foreground. Useful if you use it for the first - time and want to see what's happening when a client requests - activation. - - - vlmcsd -l /var/log/vlmcsd.log - Starts vlmcsd as a daemon and logs everything to /var/log/vlm- - csd.log. - - - vlmcsd -L 192.168.1.17 - Starts vlmcsd as a daemon and listens on IP address 192.168.1.17 - only. This is useful for routers that have a public and a pri- - vate IP address to prevent your KMS server from becoming public. - - - vlmcsd -s -U /n -l C:\logs\vlmcsd.log - Installs vlmcsd as a Windows service with low privileges and - logs everything to C:\logs\vlmcsd.log when the service is - started with "net start vlmcsd". - - -BUGS - An ePID specified in an ini file must not contain spaces. - - -AUTHOR - Written by crony12, Hotbird64 and vityan666. With contributions from - DougQaid. - - -CREDITS - Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87, - qad, Ratiborus, ... - - -SEE ALSO - vlmcsd.ini(5), vlmcsd(7), vlmcs(1), vlmcsdmulti(1) - - - -Hotbird64 February 2019 VLMCSD(8) diff --git a/vlmcsd-1113/man/vlmcsd.ini.5.dos.txt b/vlmcsd-1113/man/vlmcsd.ini.5.dos.txt deleted file mode 100644 index f840d0a..0000000 --- a/vlmcsd-1113/man/vlmcsd.ini.5.dos.txt +++ /dev/null @@ -1,486 +0,0 @@ -VLMCSD.INI(5) KMS Activation Manual VLMCSD.INI(5) - - - -NAME - vlmcsd.ini - vlmcsd KMS emulator configuration file - - -SYNOPSIS - vlmcsd.ini - - -DESCRIPTION - vlmcsd.ini (or simply called the "ini file") is a configuration file - for vlmcsd(8). By default vlmcsd does not use a configuration file. It - is completely optional and for advanced users only. You must use the -i - option on the vlmcsd command line to use an ini file. There is no - default name or default location for the ini file. - - Everything, that can be configured in the ini file, may also be speci- - fied on the command line. Any configuration option specified on the - command line takes precedence over the respective configuration line in - the ini file. - - Benefits of a configuration file - - While you can use the configuration file to simply modify the default - behavior of vlmcsd, it can also be used to change the configuration of - vlmcsd after you sent a HUP signal(7). Whenever you send SIGHUP, the - configuration file will be re-read. Any changes you made to the ini - file will be reflected after vlmcsd received the hangup signal. - - Differences between command line and configuration file - - If you specify an illegal option or option argument on the command - line, vlmcsd displays help and exits. If you specify an incorrect key- - word or argument in the ini file, vlmcsd displays a warning with some - information, ignores the respective line and continues. This is inten- - tional and prevents vlmcsd from aborting after a SIGHUP if the configu- - ration was modified incorrectly. - - -SYNTAX - vlmcsd.ini is a UTF-8 encoded text file with each line being in the - format keyword = argument. The keyword is not case-sensitive. The argu- - ment is treated literally. It is neither required nor allowed to - enclose the argument in any form of quote characters except when quote - characters are part of the argument itself. Whitespace characters are - ignored only - - - at the beginning of a line - - between the keyword and '=' - - between '=' and the argument - - Lines, that start with '#' or ';' are treated as comments. Empty lines - are ignored as well. If a keyword is repeated in another line, vlmcsd - will use the argument of the last occurence of the keyword. An excep- - tion to this is the Listen keyword which can be specified multiple - times and causes vlmcsd to listen on more than one IP address and/or - port. - - Some arguments are binary arguments that need to be either TRUE or - FALSE. You can use "Yes", "On" or "1" as an alias for TRUE and "No", - "Off" or "0" as an alias for FALSE. Binary arguments are case-insensi- - tive. - - -KEYWORDS - The following keywords are defined (not all keywords may be available - depending on the operating system and the options used when vlmcsd(8) - was compiled): - - - Listen This defines on what combinations of IP addresses and ports vlm- - csd should listen. Listen can be specified more than once. The - argument has the form ipaddress[:port]. If you omit the port, - the default port of 1688 is used. If the ipaddress contains - colons and a port is used, you must enclose the ipaddress in - brackets. The default is to listen to 0.0.0.0:1688 and [::]:1688 - which means listen to all IPv4 and all IPv6 addresses. See the - -L option in vlmcsd(8) for more info about the syntax. If you - use -L or -P on the command line, all Listen keywords in the ini - file will be ignored. The Listen keyword cannot be used if vlm- - csd has been compiled to use Microsoft RPC (Windows and Cygwin - only) or simple sockets. - - Examples: - - Listen = 192.168.1.123:1688 - Listen = 0.0.0.0:1234 - Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688 - - - Port Can only be used if vlmcsd has been compiled to use simple sock- - ets or on Windows and Cygwin if vlmcsd(8) has been compiled to - use Microsoft RPC. Otherwise you must use Listen instead. Causes - vlmcsd to listen on that port instead of 1688. - - - FreeBind - Can be TRUE or FALSE. If TRUE, you can use the Listen keyword - with IP addresses that are currently not defined on your system. - vlmcsd(8) will start listening on these IP addresses as soon as - they become available. This keyword is only available under - Linux and FreeBSD because no other OS currently supports that - feature. FreeBSD supports this only for IPv4 and requires the - PRIV_NETINET_BINDANY privilege which is normally assigned to - proccesses of the root user. - - - PublicIPProtectionLevel - Set the level of protection against KMS activations from public - IP addresses. - - 0 = No protection (default) - 1 = Listen on private IP addresses only (plus those specified by - one or more Listen statements) - 2 = Disconnect clients with public IP addresses without activat- - ing - 3 = Combines 1 and 2 - - For details on public IP protection levels see vlmcsd(8) command - line option -o. - - - VPN Has to be in the form vpn-adapter-name[=ipv4-address][/cidr- - mask][:dhcp-lease-duration]. - - Enables a compatible VPN adapter to create additional local IPv4 - addresses (like 127.0.0.1) that appear as remote IPv4 addresses - to the system. This allows product activation using a local - instance of vlmcsd. This feature is only available in Windows - and Cygwin builds of vlmcsd since it is not of any use on other - operating systems. Compatible VPN adapters are Tap-windows ver- - sion 8.2 or higher (from OpenVPN) and the TeamViewer VPN - adapter. There is a special vpn-adapter-name. A single period - (.) instructs vlmcsd to use the first available compatible VPN - adapter. The vpn-adapter-name is not case-sensitive. If the vpn- - adapter-name contains spaces (e.g. Ethernet 3), do not enclose - it in quotes. - - The default ipv4-address is 10.10.10.9 and the default cidr-mask - is 30. If you are using the default values, your VPN adapter - uses an IPv4 address of 10.10.10.9 and you can set your activa- - tion client to use the easy to remember address 10.10.10.10 - (e.g. slmgr /skms 10.10.10.10 or cscript ospp.vbs - /sethst:10.10.10.10). - - The dhcp-lease-duration is a number optionally followed by s, m, - h, d or w to indicate seconds, minutes, hours, days or weeks. - The default dhcp-lease-duration is 1d (one day). It is normally - not required to change this value. - - It is advised not to manually configure your OpenVPN TAP or - TeamViewer VPN adapter in "Network Connections". If you set the - IPv4 configuration manually anyway, the IPv4 address and the - subnet mask must match the VPN= directive. It is safe leave the - IPv4 configuration to automatic (DHCP). vlmcsd will wait up to - four seconds for the DHCP configuration to complete before bind- - ing to and listenin on any interfaces. - - You should be aware that only one program can use a VPN adapter - at a time. If you use the TeamViewer VPN adapter for example, - you will not be able to use the VPN feature of TeamViewer as - long as vlmcsd is running. The same applies to OpenVPN TAP - adapters that are in use by other programs (for example OpenVPN, - QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid con- - flicts is to install Tap-Windows from OpenVPN, cd to C:\Program - Files\TAP-Windows\bin and run addtap.bat to install an addi- - tional TAP adapter. Go to "Network Connections" and rename the - new adapter to "vlmcsd" and specify VPN=vlmcsd to use it. - - - ExitLevel - Can be either 0 (the default) or 1. Controls under what circum- - stances vlmcsd will exit. Using the default of 0 vlmcsd stays - active as long as it can perform some useful operations. If vlm- - csd is run by any form of a watchdog, e.g. NT service manager - (Windows), systemd (Linux) or launchd (Mac OS / iOS), it may be - desirable to end vlmcsd and let the watchdog restart it. This is - especially true if some pre-requisites are not yet met but will - be some time later, e.g. network is not yet fully setup. - - By using ExitLevel = 0 vlmcsd will - - exit if none of the listening sockets specified with -L can - be used. It continues if at least one socket can be setup - for listening. - - exit any TAP mirror thread (Windows version only) if there - is an error condition while reading or writing from or to - the VPN adapter but continue to work without utilizing a - VPN adapter. - - By using ExitLevel = 1 vlmcsd will - - exit if not all listening sockets specified with -L can be - used. - - exit completely if there is a problem with a VPN adapter it - is using. This may happen for instance if the VPN adapter - has been disabled using "Control Panel - Network - Adapter - Settings" while vlmcsd is using it. - - - Please note that ExitLevel = 1 is kind of a workaround option. - While it may help under some circumstances, it is better to - solve the problem at its origin, e.g. properly implementing - dependencies in your startup script to ensure all network inter- - faces and the VPN adapter you will use are completely setup - before you start vlmcsd. - - - UseNDR64 - Can be TRUE or FALSE. Specifies whether you want to use the - NDR64 transfer syntax. See options -n0 and -n1 in vlmcsd(8). The - default is TRUE. - - - UseBTFN - Can be TRUE or FALSE. Specifies whether you want to use bind - time feature negotiation in RPC. See options -b0 and -b1 in vlm- - csd(8). The default is TRUE. - - - RandomizationLevel - The argument must 0, 1 or 2. This specifies the ePID randomiza- - tion level. See options -r0, -r1 and -r2 in vlmcsd(8). The - default randomization level is 1. A RandomizationLevel of 2 is - not recommended and should be treated as a debugging level. - - - LCID Use a specific culture id (LCID) even if the ePID is randomized. - The argument must be a number between 1 and 32767. While any - number in that range is valid, you should use an offcial LCID. A - list of assigned LCIDs can be found at http://msdn.micro- - soft.com/en-us/goglobal/bb964664.aspx. On the command line you - control this setting with option -C. - - - HostBuild - Use a specific host build number in the ePID even if it is ran- - domized. The argument must be a number between 1 and 65535. - While you can use any number you should only use build numbers - that a released build numbers of Windows Servers, e.g. 17763 for - Windows Server 2019. - - - MaxWorkers - The argument specifies the maximum number of worker processes or - threads that will be used to serve activation requests concur- - rently. This is the same as specifying -m on the command line. - Minimum is 1. The maximum is platform specific and is at least - 32767 but is likely to be greater on most systems. The default - is no limit. - - - ConnectionTimeout - Used to control when the vlmcsd disconnects idle TPC connec- - tions. The default is 30 seconds. This is the same setting as -t - on the command line. - - - DisconnectClientsImmediately - Set this to TRUE to disconnect a client after it got an activa- - tion response regardless whether a timeout has occured or not. - The default is FALSE. Setting this to TRUE is non-standard - behavior. Use only if you are experiencing DoS or DDoS attacks. - On the command line you control this behavior with options -d - and -k. - - - PidFile - Write a pid file. The argument is the full pathname of a pid - file. The pid file contains is single line containing the - process id of the vlmcsd process. It can be used to stop - (SIGTERM) or restart (SIGHUP) vlmcsd. This directive can be - overriden using -p on the command line. - - - LogFile - Write a log file. The argument is the full pathname of a log - file. On a unixoid OS and with Cygwin you can use the special - filename 'syslog' to log to the syslog facility. This is the - same as specifying -l on the command line. - - - KmsData - Use a KMS data file. The argument is the full pathname of a KMS - data file. By default vlmcsd only contains the minimum product - data that is required to perform all operations correctly. You - may use a more complete KMS data file that contains all detailed - product names. This is especially useful if you are logging KMS - requests. If you don't log, there is no need to load an external - KMS data file. - - You may use KmsData = - to prevent the default KMS data file to - be loaded. - - - LogDateAndTime - Can be TRUE or FALSE. The default is TRUE. If set to FALSE, log- - ging output does not include date and time. This is useful if - you log to stdout(3) which is redirected to another logging - mechanism that already includes date and time in its output, for - instance systemd-journald(8). If you log to syslog(3), LogDate- - AndTime is ignored and date and time will never be included in - the output sent to syslog(3). Using the command line you control - this setting with options -T0 and -T1. - - - LogVerbose - Set this to either TRUE or FALSE. The default is FALSE. If set - to TRUE, more details of each activation will be logged. You use - -v and -q in the command line to control this setting. LogVer- - bose has an effect only if you specify a log file or redirect - logging to stdout(3). - - - WhitelistingLevel - Can be 0, 1, 2 or 3. The default is 0. Sets the whitelisting - level to determine which products vlmcsd activates or refuses. - - 0: activate all products with an unknown, retail or - beta/preview KMS ID. - 1: activate products with a retail or beta/preview KMS ID - but refuse to activate products with an unknown KMS ID. - 2: activate products with an unknown KMS ID but refuse - products with a retail or beta/preview KMS ID. - 3: activate only products with a known volume license RTM - KMS ID and refuse all others. - - - The SKU ID is not checked. Like a genuine KMS server vlmcsd - activates a product that has a random or unknown SKU ID. If you - select 1 or 3, vlmcsd also checks the Application ID for cor- - rectness. If Microsoft introduces a new KMS ID for a new prod- - uct, you cannot activate it if you used 1 or 3 until a new ver- - sion of vlmcsd is available. - - - CheckClientTime - Can be TRUE or FALSE. The default is FALSE. If you set this to - TRUE vlmcsd(8) checks if the client time differs no more than - four hours from the system time. This is useful to prevent emu- - lator detection. A client that tries to detect an emulator could - simply send two subsequent request with two time stamps that - differ more than four hours from each other. If both requests - succeed, the server is an emulator. If you set this to TRUE on a - system with no reliable time source, activations will fail. It - is ok to set the correct system time after you started vlm- - csd(8). - - - MaintainClients - Can be TRUE or FALSE (the default). Disables (FALSE) or enables - (TRUE) maintaining a list of client machine IDs (CMIDs). TRUE is - useful to prevent emulator detection. By maintaing a CMID list, - vlmcsd(8) reports current active clients exactly like a genuine - KMS emulator. This includes bug compatibility to the extent that - you can permanently kill a genuine KMS emulator by sending an - "overcharge request" with a required client count of 376 or more - and then request activation for 671 clients. vlmcsd(8) can be - reset from this condition by restarting it. If FALSE is used, - vlmcsd(8) reports current active clients as good as possible. If - no client sends an "overcharge request", it is not possible to - detect vlmcsd(8) as an emulator with MaintainClients = FALSE. - Maintaining clients requires the allocation of a buffer that is - about 50 kB in size. On hardware with few memory resources use - it only if you really need it. - - If you start vlmcsd(8) from an internet superserver, this set- - ting cannot be used. Since vlmcsd(8) exits after each activa- - tion, it cannot maintain any state in memory. - - - StartEmpty - This setting is ignored if you do not also specify Maintain- - Clients = TRUE. If you specify FALSE (the default), vlmcsd(8) - starts up as a fully "charged" KMS server. Clients activate - immediately. StartEmpty = TRUE lets you start up vlmcsd(8) with - an empty CMID list. Activation will start when the required min- - imum clients (25 for Windows Client OSses, 5 for Windows Server - OSses and Office) have registered with the KMS server. As long - as the minimum client count has not been reached, clients end up - in HRESULT 0xC004F038 "The count reported by your Key Management - Service (KMS) is insufficient. Please contact your system admin- - istrator". You may use vlmcs(1) or another KMS client emulator - to "charge" vlmcsd(8). Setting this parameter to TRUE does not - improve emulator detection prevention. It's primary purpose is - to help developers of KMS clients to test "charging" a KMS - server. - - - ActivationInterval - This is the same as specifying -A on the command line. See vlm- - csd(8) for details. The default is 2 hours. Example: Activation- - Interval = 1h - - - RenewalInterval - This is the same as specifying -R on the command line. See vlm- - csd(8) for details. The default is 7 days. Example: RenewalIn- - terval = 3d. Please note that the KMS client decides itself when - to renew activation. Even though vlmcsd sends the renewal inter- - val you specify, it is no more than some kind of recommendation - to the client. Older KMS clients did follow the recommendation - from a KMS server or emulator. Newer clients do not. - - - User Run vlmcsd as another, preferrably less privileged, user. The - argument can be a user name or a numeric user id. You must have - the required privileges (capabilities on Linux) to change the - security context of a process without providing any credentials - (a password in most cases). On most unixoid OSses 'root' is the - only user who has these privileges in the default configuration. - This setting is not available in the native Windows version of - vlmcsd. See -u in vlmcsd(8). This setting cannot be changed on - the fly by sending SIGHUP to vlmcsd. - - - Group Run vlmcsd as another, preferrably less privileged, group. The - argument can be a group name or a numeric group id. You must - have the required privileges (capabilities on Linux) to change - the security context of a process without providing any creden- - tials (a password in most cases). On most unixoid OSses 'root' - is the only user who has these privileges in the default config- - uration. This setting is not available in the native Windows - version of vlmcsd. See -g in vlmcsd(8). This setting cannot be - changed on the fly by sending SIGHUP to vlmcsd. - - - - The argument has the form ePID [ / HwId ]. Always use ePID and - HwId for activations with . If specified, Randomiza- - tionLevel for the will be ignored. With the default - vlmcsd.kmd database you can use the following s: - Windows, Office2010, Office2013, Office2016, Office2019 and - WinChinaGov. While vlmcsd is compatible with older databases, - you must use at least database version 1.6 for this feature to - work. - - -VALID EPIDS - The ePID is currently a comment only. You can specify any string up to - 63 bytes. In Windows 7 Microsoft has blacklisted few ( < 10 ) ePIDs - that were used in KMSv5 versions of the "Ratiborus Virtual Machine". - Microsoft has given up on blacklisting when KMS emulators appeared in - the wild. - - Even if you can use "Activated by cool hacker guys" as an ePID, you may - wish to use ePIDs that cannot be detected as non-MS ePIDs. If you don't - know how these "valid" ePIDs look like exactly, do not use GUIDS in - vlmcsd.ini. vlmcsd provides internal mechanisms to generate valid - ePIDs. - - If you use non-ASCII characters in your ePID (you shouldn't do anyway), - these must be in UTF-8 format. This is especially important when you - run vlmcsd on Windows or cygwin because UTF-8 is not the default encod- - ing for most editors. - - If you are specifying an optional HWID it follows the same syntax as in - the -H option in vlmcsd(8) ecxept that you must not enclose a HWID in - quotes even if it contains spaces. - - -FILES - vlmcsd.ini(5) - - -AUTHOR - vlmcsd(8) was written by crony12, Hotbird64 and vityan666. With contri- - butions from DougQaid. - - -CREDITS - Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87, - qad, Ratiborus, ... - - -SEE ALSO - vlmcsd(8), vlmcsd(7), vlmcs(1), vlmcsdmulti(1) - - - -Hotbird64 October 2018 VLMCSD.INI(5) diff --git a/vlmcsd-1113/man/vlmcsd.ini.5.html b/vlmcsd-1113/man/vlmcsd.ini.5.html deleted file mode 100644 index d06a53a..0000000 --- a/vlmcsd-1113/man/vlmcsd.ini.5.html +++ /dev/null @@ -1,726 +0,0 @@ - - - - - - - - - -VLMCSD.INI - - - - -

VLMCSD.INI

- -NAME
-SYNOPSIS
-DESCRIPTION
-SYNTAX
-KEYWORDS
-VALID EPIDS
-FILES
-AUTHOR
-CREDITS
-SEE ALSO
- -
- - -

NAME - -

- - - -

vlmcsd.ini -- vlmcsd KMS emulator configuration file

- -

SYNOPSIS - -

- - - -

vlmcsd.ini

- -

DESCRIPTION - -

- - - -

vlmcsd.ini -(or simply called the "ini file") is a -configuration file for vlmcsd(8). By default vlmcsd -does not use a configuration file. It is completely optional -and for advanced users only. You must use the -i -option on the vlmcsd command line to use an ini file. There -is no default name or default location for the ini file.

- -

Everything, -that can be configured in the ini file, may also be -specified on the command line. Any configuration option -specified on the command line takes precedence over the -respective configuration line in the ini file.

- -

Benefits of -a configuration file

- -

While you can -use the configuration file to simply modify the default -behavior of vlmcsd, it can also be used to change the -configuration of vlmcsd after you sent a HUP -signal(7). Whenever you send SIGHUP, the -configuration file will be re-read. Any changes you made to -the ini file will be reflected after vlmcsd received the -hangup signal.

- -

Differences -between command line and configuration file

- -

If you specify -an illegal option or option argument on the command line, -vlmcsd displays help and exits. If you specify an incorrect -keyword or argument in the ini file, vlmcsd -displays a warning with some information, ignores the -respective line and continues. This is intentional and -prevents vlmcsd from aborting after a SIGHUP if the -configuration was modified incorrectly.

- -

SYNTAX - -

- - -

vlmcsd.ini is a -UTF-8 encoded text file with each line being in the format -keyword = argument. The keyword is not -case-sensitive. The argument is treated literally. It -is neither required nor allowed to enclose the -argument in any form of quote characters except when -quote characters are part of the argument itself. Whitespace -characters are ignored only

- -

- at the -beginning of a line
-- between the keyword and ’=’
-- between ’=’ and the argument

- -

Lines, that -start with ’#’ or ’;’ are treated as -comments. Empty lines are ignored as well. If a -keyword is repeated in another line, vlmcsd will use -the argument of the last occurence of the -keyword. An exception to this is the Listen -keyword which can be specified multiple times and -causes vlmcsd to listen on more than one IP address and/or -port.

- -

Some -arguments are binary arguments that need to be either -TRUE or FALSE. You can use "Yes", "On" -or "1" as an alias for TRUE and "No", -"Off" or "0" as an alias for FALSE. -Binary arguments are case-insensitive.

- -

KEYWORDS - -

- - -

The following -keywords are defined (not all keywords may be -available depending on the operating system and the options -used when vlmcsd(8) was compiled):

- - - - - - - -
- - -

Listen

- - -

This defines on what combinations of IP addresses and -ports vlmcsd should listen. Listen can be specified -more than once. The argument has the form -ipaddress[:port]. If you omit the port, -the default port of 1688 is used. If the ipaddress -contains colons and a port is used, you must enclose -the ipaddress in brackets. The default is to listen -to 0.0.0.0:1688 and [::]:1688 which means listen to all IPv4 -and all IPv6 addresses. See the -L option in -vlmcsd(8) for more info about the syntax. If you use --L or -P on the command line, all -Listen keywords in the ini file will be ignored. The -Listen keyword cannot be used if vlmcsd has been -compiled to use Microsoft RPC (Windows and Cygwin only) or -simple sockets.

- -

Examples:

- -

Listen = -192.168.1.123:1688
-Listen = 0.0.0.0:1234
-Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688

- - - - - - - -
- - -

Port

- - -

Can only be used if vlmcsd has -been compiled to use simple sockets or on Windows and Cygwin -if vlmcsd(8) has been compiled to use Microsoft RPC. -Otherwise you must use Listen instead. Causes vlmcsd -to listen on that port instead of 1688.

- -

FreeBind

- -

Can be TRUE or FALSE. If TRUE, -you can use the Listen keyword with IP addresses that -are currently not defined on your system. vlmcsd(8) -will start listening on these IP addresses as soon as they -become available. This keyword is only available under Linux -and FreeBSD because no other OS currently supports that -feature. FreeBSD supports this only for IPv4 and requires -the PRIV_NETINET_BINDANY privilege which is normally -assigned to proccesses of the root user.

- - -

PublicIPProtectionLevel

- -

Set the level of protection -against KMS activations from public IP addresses.

- -

0 = No -protection (default)
-1 = Listen on private IP addresses only (plus -those specified by one or more Listen statements) -
-2 = Disconnect clients with public IP addresses -without activating
-3 = Combines 1 and 2

- -

For details on -public IP protection levels see vlmcsd(8) command -line option -o.

- - - - - - - -
- - -

VPN

- - -

Has to be in the form -vpn-adapter-name[=ipv4-address][/cidr-mask][:dhcp-lease-duration].

- -

Enables a -compatible VPN adapter to create additional local IPv4 -addresses (like 127.0.0.1) that appear as remote IPv4 -addresses to the system. This allows product activation -using a local instance of vlmcsd. This feature is only -available in Windows and Cygwin builds of vlmcsd since it is -not of any use on other operating systems. Compatible VPN -adapters are Tap-windows version 8.2 or higher (from -OpenVPN) and the TeamViewer VPN adapter. There is a special -vpn-adapter-name. A single period (.) instructs -vlmcsd to use the first available compatible VPN adapter. -The vpn-adapter-name is not case-sensitive. If -the vpn-adapter-name contains spaces (e.g. Ethernet -3), do not enclose it in quotes.

- -

The default -ipv4-address is 10.10.10.9 and the default -cidr-mask is 30. If you are using the default values, -your VPN adapter uses an IPv4 address of 10.10.10.9 and you -can set your activation client to use the easy to remember -address 10.10.10.10 (e.g. slmgr /skms 10.10.10.10 or cscript -ospp.vbs /sethst:10.10.10.10).

- -

The -dhcp-lease-duration is a number optionally followed -by s, m, h, d or w to indicate seconds, minutes, hours, days -or weeks. The default dhcp-lease-duration is 1d (one -day). It is normally not required to change this value.

- -

It is advised -not to manually configure your OpenVPN TAP or TeamViewer VPN -adapter in "Network Connections". If you set the -IPv4 configuration manually anyway, the IPv4 address and the -subnet mask must match the VPN= directive. It is safe -leave the IPv4 configuration to automatic (DHCP). vlmcsd -will wait up to four seconds for the DHCP configuration to -complete before binding to and listenin on any -interfaces.

- -

You should be -aware that only one program can use a VPN adapter at a time. -If you use the TeamViewer VPN adapter for example, you will -not be able to use the VPN feature of TeamViewer as long as -vlmcsd is running. The same applies to OpenVPN TAP adapters -that are in use by other programs (for example OpenVPN, -QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid -conflicts is to install Tap-Windows from OpenVPN, cd to -C:\Program Files\TAP-Windows\bin and run addtap.bat to -install an additional TAP adapter. Go to "Network -Connections" and rename the new adapter to -"vlmcsd" and specify VPN=vlmcsd to use -it.

- -

ExitLevel

- -

Can be either 0 (the default) -or 1. Controls under what circumstances vlmcsd will exit. -Using the default of 0 vlmcsd stays active as long as -it can perform some useful operations. If vlmcsd is run by -any form of a watchdog, e.g. NT service manager (Windows), -systemd (Linux) or launchd (Mac OS / iOS), it may be -desirable to end vlmcsd and let the watchdog restart it. -This is especially true if some pre-requisites are not yet -met but will be some time later, e.g. network is not yet -fully setup.

- -

By using -ExitLevel = 0 vlmcsd will

- -

exit if none of -the listening sockets specified with -L can be used. -It continues if at least one socket can be setup for -listening.

- -

exit any TAP -mirror thread (Windows version only) if there is an error -condition while reading or writing from or to the VPN -adapter but continue to work without utilizing a VPN -adapter.

- -

By using -ExitLevel = 1 vlmcsd will

- -

exit if not all -listening sockets specified with -L can be used.

- -

exit completely -if there is a problem with a VPN adapter it is using. This -may happen for instance if the VPN adapter has been disabled -using "Control Panel - Network - Adapter Settings" -while vlmcsd is using it.

- -

Please note -that ExitLevel = 1 is kind of a workaround option. -While it may help under some circumstances, it is better to -solve the problem at its origin, e.g. properly implementing -dependencies in your startup script to ensure all network -interfaces and the VPN adapter you will use are completely -setup before you start vlmcsd.

- -

UseNDR64

- -

Can be TRUE or FALSE. Specifies -whether you want to use the NDR64 transfer syntax. See -options -n0 and -n1 in vlmcsd(8). The -default is TRUE.

- -

UseBTFN

- -

Can be TRUE or FALSE. Specifies -whether you want to use bind time feature negotiation in -RPC. See options -b0 and -b1 in -vlmcsd(8). The default is TRUE.

- -

RandomizationLevel

- -

The argument must 0, 1 -or 2. This specifies the ePID randomization level. See -options -r0, -r1 and -r2 in -vlmcsd(8). The default randomization level is 1. A -RandomizationLevel of 2 is not recommended and should -be treated as a debugging level.

- - - - - - - -
- - -

LCID

- - -

Use a specific culture id (LCID) even if the ePID is -randomized. The argument must be a number between 1 -and 32767. While any number in that range is valid, you -should use an offcial LCID. A list of assigned LCIDs can be -found at -http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx. On -the command line you control this setting with option --C.

- -

HostBuild

- -

Use a specific host build -number in the ePID even if it is randomized. The -argument must be a number between 1 and 65535. While -you can use any number you should only use build numbers -that a released build numbers of Windows Servers, e.g. 17763 -for Windows Server 2019.

- -

MaxWorkers

- -

The argument specifies -the maximum number of worker processes or threads that will -be used to serve activation requests concurrently. This is -the same as specifying -m on the command line. -Minimum is 1. The maximum is platform specific and is at -least 32767 but is likely to be greater on most systems. The -default is no limit.

- -

ConnectionTimeout

- -

Used to control when the vlmcsd -disconnects idle TPC connections. The default is 30 seconds. -This is the same setting as -t on the command -line.

- - -

DisconnectClientsImmediately

- -

Set this to TRUE to disconnect -a client after it got an activation response regardless -whether a timeout has occured or not. The default is FALSE. -Setting this to TRUE is non-standard behavior. Use only if -you are experiencing DoS or DDoS attacks. On the command -line you control this behavior with options -d and --k.

- -

PidFile

- -

Write a pid file. The -argument is the full pathname of a pid file. The pid -file contains is single line containing the process id of -the vlmcsd process. It can be used to stop (SIGTERM) or -restart (SIGHUP) vlmcsd. This directive can be overriden -using -p on the command line.

- -

LogFile

- -

Write a log file. The -argument is the full pathname of a log file. On a -unixoid OS and with Cygwin you can use the special filename -’syslog’ to log to the syslog facility. This is -the same as specifying -l on the command line.

- -

KmsData

- -

Use a KMS data file. The -argument is the full pathname of a KMS data file. By -default vlmcsd only contains the minimum product data that -is required to perform all operations correctly. You may use -a more complete KMS data file that contains all detailed -product names. This is especially useful if you are logging -KMS requests. If you don’t log, there is no need to -load an external KMS data file.

- -

You may use -KmsData = - to prevent the default KMS data -file to be loaded.

- -

LogDateAndTime

- -

Can be TRUE or FALSE. The -default is TRUE. If set to FALSE, logging output does not -include date and time. This is useful if you log to -stdout(3) which is redirected to another logging -mechanism that already includes date and time in its output, -for instance systemd-journald(8). If you log to -syslog(3), LogDateAndTime is ignored and date -and time will never be included in the output sent to -syslog(3). Using the command line you control this -setting with options -T0 and -T1.

- -

LogVerbose

- -

Set this to either TRUE or -FALSE. The default is FALSE. If set to TRUE, more details of -each activation will be logged. You use -v and --q in the command line to control this setting. -LogVerbose has an effect only if you specify a log -file or redirect logging to stdout(3).

- -

WhitelistingLevel

- -

Can be 0, 1, 2 or 3. The -default is 0. Sets the whitelisting level to determine which -products vlmcsd activates or refuses.

- -

0: -activate all products with an unknown, retail or -beta/preview KMS ID.
-1
: activate products with a retail or beta/preview KMS -ID but refuse to activate products with an unknown KMS ID. -
-2
: activate products with an unknown KMS ID but refuse -products with a retail or beta/preview KMS ID.
-3
: activate only products with a known volume license -RTM KMS ID and refuse all others.

- - - - - -
- - -

The SKU ID is not checked. Like a genuine KMS server -vlmcsd activates a product that has a random or unknown SKU -ID. If you select 1 or 3, vlmcsd also checks -the Application ID for correctness. If Microsoft introduces -a new KMS ID for a new product, you cannot activate it if -you used 1 or 3 until a new version of vlmcsd -is available.

- -

CheckClientTime

- -

Can be TRUE or FALSE. The -default is FALSE. If you set this to TRUE vlmcsd(8) -checks if the client time differs no more than four hours -from the system time. This is useful to prevent emulator -detection. A client that tries to detect an emulator could -simply send two subsequent request with two time stamps that -differ more than four hours from each other. If both -requests succeed, the server is an emulator. If you set this -to TRUE on a system with no reliable time source, -activations will fail. It is ok to set the correct system -time after you started vlmcsd(8).

- -

MaintainClients

- -

Can be TRUE or FALSE (the -default). Disables (FALSE) or enables (TRUE) maintaining a -list of client machine IDs (CMIDs). TRUE is useful to -prevent emulator detection. By maintaing a CMID list, -vlmcsd(8) reports current active clients exactly like -a genuine KMS emulator. This includes bug compatibility to -the extent that you can permanently kill a genuine KMS -emulator by sending an "overcharge request" with a -required client count of 376 or more and then request -activation for 671 clients. vlmcsd(8) can be reset -from this condition by restarting it. If FALSE is used, -vlmcsd(8) reports current active clients as good as -possible. If no client sends an "overcharge -request", it is not possible to detect vlmcsd(8) -as an emulator with -MaintainClients = FALSE. Maintaining -clients requires the allocation of a buffer that is about 50 -kB in size. On hardware with few memory resources use it -only if you really need it.

- -

If you start -vlmcsd(8) from an internet superserver, this setting -cannot be used. Since vlmcsd(8) exits after each -activation, it cannot maintain any state in memory.

- -

StartEmpty

- -

This setting is ignored if you -do not also specify MaintainClients = TRUE. -If you specify FALSE (the default), vlmcsd(8) starts -up as a fully "charged" KMS server. Clients -activate immediately. StartEmpty = TRUE -lets you start up vlmcsd(8) with an empty CMID list. -Activation will start when the required minimum clients (25 -for Windows Client OSses, 5 for Windows Server OSses and -Office) have registered with the KMS server. As long as the -minimum client count has not been reached, clients end up in -HRESULT 0xC004F038 "The count reported by your Key -Management Service (KMS) is insufficient. Please contact -your system administrator". You may use vlmcs(1) -or another KMS client emulator to "charge" -vlmcsd(8). Setting this parameter to TRUE does not -improve emulator detection prevention. It’s primary -purpose is to help developers of KMS clients to test -"charging" a KMS server.

- -

ActivationInterval

- -

This is the same as specifying --A on the command line. See vlmcsd(8) for -details. The default is 2 hours. Example: -ActivationInterval = 1h

- -

RenewalInterval

- -

This is the same as specifying --R on the command line. See vlmcsd(8) for -details. The default is 7 days. Example: RenewalInterval = -3d. Please note that the KMS client decides itself when to -renew activation. Even though vlmcsd sends the renewal -interval you specify, it is no more than some kind of -recommendation to the client. Older KMS clients did follow -the recommendation from a KMS server or emulator. Newer -clients do not.

- - - - - - - - - - - - -
- - -

User

- - -

Run vlmcsd as another, preferrably less privileged, -user. The argument can be a user name or a numeric -user id. You must have the required privileges (capabilities -on Linux) to change the security context of a process -without providing any credentials (a password in most -cases). On most unixoid OSses ’root’ is the only -user who has these privileges in the default configuration. -This setting is not available in the native Windows version -of vlmcsd. See -u in vlmcsd(8). This setting -cannot be changed on the fly by sending SIGHUP to -vlmcsd.

- - -

Group

- - -

Run vlmcsd as another, preferrably less privileged, -group. The argument can be a group name or a numeric -group id. You must have the required privileges -(capabilities on Linux) to change the security context of a -process without providing any credentials (a password in -most cases). On most unixoid OSses ’root’ is the -only user who has these privileges in the default -configuration. This setting is not available in the native -Windows version of vlmcsd. See -g in -vlmcsd(8). This setting cannot be changed on the fly -by sending SIGHUP to vlmcsd.

- -

<csvlk-name>

- -

The argument has the -form ePID [ / HwId ]. Always use ePID -and HwId for activations with -<csvlk-name>. If specified, -RandomizationLevel for the <csvlk-name> -will be ignored. With the default vlmcsd.kmd database you -can use the following <csvlk-name>s: Windows, -Office2010, Office2013, Office2016, Office2019 and -WinChinaGov. While vlmcsd is compatible with older -databases, you must use at least database version 1.6 for -this feature to work.

- -

VALID EPIDS - -

- - -

The ePID is -currently a comment only. You can specify any string up to -63 bytes. In Windows 7 Microsoft has blacklisted few ( < -10 ) ePIDs that were used in KMSv5 versions of the -"Ratiborus Virtual Machine". Microsoft has given -up on blacklisting when KMS emulators appeared in the -wild.

- -

Even if you can -use "Activated by cool hacker guys" as an ePID, -you may wish to use ePIDs that cannot be detected as non-MS -ePIDs. If you don’t know how these "valid" -ePIDs look like exactly, do not use GUIDS in vlmcsd.ini. -vlmcsd provides internal mechanisms to generate valid -ePIDs.

- -

If you use -non-ASCII characters in your ePID (you shouldn’t do -anyway), these must be in UTF-8 format. This is especially -important when you run vlmcsd on Windows or cygwin because -UTF-8 is not the default encoding for most editors.

- -

If you are -specifying an optional HWID it follows the same syntax as in -the -H option in vlmcsd(8) ecxept that you -must not enclose a HWID in quotes even if it contains -spaces.

- -

FILES - -

- - - -

vlmcsd.ini(5)

- -

AUTHOR - -

- - - -

vlmcsd(8) -was written by crony12, Hotbird64 and vityan666. With -contributions from DougQaid.

- -

CREDITS - -

- - -

Thanks to -abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87, -qad, Ratiborus, ...

- -

SEE ALSO - -

- - - -

vlmcsd(8), -vlmcsd(7), vlmcs(1), vlmcsdmulti(1)

-
- - diff --git a/vlmcsd-1113/man/vlmcsd.ini.5.pdf b/vlmcsd-1113/man/vlmcsd.ini.5.pdf deleted file mode 100644 index 09d07990f2e1a831296560ec0f3642779190caa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29146 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 S2QwI~nz|Z7PR_*26!BjIaR<2o diff --git a/vlmcsd-1113/man/vlmcsd.ini.5.unix.txt b/vlmcsd-1113/man/vlmcsd.ini.5.unix.txt deleted file mode 100644 index 10ac844..0000000 --- a/vlmcsd-1113/man/vlmcsd.ini.5.unix.txt +++ /dev/null @@ -1,486 +0,0 @@ -VLMCSD.INI(5) KMS Activation Manual VLMCSD.INI(5) - - - -NAME - vlmcsd.ini - vlmcsd KMS emulator configuration file - - -SYNOPSIS - vlmcsd.ini - - -DESCRIPTION - vlmcsd.ini (or simply called the "ini file") is a configuration file - for vlmcsd(8). By default vlmcsd does not use a configuration file. It - is completely optional and for advanced users only. You must use the -i - option on the vlmcsd command line to use an ini file. There is no - default name or default location for the ini file. - - Everything, that can be configured in the ini file, may also be speci- - fied on the command line. Any configuration option specified on the - command line takes precedence over the respective configuration line in - the ini file. - - Benefits of a configuration file - - While you can use the configuration file to simply modify the default - behavior of vlmcsd, it can also be used to change the configuration of - vlmcsd after you sent a HUP signal(7). Whenever you send SIGHUP, the - configuration file will be re-read. Any changes you made to the ini - file will be reflected after vlmcsd received the hangup signal. - - Differences between command line and configuration file - - If you specify an illegal option or option argument on the command - line, vlmcsd displays help and exits. If you specify an incorrect key- - word or argument in the ini file, vlmcsd displays a warning with some - information, ignores the respective line and continues. This is inten- - tional and prevents vlmcsd from aborting after a SIGHUP if the configu- - ration was modified incorrectly. - - -SYNTAX - vlmcsd.ini is a UTF-8 encoded text file with each line being in the - format keyword = argument. The keyword is not case-sensitive. The argu- - ment is treated literally. It is neither required nor allowed to - enclose the argument in any form of quote characters except when quote - characters are part of the argument itself. Whitespace characters are - ignored only - - - at the beginning of a line - - between the keyword and '=' - - between '=' and the argument - - Lines, that start with '#' or ';' are treated as comments. Empty lines - are ignored as well. If a keyword is repeated in another line, vlmcsd - will use the argument of the last occurence of the keyword. An excep- - tion to this is the Listen keyword which can be specified multiple - times and causes vlmcsd to listen on more than one IP address and/or - port. - - Some arguments are binary arguments that need to be either TRUE or - FALSE. You can use "Yes", "On" or "1" as an alias for TRUE and "No", - "Off" or "0" as an alias for FALSE. Binary arguments are case-insensi- - tive. - - -KEYWORDS - The following keywords are defined (not all keywords may be available - depending on the operating system and the options used when vlmcsd(8) - was compiled): - - - Listen This defines on what combinations of IP addresses and ports vlm- - csd should listen. Listen can be specified more than once. The - argument has the form ipaddress[:port]. If you omit the port, - the default port of 1688 is used. If the ipaddress contains - colons and a port is used, you must enclose the ipaddress in - brackets. The default is to listen to 0.0.0.0:1688 and [::]:1688 - which means listen to all IPv4 and all IPv6 addresses. See the - -L option in vlmcsd(8) for more info about the syntax. If you - use -L or -P on the command line, all Listen keywords in the ini - file will be ignored. The Listen keyword cannot be used if vlm- - csd has been compiled to use Microsoft RPC (Windows and Cygwin - only) or simple sockets. - - Examples: - - Listen = 192.168.1.123:1688 - Listen = 0.0.0.0:1234 - Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688 - - - Port Can only be used if vlmcsd has been compiled to use simple sock- - ets or on Windows and Cygwin if vlmcsd(8) has been compiled to - use Microsoft RPC. Otherwise you must use Listen instead. Causes - vlmcsd to listen on that port instead of 1688. - - - FreeBind - Can be TRUE or FALSE. If TRUE, you can use the Listen keyword - with IP addresses that are currently not defined on your system. - vlmcsd(8) will start listening on these IP addresses as soon as - they become available. This keyword is only available under - Linux and FreeBSD because no other OS currently supports that - feature. FreeBSD supports this only for IPv4 and requires the - PRIV_NETINET_BINDANY privilege which is normally assigned to - proccesses of the root user. - - - PublicIPProtectionLevel - Set the level of protection against KMS activations from public - IP addresses. - - 0 = No protection (default) - 1 = Listen on private IP addresses only (plus those specified by - one or more Listen statements) - 2 = Disconnect clients with public IP addresses without activat- - ing - 3 = Combines 1 and 2 - - For details on public IP protection levels see vlmcsd(8) command - line option -o. - - - VPN Has to be in the form vpn-adapter-name[=ipv4-address][/cidr- - mask][:dhcp-lease-duration]. - - Enables a compatible VPN adapter to create additional local IPv4 - addresses (like 127.0.0.1) that appear as remote IPv4 addresses - to the system. This allows product activation using a local - instance of vlmcsd. This feature is only available in Windows - and Cygwin builds of vlmcsd since it is not of any use on other - operating systems. Compatible VPN adapters are Tap-windows ver- - sion 8.2 or higher (from OpenVPN) and the TeamViewer VPN - adapter. There is a special vpn-adapter-name. A single period - (.) instructs vlmcsd to use the first available compatible VPN - adapter. The vpn-adapter-name is not case-sensitive. If the vpn- - adapter-name contains spaces (e.g. Ethernet 3), do not enclose - it in quotes. - - The default ipv4-address is 10.10.10.9 and the default cidr-mask - is 30. If you are using the default values, your VPN adapter - uses an IPv4 address of 10.10.10.9 and you can set your activa- - tion client to use the easy to remember address 10.10.10.10 - (e.g. slmgr /skms 10.10.10.10 or cscript ospp.vbs - /sethst:10.10.10.10). - - The dhcp-lease-duration is a number optionally followed by s, m, - h, d or w to indicate seconds, minutes, hours, days or weeks. - The default dhcp-lease-duration is 1d (one day). It is normally - not required to change this value. - - It is advised not to manually configure your OpenVPN TAP or - TeamViewer VPN adapter in "Network Connections". If you set the - IPv4 configuration manually anyway, the IPv4 address and the - subnet mask must match the VPN= directive. It is safe leave the - IPv4 configuration to automatic (DHCP). vlmcsd will wait up to - four seconds for the DHCP configuration to complete before bind- - ing to and listenin on any interfaces. - - You should be aware that only one program can use a VPN adapter - at a time. If you use the TeamViewer VPN adapter for example, - you will not be able to use the VPN feature of TeamViewer as - long as vlmcsd is running. The same applies to OpenVPN TAP - adapters that are in use by other programs (for example OpenVPN, - QEMU, Ratiborus VM, aiccu, etc.). The best way to avoid con- - flicts is to install Tap-Windows from OpenVPN, cd to C:\Program - Files\TAP-Windows\bin and run addtap.bat to install an addi- - tional TAP adapter. Go to "Network Connections" and rename the - new adapter to "vlmcsd" and specify VPN=vlmcsd to use it. - - - ExitLevel - Can be either 0 (the default) or 1. Controls under what circum- - stances vlmcsd will exit. Using the default of 0 vlmcsd stays - active as long as it can perform some useful operations. If vlm- - csd is run by any form of a watchdog, e.g. NT service manager - (Windows), systemd (Linux) or launchd (Mac OS / iOS), it may be - desirable to end vlmcsd and let the watchdog restart it. This is - especially true if some pre-requisites are not yet met but will - be some time later, e.g. network is not yet fully setup. - - By using ExitLevel = 0 vlmcsd will - - exit if none of the listening sockets specified with -L can - be used. It continues if at least one socket can be setup - for listening. - - exit any TAP mirror thread (Windows version only) if there - is an error condition while reading or writing from or to - the VPN adapter but continue to work without utilizing a - VPN adapter. - - By using ExitLevel = 1 vlmcsd will - - exit if not all listening sockets specified with -L can be - used. - - exit completely if there is a problem with a VPN adapter it - is using. This may happen for instance if the VPN adapter - has been disabled using "Control Panel - Network - Adapter - Settings" while vlmcsd is using it. - - - Please note that ExitLevel = 1 is kind of a workaround option. - While it may help under some circumstances, it is better to - solve the problem at its origin, e.g. properly implementing - dependencies in your startup script to ensure all network inter- - faces and the VPN adapter you will use are completely setup - before you start vlmcsd. - - - UseNDR64 - Can be TRUE or FALSE. Specifies whether you want to use the - NDR64 transfer syntax. See options -n0 and -n1 in vlmcsd(8). The - default is TRUE. - - - UseBTFN - Can be TRUE or FALSE. Specifies whether you want to use bind - time feature negotiation in RPC. See options -b0 and -b1 in vlm- - csd(8). The default is TRUE. - - - RandomizationLevel - The argument must 0, 1 or 2. This specifies the ePID randomiza- - tion level. See options -r0, -r1 and -r2 in vlmcsd(8). The - default randomization level is 1. A RandomizationLevel of 2 is - not recommended and should be treated as a debugging level. - - - LCID Use a specific culture id (LCID) even if the ePID is randomized. - The argument must be a number between 1 and 32767. While any - number in that range is valid, you should use an offcial LCID. A - list of assigned LCIDs can be found at http://msdn.micro- - soft.com/en-us/goglobal/bb964664.aspx. On the command line you - control this setting with option -C. - - - HostBuild - Use a specific host build number in the ePID even if it is ran- - domized. The argument must be a number between 1 and 65535. - While you can use any number you should only use build numbers - that a released build numbers of Windows Servers, e.g. 17763 for - Windows Server 2019. - - - MaxWorkers - The argument specifies the maximum number of worker processes or - threads that will be used to serve activation requests concur- - rently. This is the same as specifying -m on the command line. - Minimum is 1. The maximum is platform specific and is at least - 32767 but is likely to be greater on most systems. The default - is no limit. - - - ConnectionTimeout - Used to control when the vlmcsd disconnects idle TPC connec- - tions. The default is 30 seconds. This is the same setting as -t - on the command line. - - - DisconnectClientsImmediately - Set this to TRUE to disconnect a client after it got an activa- - tion response regardless whether a timeout has occured or not. - The default is FALSE. Setting this to TRUE is non-standard - behavior. Use only if you are experiencing DoS or DDoS attacks. - On the command line you control this behavior with options -d - and -k. - - - PidFile - Write a pid file. The argument is the full pathname of a pid - file. The pid file contains is single line containing the - process id of the vlmcsd process. It can be used to stop - (SIGTERM) or restart (SIGHUP) vlmcsd. This directive can be - overriden using -p on the command line. - - - LogFile - Write a log file. The argument is the full pathname of a log - file. On a unixoid OS and with Cygwin you can use the special - filename 'syslog' to log to the syslog facility. This is the - same as specifying -l on the command line. - - - KmsData - Use a KMS data file. The argument is the full pathname of a KMS - data file. By default vlmcsd only contains the minimum product - data that is required to perform all operations correctly. You - may use a more complete KMS data file that contains all detailed - product names. This is especially useful if you are logging KMS - requests. If you don't log, there is no need to load an external - KMS data file. - - You may use KmsData = - to prevent the default KMS data file to - be loaded. - - - LogDateAndTime - Can be TRUE or FALSE. The default is TRUE. If set to FALSE, log- - ging output does not include date and time. This is useful if - you log to stdout(3) which is redirected to another logging - mechanism that already includes date and time in its output, for - instance systemd-journald(8). If you log to syslog(3), LogDate- - AndTime is ignored and date and time will never be included in - the output sent to syslog(3). Using the command line you control - this setting with options -T0 and -T1. - - - LogVerbose - Set this to either TRUE or FALSE. The default is FALSE. If set - to TRUE, more details of each activation will be logged. You use - -v and -q in the command line to control this setting. LogVer- - bose has an effect only if you specify a log file or redirect - logging to stdout(3). - - - WhitelistingLevel - Can be 0, 1, 2 or 3. The default is 0. Sets the whitelisting - level to determine which products vlmcsd activates or refuses. - - 0: activate all products with an unknown, retail or - beta/preview KMS ID. - 1: activate products with a retail or beta/preview KMS ID - but refuse to activate products with an unknown KMS ID. - 2: activate products with an unknown KMS ID but refuse - products with a retail or beta/preview KMS ID. - 3: activate only products with a known volume license RTM - KMS ID and refuse all others. - - - The SKU ID is not checked. Like a genuine KMS server vlmcsd - activates a product that has a random or unknown SKU ID. If you - select 1 or 3, vlmcsd also checks the Application ID for cor- - rectness. If Microsoft introduces a new KMS ID for a new prod- - uct, you cannot activate it if you used 1 or 3 until a new ver- - sion of vlmcsd is available. - - - CheckClientTime - Can be TRUE or FALSE. The default is FALSE. If you set this to - TRUE vlmcsd(8) checks if the client time differs no more than - four hours from the system time. This is useful to prevent emu- - lator detection. A client that tries to detect an emulator could - simply send two subsequent request with two time stamps that - differ more than four hours from each other. If both requests - succeed, the server is an emulator. If you set this to TRUE on a - system with no reliable time source, activations will fail. It - is ok to set the correct system time after you started vlm- - csd(8). - - - MaintainClients - Can be TRUE or FALSE (the default). Disables (FALSE) or enables - (TRUE) maintaining a list of client machine IDs (CMIDs). TRUE is - useful to prevent emulator detection. By maintaing a CMID list, - vlmcsd(8) reports current active clients exactly like a genuine - KMS emulator. This includes bug compatibility to the extent that - you can permanently kill a genuine KMS emulator by sending an - "overcharge request" with a required client count of 376 or more - and then request activation for 671 clients. vlmcsd(8) can be - reset from this condition by restarting it. If FALSE is used, - vlmcsd(8) reports current active clients as good as possible. If - no client sends an "overcharge request", it is not possible to - detect vlmcsd(8) as an emulator with MaintainClients = FALSE. - Maintaining clients requires the allocation of a buffer that is - about 50 kB in size. On hardware with few memory resources use - it only if you really need it. - - If you start vlmcsd(8) from an internet superserver, this set- - ting cannot be used. Since vlmcsd(8) exits after each activa- - tion, it cannot maintain any state in memory. - - - StartEmpty - This setting is ignored if you do not also specify Maintain- - Clients = TRUE. If you specify FALSE (the default), vlmcsd(8) - starts up as a fully "charged" KMS server. Clients activate - immediately. StartEmpty = TRUE lets you start up vlmcsd(8) with - an empty CMID list. Activation will start when the required min- - imum clients (25 for Windows Client OSses, 5 for Windows Server - OSses and Office) have registered with the KMS server. As long - as the minimum client count has not been reached, clients end up - in HRESULT 0xC004F038 "The count reported by your Key Management - Service (KMS) is insufficient. Please contact your system admin- - istrator". You may use vlmcs(1) or another KMS client emulator - to "charge" vlmcsd(8). Setting this parameter to TRUE does not - improve emulator detection prevention. It's primary purpose is - to help developers of KMS clients to test "charging" a KMS - server. - - - ActivationInterval - This is the same as specifying -A on the command line. See vlm- - csd(8) for details. The default is 2 hours. Example: Activation- - Interval = 1h - - - RenewalInterval - This is the same as specifying -R on the command line. See vlm- - csd(8) for details. The default is 7 days. Example: RenewalIn- - terval = 3d. Please note that the KMS client decides itself when - to renew activation. Even though vlmcsd sends the renewal inter- - val you specify, it is no more than some kind of recommendation - to the client. Older KMS clients did follow the recommendation - from a KMS server or emulator. Newer clients do not. - - - User Run vlmcsd as another, preferrably less privileged, user. The - argument can be a user name or a numeric user id. You must have - the required privileges (capabilities on Linux) to change the - security context of a process without providing any credentials - (a password in most cases). On most unixoid OSses 'root' is the - only user who has these privileges in the default configuration. - This setting is not available in the native Windows version of - vlmcsd. See -u in vlmcsd(8). This setting cannot be changed on - the fly by sending SIGHUP to vlmcsd. - - - Group Run vlmcsd as another, preferrably less privileged, group. The - argument can be a group name or a numeric group id. You must - have the required privileges (capabilities on Linux) to change - the security context of a process without providing any creden- - tials (a password in most cases). On most unixoid OSses 'root' - is the only user who has these privileges in the default config- - uration. This setting is not available in the native Windows - version of vlmcsd. See -g in vlmcsd(8). This setting cannot be - changed on the fly by sending SIGHUP to vlmcsd. - - - - The argument has the form ePID [ / HwId ]. Always use ePID and - HwId for activations with . If specified, Randomiza- - tionLevel for the will be ignored. With the default - vlmcsd.kmd database you can use the following s: - Windows, Office2010, Office2013, Office2016, Office2019 and - WinChinaGov. While vlmcsd is compatible with older databases, - you must use at least database version 1.6 for this feature to - work. - - -VALID EPIDS - The ePID is currently a comment only. You can specify any string up to - 63 bytes. In Windows 7 Microsoft has blacklisted few ( < 10 ) ePIDs - that were used in KMSv5 versions of the "Ratiborus Virtual Machine". - Microsoft has given up on blacklisting when KMS emulators appeared in - the wild. - - Even if you can use "Activated by cool hacker guys" as an ePID, you may - wish to use ePIDs that cannot be detected as non-MS ePIDs. If you don't - know how these "valid" ePIDs look like exactly, do not use GUIDS in - vlmcsd.ini. vlmcsd provides internal mechanisms to generate valid - ePIDs. - - If you use non-ASCII characters in your ePID (you shouldn't do anyway), - these must be in UTF-8 format. This is especially important when you - run vlmcsd on Windows or cygwin because UTF-8 is not the default encod- - ing for most editors. - - If you are specifying an optional HWID it follows the same syntax as in - the -H option in vlmcsd(8) ecxept that you must not enclose a HWID in - quotes even if it contains spaces. - - -FILES - vlmcsd.ini(5) - - -AUTHOR - vlmcsd(8) was written by crony12, Hotbird64 and vityan666. With contri- - butions from DougQaid. - - -CREDITS - Thanks to abbodi1406, CODYQX4, deagles, eIcn, mikmik38, nosferati87, - qad, Ratiborus, ... - - -SEE ALSO - vlmcsd(8), vlmcsd(7), vlmcs(1), vlmcsdmulti(1) - - - -Hotbird64 October 2018 VLMCSD.INI(5) diff --git a/vlmcsd-1113/man/vlmcsdmulti.1.dos.txt b/vlmcsd-1113/man/vlmcsdmulti.1.dos.txt deleted file mode 100644 index ab73805..0000000 --- a/vlmcsd-1113/man/vlmcsdmulti.1.dos.txt +++ /dev/null @@ -1,76 +0,0 @@ -VLMCSDMULTI(1) KMS Activation Manual VLMCSDMULTI(1) - - - -NAME - vlmcsdmulti - a multi-call binary containing vlmcs(1) and vlmcsd(8) - - -SYNOPSIS - vlmcsdmulti vlmcs [ options ] [ hostname|ip-address[:port] ] [ options - ] | vlmcsd [ options ] - - -DESCRIPTION - vlmcsdmulti is a multi-call binary that contains vlmcs(1) and vlmcsd(8) - in a single binary. Since both programs share a lot of code and data, - the combined binary is significantly smaller than the sum of both - files. - - vlmcsdmulti should not be called directly. Instead you may want to cre- - ate symbolic links named vlmcs and vlmcsd which point to vlmcsdmulti. - You then use these links to call the respective program. You may how- - ever call vlmcsdmulti followed by a complete command line of either - vlmcs(1) or vlmcsd(8). - - Creating symbolic links in unixoid operating systems - cd to the directory containing vlmcsdmulti and type - - ln -s vlmcsdmulti vlmcsd - ln -s vlmcsdmulti vlmcs - - You may use a destination directory, e.g. - - ln -s vlmcsdmulti /usr/local/sbin/vlmcsd - ln -s vlmcsdmulti /usr/local/bin/vlmcs - - Ensure that vlmcsdmulti has execute permissions. You can do that by - typing "chmod 755 vlmcsdmulti". See chmod(1) for details. - - Creating symbolic links in Windows (Vista and higher only) - cd to the directory containing vlmcsdmulti and type - - mklink vlmcsd.exe vlmcsdmulti.exe - mklink vlmcs.exe vlmcsdmulti.exe - - You may use a destination directory, e.g. - - mklink C:\tools\vlmcsd.exe vlmcsdmulti.exe - mklink C:\tools\vlmcs.exe vlmcsdmulti.exe - - Memory considerations - While you definitely save disk space by using vlmcsdmulti you will need - more RAM when you run vlmcsdmulti as a daemon (KMS server) instead of - vlmcsd. You should consider running vlmcsdmulti via an internet super- - server like inetd(8) or xinetd(8). - - -BUGS - vlmcsdmulti has the same bugs as vlmcs(1) and vlmcsd(8). - - -AUTHOR - Written by Hotbird64 - - -CREDITS - Thanks to CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, nos- - ferati87, qad, vityan666, ... - - -SEE ALSO - vlmcs(1), vlmcsd(8), vlmcsd(7) - - - -Hotbird64 February 2015 VLMCSDMULTI(1) diff --git a/vlmcsd-1113/man/vlmcsdmulti.1.html b/vlmcsd-1113/man/vlmcsdmulti.1.html deleted file mode 100644 index 38cd3ed..0000000 --- a/vlmcsd-1113/man/vlmcsdmulti.1.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - -VLMCSDMULTI - - - - -

VLMCSDMULTI

- -NAME
-SYNOPSIS
-DESCRIPTION
-BUGS
-AUTHOR
-CREDITS
-SEE ALSO
- -
- - -

NAME - -

- - -

vlmcsdmulti - a -multi-call binary containing vlmcs(1) and -vlmcsd(8)

- -

SYNOPSIS - -

- - - -

vlmcsdmulti -vlmcs [ options ] [ -hostname|ip-address[:port] ] [ -options ] | vlmcsd [ options ]

- -

DESCRIPTION - -

- - - -

vlmcsdmulti -is a multi-call binary that contains vlmcs(1) and -vlmcsd(8) in a single binary. Since both programs -share a lot of code and data, the combined binary is -significantly smaller than the sum of both files.

- - -

vlmcsdmulti -should not be called directly. Instead you may want to -create symbolic links named vlmcs and vlmcsd which point to -vlmcsdmulti. You then use these links to call the -respective program. You may however call vlmcsdmulti -followed by a complete command line of either -vlmcs(1) or vlmcsd(8).

- -

Creating -symbolic links in unixoid operating systems
-cd to the directory containing vlmcsdmulti and -type

- -

ln -s -vlmcsdmulti vlmcsd
-ln -s vlmcsdmulti vlmcs

- -

You may use a -destination directory, e.g.

- -

ln -s -vlmcsdmulti /usr/local/sbin/vlmcsd
-ln -s vlmcsdmulti /usr/local/bin/vlmcs

- -

Ensure that -vlmcsdmulti has execute permissions. You can do that -by typing "chmod 755 vlmcsdmulti". See -chmod(1) for details.

- -

Creating -symbolic links in Windows (Vista and higher only)
-cd to the directory containing vlmcsdmulti and -type

- -

mklink -vlmcsd.exe vlmcsdmulti.exe
-mklink vlmcs.exe vlmcsdmulti.exe

- -

You may use a -destination directory, e.g.

- -

mklink -C:\tools\vlmcsd.exe vlmcsdmulti.exe
-mklink C:\tools\vlmcs.exe vlmcsdmulti.exe

- -

Memory -considerations
-While you definitely save disk space by using -vlmcsdmulti you will need more RAM when you run -vlmcsdmulti as a daemon (KMS server) instead of -vlmcsd. You should consider running vlmcsdmulti via -an internet superserver like inetd(8) or -xinetd(8).

- -

BUGS - -

- - - -

vlmcsdmulti -has the same bugs as vlmcs(1) and -vlmcsd(8).

- -

AUTHOR - -

- - -

Written by -Hotbird64

- -

CREDITS - -

- - -

Thanks to -CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, -nosferati87, qad, vityan666, ...

- -

SEE ALSO - -

- - - -

vlmcs(1), -vlmcsd(8), vlmcsd(7)

-
- - diff --git a/vlmcsd-1113/man/vlmcsdmulti.1.pdf b/vlmcsd-1113/man/vlmcsdmulti.1.pdf deleted file mode 100644 index 1521d964d38fb1958909dbbfd49975dbdf1221d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10042 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 diff --git a/vlmcsd-1113/man/vlmcsdmulti.1.unix.txt b/vlmcsd-1113/man/vlmcsdmulti.1.unix.txt deleted file mode 100644 index 8f62764..0000000 --- a/vlmcsd-1113/man/vlmcsdmulti.1.unix.txt +++ /dev/null @@ -1,76 +0,0 @@ -VLMCSDMULTI(1) KMS Activation Manual VLMCSDMULTI(1) - - - -NAME - vlmcsdmulti - a multi-call binary containing vlmcs(1) and vlmcsd(8) - - -SYNOPSIS - vlmcsdmulti vlmcs [ options ] [ hostname|ip-address[:port] ] [ options - ] | vlmcsd [ options ] - - -DESCRIPTION - vlmcsdmulti is a multi-call binary that contains vlmcs(1) and vlmcsd(8) - in a single binary. Since both programs share a lot of code and data, - the combined binary is significantly smaller than the sum of both - files. - - vlmcsdmulti should not be called directly. Instead you may want to cre- - ate symbolic links named vlmcs and vlmcsd which point to vlmcsdmulti. - You then use these links to call the respective program. You may how- - ever call vlmcsdmulti followed by a complete command line of either - vlmcs(1) or vlmcsd(8). - - Creating symbolic links in unixoid operating systems - cd to the directory containing vlmcsdmulti and type - - ln -s vlmcsdmulti vlmcsd - ln -s vlmcsdmulti vlmcs - - You may use a destination directory, e.g. - - ln -s vlmcsdmulti /usr/local/sbin/vlmcsd - ln -s vlmcsdmulti /usr/local/bin/vlmcs - - Ensure that vlmcsdmulti has execute permissions. You can do that by - typing "chmod 755 vlmcsdmulti". See chmod(1) for details. - - Creating symbolic links in Windows (Vista and higher only) - cd to the directory containing vlmcsdmulti and type - - mklink vlmcsd.exe vlmcsdmulti.exe - mklink vlmcs.exe vlmcsdmulti.exe - - You may use a destination directory, e.g. - - mklink C:\tools\vlmcsd.exe vlmcsdmulti.exe - mklink C:\tools\vlmcs.exe vlmcsdmulti.exe - - Memory considerations - While you definitely save disk space by using vlmcsdmulti you will need - more RAM when you run vlmcsdmulti as a daemon (KMS server) instead of - vlmcsd. You should consider running vlmcsdmulti via an internet super- - server like inetd(8) or xinetd(8). - - -BUGS - vlmcsdmulti has the same bugs as vlmcs(1) and vlmcsd(8). - - -AUTHOR - Written by Hotbird64 - - -CREDITS - Thanks to CODYQX4, crony12, deagles, DougQaid, eIcn, mikmik38, nos- - ferati87, qad, vityan666, ... - - -SEE ALSO - vlmcs(1), vlmcsd(8), vlmcsd(7) - - - -Hotbird64 February 2015 VLMCSDMULTI(1) From 6d4b03becfd51fe91b78459695d02bac82a7785f Mon Sep 17 00:00:00 2001 From: Mogeko Date: Sat, 16 Nov 2024 20:58:17 +0800 Subject: [PATCH 2/2] build: build documents at the time of release --- .github/workflows/release.yml | 27 +++++++++++++++++++++++++++ README.md | 23 ++++++----------------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4dc3265..3c186e8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -56,3 +56,30 @@ jobs: with: image: ${{ steps.build-image.outputs.image }} tags: ${{ steps.build-image.outputs.tags }} + + man-page: + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + concurrency: + group: "pages" + cancel-in-progress: false + permissions: + contents: read + pages: write + id-token: write + steps: + - uses: actions/checkout@v4.2.2 + - run: sudo apt-get update && sudo apt-get -y install groff + - run: make -C ./vlmcsd-* pdfdocs htmldocs + - run: | + install -d ./_site && install -t ./_site \ + ./vlmcsd-*/man/vlmcs*.{pdf,html} ./LICENSE ./README.md + - uses: actions/configure-pages@v5.0.0 + - uses: actions/upload-pages-artifact@v3.0.1 + with: + path: "_site" + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4.0.5 diff --git a/README.md b/README.md index 1e6f63c..35cb7c1 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # docker-vlmcsd -[![ci_icon]][ci_link] [![docker_pulls]][docker_link] [![image_size]][docker_link] +[![Build](https://github.com/mogeko/docker-vlmcsd/actions/workflows/build.yml/badge.svg)](https://github.com/mogeko/docker-vlmcsd/actions/workflows/build.yml) +[![Docker Pulls](https://img.shields.io/docker/pulls/mogeko/vlmcsd?logo=docker)](https://hub.docker.com/r/mogeko/vlmcsd) +[![Docker Image Size](https://img.shields.io/docker/image-size/mogeko/vlmcsd?logo=docker)](https://hub.docker.com/r/mogeko/vlmcsd) -A rootless container running [vlmcsd](https://cdn.jsdelivr.net/gh/mogeko/docker-vlmcsd@master/vlmcsd-1113/man/vlmcsd.8.pdf). +A rootless container running [vlmcsd](https://mogeko.github.io/docker-vlmcsd/vlmcsd.8.pdf). **Since March 2023, vlmcsd images has been upgraded to a `rootless` container, it based on ["Distroless" image](https://github.com/GoogleContainerTools/distroless) and uses [Buildah](https://buildah.io) as a container compilation engine.** [Why do we use them?](#about-distroless-images-and-buildah). @@ -20,7 +22,7 @@ Run with docker cli: docker run -d --name vlmcsd -p 1688:1688 --restart unless-stopped ghcr.io/mogeko/vlmcsd:latest ``` -Run with [docker-compose]: +Run with [docker-compose](https://docs.docker.com/compose): ```yml --- @@ -64,17 +66,4 @@ As for [Buildah](https://buildah.io). It is a container mirror compilation engin ## License -The code in this project is released under the [MIT License][license]. - - - -[ci_icon]: https://github.com/mogeko/docker-vlmcsd/actions/workflows/build.yml/badge.svg -[ci_link]: https://github.com/mogeko/docker-vlmcsd/actions/workflows/build.yml -[docker_pulls]: https://img.shields.io/docker/pulls/mogeko/vlmcsd?logo=docker -[image_size]: https://img.shields.io/docker/image-size/mogeko/vlmcsd?logo=docker -[docker_link]: https://hub.docker.com/r/mogeko/vlmcsd - - - -[docker-compose]: https://docs.docker.com/compose -[license]: https://github.com/mogeko/docker-vlmcsd/blob/master/LICENSE +The code in this project is released under the [MIT License](./LICENSE).