All Projects → ajclark → Bind Restapi

ajclark / Bind Restapi

A RESTful json api to BIND DNS

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Bind Restapi

Desec Stack
Backbone of the deSEC.io Free Secure DNS Hosting Service
Stars: ✭ 130 (+42.86%)
Mutual labels:  rest-api, dns
Alfonz
Mr. Alfonz is here to help you build your Android app, make the development process easier and avoid boilerplate code.
Stars: ✭ 90 (-1.1%)
Mutual labels:  rest-api
Evolutility Server Node
Model-driven REST or GraphQL backend for CRUD and more, written in Javascript, using Node.js, Express, and PostgreSQL.
Stars: ✭ 84 (-7.69%)
Mutual labels:  rest-api
Elixir Dns
DNS library for Elixir
Stars: ✭ 86 (-5.49%)
Mutual labels:  dns
1hosts
DNS filter-/blocklists | safe. private. clean. browsing!
Stars: ✭ 85 (-6.59%)
Mutual labels:  dns
Dnoise
DNS noise generator that looks at your network activity and blends in. Requires pi-hole.
Stars: ✭ 88 (-3.3%)
Mutual labels:  dns
Project
⭐️ Antares Project Application Skeleton. This is the very first place you should start. It allows you to create a brand new awesome project in easy few steps.
Stars: ✭ 84 (-7.69%)
Mutual labels:  rest-api
Dnscrypt Protocol
DNSCrypt protocol specification
Stars: ✭ 91 (+0%)
Mutual labels:  dns
Goapitutorial
📚 Building and Testing a REST API in GoLang using Gorilla Mux and MySQL
Stars: ✭ 89 (-2.2%)
Mutual labels:  rest-api
Go Iex
A Go library for accessing the IEX Developer API.
Stars: ✭ 87 (-4.4%)
Mutual labels:  rest-api
Sample Dotnet Core Cqrs Api
Sample .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
Stars: ✭ 1,273 (+1298.9%)
Mutual labels:  rest-api
Laravel Api Starter
laravel5.5 + dingo/api + JWT
Stars: ✭ 85 (-6.59%)
Mutual labels:  rest-api
.o
The domain records for the ".o" TLD on @OpenNIC. Claim your domain today!
Stars: ✭ 87 (-4.4%)
Mutual labels:  dns
Mezzanine Api
RESTful web API for Mezzanine CMS
Stars: ✭ 84 (-7.69%)
Mutual labels:  rest-api
Laravel Rest Api
Powerful RestAPI plugin for Laravel
Stars: ✭ 90 (-1.1%)
Mutual labels:  rest-api
Spring Boot Mongodb Angular Todo App
A Sample App built using Spring Boot, Angular and MongoDB
Stars: ✭ 84 (-7.69%)
Mutual labels:  rest-api
Laravel Woocommerce
WooCommerce Rest API for Laravel
Stars: ✭ 86 (-5.49%)
Mutual labels:  rest-api
Dnss
DNS over HTTPS [mirror]
Stars: ✭ 87 (-4.4%)
Mutual labels:  dns
Restbase
Distributed storage with REST API & dispatcher for backend services.
Stars: ✭ 91 (+0%)
Mutual labels:  rest-api
Chi
lightweight, idiomatic and composable router for building Go HTTP services
Stars: ✭ 10,581 (+11527.47%)
Mutual labels:  rest-api

bind-restapi

A quick and simple RESTful API to BIND, written in Ruby / Sinatra. Provides the ability to add/remove entries with an existing BIND DNS architecture.

I wrote this as a solution to enable our internal Cloud to add/remove machines to DNS by integrating with the DNS architecture that we have today.

Instructions

# cd etc/
# named -c named.conf
$ ruby dns.rb

Add a record to DNS:

$ curl -X POST -H 'Content-Type: application/json' -H 'X-Api-Key: secret' -d '{ "hostname": "host12.apple.com", "ip": "1.1.1.12" }' http://localhost:4567/dns

Remove a record from DNS:

$ curl -X DELETE -H 'Content-Type: application/json' -H 'X-Api-Key: secret' -d '{ "hostname": "host12.apple.com", "ip": "1.1.1.12" }' http://localhost:4567/dns

API

The API supports POST and DELETE methods to add and remove entries, respectively. On a successful POST a 201 is returned. On a successful DELETE a 200 is returned. Duplicate records are never created.

The API can reside on a local or remote DNS server.

On a POST request, the API adds both the forward zone and reverse in-addr.arpa zone entry as a convenience.

On a DELETE request, the API removes both the forward zone and reverse in-addr.arpa zone entry as a connivence.

The TTL and other DNS params are hard-coded inside of dns.rb

Security

The API is protected by way of an API-Key using a custom X-Api-Key HTTP header. The API should also be served over a secure connection.

etc

Example named configuration files are included to help get started with integrating dns.rb with BIND.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].