freebsd-dev/release/picobsd/dial/lang/dialup.pl
1999-06-14 15:45:56 +00:00

410 lines
10 KiB
Bash
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# $Id: dialup.pl,v 1.2.2.1 1999/05/07 10:02:40 abial Exp $
set_resolv() {
echo ""
echo " Domyślna Nazwa Domeny"
echo ""
echo "Podaj domyślną nazwę domeny Internetowej, której będziesz używać."
echo "Jeśli Twój provider ma nazwy typu 'www.akuku.com.pl', to będzie"
echo "to najprawdopodobniej 'akuku.com.pl'."
echo ""
echo "Jeśli po prostu naciśniesz Enter, ustawisz (nieistniejącą) domenę"
echo "'mydomain.org.pl', co nie jest najlepszym pomysłem, ale może na"
echo "razie wystarczyć."
echo ""
read -p "Podaj domyślną nazwę domeny: " domain
if [ "X${domain}" = "X" ]
then
echo ""
echo "Dobrze, ustawimy 'mydomain.org.pl', ale miej świadomość"
echo "że taka domena prawdopodobnie nie istnieje."
echo ""
read -p "Naciś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śli nie jest to ustawione poprawnie,"
echo "będziesz musiał posługiwać się adresami IP podczas łączenia się"
echo "z innymi maszynami - jest to co najmniej niewygodne."
echo ""
echo "Jeśli po prostu naciśniesz Enter, ustawisz (istnieją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ć najlepszy serwer w Twojej części sieci."
echo ""
read -p "Naciś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órego normalnie używasz, żeby"
echo "dodzwonić się do swojego providera. Powinieneś podać peł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órego podłą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łną nazwę urządzenia."
echo ""
read -p "Podaj numer portu szeregowego (0,1,2): " dev
done
}
set_speed() {
while [ "X${speed}" = "X" ]
do
echo ""
echo " Prędkość Linii Szeregowej"
echo ""
echo "Wybierz prędkość linii szeregowej, której używa modem."
echo ""
echo "UWAGA: Prędkość linii szeregowej NIE jest tym samym, co prędkość"
echo "modemu. Jeśli Twój modem obsługuje protokół V.42 lub MNP"
echo "(zazwyczaj tak właśnie jest), prędkość linii szeregowej musi być"
echo "dużo większa od prędkości modemu. Np. dla modemów 14.4 kbps z"
echo "kompresją należy wybrać prędkość 38400 bps, a dla modemów"
echo "28.8 kbps z kompresją należy wybrać prędkość 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ą)"
echo " 5. 57600 bps"
echo " 6. 115200 bps (modem 28.8 kbps z kompresją)"
echo ""
read -p "Wybierz prędkość 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ść! Naciśnij Enter..." junk
unset speed
;;
esac
done
}
set_timeout() {
while [ "X${timo}" = "X" ]
do
echo ""
echo " Czas rozłączenia"
echo ""
echo "Podaj czas (w sekundach), po którym, jeśli nie ma ruchu na łączu,"
echo "nastąpi automatyczne rozłączenie. To pomaga w oszczędzaniu :-)"
echo ""
read -p "Podaj czas rozłączenia: " timo
done
}
set_user() {
while [ "X${user}" = "X" ]
do
echo ""
echo " Nazwa Użytkownika"
echo ""
echo "Podaj nazwę użytkownika (login name), której normalnie używasz"
echo "do zalogowania się do serwera komunikacyjnego providera."
echo ""
read -p "Podaj nazwę użytkownika: " user
done
}
set_pass() {
while [ "X${pass}" = "X" ]
do
echo ""
echo " Hasło"
echo ""
echo "Podaj hasło, którego używasz do zalogowania się do providera."
echo ""
echo "UWAGA: Hasło to zostanie zapisane w czytelnej postaci na"
echo "dyskietce!!! Jeśli tego nie chcesz... będziesz musiał logować się"
echo "ręcznie, tak jak dotychczas. W tym przypadku przerwij ten skrypt"
echo "przez Ctrl-C."
echo ""
stty -echo
read -p "Podaj swoje hasło: " pass
echo ""
read -p "Podaj powtórnie swoje hasło: " pass1
stty echo
echo ""
if [ "X${pass}" != "X${pass1}" ]
then
echo "Hasła nie pasują do siebie. Naciśnij Enter..."
pass=""
read junk
set_pass
fi
done
}
set_chat() {
echo ""
while [ "X${chat}" = "X" ]
do
echo " Rodzaj dialogu podczas logowania się"
echo ""
echo "Jak normalnie przebiega proces logowania się 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
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"
;;
*) echo "Zła wartość! Musisz wybrać 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ż wstępnie skonfigurowane, tak że można ręcznie wybierać"
echo "numer i ręcznie logować się do serwera komunikacyjnego. Jest to jednak"
echo "dosyć uciążliwy sposób na dłuższą metę."
echo ""
echo "Ten skrypt postara się stworzyć taką konfigurację PPP, żeby umożliwić"
echo "automatyczne wybieranie numeru i logowanie się, a ponadto pozwoli na"
echo "uruchamianie ppp w tle - nie zajmuje ono wówczas konsoli."
echo ""
echo "Jeśli chcesz kontynuować, naciśnij Enter, jeś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ły następujące parametry:"
echo ""
echo " 1. Numer telef.: ${phone}"
echo " 2. Numer portu: cuaa${dev}"
echo " 3. Prędkość portu: ${speed}"
echo " 4. Czas rozłącz.: ${timo} s"
echo " 5. Użytkownik: ${user}"
echo " 6. Hasło: ${pass}"
echo " 7. Typ dialogu: ${chat} (${chat2})"
echo " 8. Nazwa domeny: ${domain}"
echo " Serwer DNS: ${dns}"
echo ""
echo "Jeśli te wartości są poprawne, po prostu naciśnij Enter"
read -p "Jeśli nie, podaj numer opcji, którą chcesz zmienić (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ś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
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ź zawartość /etc/ppp/ppp.conf, i popraw go jeśli to konieczne."
echo "Następnie możesz wystartować ppp w tle:"
echo ""
echo " ppp -background dialup"
echo ""
echo "PAMIĘTAJ, żeby uruchomić /stand/update ! Inaczej zmiany nie zostaną zapisane"
echo "na dyskietce!"
echo ""
echo "Ok. Jeśli Twój plik /etc/ppp/ppp.conf jest prawidłowy (co jest dosyć"
echo -n "prawdopodobne :-), czy chcesz teraz uruchomić połączenie dialup? (t/n) "
read ans
opts=""
while [ "X${ans}" = "Xt" ]
do
echo ""
if [ "X${opts}" = "X" ]
then
echo "Wystartujemy 'ppp' z poniższymi opcjami:"
echo ""
echo " ppp -background dialup"
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
echo "Uruchamiam połączenie dialup. Proszę czekać dopóki nie pojawi się"
echo "komunikat 'PPP Enabled'..."
echo ""
ppp -background dialup
if [ "X$?" != "X0" ]
then
echo -n "Połączenie nie powiodło się. Spróbować jeszcze raz? (t/n) "
read ans
if [ "X${ans}" != "Xt" ]
then
echo "Spróbuj później. Sprawdź również plik konfiguracyjny /etc/ppp/ppp.conf."
echo ""
fi
else
echo ""
echo "Gratuluję! Jesteś on-line."
echo ""
exit 0
fi
done