Git Product home page Git Product logo

bindninecore's Introduction

BindNineCore

bind9 web utility (auto config writing, dns management, etc)

bind9 configuration writer

WARNING: this does not keep your .named nor zones db. It will read the zones from the database on the Apply functionality.

It's written in C# (9.0) + .NET 5.0/Blazor.

The functionality is in BindNineCore, abstracted from BindNineCore.Abstraction.

The frontend is written in Blazor Server-Side (BindNineCore.Web), but it merely does anything but consume the API.

There is no authentication. You can build your own or integrate.

MariaDB is being used (please check the ConnectionString in appsettings.json.

This project is being used as a tool on my home environment, and I don't see any issues by using in a production environment.

Recommended Environment

A recommended environment would be inside a container, with a shared volume between bind9's /etc/bind9, then using the mount point on the appsettings.json

Missing content

I think CNAME is not working as expected.

At the moment only Aliases and NS are working. It is not hard to make all record types known by humanity though.

Templating

Please see the templating system (named.template and zone.template) as they are the configuration file template that BindNineCore uses to generate the final configuration file.

Default named template

zone "{{ domain }}" {
	type master;
	file "{{ cfg_save_path }}";
};

Default zone template

;
; Zone file for {{ domain }}
;
; The full zone file
;
$TTL 3D
@       IN      SOA     ns.{{ domain }}. root.{{ domain }}. (
                        200608081       ; serial, todays date + todays serial # 
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        4W              ; expire, seconds
                        1D )            ; minimum, seconds
;
                NS      ns              ; Inet Address of name server
;
ns              A       172.16.253.1
{% for record in dns_records %}
{{ record.subdomain }}   IN   {{ record.record_type }}    {{ record.value }}
{% endfor %}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.