Code Monkey home page Code Monkey logo

go-transip-dyndns's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

go-transip-dyndns's Issues

How to install

Trying to install the tool, did the following steps, but am getting command not found error.

wget https://github.com/jlentink/go-transip-dyndns/releases/download/v1.0.3/go-transip-dyndns_Linux_x86_64.tar.gz
sudo tar xzvf go-transip-dyndns_Linux_x86_64.tar.gz
go-transip-dyndns validate

Now I have no idea how to proceed. Did I make a mistake or could you maybe point me to the standard procedure of installing these kind of binaries?

Unable to create config file

When the config does not exist, and you want to create a config with the command init, it throws an FATAL:

FATAL - Error parsing config file. (While parsing config: (1, 1): parsing error: keys cannot contain ๏ฟฝ character)

Example command in the readme are incorrect / produce errors

When I run

docker-compose run --rm --entrypoint /usr/bin/go-transip-dyndns go-transip-dyndns -v verify

I get the error Error: unknown command "verify" for "go-transip-dyndns".

Create does work as expected.

Also, to start the daemon, the command should be (using docker-compose v3.8):

docker-compose up -d go-transip-dyndns

But you now have it written in the readme as:

docker-compose up go-transip-dyndns -d

IPv6 address is the same as IPv4 address

image

I have IPv6 enabled, On test-ipv6.com I get 10/10. When I curl an IPv6 only domain using the machine that runs the docker container I get a response just fine.

Somehow the function to retrieve the IPv6 returns an IPv4 address. The logging around that function still mentions IPv4 in it's hard coded message too :)

I tried looking at the code but I am not familiar with go. I'll try some more.

Different dns records

Got it running for my domains in a Synology docker. Works great.

But I also have a DNS spf txt record like: "v=spf1 ip4:IP_ADDRESS ~all". Which I also would like to update to the new address if possible. Is that something that is build in in this tool? \

IP6 Address not added to the TXT record

Hi,
for spf I use a txt record. In this record both the IP4 and the IP6 address should be defined.
That apparently is not that easy: I get a TXT file with the IP4 twice in there.
The rule: ...ip4:{{.IPv4}} ip6:{{.IPv6}}....
The result: ...ip4://ip4 address// ip6://ip4 address//

Am I doing something wrong here?

Updating DNS entry with mismatched TTL fails

Update: the original title of the issue reported issues with updating the @ entery in DNS, but I changed it after finding out the actual issue at hand. See this message for the TL;DR

I have setup transip-dyndns (latest version) and a configuration file with these records to update:

[[record]]
hostname = "makaay.nl"
entry = "here-is"
ttl = 60
type = "A"

[[record]]
hostname = "makaay.nl"
entry = "@"
ttl = 60
type = "A"

When the target records already contain the correct IP addresses as content, things are peachy:

DEBUG - Log level set to debug...
DEBUG - Found IP address. (145.144.245.6)
DEBUG - DNS [A] record has not been changed.
2024-02-22 15:01:08 - ๐Ÿ‘  Record still up to date: here-is.makaay.nl [A]
2024-02-22 15:01:08 - ๐Ÿ‘  Record still up to date: @.makaay.nl [A]

However, when my IP address changes, updating the @ entry fails.
Here is what happens if I update the @ record and then run the program (last line with added line break for readability):

DEBUG - Log level set to debug...
DEBUG - Found IP address. (145.144.245.6)
DEBUG - DNS [A] record has not been changed.
2024-02-22 15:06:13 - ๐Ÿ‘  Record still up to date: here-is.makaay.nl [A]
2024-02-22 15:06:13 - โ—  Could not update the record to update @.makaay.nl [A] -
                          Could not find match for DNS entry '@ 60 A'

Bash file for use with Synology Task Scheduler

This looks like an awesome little tool. I got it to work (mostly) on my Synology NAS.

For some reason the cronjob won't work. So I thought if I could add a bash file to the task scheduler (adding the link to the binary directly gives the error that it is not an executable file) it might work. However I can't figure out how to make the bash file. Do you have any pointers?

