Skip to content

Instantly share code, notes, and snippets.

@christopher-baek
Last active April 20, 2023 21:21
Show Gist options
  • Star 20 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save christopher-baek/333146d953c87b3667c59c4e6e250454 to your computer and use it in GitHub Desktop.
Save christopher-baek/333146d953c87b3667c59c4e6e250454 to your computer and use it in GitHub Desktop.
Configure ddclient withNamecheap

Configure ddclient with Namecheap

Namecheap Configuration

  1. Click the Manage button next to the domain in the Domain List view
  2. In the Domain tab, scroll down and remove any entries in the Redirect Domain list
  3. In the Advanced DNS tab...
  4. Turn on Dynamic DNS and make a note of the password
  5. Add an A Record for @ pointing to 127.0.0.1

ddclient Configuration

  1. Install (fill in dummy values for the TUI)

    sudo apt-get install ddclient libio-socket-ssl-perl
    
  2. Edit /etc/ddclient.conf to look like the following

    ssl=yes
    use=web, web=dynamicdns.park-your-domain.com/getip
    protocol=namecheap
    server=dynamicdns.park-your-domain.com
    login=YOURDOMAIN.COM
    password='***'
    YOURHOST
    
  3. Test

    sudo ddclient -query
    sudo ddclient -debug -verbose -noquiet
    
  4. Restart

    sudo service ddclient restart
    
@enlacee
Copy link

enlacee commented Mar 8, 2021

nice

@humbertowoody
Copy link

Thank you very much!

Would add that, if you're trying to setup a subdomain, you should use only the subdomain on the bottom part. Example for: hello.nicedomain.org:

ssl=yes
use=web, web=dynamicdns.park-your-domain.com/getip
protocol=namecheap
server=dynamicdns.park-your-domain.com
login=nicedomain.org
password='***'
hello

Thanks again for such a great tutorial! :)

@Metacinnabar
Copy link

Would host just be @?

@christopher-baek
Copy link
Author

I'm not sure if that would work. You should try it and let me know!

@Metacinnabar
Copy link

It worked! Thanks for this! One thing to note is that package downloading this now has a setup page, which you can skip past and then directly modify the config.

@noxware
Copy link

noxware commented Jul 14, 2022

By just following the automatic setup that appears while installing the package, the resultant configurations works.

The difference is that it doesn't include the ssl, web and server parts. Are them actually necessary for namecheap?

@MihaiChirculete
Copy link

Thanks for this config!

For me it didn't work out of the box, it kept giving the below error:
CONNECT: dynamicdns.park-your-domain.com WARNING: cannot connect to dynamicdns.park-your-domain.com:443 socket: Temporary failure in name resolution IO::Socket::IP configuration failed FAILED: updating @: Could not connect to dynamicdns.park-your-domain.com.

However, turns out that uncommenting the ssl=yes part from the config fixes the issue for me at least.

@riordant
Copy link

riordant commented Apr 8, 2023

something important I've noticed for point 5: it's ok to assign to localhost if the IP has not already been set for the DNS, but if you're IP is already pointing to it, you should put in the current server IP there (you might be changing hosts, for example).
Otherwise it assigns localhost to the DNS initially - but it will correctly update to the new IP on the next change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment