Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Opensource Bind9 GUI
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Opensource Bind9 GUI

DroidzoneDroidzone Member
edited July 2013 in General

This is a pet project I've been working on this week.

Having tried my hand at maintaining a set of nameservers on lowend boxes (64-128 MB boxes), by editing zonefiles by hand, I decided to simplify matters for myself, by creating a GUI, which can create, edit, add DNS records into zonefiles, start and stop bind9, import and export zone files, and synchronize the changes across all SSH servers.

I've also added some error checking logic for detecting errors while creating and editing records, and offering suggestions according to RFC 1912, RFC 1035.

It works on two layers. The GUI is written wholly in php, and does not use databases, hence freeing up some RAM (at the cost of disk IO?). Beneath the layer, communicating with bind is a perl script which has specific functions, and run with sudo rights. It can start, stop bind9, and copy final zone files generated by the GUI, to the bind files, run checkzone and report messages.

At the moment, I'm thinking of sharing it as an open source project, possibly Apache licensed.


Screenshots:
http://sdumps.net/bH
http://sdumps.net/by
http://sdumps.net/bj
http://sdumps.net/bg
http://sdumps.net/bf
http://sdumps.net/bQ
http://sdumps.net/bA

Does this kind of work have any commercial potential?

Thoughts on possible features good to have, and any useful input would be appreciated.

«1