Thanks in advance!

Could not update TXT record

Hi,

(English as not-dutch speakers may also read this)

First a big thank you for this script, it is REALLY useful!

I ran into the below:

โ— Could not update the record to update @.<domain.nl> [TXT] - template: content:1:35: executing "content" at <.IP4>: can't evaluate field IP4 in type transipClient.recordContent

my config:

[[record]]
hostname = "<domain.nl>"
entry = "@"
ttl = 60
type = "TXT"
content = "v=spf1 a:mx a:mail.<domain.nl> ip4:{{.IP4}} ip6:{{.IP6}} ~all"

Am I doing something wrong here, or is this a parsing issue in the code?

thanks,

Hendrik-Jan

Compile version for MIPS64

I would like to run this on my Unifi USG, which has a MIPS64 architecture:
admin@USG:~$ uname -srm
Linux 3.10.107-UBNT mips64

Could you also build a MIPS64 release?

Could not update TXT record

I currently have 2 TXT records with "@" as name for the domain.
I only need to update one of them but I am guessing that because I have 2, the update will not work.
The error message is:

โ— Could not update the record to update @..nl [TXT] - Could not find match for DNS entry '@ 1 TXT'

Is there any way around this? Both of the entries are for the full domain. one of the 2 is this "google domain verification".

thanks.

Support for multiple domains

Hi first I want to thank you for this awesome tool.

Second I like the idea of using this tool to automatically update the A record to the correct IP. But I also like to see support for multiple domains. I have 3 domains but when I add them double I can't run it.

The only workaround is to create a directory and run multiple programs alongside.

Would be great to see support for that.

Init en update niet werkende voor @ record

Zojuist go install gedaan en go-transip-dyndns valt te draaien. Echter liep ik tegen meerdere zaken aan:

  1. In de setup staat dat men go-transip-dyndns init moet draaien om een configuratie bestand te maken. Dit bestand wordt nooit gemaakt. In plaats daarvan geeft het een error:
FATAL - Config File "go-transip-dyndns" Not Found in "[/etc /etc/go-transip-dyndns.d /home/ubuntu]"

Als ik dan de file handmatig aanmaak en init nog een keer draai krijg ik de error โ— Config file already exists. exiting... Remove the old one to write a fresh one.

  1. Het updaten van @ wil niet werken. Validate geeft een goede uitkomst. Ik zal beiden even hier neerzetten.

Output van update (met fake IP natuurlijk, want die gooi ik maar niet op Github)

DEBUG - Log level set to debug...
DEBUG - Found IP address. (799.788.777.766)
โ—  Could not update the record to update @.somedomain.nl [A] - Error setting Dns Entries

Output van validate

DEBUG - Log level set to debug...
 - Verify access to API.
๐Ÿ‘  Connection successful.
 - Verify IP fetch
DEBUG - Found IP address. (799.788.777.766)
๐Ÿ‘  IPv4 fetch successful - 799.788.777.766.
๐Ÿ‘  IPv6 disabled.
 - Verify access to domain(s)
๐Ÿ‘  Found domain: somedomain.nl
    Renewal date: 2023-01-24 00:00:00 +0100 CET
DEBUG - Domain: {Tags:[] AuthCode:blablabla CancellationDate:0001-01-01 00:00:00 +0000 UTC CancellationStatus: IsDNSOnly:false IsTransferLocked:false IsWhitelabel:false Name:somedomain.nl RegistrationDate:2022-01-24 00:00:00 +0100 CET RenewalDate:2023-01-24 00:00:00 +0100 CET} - Verify target domain record(s)
DEBUG - Config record: {Hostname:somedomain.nl Entry:@ Content: TTL:60 Type:A}
DEBUG - Record: {Name:@ Expire:60 Type:A Content:37.97.254.27}
๐Ÿ‘  Found record: @.somedomain.nl (A)
DEBUG - Record found details: {Hostname:somedomain.nl Entry:@ Content: TTL:60 Type:A}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.