hokuto

package
v0.0.0-...-a8acacb Latest Latest
Warning

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

Go to latest
Published: Mar 25, 2024 License: GPL-3.0 Imports: 14 Imported by: 0

README

Hokuto

Per-Node DNS server.

Domain format: <peer-name>.<cn-name>.<parent> e.g. desktop.mynet.qrystal.internal

Returns A records per-peers' allowed IPs, and TXT records for other metadata.

This DNS server doesn't forward unknown DNS requests to some server. (This is to keep the program simple.) Therefore, you need another DNS server in front of this one that only forwards requests the end in a specific parent (e.g. .qrystal.internal).

TODO

  • Reverse lookups.
  • multiple parents (e.g. .internal.example.org and `.qrystal.internal)
  • preset CNs for parents (e.g. <peer-name>.internal.example.org (no CN name))

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Main

func Main() error

Types

type ExtraParent

type ExtraParent struct {
	Network string `yaml:"network"`
	Domain  string `yaml:"domain"`
}

ExtraParent configuration.

type Hokuto

type Hokuto struct{}

func (Hokuto) Init

func (_ Hokuto) Init(q *InitQ, _ *bool) (err error)

func (Hokuto) UpdateCC

func (_ Hokuto) UpdateCC(q *UpdateCCQ, _ *bool) error

type InitQ

type InitQ struct {
	Addr         string
	Parent       string
	ExtraParents []ExtraParent
}

type Mio

type Mio struct{}

func (Mio) Ping

func (_ Mio) Ping(q string, r *string) error

type UpdateCCQ

type UpdateCCQ struct {
	Token []byte
	CC    *central.Config
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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