tuxdns v1.95 auch für Fritz.Box

Homar

Neuer User
Mitglied seit
23 Jul 2005
Beiträge
58
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,

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:
 *   $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

Code:
#####################
#
# 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>

MFG
Homar

P.S.: da es kein daemon ist muss es mit
tuxdns -c /pfad/zum/conf/file/tuxdns.conf &
gestartet werden
 

Anhänge

  • tuxdns-v1.95.tgz
    23.6 KB · Aufrufe: 32
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Ich sehe hier den Zusammenhang zu Freetz nicht, außer, daß Du vermutlich die Toolchain von Freetz verwendet hast.
Außerdem sind in der Datei oben keine Quellen enthalten, dafür aber nochmal die gleichen Dateien in einem Archiv mit dem Namen ip.php.
 
Die Datei ist nicht mit der Freetz Toolchain kompiliert. Die GCC Version passt nicht.
Ich hoffe ja noch, dass wir mit tuxdns oder opendd (wobei das schon wieder openssl benötigt) eine bessere inadyn Alternative finden.

MfG Oliver
 
irgendwie ist da was schief gelaufen mit dem Archiv.

die ip.php kann man auf einen eigenen Server hochladen und diesen anstelle checkip.dyndns.org angeben, wenn man nicht möchte, das die Abfrage über dyndns läuft.

Das mit der Toolchain kompilieren kriege ich noch nicht ganz hin. Bisher habe ich das per Hand Crosskompiliert.

Wäre schön wenn das klappt als addon und mit einer Konfigurationsseite unter freetz.

Ich schaue mir mal an, wie andere Addon-Pakete aufgebaut sind.

@olistudent: Müssen die Sourcen freigegeben werden, damit es Einzug halten kann in freetz?

MFG
Homar
 
Ja, müssen sie. Wenn wir Pakete in den trunk aufnehmen und sie bauen, dann müssne wir auch irgendwo die sourcen haben. Weitere closed source Dinge ausserhalb von AVM nutzen wir nicht.
 
Bofh hat mich wegen der Freigabe meiner Sourcen gefragt, ich habe damals keine Zustimmung gegeben.
 
Keine Sourcen, kein Freetz imho. Simpel meiner bescheidenen Meinung nach. Was irgendjemand als Addon frickelt, obliegt ja nicht unserer Verantwortung.
 
Warum möchtest Du den Quelltext nicht veröffentlichen?

Ich würde mir selbst ein Addon nicht installieren, wenn der Quelltext nicht zur Verfügung steht. Auch wenn ich nicht jeden Code reviewe, sollte man die Möglichkeit dazu haben.
 
[...]
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.
[...]
DynDNS-Fehler gibt es bei opendd auch nicht. Siehe hier: klick. Und der Quellcode von opendd steht zur Verfügung.;)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.