Evo konacne verzije koja je prvenstveno namenjena novijim debianolikim distribucijama,ali vecina stvari bi trebalo da radi i na ostalim linuksima(nije testirano).Za ostale distribucije treba proveriti da li postoji instaliran 'ppp' programski paket i da li je kernel kompajliran sa CONFIG_PPPOE=m opcijom(u ubuntu se to proverava naredbom 'cat /boot/config-2.6.xx-xx-generic | grep PPPOE',ovo xx zameniti sa odgovarajucim brojevima).Jedino sto mozda u ostalim distroima nece raditi je automatsko startovanje.
Pomocu ove skripte se moze napraviti vise konekcija,kombinujuci razne faktore(naloge kod istog ISP-a,razlicite ISP-e,razlicite interfejse).Ono na sta treba obratiti paznju je,da ako provajder ne zahteva service name obavezno ostavite prazno,inace veza se nece uspostaviti.Drugo,prilikom pravljenja vise konekcija,nikako ne staviti isto korisnicko ime a razlicitu lozinku za dve razlicite konekcije,moze isto kor. ime i ista lozinka,a ako je razlicito kor. ime,lozinka moze da bude bilo sta.
Code (bash):#!/bin/bash
g_meni(){
str=""
st=""
com=`ls /sys/class/net/`
for et in $com
do
str="$str FALSE $et"
done
kom=`ls /etc/ppp/peers/`
for dsl in $kom
do
test=`echo "$dsl" | grep [A-Z]`
if [ "$?" = "0" ];then
st="$st FALSE $dsl"
fi
done
mm=`zenity --width=400 --height=300 --title='PPPoE' --text='Izaberite vasu konekciju' --list --column='' --column='Konektuj se preko' --radiolist$st FALSE "Napravi novu konekciju" FALSE "Automatsko startovanje" FALSE "Izbrisi postojecu konekciju" FALSE "Diskonektuj se"`
if [ -n "${mm}" ];then
case "${mm}" in
"Napravi novu konekciju")
int=`zenity --width=200 --height=250 --title='PPPoE' --text='Izaberite interfejs' --list --column='' --column='Interfejs' --radiolist$str`
[ "$?" != 1 ] || g_meni
kor_ime=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite korisnicko ime"`
[ "$?" != 1 ] || g_meni
kor_pass=`zenity --width=400 --height=100 --title='PPPoE' --entry --hide-text --text="Unesite lozinku"`
[ "$?" != 1 ] || g_meni
net=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite naziv konekcije(jedna rec),obavezno jedno veliko slovo u nazivu"`
[ "$?" != 1 ] || g_meni
ser=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite Service name (vecina provajdera\nne zahteva ovo pa treba ostaviti prazno)"`
[ "$?" != 1 ] || g_meni
if [ "x$int" = 'x' -o "x$kor_ime" = 'x' -o "x$kor_pass" = 'x' -o "x$net" = 'x' ];then
zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska,pokusajte ponovo."
else
poff -a > /dev/null
echo noipdefault > /etc/ppp/peers/"$net"
echo defaultroute >> /etc/ppp/peers/"$net"
man pppd | grep replacedefaultroute > /tmp/_ima.txt
if [ -s /tmp/_ima.txt ];then
echo replacedefaultroute >> /etc/ppp/peers/"$net"
fi
echo hide-password >> /etc/ppp/peers/"$net"
echo noauth >> /etc/ppp/peers/"$net"
echo persist >> /etc/ppp/peers/"$net"
if [ -n "$ser" ];then
echo plugin rp-pppoe.so rp_pppoe_service "\"$ser\"" "$int" >> /etc/ppp/peers/"$net"
else
echo plugin rp-pppoe.so "$int" >> /etc/ppp/peers/"$net"
fi
echo usepeerdns >> /etc/ppp/peers/"$net"
echo user "\"$kor_ime\"" >> /etc/ppp/peers/"$net"
echo " " >> /etc/ppp/peers/"$net"
if [ "$st" = "" ];then
echo "\"$kor_ime\"" '*' "\"$kor_pass\"" > /etc/ppp/pap-secrets
else
br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
echo "$br" > /etc/ppp/pap-secrets
br2=`sed -e 's/.*\"\('"$kor_ime"'\)\".\*.*/\1/' -e '/\"/ d' /etc/ppp/pap-secrets`
if [ -z "$br2" ];then
echo "\"$kor_ime\"" '*' "\"$kor_pass\"" >> /etc/ppp/pap-secrets
fi
fi
sed -i '/#start/,/#end/ d' /etc/network/interfaces
echo "#start" >> /etc/network/interfaces
echo auto "$net" >> /etc/network/interfaces
echo "iface "$net" inet ppp" >> /etc/network/interfaces
echo "pre-up /sbin/ifconfig "$int" up" >> /etc/network/interfaces
echo provider "$net" >> /etc/network/interfaces
echo "#end" >> /etc/network/interfaces
pon "$net" > /dev/null
zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani."
fi
g_meni
;;
"Diskonektuj se")
poff -a > /dev/null
zenity --info --width=400 --height=100 --title='PPPoE' --text="Sada ste diskonektovani"
g_meni
;;
"Izbrisi postojecu konekciju")
kon=`zenity --width=400 --height=100 --title='PPPoE' --entry --text="Unesite konekciju za brisanje"`
[ "$?" != 1 ] || g_meni
if [ -n "${kon}" ];then
nad=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$kon"`
rm /etc/ppp/peers/$kon
if [ "$?" -ne 0 ]; then
zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: nepostojeca konekcija"
g_meni
fi
br=`awk '!a[$1]++' < /etc/ppp/pap-secrets`
echo "$br" > /etc/ppp/pap-secrets
i=0
kom=`ls /etc/ppp/peers/`
for nesto in $kom
do
test=`echo "$nesto" | grep [A-Z]`
if [ "$?" = "0" ];then
nad2=`sed -e '/user/ !d' -e 's/.*user.\"\(.*\)\".*/\1/' /etc/ppp/peers/"$nesto"`
if [ "$nad" = "$nad2" ];then
i=1
fi
fi
done
if [ $i -eq 0 ];then
sed -i -e 's/.*\"\('"$nad"'\)\".\*.*/\1/' -e '/\"/ !d' /etc/ppp/pap-secrets
fi
else
zenity --info --width=400 --height=100 --title='PPPoE' --text="Greska: niste uneli naziv"
g_meni
fi
zenity --info --width=400 --height=100 --title='PPPoE' --text="$kon je uspesno izbrisana"
g_meni
;;
"Automatsko startovanje")
kom2=`ls /etc/ppp/peers/`
auto=""
for au in $kom2
do
test=`echo "$au" | grep [A-Z]`
if [ "$?" = "0" ];then
auto="$auto FALSE $au"
fi
done
aut=`zenity --width=300 --height=300 --title='PPPoE' --text='Izaberite konekciju za koju zelite\nda se automatski startuje\nprilikom podizanja sistema' --list --column='' --column='Konekcija' --radiolist$auto FALSE "Izbrisi auto startovanje"`
[ -n "$aut" ] || g_meni
if [ "$aut" = "Izbrisi auto startovanje" ];then
sed -i '/#start/,/#end/ s/.*auto.*//' /etc/network/interfaces
else
sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut" > /tmp/nad
nad1=`sed -e 's/^\(rp_pppoe_service\).*/\1/' /tmp/nad`
if [ $nad1 = "rp_pppoe_service" ];then
nad3=`sed -e 's/^rp_pppoe_service.*\".*\".\(.*\)/\1/' /tmp/nad`
else
nad3=`sed -e '/plugin/ !d' -e 's/.*rp-pppoe.so.\(.*\).*/\1/' /etc/ppp/peers/"$aut"`
fi
sed -i '/#start/,/#end/ d' /etc/network/interfaces
echo "#start" >> /etc/network/interfaces
echo auto "$aut" >> /etc/network/interfaces
echo "iface "$aut" inet ppp" >> /etc/network/interfaces
echo "pre-up /sbin/ifconfig "$nad3" up" >> /etc/network/interfaces
echo provider "$aut" >> /etc/network/interfaces
echo "#end" >> /etc/network/interfaces
fi
g_meni
;;
*)
poff -a > /dev/null
pon "${mm}" > /dev/null
zenity --info --width=400 --height=100 --title='PPPoE' --text="Proverite da li ste sada konektovani na ${mm}"
g_meni
;;
esac
fi
exit 0
}
if [ `whoami` != root ]; then
echo "Startujte skriptu sa \"sudo\""
exit 0
fi
g_meni
Grejna površina:Kuća na sprat 100 m2,podno grejanje,zid i plafon 10cm
stiropor,pod 5cm
stirodur + prizemna kuca 40 m2,radijatori,zid 5cm stiropor,plafon 10cm staklena
vuna + kombinovani bojler 120 litara.I na jednom i drugom objektu
petokomorna pvc stolarija sa duplim staklom punjena argonom.
Kotao: Termomont toby20