dnsapi

package module
v0.0.0-...-1c56d84 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 4, 2022 License: MIT Imports: 0 Imported by: 0

README

Project

It's a Golang app that expose HTTP API and Dashboard to manage DNS Records for RFC 2136 compatible DNS Server. Tested with KnotDNS server for personal use.

screen1

screen2

Features

  • Rest API (List/Create/Delete records) (/api endpoint)
  • Swagger API Doc (/swagger endpoint, Doc)
  • Web Dashboard in React (CRUD for A/AAAA/Cname/NS/MX records only) (/ endpoint)
  • Dockerfile to compile the project (docker dir)

TODO List

  • Improve dashboard record type implementation
  • Add fake endpoint to mimic dyndns and other cloud DNS services

Developer

Env parameters
  • DEBUG=true

  • SERVER_PORT=8080

  • SERVER_TIMEOUT_READ=5s

  • SERVER_TIMEOUT_WRITE=10s

  • SERVER_TIMEOUT_IDLE=15s

  • SERVER_LOGIN=admin (Dashboard login)

  • SERVER_PASSWORD=password (Dashboard password)

  • RFC2136_HOST=ns1.dgoujard.network (DNS Server with RFC2136 enabled)

  • RFC2136_PORT=53

  • RFC2136_ZONE=dgoujard.network (zones you can remotly manage, multipe zones with coma separator)

  • RFC2136_TSIG_SECRET=TODO

  • RFC2136_TSIG_SECRET_ALG=hmac-sha256

  • RFC2136_TSIG_KEYNAME=mykeyname.

To generate swagger file
  • swagger generate spec -o public/swagger/swagger.json --scan-models

Documentation

Overview

Package dnsapi is required for pkger to work. See: https://github.com/markbates/pkger/issues/34 and https://github.com/markbates/pkger/issues/44

Directories

Path Synopsis
app
cmd
API for RFC2136 DNS server
API for RFC2136 DNS server
util

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL