If you want to contact me or know more, welcome to my website!
skibish / ddns Goto Github PK
View Code? Open in Web Editor NEWPersonal DDNS client with Digital Ocean Networking DNS as backend.
License: MIT License
Personal DDNS client with Digital Ocean Networking DNS as backend.
License: MIT License
If you want to contact me or know more, welcome to my website!
The link in the readme to " How To Set Up a Host Name with DigitalOcean" @ DigitalOcean is not working. Are they still supporting this apps features?
Is it possible to have multiple domains listed in the config file. If you could you provide an example?
It would be awesome to update multiple domains with a single DDNS client.
It would be a nice plus feature to the IPv6 support. (I could update both IPv4 and IPv6 for different or the same domain.) :)
Is there any way to specify TTL field?
And different A records for different domains?
It will be a good feature to have email notifications when something bad is happening or when IP is changed.
Because for logging is used Logrus, hook can be added to it for emails.
And in configuration new field notifications
, should be added with type email
Hi there,
The V2 API supporting TTL value now
https://developers.digitalocean.com/documentation/v2/#domain-records
Would like to know if I want to have TTL, the do.go file should be modified right?
Thanks,
I'm under the impression that DDNS adds duplicate entries rather than finding a match and update the existing records.
domains:
carroarmato0.be:
- type: "A"
name: "router"
- type: "A"
name: "carroarmato0.be."
- type: "A"
name: "*.carroarmato0.be."
Typically the "carroarmato0.be." and "*.carroarmato0.be." are duplicated once after DDNS restarts.
Hi there, I'm trying to use your docker implementation in unraid and I'm receiving an error when I try to start it.
time="2021-06-27T03:39:09Z" level=fatal msg="yaml: line 33: did not find expected key"
It is definitely seeing the .yaml file. I've tried putting my public ip in the data: field to no avail.
I'm trying to add a subdomain home.domain.com
I have created an api key and put it in the ddns.yml file.
Any help would be appreciated, thanks!
I've been having trouble getting environment variables to work for passing the api token to ddns. I've tried both within an arm64 docker container (built using the repo's dockerfile + arm64 release binary, v4.0.3) and also with direct execution of the ddns binary on my arm64 machine. In both cases, the environment variable "DDNS_TOKEN" is not recognized, and ddns simply reports that a token is required. I also tried with different environment variables as specified in the README, but none of those seem to work either.
Perhaps this is related to this stack overflow issue? https://stackoverflow.com/questions/67608629/viper-automatic-environment-does-not-read-from-environment
Hello,
I just installed the binary and have setup the .ddns.yml but for some reason I get
time="2019-07-15T13:51:50+03:00" level=fatal msg="digitalocean: Request Failed"
and don't know what it means.
The config file looks like this but with valid token and domain
Do you have any idea what it could be? Do I have to do some port forwarding?
Thank you!
From ifconfig.co:
As of 2018-07-25 it's no longer possible to force protocol using the v4 and v6 subdomains. IPv4 or IPv6 still can be forced by passing the appropiate flag to your client, e.g curl -4 or curl -6.
This caused the following problem when I was trying to set an A record, even setting forceIPv6
to false
and forceIPv4
:
$ ddns
time="2019-09-27T11:48:45+01:00" level=info msg="Current IP is "xxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx"
time="2019-09-27T11:48:46+01:00" level=fatal msg="digitalocean: Request Failed"
It's probably necessary to remove/rewrite this provider. In any case it would be very useful in such situation to be able to select a list of providers to use, but this can be eventually discussed in another issue...
This tool could run as a daemon and because of this it would be nice to have a config live reload feature with SIGHUP signal.
( I'm still using this tool. ;) )
I use a Raspberry Pi for most of the networking stuff on my homelab, but unfortunately there's no arm64 version of this docker container available on docker hub. I saw the binaries are available in arm64, so I think this is just a matter of updating the dockerfile/build process to include other architectures.
Is there anyway to rate limit the email notifications? We just had a brief power outage, the entire time my server was queuing messages telling me:
request failed: Get "https://ipv4.icanhazip.com/": dial tcp: lookup [ipv4.icanhazip.com](http://ipv4.icanhazip.com/) on [127.0.0.53:53](http://127.0.0.53:53/): server misbehaving
failed to do a request: Get "https://api.ipify.org/?format=json": dial tcp: lookup [api.ipify.org](http://api.ipify.org/) on [127.0.0.53:53](http://127.0.0.53:53/): server misbehaving
failed to do a request: Get "https://ipv4.wtfismyip.com/json": dial tcp: lookup [ipv4.wtfismyip.com](http://ipv4.wtfismyip.com/) on [127.0.0.53:53](http://127.0.0.53:53/): server misbehaving
While getting one of these messages when there's an issue is good. Flooding my inbox with dozens, not so helpful.
This is at line 14:
data: "My IP is {{.IP}}"
Not sure what to do here. Tried commenting because it says it's optional but same result.
I used your ddns binary on Windows Subsystem for Linux, however I got an error about
-bash: /usr/local/bin/ddns: cannot execute binary file: Exec format error
May you fix it? Best wishes to you !~
ifconfig.co by default returns an IPv6 address for me.
It works if I try to update my AAAA record, but it would be nice to have a way to force the IPv4 or IPv6 address request (via config for example).
(ifconfig.co support this via a subdomain, I think the other providers have a similar way too.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.