!7 static double refreshEvery = 60; static int smartBotTimeOut = 60*5; sS zone = [[ botcompany.de. IN SOA ai1.lol. info.ai1.lol. ( 20091118 ; Serial 5M ; Refresh 2M ; Retry 5M ; Expiry 5M ) ; Minimum @ IN NS ai1.lol. @ IN NS tinybrain.de. @ IN A 69.10.46.185 * IN A 69.10.46.185 @ MX 10 mail1.domainssaubillig.de. ]]; lib 1008223 // dnsjava lib 1010766 // EagleDNS lib 1004911 // log4j import se.unlogic.eagledns.EagleDNS; static File zonesDir; static EagleDNS eagleDNS; p { tryToAcquirePort5000(); S conf = loadSnippet(#1010767); zonesDir = programFile("zones"); saveZone(); conf = conf.replace( [[zones]], [[]] + f2s(zonesDir) + [[]]); File configFile = saveProgramTextFile("config.xml", conf); //eagleDNS = nuObject("se.unlogic.eagledns.EagleDNS", f2s(configFile)); eagleDNS = new EagleDNS(f2s(configFile)); bot("Eagle DNS."); doEvery_daemon(refreshEvery, f refresh); } answer { if "test" ret "OK"; if "refresh" { refresh(); ret "OK"; } } static void refresh() { saveZone(); eagleDNS.reloadZones(); } sS makeZone { S z = rtrim(zone); S ip = smartBotIP(); if (ip != null) { z += "\nsmartbot-direct \*smartBotTimeOut*/ IN A " + ip; z += "\nsmartbot \*smartBotTimeOut*/ IN A " + ip; } ret z; } static void saveZone { saveTextFile(newFile(zonesDir, "botcompany.de"), makeZone()); }