#!/bin/sh

# PPP Ѥե(/usr/bin/ppp-on, /etc/ppp/ppp-on-dialer,
# /etc/ppp/papsecrets) 뤿Υץȡ/etc/resolv.conf 
# ưŪ˽񤭤褦ˤƤ뤬ʣ ISP Ȥ 
# /etc/ppp/ip-up Ǿʬɬפޤ

if [ "$UID" -ne "0" ]; then
	echo "please use this script with root account"
	exit
fi

set | grep TERM > /tmp/termname
if [ "grep 'kterm' /tmp/termname"  -o "grep kon /tmp/termname" ]; then
  echo "ʸޤ Can you read Japanese chars on this term ? [Y/n]"
  read ANS
  if [ "$ANS" = "N" -o "$ANS" = "n" ]; then
    echo "No Japanese mode"
  else
    LNG="JAPANESE"
    echo "Japanese mode"
  fi
fi
rm /tmp/termname

if [ "$LNG" = "JAPANESE" ]; then

if [ ! -d /etc/ppp ];then
	echo "ΥץȤȤˤ PPP "
	echo "餫ᥤ󥹥ȡ뤷Ƥɬפޤ"
	exit
fi

echo
echo -n "ץХϿƤ桼̾ϡ: "
read LOGIN
if [ -z "$LOGIN" ]
then 
	echo "ǰʤ̾ꤻˤϿʤޤ󡣡";exit
fi
echo

echo -n "$LOGIN Υѥɤϡ "
read PASS
if [ -z "$PASS" ]
then 
	echo "ʤϤ졩";exit
fi
echo

echo -n "ץХΥɥᥤ̾ϡ "
read DOMAIN

echo -n "ץХΥ͡ॵФ IP ɥ쥹ϡ "
read NAMESERVER

echo -n "³ֹϡ"
read TEL
if [ -z "$TEL" ]
then
	echo "ְ㤤äդޤ礦"; exit
fi

echo
echo "³Υ桼ǧˡϡ:(ǥե: 2) "
echo "1 : ǧ(login:  passwd: ʹƤ륿)"
echo "2 : PAP ǧ(login ľ夫 PPP ǤȤꤹ륿)"
echo

read METHOD
if [ -z "$METHOD" ] 
then 
	METHOD="3"
fi

echo -n "PPP ưץȤ̾ϡ(ǥե : ppp-on)"
read CMD
if [ -z "$CMD" ]
then
	CMD="ppp-on"
fi

echo " /usr/sbin/$CMD, /etc/ppp/$CMD-dialer, /etc/ppp/papsecrets "
echo "ɬפʾꤷޤ"

echo "ΥץȤ륳ޥɤϥȡ(ץåۥ)"
echo "ʤΤǡѥ륹()ξ /etc/ppp/$CMD-dialer "
echo "ATDT ʬ ATDP ѹƤ"

else

if [ ! -d /etc/ppp ];then
	echo "You must instal PPP before use this scripts"
	exit
fi

echo
echo -n "What is your user ID at your provider?: "
read LOGIN
if [ -z "$LOGIN" ]
then 
	echo "Sorry, you cannot miss your user ID";exit
fi
echo

echo -n "Enter the password for $LOGIN :"
read PASS
if [ -z "$PASS" ]
then 
    echo "Who are you ?"; exit
fi
echo

echo -n "Domain name of your provider?: "
read DOMAIN

echo -n "IP address of your provider's nameserver?: "
read NAMESERVER

echo -n "Enter the telephone number of your provider: "

read TEL
if [ -z "$TEL" ]
then
    echo "Where do you want to call? "; exit
fi

echo
echo "What type of authentification does your ISP using? "
echo "1 : login authentification (use login: and passwd:)"
echo "2 : PAP authentification(PPP will talk when you login)"
echo

read METHOD
if [ -z "$METHOD" ] 
then 
	METHOD="2"
fi

echo -n "How do you name of your PPP script? [ppp-on]"
read CMD
if [ -z "$CMD" ]
then
	CMD="ppp-on"
fi

echo "OK, now I'm setting up your /usr/sbin/$CMD, /etc/ppp/$CMD-dialer, "
echo "/etc/ppp/papsecrets"

echo "dialing command which this script set up is for tone line(pushphone)"
echo "So,if you are using pulse line(dialphone), change ATDT to ATDP in "
echo "/etc/ppp/$CMD-dialer "

fi

if [ -f /usr/sbin/$CMD ]
then
	mv /usr/sbin/$CMD /usr/sbin/$CMD.old
fi
if [ -f /etc/ppp/$CMD-dialer ]
then
	mv /etc/ppp/$CMD-dialer /etc/ppp/$CMD-dialer.old
fi

echo $LOGIN | sed 's/#/\\#/g' > /tmp/ppp-temp
LOGIN="`cat /tmp/ppp-temp`"

echo $PASS | sed 's/#/\\#/g' > /tmp/ppp-temp
PASS="`cat /tmp/ppp-temp`"
rm /tmp/ppp-temp

NETMASK="255.255.255.0"   # default netmask is class C
DIALER_SCRIPT="/etc/ppp/$CMD-dialer"

case "$METHOD" in
	1)     # login ǧ

if [ "$LNG" = "JAPANESE" ]; then
  echo -n "Ф PPP ư륳ޥɤжƤ[] :"
else
  echo -n "Do you have a command to invoke PPP on your server?[] :"
fi
  read PPPCMD

		cat <<EOF > /usr/sbin/$CMD
#! /bin/sh
exec /usr/sbin/pppd debug lock modem crtscts /dev/modem 115200 \\
     noipdefault defaultroute connect $DIALER_SCRIPT
EOF

	cat <<EOF > /etc/ppp/$CMD-dialer
#!/bin/sh
#
exec chat -v                                            \\
        TIMEOUT         3                               \\
        ABORT           '\nBUSY\r'                      \\
        ABORT           '\nNO ANSWER\r'                 \\
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \\
        ''              \\rAT                           \\
        'OK-+++\c-OK'   ATH0                            \\
        TIMEOUT         60                              \\
        OK              ATDT$TEL                        \\
        CONNECT         ''                              \\
        ogin:--ogin:    '$LOGIN'                         \\
        assword:        '$PASS'                         \\
        ''              '$PPPCMD'
EOF

chmod 511 /usr/sbin/$CMD
chmod 700 /etc/ppp/$CMD-dialer
    ;;
    2)    # PAP with dial line

        cat <<EOF > /usr/sbin/$CMD
#! /bin/sh
exec /usr/sbin/pppd debug lock modem crtscts /dev/modem 115200 \\
    user $LOGIN noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT
EOF

    cat <<EOF > /etc/ppp/$CMD-dialer
#!/bin/sh
#
exec chat -v                                            \\
        TIMEOUT         3                               \\
        ABORT           '\nBUSY\r'                      \\
        ABORT           '\nNO ANSWER\r'                 \\
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \\
        ''              \\rAT                           \\
        'OK-+++\c-OK'   ATH0                            \\
        TIMEOUT         60                              \\
        OK              ATDT$TEL                        \\
        CONNECT         ''                              
EOF

    cat <<EOF >> /etc/ppp/pap-secrets
'$LOGIN'  ""  '$PASS'
EOF

chmod 511 /usr/sbin/$CMD
chmod 700 /etc/ppp/$CMD-dialer
chmod 640 /etc/ppp/pap-secrets
    ;;

esac

if [ -n "$DOMAIN" ]; then
  echo "domain $DOMAIN" >> /etc/resolv.conf
  echo "nameserver $NAMESERVER" >> /etc/resolv.conf
fi
