freebsd-dev/release/picobsd/dial/lang/dialup.pl

410 lines
10 KiB
Perl
Raw Normal View History

1998-08-27 17:38:45 +00:00
#!/bin/sh
1999-06-14 15:45:56 +00:00
# $Id: dialup.pl,v 1.2.2.1 1999/05/07 10:02:40 abial Exp $
1998-08-27 17:38:45 +00:00
set_resolv() {
echo ""
echo " Domy<6D>lna Nazwa Domeny"
echo ""
echo "Podaj domy<6D>ln<6C> nazw<7A> domeny Internetowej, kt<6B>rej b<>dziesz u<>ywa<77>."
echo "Je<4A>li Tw<54>j provider ma nazwy typu 'www.akuku.com.pl', to b<>dzie"
echo "to najprawdopodobniej 'akuku.com.pl'."
echo ""
echo "Je<4A>li po prostu naci<63>niesz Enter, ustawisz (nieistniej<65>c<EFBFBD>) domen<65>"
echo "'mydomain.org.pl', co nie jest najlepszym pomys<79>em, ale mo<6D>e na"
echo "razie wystarczy<7A>."
echo ""
read -p "Podaj domy<6D>ln<6C> nazw<7A> domeny: " domain
if [ "X${domain}" = "X" ]
then
echo ""
echo "Dobrze, ustawimy 'mydomain.org.pl', ale miej <20>wiadomo<6D><6F>"
echo "<22>e taka domena prawdopodobnie nie istnieje."
echo ""
read -p "Naci<63>nij Enter" junk
domain="mydomain.org.pl"
fi
echo ""
echo " Adres Serwera DNS"
echo ""
echo "Podaj adres w postaci numerycznej serwera DNS. Jest on potrzebny"
echo "do zamiany nazw (takich jak www.freebsd.org.pl) na adresy IP"
echo "(takie jak 192.168.1.1). Je<4A>li nie jest to ustawione poprawnie,"
echo "b<>dziesz musia<69> pos<6F>ugiwa<77> si<73> adresami IP podczas <20><>czenia si<73>"
echo "z innymi maszynami - jest to co najmniej niewygodne."
echo ""
echo "Je<4A>li po prostu naci<63>niesz Enter, ustawisz (istniej<65>cy) serwer"
echo "o numerze 194.204.159.1 (w sieci TP SA)."
echo ""
read -p "Podaj adres IP serwera DNS (w postaci A.B.C.D): " dns
if [ "X${dns}" = "X" ]
then
echo ""
echo "Dobrze, ustawimy adres DNS serwera na 194.204.159.1, ale"
echo "niekoniecznie musi to by<62> najlepszy serwer w Twojej cz<63><7A>ci sieci."
echo ""
read -p "Naci<63>nij Enter..." junk
dns="194.204.159.1"
fi
}
set_phone() {
while [ "X${phone}" = "X" ]
do
echo ""
echo " Numer Telefoniczny"
echo ""
echo "Podaj numer telefoniczny, kt<6B>rego normalnie u<>ywasz, <20>eby"
echo "dodzwoni<6E> si<73> do swojego providera. Powiniene<6E> poda<64> pe<70>ny"
echo "numer, z ewentualnymi przedrostkami, np: 022113355"
echo ""
read -p "Podaj numer telefoniczny: " phone
done
}
set_port() {
while [ "X${dev}" = "X" ]
do
echo ""
echo " Numer Portu Modemowego"
echo ""
echo "Podaj numer portu szeregowego, do kt<6B>rego pod<6F><64>czony jest modem."
echo "UWAGA: DOSowy port COM1 to port 0 (cuaa0) we FreeBSD, COM2 -"
echo "port 1, itd. Podaj tutaj tylko numer, a nie pe<70>n<EFBFBD> nazw<7A> urz<72>dzenia."
echo ""
read -p "Podaj numer portu szeregowego (0,1,2): " dev
done
}
set_speed() {
while [ "X${speed}" = "X" ]
do
echo ""
echo " Pr<50>dko<6B><6F> Linii Szeregowej"
echo ""
echo "Wybierz pr<70>dko<6B><6F> linii szeregowej, kt<6B>rej u<>ywa modem."
echo ""
echo "UWAGA: Pr<50>dko<6B><6F> linii szeregowej NIE jest tym samym, co pr<70>dko<6B><6F>"
echo "modemu. Je<4A>li Tw<54>j modem obs<62>uguje protok<6F><6B> V.42 lub MNP"
echo "(zazwyczaj tak w<>a<EFBFBD>nie jest), pr<70>dko<6B><6F> linii szeregowej musi by<62>"
echo "du<64>o wi<77>ksza od pr<70>dko<6B>ci modemu. Np. dla modem<65>w 14.4 kbps z"
echo "kompresj<73> nale<6C>y wybra<72> pr<70>dko<6B><6F> 38400 bps, a dla modem<65>w"
echo "28.8 kbps z kompresj<73> nale<6C>y wybra<72> pr<70>dko<6B><6F> 115200 bps."
echo ""
echo " 1. 9600 bps"
echo " 2. 14400 bps"
echo " 3. 28800 bps"
echo " 4. 38400 bps (modem 14.4 kbps z kompresj<73>)"
echo " 5. 57600 bps"
echo " 6. 115200 bps (modem 28.8 kbps z kompresj<73>)"
echo ""
read -p "Wybierz pr<70>dko<6B><6F> linii szeregowej (1-6): " ans
case ${ans} in
1)
speed=9600
;;
2)
speed=14400
;;
3)
speed=28800
;;
4)
speed=38400
;;
5)
speed=57600
;;
6)
speed=115200
;;
*)
read -p "Z<>a warto<74><6F>! Naci<63>nij Enter..." junk
unset speed
;;
esac
done
}
set_timeout() {
while [ "X${timo}" = "X" ]
do
echo ""
echo " Czas roz<6F><7A>czenia"
echo ""
echo "Podaj czas (w sekundach), po kt<6B>rym, je<6A>li nie ma ruchu na <20><>czu,"
echo "nast<73>pi automatyczne roz<6F><7A>czenie. To pomaga w oszcz<63>dzaniu :-)"
echo ""
read -p "Podaj czas roz<6F><7A>czenia: " timo
done
}
set_user() {
while [ "X${user}" = "X" ]
do
echo ""
echo " Nazwa U<>ytkownika"
echo ""
echo "Podaj nazw<7A> u<>ytkownika (login name), kt<6B>rej normalnie u<>ywasz"
echo "do zalogowania si<73> do serwera komunikacyjnego providera."
echo ""
read -p "Podaj nazw<7A> u<>ytkownika: " user
done
}
set_pass() {
while [ "X${pass}" = "X" ]
do
echo ""
echo " Has<61>o"
echo ""
echo "Podaj has<61>o, kt<6B>rego u<>ywasz do zalogowania si<73> do providera."
echo ""
echo "UWAGA: Has<61>o to zostanie zapisane w czytelnej postaci na"
echo "dyskietce!!! Je<4A>li tego nie chcesz... b<>dziesz musia<69> logowa<77> si<73>"
echo "r<>cznie, tak jak dotychczas. W tym przypadku przerwij ten skrypt"
echo "przez Ctrl-C."
echo ""
stty -echo
1998-08-27 17:38:45 +00:00
read -p "Podaj swoje has<61>o: " pass
echo ""
read -p "Podaj powt<77>rnie swoje has<61>o: " pass1
stty echo
echo ""
if [ "X${pass}" != "X${pass1}" ]
then
echo "Has<61>a nie pasuj<75> do siebie. Naci<63>nij Enter..."
pass=""
read junk
set_pass
fi
1998-08-27 17:38:45 +00:00
done
}
set_chat() {
echo ""
while [ "X${chat}" = "X" ]
do
echo " Rodzaj dialogu podczas logowania si<73>"
echo ""
echo "Jak normalnie przebiega proces logowania si<73> do serwera"
echo "komunikacyjnego?"
echo ""
echo "1) ......login: ${user}"
echo " ...password: ********"
echo " (tutaj startuje PPP)"
echo ""
echo "2) ...username: ${user} (TP S.A.)"
echo " ...password: ********"
echo " (tutaj startuje PPP)"
echo ""
echo "3) ......username: ${user} (NASK)"
echo " ......password: ********"
echo " portX/..xxx...: ppp"
echo " (tutaj startuje PPP)"
echo ""
echo "4) Zastosuj CHAP"
echo ""
echo "5) Zastosuj PAP"
echo ""
read -p "Wybierz 1,2,3,4 lub 5: " chat
1998-08-27 17:38:45 +00:00
case ${chat} in
1)
chat1="TIMEOUT 10 ogin:--ogin: ${user} word: \\\\P"
chat2="login/password"
;;
2)
chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P"
chat2="TP SA - username/password"
;;
3)
chat1="TIMEOUT 10 ername:--ername: ${user} word: \\\\P port ppp"
chat2="NASK - username/password/port"
;;
4) chat1="-"
chat2="CHAP"
;;
5) chat1="-"
chat2="PAP"
;;
1998-08-27 17:38:45 +00:00
*) echo "Z<>a warto<74><6F>! Musisz wybra<72> 1,2 lub 3."
echo ""
unset chat
unset chat2
;;
esac
done
}
# Main entry of the script
echo ""
echo " Witamy w Automatycznym Konfiguratorze PPP! :-)"
echo ""
echo " PPP jest ju<6A> wst<73>pnie skonfigurowane, tak <20>e mo<6D>na r<>cznie wybiera<72>"
echo "numer i r<>cznie logowa<77> si<73> do serwera komunikacyjnego. Jest to jednak"
echo "dosy<73> uci<63><69>liwy spos<6F>b na d<>u<EFBFBD>sz<73> met<65>."
echo ""
echo "Ten skrypt postara si<73> stworzy<7A> tak<61> konfiguracj<63> PPP, <20>eby umo<6D>liwi<77>"
echo "automatyczne wybieranie numeru i logowanie si<73>, a ponadto pozwoli na"
echo "uruchamianie ppp w tle - nie zajmuje ono w<>wczas konsoli."
echo ""
echo "Je<4A>li chcesz kontynuowa<77>, naci<63>nij Enter, je<6A>li nie - Ctrl-C."
echo ""
read junk
# Step through the options
set_phone
set_port
set_speed
set_timeout
set_user
set_pass
set_chat
set_resolv
ans="loop_it"
while [ "X${ans}" != "X" ]
do
echo ""
echo " Ustawione zosta<74>y nast<73>puj<75>ce parametry:"
echo ""
echo " 1. Numer telef.: ${phone}"
echo " 2. Numer portu: cuaa${dev}"
echo " 3. Pr<50>dko<6B><6F> portu: ${speed}"
echo " 4. Czas roz<6F><7A>cz.: ${timo} s"
echo " 5. U<>ytkownik: ${user}"
echo " 6. Has<61>o: ${pass}"
echo " 7. Typ dialogu: ${chat} (${chat2})"
echo " 8. Nazwa domeny: ${domain}"
echo " Serwer DNS: ${dns}"
echo ""
echo "Je<4A>li te warto<74>ci s<> poprawne, po prostu naci<63>nij Enter"
read -p "Je<4A>li nie, podaj numer opcji, kt<6B>r<EFBFBD> chcesz zmieni<6E> (1-8): " ans
a="X${ans}"
case ${a} in
X1)
unset phone
set_phone
;;
X2)
unset dev
set_port
;;
X3)
unset speed
set_speed
;;
X4)
unset timo
set_timeout
;;
X5)
unset user
set_user
;;
X6)
unset pass
set_pass
;;
X7)
unset chat
unset chat1
unset chat2
set_chat
;;
X8)
unset domain
unset dns
set_resolv
;;
X)
;;
*)
read -p "Z<>y numer opcji! Naci<63>nij Enter..." junk
ans="wrong"
;;
esac
done
echo ""
echo -n "Generowanie /etc/ppp/ppp.conf file..."
rm -f /etc/ppp/ppp.conf
cp /etc/ppp/ppp.conf.template /etc/ppp/ppp.conf
echo "" >>/etc/ppp/ppp.conf
echo "# This part was generated with $0" >>/etc/ppp/ppp.conf
echo "dialup:" >>/etc/ppp/ppp.conf
echo " set line /dev/cuaa${dev}" >>/etc/ppp/ppp.conf
echo " set phone ${phone}" >>/etc/ppp/ppp.conf
echo " set authkey ${pass}" >>/etc/ppp/ppp.conf
echo " set timeout ${timo}" >>/etc/ppp/ppp.conf
if [ "X${chat1}" = "-" ]
then
echo "set authname ${user}" >>/etc/ppp/ppp.conf
else
echo " set login \"${chat1}\"" >>/etc/ppp/ppp.conf
fi
1998-08-27 17:38:45 +00:00
echo " set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0" >>/etc/ppp/ppp.conf
echo " Zrobione."
echo -n "Generowanie /etc/resolv.conf..."
echo "# This file was generated with $0">/etc/resolv.conf
echo "domain ${domain}" >>/etc/resolv.conf
echo "nameserver ${dns}">>/etc/resolv.conf
echo "hostname=\"pico.${domain}\"">>/etc/rc.conf
echo " Zrobione."
echo ""
echo "Ok. Sprawd<77> zawarto<74><6F> /etc/ppp/ppp.conf, i popraw go je<6A>li to konieczne."
echo "Nast<73>pnie mo<6D>esz wystartowa<77> ppp w tle:"
echo ""
echo " ppp -background dialup"
echo ""
echo "PAMI<4D>TAJ, <20>eby uruchomi<6D> /stand/update ! Inaczej zmiany nie zostan<61> zapisane"
echo "na dyskietce!"
echo ""
echo "Ok. Je<4A>li Tw<54>j plik /etc/ppp/ppp.conf jest prawid<69>owy (co jest dosy<73>"
echo -n "prawdopodobne :-), czy chcesz teraz uruchomi<6D> po<70><6F>czenie dialup? (t/n) "
read ans
opts=""
1998-08-27 17:38:45 +00:00
while [ "X${ans}" = "Xt" ]
do
echo ""
if [ "X${opts}" = "X" ]
then
echo "Wystartujemy 'ppp' z poni<6E>szymi opcjami:"
echo ""
echo " ppp -background dialup"
1999-06-14 15:45:56 +00:00
echo ""
echo -n "Czy chcesz je zmienic?? (t/n) "
read oo
if [ "X${oo}" = "Xt" ]
then
read -p "Podaj opcje ppp: " opts
else
opts="-background dialup"
fi
echo ""
echo ""
fi
1998-08-27 17:38:45 +00:00
echo "Uruchamiam po<70><6F>czenie dialup. Prosz<73> czeka<6B> dop<6F>ki nie pojawi si<73>"
echo "komunikat 'PPP Enabled'..."
echo ""
ppp -background dialup
if [ "X$?" != "X0" ]
then
echo -n "Po<50><6F>czenie nie powiod<6F>o si<73>. Spr<70>bowa<77> jeszcze raz? (t/n) "
read ans
if [ "X${ans}" != "Xt" ]
then
echo "Spr<70>buj p<><70>niej. Sprawd<77> r<>wnie<69> plik konfiguracyjny /etc/ppp/ppp.conf."
echo ""
fi
else
echo ""
echo "Gratuluj<75>! Jeste<74> on-line."
echo ""
exit 0
fi
done