Deploy KMS server with vlmsd

KMS activates computers on a local network, eliminating the need for individual computers to connect to Microsoft. To do this, KMS uses a client–server topology. KMS client computers can locate KMS host computers by DNS or static configration. when server qualify for KMS activation, it can provide the activation service.

With this principle many people developed KMS activetools, but some of them works not very well. It is even worth to see Malicious code in these tools. vlmcsd provide a KMS server simulator write with C language, which under the GNU license. It is also multi platform, so it can runing in Windows, linux, MacOS.

Deploy KMS service

Take Linux (CentOS 6.5) as an example:

1.choose compatible binary according to system version and CPU type. For example, my OS is CentOS 6.5 and the hardware platform is KVM visual machine(intel CPU), I should choose vlmcsd-x64-musl-static in \binaries\Linux\intel\static.

2.create a new folder ‘kms’ in /use/local.

mkdir -p /usr/local/kms

3.if binary is uploaded from local machine, it should have execute permission.

chmod u+x /usr/local/kms/vlmcsd-x64-musl-static

4.run the program

/usr/local/kms/vlmcsd-x64-musl-static

5.if you use iptables, you should open a port for this program

iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 1688 -j ACCEPT

Test

you can use vlmcs to test

vlmcs-Windows-x64.exe -v address of kms server

if server is correctly setuped, you can see such informations

Active

Start a Command Prompt as an Administrator, then type following command:


slmgr /skms address of kms server
slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
slmgr /ato
slmgr /xpr

the kms client install key can be fond in Official Documents.

Others

if you want to enable autostart, you can import following script:


#!/bin/sh
# chkconfig: 2345 90 10
# description: Start or stop the kms server
#
### BEGIN INIT INFO
# Provides: vlmcsd
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: Start or stop the kms server
### END INIT INFO
 
name=kms-service
path=/usr/local/kms/
bin=vlmcsd-x64-musl-static
 
start(){
$path$bin
RETVAL=$?
if [ "$RETVAL" = "0" ]; then
echo "$name start success"
else
echo "$name start failed"
fi
}
 
stop(){
pid=`ps -ef | grep -v grep | grep -v ps | grep -i "${bin}" | awk '{print $2}'`
if [ ! -z $pid ]; then
kill -9 $pid
RETVAL=$?
if [ "$RETVAL" = "0" ]; then
echo "$name stop success"
else
echo "$name stop failed"
fi
else
echo "$name is not running"
RETVAL=1
fi
}
 
status(){
pid=`ps -ef | grep -v grep | grep -v ps | grep -i "${bin}" | awk '{print $2}'`
if [ -z $pid ]; then
echo "$name is not running"
RETVAL=1
else
echo "$name is running with PID $pid"
RETVAL=0
fi
}
 
case "$1" in
'start')
start
;;
'stop')
stop
;;
'status')
status
;;
'restart')
stop
start
RETVAL=$?
;;
*)
echo "Usage: $0 { start | stop | restart | status }"
RETVAL=1
;;
esac
exit $RETVAL

 

, ,
Previous Post
About NEKOPARA OVA WebRip
Next Post
About ripping Alice to Zouroku

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menu