rtr7 / router7

router7 is a small home internet router completely written in Go. It is implemented as a gokrazy appliance.
https://router7.org
Apache License 2.0
2.69k stars 110 forks source link

native dyndns support #46

Closed stapelberg closed 4 years ago

stapelberg commented 4 years ago

The https://github.com/libdns libraries¹ provide a uniform interface for updating DNS records across providers.

We could use these to implement dyndns: take the public IPv4 address of uplink0 and set it as an A record in the configured provider(s).

Personally, I use cloudflare for DNS, and have a little program which does these updates.

① Not entirely sure how ready they are. They come with a disclaimer.

stapelberg commented 4 years ago

Just switched from my custom dyndns updater to the built-in dyndns, and it seems to work well!

Calling this done. Follow-up improvements can be tracked in a separate issue.

If you’re curious: @mdlayher and I built this feature on our twitch streams. Find the recording at:

https://youtu.be/2UDLZiL8im4?t=6288 (@mdlayher’s stream, https://www.twitch.tv/mdlayher) https://youtu.be/JW8Cg6JDXSc?t=6290 (@stapelberg’s stream, https://www.twitch.tv/stapelberg)