A Go client for the sentinel heartbeat protocol. It allows hosts to register their presence with sentinel DNS servers using a challenge-response protocol over DNS.
go get github.com/KarpelesLab/hbclientpackage main
import (
"crypto/ed25519"
"crypto/rand"
"log"
"github.com/KarpelesLab/hbclient"
)
func main() {
_, priv, _ := ed25519.GenerateKey(rand.Reader)
client, err := hbclient.NewClient("test.g-dns.net", priv)
if err != nil {
log.Fatal(err)
}
client.Server = "127.0.0.1:53"
if err := client.Heartbeat(); err != nil {
log.Fatal(err)
}
}MIT - see LICENSE