当前位置:
首页 > 资源分享 > 定时更新VPN服务密码及源码

定时更新VPN服务密码及源码

环境介绍:

准备两台VPS,一台为OpenVZ(我们假设为VPS1),另外一台专门用于提供PPTPd VPN服务的VPS(Xen,我们假设为VPS2),假设提供PPTP VPN服务的VPS的IP地址为1.1.1.1。

第一步 :在VPS2上安装PPTPd VPN

#wget http://www.diahosting.com/dload/pptpd.sh
#chmod +x pptpd.sh
#./pptpd.sh

第二步 :在VPS2上安装expect,用于生产随机密码

#yum install expect
第三步:在VPS2上安装httpd

#yum install httpd
#service httpd start
第四步:在VPS2上的/root/目录下编写shell脚本,文件名为vpn.sh,用于自动更新密码,以下是脚本源码。

#! /bin/bash
pass=`mkpasswd -l 8 -d 8 -c 0 -C 0 -s 0`
year=`date "+%Y"`
month=`date "+%m"`
day=`date "+%d"`
hour=`date "+%H"`
min=`date "+%M"`
sec=`date "+%S"`
sed -i "3s/.*/vpn pptpd $pass */" /etc/ppp/chap-secrets
/etc/rc.d/init.d/pptpd restart-kill
cat /dev/null > /var/www/html/vpninfo.txt
echo $year >> /var/www/html/vpninfo.txt
echo $month >> /var/www/html/vpninfo.txt
echo $day >> /var/www/html/vpninfo.txt
echo $hour >> /var/www/html/vpninfo.txt
echo $min >> /var/www/html/vpninfo.txt
echo $sec >> /var/www/html/vpninfo.txt
echo $pass >> /var/www/html/vpninfo.txt

第五步:设置crontab,每30分钟执行一次脚本

#crontab -e
将以下代码加入crontab
0,30 * * * * /root/vpn.sh

至此VPS2上的设置已经完成,然后就是在vps1上部署,很简单,就是几行php代码,主要是设置循环倒计时的代码:

<?php

$file="http://72.11.148.188/vpninfo.txt";

$filetext=file($file);

$timestamp=mktime($filetext[3],$filetext[4],$filetext[5],$filetext[1],$filetext[2],$filetext[0]);

$timestamp=$timestamp+1800;

$year=date("Y",$timestamp);

$month=date("m",$timestamp);

$day=date("d",$timestamp);

$hour=date("H",$timestamp);

$min=date("i",$timestamp);

$sec=date("s",$timestamp);

$pass=$filetext[6];

?>

<html>

<head>

<title>云端互联免费VPN</title>

<meta name="description" content="云端互联 免费 VPN" />

<meta name="keywords" content="云端互联 免费 VPN" />

</head>

<body>

<embed src="http://www.clocklink.com/clocks/9001j-blue.swf?Title=本次密码&Message=<?=$pass?>&Target=2014,1,1,0,0,0&TimeZone=GMT0800" width="600" height="60" wmode="transparent" type="application/x-shockwave-flash">

<embed src="http://www.clocklink.com/clocks/9001j-blue.swf?Title=距下一次更新密码&Message=<?=$pass?>&Target=<?=$year?>,<?=$month?>,<?=$day?>,<?=$hour?>,<?=$min?>,<?=$sec?>&TimeZone=GMT0800" width="600" height="60" wmode="transparent" type="application/x-shockwave-flash">

</body>

</html>

定时更新VPN服务密码及源码:等您坐沙发呢!

发表评论

表情
还能输入210个字