# Installing Latest (ddclient)

## Check package versions

{% embed url="<https://repology.org/project/ddclient/versions>" %}

## Ubuntu 20.04 - Update 3.8.x to 3.9.1

### 1. Install ddclient from apt + dependencies

```bash
sudo apt install libio-socket-ssl-perl \
    libio-socket-inet6-perl \
    libjson-pp-perl \
    libdata-validate-ip-perl \
    ddclient
```

Install with the below options

* Dynamic DNS service provider: select **other**
* Dynamic DNS server: **leave blank**
* Dynamic DNS update protocol: select **dyndns2**
* Username for dynamic DNS service: **leave blank**
* Password for dynamic DNS service: **leave blank**
* Re-enter password to verify: **leave blank**
* Network interface used for dynamic DNS service: **leave blank**
* DynDNS fully qualified domain names: **leave blank**

Now let’s rerun the configuration and answer the additional questions that were not asked on the first run! You can just provide the same answers, but the additional questions are what we need to pay attention to.

```
sudo dpkg-reconfigure ddclient
```

* Run ddclient on PPP connect?: select **No** (the default is “*Yes*”).
* Run ddclient as a daemon: select **Yes** (the default is “*No*”).
* Interval between ddclient runs: leave as **300** (*if you want a 5 minute interval*).

### 2. Pull 3.9.1 release from SourceForge, && unpack tar

```bash
wget https://sourceforge.net/projects/ddclient/files/ddclient/ddclient-3.9.1/ddclient-3.9.1.tar.gz \
    && tar -xvf ddclient-* \
    && cd ddclient-*/ && ls -alh
```

### 3. Copy new ddclient to /usr/sbin, overwriting old version

```
sudo cp -f ddclient /usr/sbin/ddclient
```

### 4. Update .conf file location

{% hint style="info" %}
**/etc/ddclient.conf** moved to **/etc/ddclient/ddclient.conf** with version 3.9.0
{% endhint %}

```
sudo mkdir /etc/ddclient \
    && mv /etc/ddclient.conf /etc/ddclient/
```

## Reference

{% embed url="<https://jacobjangles.com/free-ddns-using-ddclient-and-cloudflare/>" %}
