All Projects → muka → ddns

muka / ddns

Licence: MIT License
Simple restful dynamic DNS service

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to ddns

Surging
Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS,Grpc, Thrift,Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, and integrates it. Hash, random, polling, Fair Polling as a load balancing algorithm, built-in service gove…
Stars: ✭ 3,088 (+12252%)
Mutual labels:  grpc, dns-server
Trust Dns
A Rust based DNS client, server, and resolver
Stars: ✭ 2,155 (+8520%)
Mutual labels:  dynamic-dns, dns-server
exdgraph
gRPC based Elixir Dgraph client. Under development.
Stars: ✭ 112 (+348%)
Mutual labels:  grpc
mnemosyne
Session management service with RPC API based on protobuf.
Stars: ✭ 15 (-40%)
Mutual labels:  grpc
go-grpc-pg
Simple service exposing a gRPC interface, with a connection to PostgreSQL on the backend
Stars: ✭ 33 (+32%)
Mutual labels:  grpc
go-zipkin-demo
Laravel + go-micro + grpc + Zipkin
Stars: ✭ 65 (+160%)
Mutual labels:  grpc
pulseha
PulseHA is a active-passive high availability cluster daemon that uses GRPC and is written in GO.
Stars: ✭ 15 (-40%)
Mutual labels:  grpc
vscode-csharp-snippets
Extension of C# Snippets for Visual Studio Code
Stars: ✭ 22 (-12%)
Mutual labels:  grpc
aip-go
Go SDK for implementing resource-oriented gRPC APIs.
Stars: ✭ 47 (+88%)
Mutual labels:  grpc
thinkgo
Public libraries and components for glang development.
Stars: ✭ 14 (-44%)
Mutual labels:  grpc
tron-rpc
波场钱包节点对接
Stars: ✭ 58 (+132%)
Mutual labels:  grpc
grpc-spring-boot-starter
No description or website provided.
Stars: ✭ 16 (-36%)
Mutual labels:  grpc
jmeter-grpc-plugin
A JMeter plugin supports load test gRPC
Stars: ✭ 36 (+44%)
Mutual labels:  grpc
httpbook
Quickly and easily send REST, Soap, GraphQL, GRPC, MQTT and WebSocket requests directly within Visual Studio Code
Stars: ✭ 18 (-28%)
Mutual labels:  grpc
Secure-Adblocking-DNS
Secure (DNS-over-TLS) Adblocking (Pi-hole) Recursive (unbound) Server System setup
Stars: ✭ 19 (-24%)
Mutual labels:  dns-server
dalal-street-server
Server for Pragyan's Dalal Street
Stars: ✭ 65 (+160%)
Mutual labels:  grpc
waypoint-plugin-examples
An example repository that demonstrates how to create and run an external Waypoint plugin
Stars: ✭ 16 (-36%)
Mutual labels:  grpc
Book-Finder
Book Finder application is a client-server application (gRPC) for educational purposes.
Stars: ✭ 20 (-20%)
Mutual labels:  grpc
liftbridge-api
Protobuf definitions for the Liftbridge gRPC API. https://github.com/liftbridge-io/liftbridge
Stars: ✭ 15 (-40%)
Mutual labels:  grpc
grpcoin
API-driven cryptocurrency paper trading game. Write a bot and play!
Stars: ✭ 53 (+112%)
Mutual labels:  grpc

Dynamic DNS Service

Simple dynamic DNS service for LAN use

Supported record

  • A / AAAA + (PTR)
  • CNAME
  • MX

Running with docker

docker run -v `pwd`/data:/data raptorbox/ddns-amd64 --debug

Setup

Run make setup to install go dependencies and a local protoc setup

Running

make build
./build/ddns --debug

or go run cli/cli --debug

Rest API

Offers a gRPC (:50551) and HTTP/JSON (:5551) endpoint. See also generated ./api/api.swagger.json for usage reference.

Create a record

curl -X POST http://localhost:5551/v1/record \
  -H 'content-type: application/json' \
    -d '{
	"ip": "127.0.0.1",
	"domain": "foobar.local.lan",
	"type": "A",
	"expires": 1498454965
}'

Remove Record

curl -X DELETE http://localhost:5551/v1/record/foobar.local.lan/A

Test Record

nslookup foobar.local.lan localhost -port=10053

nsupdate support

Run go run main.go --tsig some_key:c29tZV9rZXk=

Using nsupdate

Update with nsupdate nsupdate.txt

Test records

nslookup test1.local.lan localhost -port=10053

Credits

Inspired by this post of Mateusz Kaczanowski

License

MIT License

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].