DomDNS 0.31

DomDNS is a Web DNS management service to create records in DNS servers, in multiples zones, with view support. Supports REST for all actions. It allow the zones to be managed or just seen by users. The interface is in English or in French. The zones or the records can be enable/disable on time basis.

Tags dns php management
License BSDL
State testing

Recent Releases

0.3124 Apr 2020 11:48 minor release: FEATURES ADDED * Add DNSSec Support (Disabled by default on existing zones, can be set to automatic if needed). The administrator must create the keys and activate them with : rndc loadkeys DOMAIN.TLD IN VIEWNAME * Record : check if the double quotes are even, and if the parenthesis are balanced. Otherwise, Bind could not reload the zone CORRECTED BUGS: * Bind : Zone export zone start by SOA and the zone @ records, even if the SOA was added later. Otherwise, Bind cry about missing TTL * The Debian package for SSH in PHP has changed its name to "php-ssh2" * Remove multiple records : do not update DNS each entry, but at the end * Delete Zone : if there is an alert, don't let the wait image and restore the standard message to enable a second try * When the zone is disabled, do not try to reload it after removing a record, or there is an alert sent Need Database Update ! Do a backup ! For SQLite : PRAGMA foreign_keys=off; BEGIN TRANSACTION; CREATE TABLE IF NOT EXISTS new_table( id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, zone VARCHAR(255) NOT NULL, viewname VARCHAR(255) DEFAULT 'default', viewclients VARCHAR(255), dnssec INTEGER, comment VARCHAR(1024), opendate DATETIME NOT NULL, closedate DATETIME, UNIQUE (zone,viewname)); INSERT INTO new_table(id,zone,viewname,viewclients,comment,opendate, closedate) SELECT id,zone,viewname,viewclients,comment,opendate,closedate FROM dns_zones; UPDATE new_table SET dnssec='0'; DROP TABLE dns_zones; ALTER TABLE new_table RENAME TO dns_zones; COMMIT; PRAGMA foreign_keys=on; For MySQL : BEGIN TRANSACTION; ALTER TABLE dns_zones ADD COLUMN dnssec INTEGER AFTER viewclients; UPDATE dns_zones SET dnssec='0'; COMMIT;
0.3021 Apr 2020 08:49 minor release: FEATURES ADDED * Add CAA Record support ( * Add SSHFP Record support ( CORRECTED BUGS: * SSH is now done by the SSH2 library integrated in PHP (allow IPv6 support) * BUG Bind import with long DKIM key
0.2901 Mar 2019 20:52 minor release: * Add long target entry : database update needed if MySQL table dns_records 255- 2048 : target VARCHAR(2048) NOT NULL, * Allow underscore in source record (Needed for DKIM). Should only be allowed in SRV and TXT types * Bug can not reload the zone at : available in two views * BUG : Don't allow the same zone to be defined twice with the same clients (with different viewname)
0.2803 Nov 2017 08:12 minor release: * Update Debian Package to PHP7 * Update the Domframework requirements in index.php
0.2706 Sep 2016 12:05 minor release: * Display the DataTables sort arrows instead of Bootstrap ones * BUG : Error in calculation in matrix page * CLI : Allow the CLI to update all the zones in servers * Force the record ID in edition to be compliant with domframework 0.30 * Authentication error : the error class is now viewerror
0.2609 Jun 2016 03:15 minor release: * Rename error to viewerror to be compatible with PHP7 * Add the multiple add range functionality * Delete multiple record : missing space in confirmation modal between number and selections * If the zone is disabled, do not allow to click on "Activate the zone" when adding records. Do not allow the automatic "push and active" to activate the zone. There is an error raised by Bind : not found: * Display the flag "disabled" on the top of record page if needed * Create a matrix view of used IP (too found easily a block of IP addresses). Only in reverse zones (Thanks Stéphanie for the idea) * Update to DataTables 1.10.12 * Add the multiple selection of records by mouse with shift/control * Delete confirmation : do not remove the window until all the records are removed
0.2514 Apr 2016 09:14 minor release: * Datatables : when resizing screen from small to big, the Datatables is not resized and stay small * Publish the soft on Freshcode * BUG Reverse record creation IPv6 : check the number of elements : don't create if there is missing part of the IP (which can be a valid IP if the part is a 0) * BUG Do not have warning if the view name is not provided to zone list for a zone * Add a button to create the reverse of a record if it doesn't exists (with a select box of RW enabled reverse zones and submit) There is a fill (when clicking on Add, do not display the filled values, and clicking on Go, should)
0.2408 Mar 2016 17:00 minor feature: * Need Domframework 0.24 * Allow one server to be on views and another to be without view (the command will be rndc reload zone in view / rndc reload zone) (need modification of domframework config.php) * SSH connection : allow another port than 22 (need modification of domframework config.php) * Sort zones in bind export * Delete last record : error warned by the server 'Pas de données fournies pour créer le fichier de zone' * exportAll : in case of error with bind, invalid SSH port by example, manage the error on the modal instead of alert. * BUG : Disable zone : invalid if all the dates are in the future and the close date is before the open date (should be enable until the close date is crossed, then reopened)
0.2307 Mar 2016 17:00 minor release: * Add the cron configuration to web site * Add the delete wait gif when deleting a records (with automatic, the time can be long) * BUG : Manual mode push but nevertheless reload the zone * BUG : joker (*) forbidden in import zone and in source of record * ReloadAllZones button : Add 2 more steps in percent calculation : the creation of zones file and reload * exportAll : refactory all the JS code * exportAll : display the errors in the window instead of an alert box * BUG : Reload all the zones if the server is not in view support
0.2023 Feb 2016 17:00 minor release: * Need Domframework 0.23 ! * JSON decode the error messages * A bad request method POST provided instead of PUT for zoneAutoActivate * zoneAutoActivate.js : the Ajax update of the information is not needed * Check if there is " datas" in code, check if there is " informations" * If there is no zone in the database, have a beautiful error message instead of a invalid HTML page * If there is no record in zone, have a beautiful error message * Import bind: The source is always a @ * Import bind: better support of end of lines * Add transaction in database when doing a importBind with rollback in case of error * When there is an error in importBind, display the wrong line * When the error page is displayed, add the breadcrumb to go to the main page * Create a progress bar when exporting all the zones to DNS servers * importBind : better parsing (except if a field is missing with the error line) * Allow the importBind to be an uploaded file * Records : remove a record should not refresh all the page (just removing the Datatable line) * records : change the confirm message with the number of rows to delete * Module authorization : add the "use route" to index.php * Display all the groups of the current user when editing the user page * Help keys to add/remove/update an entry (like del to remove an entry) * Add the focus on the forms (on the first element if there is no error, on the field with an error if there is one) done in domframework 0.23 * Do a Help page (with shortcuts)
0.1813 May 2015 17:00 minor release: * Update locales * Take a look to unit tests : they are failed ! * BUG : The sorting of destination column if it contains IPv6 address is not working (direct zones) * Add a placeholder in fields to help the users to fill the information * The sorting of first column (source) if IPv6 is not working (reverse zones) * record : don't save the TTL value if it not defined * record : Allow the ttl to be empty (use the zone ttl by default)
0.1613 May 2015 14:50 minor release: * If a user don't have the RW rights on /, the button to edit the records is not displayed * Import a bind file into the records from the Web interface * Layout : translate the fixed words/sentences in layout.html * records : after import, do an automatic reload if the user have defined the preferency * Allow to remove multiple records in one operation, but not edit them * authentication : if the user is already authenticated and the URL back is provided, add a link to the defined URL corrected in Domframework * servers : ratelimit the reload of BIND to 10 for one minute * record : Limit the TTL value to the allowed range 0 to 2147483647 * Put the timezone in the configuration * config : add the first meta information to prepare a configuration interface * routing : allow Apache to have mod_rewrite activated or not * Display the zone records in bind format (export) * CLI : correct the cli to not generate errors when using it
0.1503 Apr 2015 17:00 minor release: * Automatic Updates are now again functionnal * BUG : CSRF Ticket refused sometimes : favicon problem * Add an official favicon, and icon (from libreoffice)
0.1327 Jan 2015 17:00 minor release: * JS/CSS : add timestamp to force the browser cache to be updating when the file is changed * Add a log for each modification with user name * Add logs for authentication * the userprefs have to be saved by user instead of nobody * Allow deletion with token to remove the use of REST support for HTML pages * authentication : ratelimit by IP the authentication process * configuration : if missing entry in an array of the configuration, use the default value instead of don't defining the entry (corrected in domframework)
0.1227 Jan 2015 09:39 minor release: **** YOU NEED TO RUN './cli/cli.php install createDB' TO INSTALL THE RIGHTS **** TABLES **** AND THEN './cli/cli.php install updateDB' TO INSTALL THE OBJECTS **** DOMFRAMEWORK Version 0.11 minimum * Add the right managements (user done, group done, object done, group rights done, object rights done, using in all the functions : done) * Allow REST authentication. The login and password must be sent in the HTTP header. Use this only in HTTPS ! The password is sent non-encrypted ! * Check the authorization for all the controllers (zones : OK, records : OK, server : OK) * Add a new zone in the objects of a default group for the user. Push in the configuration to be easier * Add right management to authorization module * Don't display the Modules/Authorizations link if the user is not in the administrators list * Layout : display a menu to login when we are the anonymous user * Display all the members of a group when editing the group page * Cache the authentication result when the user is authenticated for 3 minutes * Permit the push all the zones when the zone nmae is '.' * http://localhost/ProgSVN/domdns/authorization/group/8/user - remove idgroup * delete a read-only zone : JS alert with just "error" message instead of the error coming from the PHP in the JSON * Refuse to create a new record with zoneid,source,class,rr,target identical to another * Rewrite the index page to use custom errors page and a custom renderer (permit to remove the XXXrest.php and XXXhtml.php pages) * The underscore is forbidden in source for A,AAAA,NS,MX records and in target in PTR records * BUG : if the zone "." is used, it can't be modified because of URL rewriting in the browser. The "." is converted in "dot" * Allow DNS entries to be imported if zone is a "dot" * Allow Zones to not have a SOA. In this case, the exports don't update the SOA * Check if the view name can contains special chars (forbi
0.1101 Aug 2014 17:00 minor release: *** Upgrade Domframework to version 0.7 minimum *** * Allow to re-push all the displayed zones in automatic and then do the reload * The sorting of first column (source) in reverse zones is not correct * When renaming zone or viewname, correct all the associated userpref * Limit the zone name to lowercase chars * Add internationalisation (dataTables and in the other parts of the soft) DomFramework version 0.7 minimum Selection by Browser default language/Cookie (and auth page when it will be available)
0.1001 Aug 2014 07:16 minor release: ATTENTION : Prefix support in database : you need to add the line : "tableprefix" = "", in your configuration (in database section) ATTENTION : Database update done. Run "./cli/cli.php install createDB" after installing new version. Actual data are not modified *** Upgrade Domframework to version 0.6 minimum *** * Add support to prefix in SQL tables : update configuration file ! * Add SPF RR support (Thanks to Stanislav Filavtev suggestion) * Modify Bind import to be allow TTL in lines * Big rewrite of bind Import to be more maintainable * Start the unit tests of DomDNS * Add the automatic push/reload of a zone after modification of records * Fix the width of the Automatic/Manual button * Add support to double-click on record to edit it
0.919 Jul 2014 17:00 minor release: * add SRV record support * add sudo functionnal support * after create/edit a record in HTML, return to the zone/view list * Remember the layout of DataTables in cookie * WebSite : Add CLI/REST page to describe the fonctionnalities * Display the default pointer on the table of zones * Display the list of views available with baseurl zone (breadcrumb records) * Add a double-click on zones to edit records
0.627 Jun 2014 17:57 minor release: * BUG : Packaging error : bad model file applied
0.413 Jun 2014 17:00 minor release: * Allow username to be used by sudo to move the zones or reload DNS server * Debian package : add /etc/sudoers.d/domdns with chmod 0440 * Debian package : add the domdns user to the system * Allow to create/modify/delete zone * Don't allow multiple SOA in insert record * Ask the confirmation before deleting an entry with a bootstrap modal * Create the database in CLI if the configuration is done (by adding a controller "install") * Add foreign keys in database to remove records associated to a zone * Debian package : add jquery.min.js because the official Debian package don't work (number of records don't displayed on the DataTable) * Add default pointer to zone list * Must use the 0.2 version of domframework
0.303 Jun 2014 17:00 minor release: * Create Debian package