You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vlmcsd/man/vlmcsd.ini.5.html

557 lines
19 KiB
HTML

<!-- Creator : groff version 1.22.3 -->
<!-- CreationDate: Fri Oct 21 03:17:10 2016 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
h1 { text-align: center }
</style>
<title>VLMCSD.INI</title>
</head>
<body>
<h1 align="center">VLMCSD.INI</h1>
<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#SYNTAX">SYNTAX</a><br>
<a href="#KEYWORDS">KEYWORDS</a><br>
<a href="#VALID EPIDS">VALID EPIDS</a><br>
<a href="#FILES">FILES</a><br>
<a href="#AUTHOR">AUTHOR</a><br>
<a href="#CREDITS">CREDITS</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>
<hr>
<h2>NAME
<a name="NAME"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>
- vlmcsd KMS emulator configuration file</p>
<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b></p>
<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>
(or simply called the &quot;ini file&quot;) is a
configuration file for <b>vlmcsd</b>(8). By default vlmcsd
does not use a configuration file. It is completely optional
and for advanced users only. You must use the <b>-i</b>
option on the vlmcsd command line to use an ini file. There
is no default name or default location for the ini file.</p>
<p style="margin-left:11%; margin-top: 1em">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.</p>
<p style="margin-left:11%; margin-top: 1em"><b>Benefits of
a configuration file</b></p>
<p style="margin-left:11%; margin-top: 1em">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
<b>signal</b>(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.</p>
<p style="margin-left:11%; margin-top: 1em"><b>Differences
between command line and configuration file</b></p>
<p style="margin-left:11%; margin-top: 1em">If you specify
an illegal option or option argument on the command line,
vlmcsd displays help and exits. If you specify an incorrect
<i>keyword</i> or <i>argument</i> 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.</p>
<h2>SYNTAX
<a name="SYNTAX"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">vlmcsd.ini is a
UTF-8 encoded text file with each line being in the format
<i>keyword</i> = <i>argument</i>. The <i>keyword</i> is not
case-sensitive. The <i>argument</i> is treated literally. It
is neither required nor allowed to enclose the
<i>argument</i> in any form of quote characters except when
quote characters are part of the argument itself. Whitespace
characters are ignored only</p>
<p style="margin-left:11%; margin-top: 1em">- at the
beginning of a line <br>
- between the <i>keyword</i> and &rsquo;=&rsquo; <br>
- between &rsquo;=&rsquo; and the <i>argument</i></p>
<p style="margin-left:11%; margin-top: 1em">Lines, that
start with &rsquo;#&rsquo; or &rsquo;;&rsquo; are treated as
comments. Empty lines are ignored as well. If a
<i>keyword</i> is repeated in another line, vlmcsd will use
the <i>argument</i> of the last occurence of the
<i>keyword</i>. An exception to this is the Listen
<i>keyword</i> which can be specified multiple times and
causes vlmcsd to listen on more than one IP address and/or
port.</p>
<p style="margin-left:11%; margin-top: 1em">Some
<i>argument</i>s are binary arguments that need to be either
TRUE or FALSE. You can use &quot;Yes&quot;, &quot;On&quot;
or &quot;1&quot; as an alias for TRUE and &quot;No&quot;,
&quot;Off&quot; or &quot;0&quot; as an alias for FALSE.
Binary arguments are case-insensitive.</p>
<h2>KEYWORDS
<a name="KEYWORDS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">The following
<i>keyword</i>s are defined (not all keywords may be
available depending on the operating system and the options
used when <b>vlmcsd</b>(8) was compiled):</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="9%">
<p><b>Listen</b></p></td>
<td width="2%"></td>
<td width="78%">
<p>This defines on what combinations of IP addresses and
ports vlmcsd should listen. <b>Listen</b> can be specified
more than once. The <i>argument</i> has the form
<i>ipaddress</i>[:<i>port</i>]. If you omit the <i>port</i>,
the default port of 1688 is used. If the <i>ipaddress</i>
contains colons and a <i>port</i> is used, you must enclose
the <i>ipaddress</i> 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 <b>-L</b> option in
<b>vlmcsd</b>(8) for more info about the syntax. If you use
<b>-L</b> or <b>-P</b> on the command line, all
<b>Listen</b> keywords in the ini file will be ignored. The
<b>Listen</b> keyword cannot be used if vlmcsd has been
compiled to use Microsoft RPC (Windows and Cygwin only) or
simple sockets.</p></td></tr>
</table>
<p style="margin-left:22%; margin-top: 1em">Examples:</p>
<p style="margin-left:22%; margin-top: 1em">Listen =
192.168.1.123:1688 <br>
Listen = 0.0.0.0:1234 <br>
Listen = [fe80::1721:12ff:fe81:d36b%eth0]:1688</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="6%">
<p style="margin-top: 1em"><b>Port</b></p></td>
<td width="5%"></td>
<td width="78%">
<p style="margin-top: 1em">Can only be used if vlmcsd has
been compiled to use simple sockets or on Windows and Cygwin
if <b>vlmcsd</b>(8) has been compiled to use Microsoft RPC.
Otherwise you must use <b>Listen</b> instead. Causes vlmcsd
to listen on that port instead of 1688.</p></td></tr>
</table>
<p style="margin-left:11%;"><b>FreeBind</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. If TRUE,
you can use the <b>Listen</b> keyword with IP addresses that
are currently not defined on your system. <b>vlmcsd</b>(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.</p>
<p style="margin-left:11%;"><b>PublicIPProtectionLevel</b></p>
<p style="margin-left:22%;">Set the level of protection
against KMS activations from public IP addresses.</p>
<p style="margin-left:22%; margin-top: 1em">0 = No
protection (default) <br>
1&nbsp;=&nbsp;Listen on private IP addresses only (plus
those specified by one or more <b>Listen</b> statements)
<br>
2&nbsp;=&nbsp;Disconnect clients with public IP addresses
without activating <br>
3&nbsp;=&nbsp;Combines 1 and 2</p>
<p style="margin-left:22%; margin-top: 1em">For details on
public IP protection levels see <b>vlmcsd</b>(8) command
line option <b>-o</b>.</p>
<p style="margin-left:11%;"><b>UseNDR64</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. Specifies
whether you want to use the NDR64 transfer syntax. See
options <b>-n0</b> and <b>-n1</b> in <b>vlmcsd</b>(8). The
default is TRUE.</p>
<p style="margin-left:11%;"><b>UseBTFN</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. Specifies
whether you want to use bind time feature negotiation in
RPC. See options <b>-b0</b> and <b>-b1</b> in
<b>vlmcsd</b>(8). The default is TRUE.</p>
<p style="margin-left:11%;"><b>RandomizationLevel</b></p>
<p style="margin-left:22%;">The <i>argument</i> must 0, 1
or 2. This specifies the ePID randomization level. See
options <b>-r0</b>, <b>-r1</b> and <b>-r2</b> in
<b>vlmcsd</b>(8). The default randomization level is 1. A
<b>RandomizationLevel</b> of 2 is not recommended and should
be treated as a debugging level.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="6%">
<p><b>LCID</b></p></td>
<td width="5%"></td>
<td width="78%">
<p>Use a specific culture id (LCID) even if the ePID is
randomized. The <i>argument</i> 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
<b>-C</b>.</p> </td></tr>
</table>
<p style="margin-left:11%;"><b>MaxWorkers</b></p>
<p style="margin-left:22%;">The <i>argument</i> specifies
the maximum number of worker processes or threads that will
be used to serve activation requests concurrently. This is
the same as specifying <b>-m</b> 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.</p>
<p style="margin-left:11%;"><b>ConnectionTimeout</b></p>
<p style="margin-left:22%;">Used to control when the vlmcsd
disconnects idle TPC connections. The default is 30 seconds.
This is the same setting as <b>-t</b> on the command
line.</p>
<p style="margin-left:11%;"><b>DisconnectClientsImmediately</b></p>
<p style="margin-left:22%;">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 <b>-d</b> and
<b>-k</b>.</p>
<p style="margin-left:11%;"><b>PidFile</b></p>
<p style="margin-left:22%;">Write a pid file. The
<i>argument</i> 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 <b>-p</b> on the command line.</p>
<p style="margin-left:11%;"><b>LogFile</b></p>
<p style="margin-left:22%;">Write a log file. The
<i>argument</i> is the full pathname of a log file. On a
unixoid OS and with Cygwin you can use the special filename
&rsquo;syslog&rsquo; to log to the syslog facility. This is
the same as specifying <b>-l</b> on the command line.</p>
<p style="margin-left:11%;"><b>LogDateAndTime</b></p>
<p style="margin-left:22%;">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
<b>stdout</b>(3) which is redirected to another logging
mechanism that already includes date and time in its output,
for instance <b>systemd-journald</b>(8). If you log to
<b>syslog</b>(3), <b>LogDateAndTime</b> is ignored and date
and time will never be included in the output sent to
<b>syslog</b>(3). Using the command line you control this
setting with options <b>-T0</b> and <b>-T1</b>.</p>
<p style="margin-left:11%;"><b>LogVerbose</b></p>
<p style="margin-left:22%;">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 <b>-v</b> and
<b>-q</b> in the command line to control this setting.
<b>LogVerbose</b> has an effect only if you specify a log
file or redirect logging to <b>stdout</b>(3).</p>
<p style="margin-left:11%;"><b>WhitelistingLevel</b></p>
<p style="margin-left:22%;">Can be 0, 1, 2 or 3. The
default is 0. Sets the whitelisting level to determine which
products vlmcsd activates or refuses.</p>
<p style="margin-left:29%; margin-top: 1em"><b>0</b>:
activate all products with an unknown, retail or
beta/preview KMS ID. <b><br>
1</b>: activate products with a retail or beta/preview KMS
ID but refuse to activate products with an unknown KMS ID.
<b><br>
2</b>: activate products with an unknown KMS ID but refuse
products with a retail or beta/preview KMS ID. <b><br>
3</b>: activate only products with a known volume license
RTM KMS ID and refuse all others.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="22%"></td>
<td width="78%">
<p>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 <b>1</b> or <b>3</b>, 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 <b>1</b> or <b>3</b> until a new version of vlmcsd
is available.</p></td></tr>
</table>
<p style="margin-left:11%;"><b>CheckClientTime</b></p>
<p style="margin-left:22%;">Can be TRUE or FALSE. The
default is FALSE. If you set this to TRUE <b>vlmcsd</b>(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 <b>vlmcsd</b>(8).</p>
<p style="margin-left:11%;"><b>ActivationInterval</b></p>
<p style="margin-left:22%;">This is the same as specifying
<b>-A</b> on the command line. See <b>vlmcsd</b>(8) for
details. The default is 2 hours. Example: ActivationInterval
= 1h</p>
<p style="margin-left:11%;"><b>RenewalInterval</b></p>
<p style="margin-left:22%;">This is the same as specifying
<b>-R</b> on the command line. See <b>vlmcsd</b>(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.</p>
<table width="100%" border="0" rules="none" frame="void"
cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="7%">
<p><b>User</b></p></td>
<td width="4%"></td>
<td width="78%">
<p>Run vlmcsd as another, preferrably less privileged,
user. The <i>argument</i> 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 &rsquo;root&rsquo; 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 <b>-u</b> in <b>vlmcsd</b>(8). This setting
cannot be changed on the fly by sending SIGHUP to
vlmcsd.</p> </td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="7%">
<p><b>Group</b></p></td>
<td width="4%"></td>
<td width="78%">
<p>Run vlmcsd as another, preferrably less privileged,
group. The <i>argument</i> 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 &rsquo;root&rsquo; 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 <b>-g</b> in
<b>vlmcsd</b>(8). This setting cannot be changed on the fly
by sending SIGHUP to vlmcsd.</p></td></tr>
</table>
<p style="margin-left:11%;"><b>Windows</b></p>
<p style="margin-left:22%;">The <i>argument</i> has the
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
and <i>HwId</i> for Windows activations. If specified,
<b>RandomizationLevel</b> for Windows activitations will be
ignored.</p>
<p style="margin-left:11%;"><b>Office2010</b></p>
<p style="margin-left:22%;">The <i>argument</i> has the
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
and <i>HwId</i> for Office 2010 activations. If specified,
<b>RandomizationLevel</b> for Office 2010 activitations will
be ignored.</p>
<p style="margin-left:11%;"><b>Office2013</b></p>
<p style="margin-left:22%;">The <i>argument</i> has the
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
and <i>HwId</i> for Office 2013 activations. If specified,
<b>RandomizationLevel</b> for Office 2013 activitations will
be ignored.</p>
<p style="margin-left:11%;"><b>Office2016</b></p>
<p style="margin-left:22%;">The <i>argument</i> has the
form <i>ePID</i> [ / <i>HwId</i> ]. Always use <i>ePID</i>
and <i>HwId</i> for Office 2016 activations. If specified,
<b>RandomizationLevel</b> for Office 2016 activitations will
be ignored.</p>
<h2>VALID EPIDS
<a name="VALID EPIDS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">The ePID is
currently a comment only. You can specify any string up to
63 bytes. In Windows 7 Microsoft has blacklisted few ( &lt;
10 ) ePIDs that were used in KMSv5 versions of the
&quot;Ratiborus Virtual Machine&quot;. Microsoft has given
up on blacklisting when KMS emulators appeared in the
wild.</p>
<p style="margin-left:11%; margin-top: 1em">Even if you can
use &quot;Activated by cool hacker guys&quot; as an ePID,
you may wish to use ePIDs that cannot be detected as non-MS
ePIDs. If you don&rsquo;t know how these &quot;valid&quot;
ePIDs look like exactly, do not use GUIDS in vlmcsd.ini.
vlmcsd provides internal mechanisms to generate valid
ePIDs.</p>
<p style="margin-left:11%; margin-top: 1em">If you use
non-ASCII characters in your ePID (you shouldn&rsquo;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.</p>
<p style="margin-left:11%; margin-top: 1em">If you are
specifying an optional HWID it follows the same syntax as in
the <b>-H</b> option in <b>vlmcsd</b>(8) ecxept that you
must not enclose a HWID in quotes even if it contains
spaces.</p>
<h2>FILES
<a name="FILES"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd.ini</b>(5)</p>
<h2>AUTHOR
<a name="AUTHOR"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8)
was written by crony12, Hotbird64 and vityan666. With
contributions from DougQaid.</p>
<h2>CREDITS
<a name="CREDITS"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em">Thanks to
CODYQX4, deagles, eIcn, mikmik38, nosferati87, qad,
Ratiborus, ...</p>
<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>
<p style="margin-left:11%; margin-top: 1em"><b>vlmcsd</b>(8),
<b>vlmcsd</b>(7), <b>vlmcs</b>(1), <b>vlmcsdmulti</b>(1)</p>
<hr>
</body>
</html>