[vodic] Posodabljanje DynDNS IPja v linuxu

cime Član
Ker nisem našel nobenega uporabnega enostavnega programa za posodobitev IPja na DynDNSju, sem "malo" spremenu eno skripto in nastalo je slednje:
#!/bin/bash
zenity --info --text=\"Dobrodošli v DynDNS Updater!\nVerszija: 0.1\nAvtor: Cime\"

wget -q http://checkip.dyndns.org/index.html --output-document=/var/tmp/nov.ip

#preveri če se je IP spremenil od zadnjega posodabljanja
#če se ni, zapustimo skripto
if [ \"`cat /var/tmp/nov.ip`\" = \"`cat /var/tmp/star.ip`\" ]; then
zenity --info --text=\"IP je enak kot pri zadnjem posodabljanju!\nPozdravljeni!\"
exit
fi

#v nasprotnem primeru nadaljujemo z izvajanjem skripte
#preberemo vse potrebne podatke
uporabnik=$(cat /var/tmp/dyn.uporabnik)
geslo=$(cat /var/tmp/dyn.geslo)
domena=$(cat /var/tmp/dyn.domena)

#možnost vnosa novih vrednosti ali uporaba starih
uporabnik=$(zenity --entry --text=\"Vpišite uporabniško ime:\" --entry-text=$uporabnik)
geslo=$(zenity --entry --hide-text --text=\"Vpišite geslo:\" --entry-text=$geslo)
domena=$(zenity --entry --text=\"Vpišite domeni (npr. test.homeip.net):\" --entry-text=$domena)

#shranimo podatke
echo \"$uporabnik\" > /var/tmp/dyn.uporabnik
echo \"$geslo\" > /var/tmp/dyn.geslo
echo \"$domena\" > /var/tmp/dyn.domena

wget -q http://''$uporabnik'':''$geslo''@members.dyndns.org/nic/update?hostname=''$domena'' --output-document=/var/tmp/posodobljen.ip
zenity --info --text=\"DynDNS IP posodobljen!\nNov IP je: $(cat /var/tmp/posodobljen.ip)\"
rm /var/tmp/posodobljen.ip;

rm -f /var/tmp/star.ip
mv /var/tmp/nov.ip /var/tmp/star.ip

 #!/bin/bash
wget -q http://checkip.dyndns.org/index.html --output-document=/var/tmp/new.ip
if [ \"`cat /var/tmp/new.ip`\" = \"`cat /var/tmp/old.ip`\" ]
then echo \"No new IP\";
else wget -q http://''username'':''password''@members.dyndns.org/nic/update?hostname=''domena.dyndns.net\" --output-document=/var/tmp/upd.ip
zenity --info --text=\"New IP\"
echo \"New IP\";
cat /var/tmp/upd.ip;
rm /var/tmp/upd.ip;
fi
rm -f /var/tmp/old.ip
mv /var/tmp/new.ip /var/tmp/old.ip

In zakaj se sploh gre? DEynDNS je super stran, ki omogoča uporabnikom z dinamičnimi IPji, da si ustvarijo neko poddomeno, ki je potem kot neka preusmeritev na IP. Ker pa se dinamičen IP spreminja, ga je potrebno ob vsaki spremembi posodobit. Tu pa pride v poštev zgornja skripta. Z nekaj dela se da skripto popravit in dodat v startup, tako da se ob zagonu sama požene in spremeni IP.
Še link do DynDNS - klik

Če ma kdo kakršnokoli vprašanje naj vpraša. Pa upam da nisem faliu in postavu v napačen del foruma.

Omeniti velja še da je za izvajanje prve skripte potreben ''zenity''.

Skripta je bolj tako napisana, ampak služi svojemu namenu. Mogoče je bom malo spulirau nekoč :)

Komentarji

  • Pa si poskusil z ddclient? Meni zadeva deluje super na Debianu in Gentooju.

    Moj .conf je pa takšen:
    # Configuration file for ddclient generated by debconf
    #
    # /etc/ddclient.conf

    daemon=900
    pid=/var/run/ddclient.pid
    protocol=dyndns2
    use=web, web=checkip.dyndns.org/, web-skip='IP Address'
    server=members.dyndns.org
    login=mojjuzernejm
    password='mislsidatidamsegeslo'
    galaxias.homeip.net
    Načeloma če dostopaš do neta brez ruterja oz. si direkt povezan na modem pride tebi v poštev tale vrstica:
    #use=if, if=eth0
  • Aja, drugače pa zgleda zanimiva skriptica. ;)

    Good work. :)
  • cime Član
    uredil/-a 24. January, 2007
    Sem probal, samo mi ni blo kej preveč všeč. Pa sem našel to skriptico pa jo malo predelau, pa še bolj user frienldy se mi zdi. No ja, malo bi jo lahko še porihtal. No glavno da deluje, tisti ki bo rabu bo že vprašal kako pa kaj.

    Je pa fletna stvarca, dodana v crontab, in veselo spreminja IP ob vsakem zagonu in na vsakih 12 ur. Strežnik pa je zverina (beri: P1 166mHz, 64mb ram, 4+10giga disk). :D
    Me prav zanima kolko časa bo uptime na podstrešju :)
  • Mogoce najlazje bi blo, ce bi uporabu no-ip.org? Njihov programcek za sporocat IP je pa v repozitorijih, tko da rabes samo racun, namestis programcek in mu das ime racuna in geslo in zadeva je resena.
  • Sej tudi ta skriptica ni nič težkega ;)
    Bom si pa pogledal tudi no-ip.org, hvala za info.
  • Všeč mi je ker je narejena v bashu, zanima pa me če bi se jo dalo (no da se jo) predelat tako da namesto da pošlje zadevo na dyndns, na nek server preko ftp-ja ali ssh-ja. :D

    Drugače si je pa tale skripta tako zelo podobna z ddclientom da smeh :) :)

    LP
Za komentiranje se prijavite ali pa se vpišite.