All Projects → owlwalks → Rind

owlwalks / Rind

Licence: bsd-3-clause
DNS server with REST interface for records management built on Golang

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Labels

Projects that are alternatives of or similar to Rind

Gandi Live Dns
DynDNS Updater for Gandi LiveDNS REST API
Stars: ✭ 116 (-12.12%)
Mutual labels:  rest, dns
Rrda
REST API allowing to perform DNS queries over HTTP
Stars: ✭ 176 (+33.33%)
Mutual labels:  rest, dns
Resource Router Middleware
🚴 Express REST resources as middleware mountable anywhere
Stars: ✭ 124 (-6.06%)
Mutual labels:  rest
Desec Stack
Backbone of the deSEC.io Free Secure DNS Hosting Service
Stars: ✭ 130 (-1.52%)
Mutual labels:  dns
Prcdns
准确、CDN友好
Stars: ✭ 126 (-4.55%)
Mutual labels:  dns
Esp wifimanager
This is an ESP32 / ESP8266 WiFi Connection Manager with fallback web configuration portal. Use this library for configuring ESP32, ESP8266 modules' WiFi, etc. Credentials at runtime. You can also specify static DNS servers, personalized HostName, fixed or random AP WiFi channel. With examples supporting ArduinoJson 6.0.0+ as well as 5.13.5- .
Stars: ✭ 125 (-5.3%)
Mutual labels:  dns
Ymhttp
基于 libcurl 的 IO 多路复用 HTTP 框架,适用于 iOS 平台,支持 HTTP/HTTPS/HTTP2/DNS(SNI)
Stars: ✭ 127 (-3.79%)
Mutual labels:  dns
Rest
REST API generator with Node.js, Express and Mongoose
Stars: ✭ 1,663 (+1159.85%)
Mutual labels:  rest
Swagger Inflector
Stars: ✭ 131 (-0.76%)
Mutual labels:  rest
Php Dns
A DNS abstraction for PHP
Stars: ✭ 126 (-4.55%)
Mutual labels:  dns
Rest Easy
A simple REST client for Firefox
Stars: ✭ 129 (-2.27%)
Mutual labels:  rest
Watsonwebserver
Watson is the fastest, easiest way to build scalable RESTful web servers and services in C#.
Stars: ✭ 125 (-5.3%)
Mutual labels:  rest
Bash Utils
A collection of hand-crafted bash scripts for various common tasks.
Stars: ✭ 124 (-6.06%)
Mutual labels:  dns
Python Whois
Python module/library for retrieving WHOIS information of domains 💻❤
Stars: ✭ 128 (-3.03%)
Mutual labels:  dns
Zoomhub
Share and view high-resolution images effortlessly
Stars: ✭ 122 (-7.58%)
Mutual labels:  rest
Aliyun Ddns
阿里云动态域名工具,支持docker和ipv6。
Stars: ✭ 131 (-0.76%)
Mutual labels:  dns
Api
🚀 GraphQL & REST APIs to explore all the rockets, launches & other SpaceX's data
Stars: ✭ 123 (-6.82%)
Mutual labels:  rest
Anterofit
Strongly typed, asynchronous REST client framework for Rust.
Stars: ✭ 125 (-5.3%)
Mutual labels:  rest
Ldns
LDNS is a DNS library that facilitates DNS tool programming
Stars: ✭ 127 (-3.79%)
Mutual labels:  dns
Redmine Net Api
.Net API for Redmine bug/task management systems.
Stars: ✭ 131 (-0.76%)
Mutual labels:  rest

UNMAINTAINED, PLEASE SEE OTHER ALTERNATIVES BELOW

Rind

GoDoc Build Status

Rind is a DNS server with REST interface for records management, best use is for your local service discovery, DNS forwarding and caching.

Examples

See complete example here

Start DNS server:

import github.com/owlwalks/rind

rind.Start("rw-dirpath", []net.UDPAddr{{IP: net.IP{1, 1, 1, 1}, Port: 53}})

Manage records

// Add a SRV record
curl -X POST \
  http://localhost/dns \
  -H 'Content-Type: application/json' \
  -d '{
	"Host": "_sip._tcp.example.com.",
	"TTL": 300,
	"Type": "SRV",
	"SRV": {
		"Priority": 0,
		"Weight": 5,
		"Port": 5060,
		"Target": "sipserver.example.com."
	}
}'

// Update an A record from 124.108.115.87 to 127.0.0.1
curl -X PUT \
  http://localhost/dns \
  -H 'Content-Type: application/json' \
  -d '{
	"Host": "example.com.",
	"TTL": 600,
	"Type": "A",
	"OldData": "124.108.115.87",
	"Data": "127.0.0.1"
}'

// Delete a record
curl -X DELETE \
  http://localhost/dns \
  -H 'Content-Type: application/json' \
  -d '{
	"Host": "example.com.",
	"Type": "A"
}'

Features:

  • [x] DNS server
    • [x] DNS forwarding
    • [x] DNS caching
    • [x] A record
    • [x] NS record
    • [x] CNAME record
    • [x] SOA record
    • [x] PTR record
    • [x] MX record
    • [x] AAAA record
    • [x] SRV record
  • [x] REST server
    • [x] Create records
    • [x] Read records
    • [x] Update records
    • [x] Delete records

Todo:

  • [ ] Primary, secondary model
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].