Tuxdns v 1.95

Status
Not open for further replies.

elgeneral

Registered
Messages
7,811
Tuxdns v 1.91

Hi people,

tuxdns is a multi-tool for dbox2, dreambox and now for Coolie

1st dyndns-client for dyndns, dtdns, no-ip, freedns, tzo, 2mydns, Selfhost and nerdcamp
2nd has built a mini-cron
3rd can manage more than just an account
4th may, at need, or scripts after an update, or execute commands that linux offers
5th and a screen edition has the status message after update

small mini tool but for me quite useful ...

To some people it maybe from the dbox2 - dreambox times

who needs it

Gracias a Nero
 

tani1

Staff member
Super Moderator
Messages
17,767
Tuxdns v 1.91-full

Nachtrag: ppc-kompilat hinzugefügt
 

elgeneral

Registered
Messages
7,811
Tuxdns v 1.92

Code:
[B]tuxdns v 1.92
 *   $Log: tuxdns.c,v $
 *   Revision 1.92  2010/04/29 18:52:18 Homar
 *   dyndns-fehler vermeiden :-)
 *	 Bugfix: TV-Ausgabe funktioniert wieder
 *	 Debugging eingebaut, mit debug = 1 in [global]
 *	 Sourcecode aufgeräumt
 *
 *   $Log: tuxdns.c,v $
 *   Revision 1.91  2010/04/24 21:33:33 Nero
 *   bei dyndns-fehler erneut update versuchen[/B]
 

elgeneral

Registered
Messages
7,811
tuxdns v1.95

Hi Leute,

kleines update ist angesagt:

Ich habe tuxdns nun auch für die Fritzbox kompiliert.

tuxdns kann dyndns[default], dtdns, no-ip, freedns, tzo, 2mydns, selfhost und nerdcamp dynamische DNS-Accounts verwalten.

Wenn man eigene Services außerhalb der oben genannten benutzt, ist auch das beibringen des eigenen Dienstes möglich, sofern der API mit den obigen kompatibel ist.

tuxdns greift einmalig, beim starten nur lesend auf den Flash-Inhalt zu.
Schreibzugriffe finden nicht statt.

tuxdns kann vor einem update oder nach einem update Kommandos, shell-skripte oder interne Befehle abarbeiten.

Dazu kennt es die Befehle cmd_run oder cmd_kill, die der variablen var_pre_update oder var_post_update in der conf-Datei übergeben werden.
cmd_run kann einzelne Linux-Befehle oder shell-Skripte ausführen
cmd_kill kann laufende Prozesse auf der Box killen

Außerdem hat es einen mini-cron-job-prozessor eingebaut, die alle x-sekunden intervalle etwas bestimmtes ausführen kann.

Nach einem Update kann die Update-Meldung oder der aktuelle Status über eine dreambox, dbox2 oder coolstream auf dem Fernseher ausgeben werden.

Das Programm ist sehr klein gehalten, ist aber durch die Ablaufsteuerung des Programms mithilfe der eingebauten Variablen für meine Vorstellung sehr mächtig.

Der Phantasie ist dabei keinerlei Grenzen gesetzt.

tuxdns ist Ursprünglich für die DBox2-Plattform entwickelt worden; später kamen Unterstützung diverse Dreamboxen und aktuell Coolstream und neuerdings auch für die Fritz.Boxen.

Dyndns-Fehler die auf der Fritzbox dadurch verursacht werden, weil der DNS-Server bei dyndns.org temporär ausfällt oder träge reagiert gibt es bei tuxdns nicht.

Seit der Version 0.34 habe ich bisher keinen abuse bei dyndns verursachen können, das nur nebenbei erwähnt.