Comments

  • BlazeMuisBlazeMuis Member
    edited July 2013

    I have been looking for something like this for ages, but never found a nice / easy to use one
    Would love to have this if you release it

  • It looks nice, but these days is there any reason to use BIND over powerDNS for those "in the know"?

  • RelipRelip Member

    Nice!

    It would be great if there is an option that uses DBMS for zone data.

  • dannixdannix Member

    It looks very promising. Supporting nsd3 instead of/additionally to bind would be really nice. I prefer nsd3 on lowendboxes, because it really uses much much less memory than bind. Since nsd3 can read bind zone format, the support I'm talking about is just reload/restart of nsd3 if the zone file has been changed.

  • AsimAsim Member

    @joelgm im interested in test-driving and contributing to the PHP code

  • netomxnetomx Moderator, Veteran

    I was thinking of something like this but for maradns

  • DroidzoneDroidzone Member
    edited July 2013

    @joodle said:
    I have been looking for something like this for ages, but never found a nice / easy to use one
    Would love to have this if you release it

    I'll drop a line with the Git URL once I finalize everything

    @dannix said:
    It looks very promising. Supporting nsd3 instead of/additionally to bind would be really nice. I prefer nsd3 on lowendboxes, because it really uses much much less memory than bind. Since nsd3 can read bind zone format, the support I'm talking about is just reload/restart of nsd3 if the zone file has been changed.

    Hmm.. I've not used nsd3 before, and will have to try it out/read about it. If it's just a reload needed, it seems to be too easy to adapt the scripts, as only the perl script needs the necessary changes to detect nsd3.

    @Asim said:
    joelgm im interested in test-driving and contributing to the PHP code

    Sure. I'm only a beginner in PHP, and wrote this to primarily as an exercise in learning the language too. :) Once I make the Git public, I'll let you know.

    @Relip said:
    Nice!
    It would be great if there is an option that uses DBMS for zone data.

    Are relational databases really required? So far, the scripts share data between functions via POST requests, and it works fine. I have intentionally held off using databases because of the trade off in memory while running an additional service.

  • very nice job. good wish.

  • InfiniteTechInfiniteTech Member
    edited July 2013

    Awesome!

    ^_ I rarely use that word. Good job.

    Any idea or plans on supporting PowerDNS? We use a custom panel to work with PowerDNS on MySQL, but it is getting more expensive and difficult to maintain it.

    If you do go commercial, please keep it open source. It helps build a lot of confidence with your customers when you are still starting up.

    BIND is too old. Get rid of it.

  • dannixdannix Member

    I don't know how much work is required for nsd3 without knowing the code, but I will look into it as soon as you release it

  • DroidzoneDroidzone Member
    edited July 2013

    >

    If you do go commercial, please keep it open source. It helps build a lot of confidence with your customers when you are still starting up.

    I'm all for keeping it open source. However to discourage blatant ripoffs, I'd need an open source license before I release. Can anyone suggest licensing mechanisms for open source projects, which can prevent blatant copying and rebranding, and at the same time enable collaboration, and commits which can be approved by the original author?

  • MuZoMuZo Member

    Maybe Creative Commons license: http://creativecommons.org/choose/

  • @MuZo said:
    Maybe Creative Commons license: http://creativecommons.org/choose/

    Unfortunately, I read this:

    Creative Commons license are based on copyright. So they apply to all works that are protected by copyright law. The kinds of works that are protected by copyright law are books, websites, blogs, photographs, films, videos, songs and other audio & visual recordings, for example. Software programs are also protected by copyright but, as explained in the FAQ, we strongly recommend that you do not apply a Creative Commons license to software.

  • MuZoMuZo Member
    edited July 2013

    @joelgm sorry, I know creative commons from http://www.jamendo.com (cc music portal) , tought that maybe would even work with software.

    Maybe this table can help you http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses
    http://en.wikipedia.org/wiki/BSD_license

  • chaufferchauffer Member
    edited July 2013

    @joelgm GPL?

  • EvoEvo Member

    @joelgm, looks nice

  • prae5prae5 Member
    edited July 2013

    @chauffer said:
    joelgm GPL?

    Not based on his requirement, rebranding and re-distributing GPL software is completely allowable under the terms of the license - providing you keep original credits in place.

    In reality, pretty much all opensource license allow this. If this is something you specifically don't want then an opensource license isn't for you. The flipside being opensource licensed projects are more likely to attract contribution where closed license projects wont.

  • @prae5 said:

    Thanks for the insight.

  • Or use AGPL where all derative works need to be published as well under the same license.

    Thanked by 2Droidzone Janevski
  • Do you use the dns protocol itself (axfer, ixfer) to synchronize changes across hosts?

  • @flrichar said:
    Do you use the dns protocol itself (axfer, ixfer) to synchronize changes across hosts?

    So far, it's been rsync.

  • dannixdannix Member

    Hello @joelgm, how is the work going in this? Did you decide already about publishing the code? Or setting up some demo page? I would be interested in trying it out.

  • DroidzoneDroidzone Member
    edited July 2013

    @dannix said:
    Hello joelgm, how is the work going in this? Did you decide already about publishing the code? Or setting up some demo page? I would be interested in trying it out.

    Yes, work is proceeding fine indeed. The framework is already done. Right now, I'm doing the javascript based validation of input to make sure that user input is correct according to standards. Since it may be very buggy without proper validation, I'm holding off releasing a demo. Another problem is that the testing is being done on a 64 MB RAM LEB, which would probably not be able to cope up with public use.

    I might provide a closed beta group, if people are interested. Or if a provider wants to provide a VPS for the demo, I might be able to provide a public beta (with an ad in the GUI).

    I haven't coded an installation script yet.

  • twaintwain Member

    Fantastic! Looks great, and very well executed. And BIND9 is just fine!

  • @joelgm Looks nice! :)

  • It does, doesn't it? :)

    I could use a hand in coding a multi user mysql based secure authentication page, for this project. If anyone can contribute, do let me know. I'm thinking bcrypt.

  • pylodepylode Member

    Great work @joelgm, this makes me think.. would you be interested in working with me on creating a new hosting control panel?

  • DroidzoneDroidzone Member
    edited July 2013

    @smooch1502 said:
    would you be interested in working with me on creating a new hosting control panel?

    Ah. I'm not a professional programmer. :)

  • pylodepylode Member

    @joelgm said:
    Ah. I'm not a professional programmer. :)

    I'm a programmer ;) but i suck at any html/css web design :\

  • @smooch1502 said:
    I'm a programmer ;) but i suck at any html/css web design :\

    Then you should check out bootstrap. I use it extensively.

Sign In or Register to comment.