# 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/>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://strangebutohwell.gitbook.io/knowledge/linux/applications/ddclient/installing-latest-ddclient.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