Code:
[B]*   $Log: tuxdns.c,v $
 *   Revision 1.95  2010/05/07 15:14:37 Homar
 *   Kommandozeilenoption -c Pfad-mit-conf-file hinzugefügt
 *	 Default-Option abgeändert verbose = 0
 *
 *   $Log: tuxdns.c,v $
 *   Revision 1.94  2010/05/06 23:10:01 Homar
 *	 Bugfix Fritz.Box ermittelt nun IP korrekt
 *	 Sourcecode aufgeräumt
 *
 *   $Log: tuxdns.c,v $
 *   Revision 1.93  2010/05/05 22:07:54 Homar
 *   Falls /var/tuxbox/config/tuxdns.conf nicht vorhanden, wird in ./ gesucht
 *	 erste Version für Fritz.Box kompiliert
 *	 Bugfix multiple-account und dyndns-dns-fehler behoben
 *	 Sourcecode aufgeräumt
 *
 *   $Log: tuxdns.c,v $
 *   Revision 1.92  2010/04/29 18:52:18 Homar
 *   dyndns-fehler vermeiden :-)
 *	 Bugfix: TV-Ausgabe funktioniert wieder
 *	 Debugging eingebaut, mit debug = 1 in [global]
 *	 Sourcecode aufgeräumt
 *
 *   $Log: tuxdns.c,v $
 *   Revision 1.91  2010/04/24 21:33:33 Nero
 *   bei dyndns-fehler erneut update versuchen
 *
 *   $Log: tuxdns.c,v $
 *   Revision 1.9  2006/06/28 19:25:33  Nero
 *   mini-cronjob integriert
 *
 *   Revision 1.8  2006/05/20 21:23:19  Nero
 *   hn.org durch freedns ersetzt, nerdcamp hinzugefügt - diverse kleinere Aenderungen
 *
 *   Revision 1.7  2006/05/20 13:54:21  Nero
 *   Bugfix: Segfault, wenn leerer record
 *   Bugfix: starten über commandline geht wieder
 *   Bugfix: endlosschleife beseitigt, wenn record nicht abgeschlossen ist
 *
 *   Revision 1.6  2006/05/15 20:45:04  Nero
 *   2MYDNS und Selfhost accounts hinzugefügt
 *
 *   Revision 1.5  2006/05/12 15:33:24  Nero
 *   -Segfault gefixt bei verbose=1, diverse kleine Anpassungen, NO-IP.com DDNS-Server werden nun unterstützt und Vorbereitung fuer Userdefined DDNS-Server
 *
 *   Revision 1.4  2005/11/22 22:17:13  Nero
 *   Anzeige auf TV geht wieder unter Neutrino
 *
 *   Revision 1.3  2005/11/06 13:59:57  bofh
 *   tuxdns
 *
 *   Revision 1.1  2005/11/05 20:36:55  Nero
 *   tuxdns 0.34 initial check in[/B]


Code:
[B]#####################
#
# tuxdns.conf for tuxdns version $Revision: 1.95 $
#
# internal commands:
# cmd_kill name-of-threadname
# cmd_run name-of-batch / name-of-programm / shell-commands
#
#####################
#
# record variables:
#
# service = other / dyndns[default] / dtdns / no-ip / freedns / tzo / 2mydns / selfhost / nerdcamp
# user = username
# pass = password
# host = hostname
# mx = mailexchanger
# var_pre_update = anything-to-do-before-update-your-account
# var_post_update = anything-to-do-after-update-your-account
#
#####################
#
# global variables:
#
# daemon = 1 (daemon-mode)
# debug = 0 (debug-mode)
# pause = time-between-IP-check-in-seconds
# verbose = 1 (TV-Output-after-update-account - always the first record, but you can define your own update command)
# cronjob = / (do nothing else) or your own batch / shellscript / command to execute every "pause"-seconds e.g. /var/script/anything.sh
# ping_host = checkip.dyndns.org or your own host with special ip.php included in this suite
# ping_port = 80 or any other port, where to get access to your web-services
# pinp_ip_php = / (for checkip.dyndns.org) or your own page, compatible with ip.php included in this suite
#
#####################
#
# read-only vaiables:
# online_ip contents-allways-your-actual-online-ip
#
#####################

<global>
daemon = 1
debug = 0
pause = 15
verbose = 0
cronjob = /
ping_host = checkip.dyndns.org
ping_port = 80
ping_ip_php = /
</global>

<record>
service = dyndns
user = hans
pass = wurst
host = bla.dyndns.org
mx = mail.bla.dyndns.org
var_pre_update = cmd_kill bla
</record>

#<record>
service = hn
user = HansWurst
pass = TopSecret
# hn.org only allow one host per user
var_post_update = cmd_run ("wget http://127.0.0.1/control/message?nmsg=%s%%20Dein%%20Onlinestatus%%20hat%%20sich%%20ge%%C3%%A4ndert%%C3%%0ADie%%20neue%%20IP%%20lautet:%%20%s", user, online_ip)+("&& sleep 2")
</record>[/B]



MFG
Homar

Gracias a Nero
 
Status
Not open for further replies.
Top