TP-Link Discontinues TPDDNS: Alternative DDNS Solutions for Home Servers

I have been using my home computer as a personal cloud server.

The internal network penetration solution I used was to apply for a dynamic IP with the optical modem in bridge mode. I initially used a direct script from dnspod for the DDNS dynamic domain name resolution service, which required a host to run a scheduled script. Later, I switched to the built-in tpddns service provided by the router, eliminating the need to maintain a separate ddns script, saving me a lot of hassle with updating the ddns scripts myself.

However, it is unfortunate that the built-in TPDDNS DDNS service provided by TP-Link will be discontinued on May 30. Currently, the only option available in consumer routers is Peanut Shell, which is said to have various limitations. I need to find an alternative solution.

TP-Link Discontinues TPDDNS: Alternative DDNS Solutions for Home Servers

Presenting my issue to the GPT software.

I am using DNSPod’s domain service, with a TP-Link router and a laptop that is always on, running Windows 7. Inside, there is a CentOS virtual machine.

How can I appropriately deploy DNSPod’s dynamic domain name service?

Here is a suggestion for a DDNS software that I tried, which is quite user-friendly and easy to configure. To facilitate machine portability, I placed the program in the Linux virtual machine and used the Baota panel to run scheduled tasks.

Below is the answer provided by GPT.

Since you plan to stop using TP-Link’s TPDDNS service after May 30, and you are currently using DNSPod as your domain service provider, here is a suggested plan for deploying DNSPod dynamic domain name resolution (DDNS) on your Windows 7 operating system:

Plan Overview:

You can use an open-source tool like ddns-watchdog on your Windows 7 system, which supports DNSPod’s dynamic domain name resolution functionality. This tool can monitor changes to your public IP and automatically update the domain resolution records on DNSPod.

Implementation Steps:

1. Obtain the DNSPod API Token:

Log in to the DNSPod console, navigate to the “API Key” section, and create a new API Token. Record the generated ID and Token for later use in the configuration.

2. Download and configure ddns-watchdog:

Download:

Visit the ddns-watchdog GitHub page to download the version for Windows.

Configuration:

Unzip the downloaded files into a folder.

Edit the conf/dnspod.json configuration file, filling in your ID, Token, domain, and subdomain information. For example:

{

“id”: “Your Domain ID”,

“token”: “Your Token”,

“domain”: “yourdomain.com”,

“sub_domain”: {

“a”: “www”,

“aaaa”: “ipv6”

}

}

In conf/client.json, ensure that “dnspod”: true is set to enable the DNSPod service.

3. Set ddns-watchdog to run as a background service on Windows:

Using a batch script:

Create a batch file (e.g., start_ddns.bat) in the same folder with the following content:

@echo off

start /b ddns-watchdog-client.exe

Set to run at startup:

Press Win + R, type shell:startup, and open the startup folder.

Place a shortcut to start_ddns.bat in this folder to ensure it runs automatically when the system starts.

4. Verify and monitor:

Run start_ddns.bat to ensure ddns-watchdog-client.exe is running in the background.

You can test if the domain resolution is working properly by accessing yourdomain.com.

Check the logs/ddns-watchdog.log file to monitor IP updates and troubleshoot any potential issues.

Notes:

Ensure your Windows 7 system remains powered on while running ddns-watchdog to guarantee real-time updates of the dynamic domain resolution.

Regularly check the log files to ensure IP updates are functioning correctly.

If you are using IPv6, ensure your network environment and DNSPod are correctly configured to support IPv6 resolution.

By following the above steps, you can successfully deploy DNSPod’s dynamic domain resolution service on your Windows 7 system as a replacement for TP-Link’s TPDDNS service.

Linux solution provided.

Yes, you can also use ddns-watchdog or DNSPod official DDNS script on Linux to achieve dynamic domain resolution updates. Since you have a CentOS virtual machine, you can deploy it directly in Linux to avoid DDNS failure due to Windows 7 shutdown.

Plan 1: Using ddns-watchdog (Recommended)

Suitable for situations requiring long-term stable operation, supports systemd service management.

1. Install necessary tools

sudo yum install -y wget unzip curl

2. Download ddns-watchdog

wget https://github.com/yzy613/ddns-watchdog/releases/latest/download/ddns-watchdog-linux-amd64.zip
unzip ddns-watchdog-linux-amd64.zip -d ddns-watchdog
cd ddns-watchdog

3. Configure DNSPod Information

Edit conf/dnspod.json:

{
  "id": "Your API ID",
  "token": "Your API Token",
  "domain": "yourdomain.com",
  "sub_domain": {
    "a": "www",
    "aaaa": "ipv6"
  }
}

Ensure that the dnspod option in conf/client.json is set to true:

{
  "dnspod": true
}

4. Run ddns-watchdog

chmod +x ddns-watchdog-client
./ddns-watchdog-client &

(& makes it run in the background)

5. Set to run at startup

Method 1: Add to .bashrc

echo "
$(pwd)/ddns-watchdog-client &" >> ~/.bashrc

Method 2: Use systemd

sudo tee /etc/systemd/system/ddns-watchdog.service <<EOF
[Unit]
Description=DNSPod DDNS Watchdog
After=network.target

[Service]
ExecStart=$(pwd)/ddns-watchdog-client
Restart=always
User=root

[Install]
WantedBy=multi-user.target
EOF

Start and set to run at startup:

sudo systemctl daemon-reload
sudo systemctl enable ddns-watchdog
sudo systemctl start ddns-watchdog

Plan 2: Using DNSPod Official DDNS Script

Suitable for lightweight needs, relies on cron for periodic execution.

1. Download and grant execution permissions

wget https://raw.githubusercontent.com/luolongfei/freenom-dns-updater/master/dnspod_ddns.sh
chmod +x dnspod_ddns.sh

2. Edit configuration

Create dnspod_ddns.conf:

nano dnspod_ddns.conf

Fill in:

ID="Your API ID"
Token="Your API Token"
Domain="yourdomain.com"
SubDomain="www"

3. Run the script

./dnspod_ddns.sh

4. Set up a scheduled task (update every 5 minutes)

crontab -e

Add:

*/5 * * * * /path/to/dnspod_ddns.sh > /dev/null 2>&1

Conclusion

If your CentOS virtual machine is always on, I recommend ddns-watchdog because it can automatically detect IP changes and update DNS without manual triggering.

Leave a Comment