A familiar name for home.
Use home.example.com for a service on your home server or NAS. Keep the same name after a router reconnect changes your public IP.
Reach your home server, studio, or network with a hostname you already own. A small client keeps DNS up to date when your public IP changes, so you can keep using the same familiar name.
Bring your hostnameAdd a CNAME at your existing DNS provider.
Connect your deviceRun the readable Python client or download a native client.
Let it stay in syncThe client detects public IP changes and updates DNS.
Readable source · Python 3.9+ · No extra packages.
Create an account and verify your hostname to download its configuration.
Sign in to manage your hostnames.
Use a unique password and keep it in your password manager. Email-based password recovery is not available yet.
Connect the names you own. Keep their public IPs current.
Use a hostname such as home.example.com. Add its CNAME in your DNS provider, then verify it here. Other records, including your website and email, stay with your provider.
Use DNS-only mode. Proxied or flattened CNAME records cannot be verified. Root domains usually need a subdomain instead.
When your internet provider changes your address, your bookmarks and connection settings can stay familiar.
Use home.example.com for a service on your home server or NAS. Keep the same name after a router reconnect changes your public IP.
Give a reachable lab server or development service a memorable hostname. Let the client handle address changes while you focus on your project.
Point your VPN endpoint hostname at your current public IP. Your VPN software controls the secure connection and may need to reconnect to resolve a changed address.
A domain you control, access to its DNS settings, and a device that can run a client.
For remote access, you also need a reachable public IP and a service configured for access through your router and firewall. Keep that service authenticated and up to date.
Connect a hostname once. Let a small client keep its address current, wherever your connection takes you.
Add the assigned CNAME at your DNS provider and verify it here.
Download a client and its private configuration. It checks your public IP every 60 seconds.
When your IP changes, the client updates the managed DNS record automatically.
At your existing DNS provider
Stays the sameA unique target assigned to you
Stays the sameYour home or office connection
Current addressYour client keeps the last step current. It sends an authenticated HTTPS update to dns.bots.im when it detects a new IP.
Try it: only the public IP needs to change.
Illustration only—no live DNS changes. Real updates also depend on DNS cache expiry. Both IPv4 and IPv6 are supported.
Visitors connect directly to your public IP; their traffic does not pass through DyDNS. Your service must already be reachable through your router and firewall. Dynamic DNS does not bypass CGNAT or provide a tunnel.
DyDNS is free to use. Create an account, connect a hostname you own, and download a client to keep its IP address updated. You supply your own domain and internet connection; any charges for those remain with your providers.
Dynamic DNS keeps a hostname pointing to an IP address that can change. It is useful when you run a service on a home or office connection without a fixed public IP. DyDNS updates the address behind your hostname when its client detects a change.
No. Keep your domain and DNS provider. Add a CNAME for a subdomain such as home.example.com, pointing to the unique target DyDNS assigns to you. Your other DNS records stay in place. You need your own domain; DyDNS does not register one for you.
Dynamic DNS does not bypass CGNAT, open router ports, or create a tunnel. If your provider does not give you a reachable public IPv4 address, ask about a public IP or consider reachable IPv6 if both ends support it. A tunnel or relay is a separate service.
The client checks every 60 seconds by default and sends an update when it detects a change. DNS caches can keep an older address until its TTL expires, so an update is not immediately visible everywhere.
Native clients are available for Windows, macOS, and Linux on Intel/AMD and ARM64. The readable Python client needs Python 3.9 or later and no extra packages. Run a client on a device on the connection you want to keep updated.
No. DyDNS maintains DNS records. Connections to your service go directly to your public IP. You manage access controls, encryption, and firewall rules for that service. Keep your downloaded client configuration private: it contains the token used to update your hostname.
Verification confirms that you control the hostname by checking its assigned CNAME. Use a subdomain and DNS-only mode; proxied or flattened records cannot be verified. Once verified, download a client configuration from your dashboard.
Download any client without signing in. Each client checks your public IP every 60 seconds by default and updates your hostname when it changes.
dydns-client.json beside the client.Keep this configuration private. Generating a replacement revokes the previous client token for that hostname. IPv6 requires an IPv6 connection.
Readable source. Python 3.9+; no extra packages.
Download Python source ↓Place the client and dydns-client.json together. Open a terminal in that folder and run:
python3 dydns-client.py --config dydns-client.json
Add --once for a single check. On Windows, replace python3 with py -3. Schedule that command with your operating system scheduler, or leave it running.
For Macs with an Apple M-series chip.
Download client ↓Place the client and dydns-client.json together. Open a terminal in that folder and run:
chmod +x dydns-client-darwin-arm64 ./dydns-client-darwin-arm64 -config dydns-client.json
Start automatically for your user account:
./dydns-client-darwin-arm64 -config dydns-client.json -install
To remove automatic startup, run the same command with -uninstall instead.
Uses a launch agent and starts when you sign in. Developer ID signed; not yet notarized. macOS may still block the download.
For Macs with an Intel processor.
Download client ↓Place the client and dydns-client.json together. Open a terminal in that folder and run:
chmod +x dydns-client-darwin-amd64 ./dydns-client-darwin-amd64 -config dydns-client.json
Start automatically for your user account:
./dydns-client-darwin-amd64 -config dydns-client.json -install
To remove automatic startup, run the same command with -uninstall instead.
Uses a launch agent and starts when you sign in. Developer ID signed; not yet notarized. macOS may still block the download.
For most Windows PCs with a 64-bit Intel or AMD processor.
Download client ↓Place the client and dydns-client.json together. Open PowerShell in that folder and run:
.\dydns-client-windows-amd64.exe -config dydns-client.json
Start automatically for your user account:
.\dydns-client-windows-amd64.exe -config dydns-client.json -install
To remove automatic startup, run the same command with -uninstall instead.
Runs at sign-in using Task Scheduler. Installation may require an elevated PowerShell window. Unsigned; Windows may show a publisher warning.
For Windows on ARM devices.
Download client ↓Place the client and dydns-client.json together. Open PowerShell in that folder and run:
.\dydns-client-windows-arm64.exe -config dydns-client.json
Start automatically for your user account:
.\dydns-client-windows-arm64.exe -config dydns-client.json -install
To remove automatic startup, run the same command with -uninstall instead.
Runs at sign-in using Task Scheduler. Installation may require an elevated PowerShell window. Unsigned; Windows may show a publisher warning.
For 64-bit Intel / AMD Linux systems.
Download client ↓Place the client and dydns-client.json together. Open a terminal in that folder and run:
chmod +x dydns-client-linux-amd64 ./dydns-client-linux-amd64 -config dydns-client.json
Start automatically for your user account:
./dydns-client-linux-amd64 -config dydns-client.json -install
To remove automatic startup, run the same command with -uninstall instead.
Uses a systemd user service. To run before sign-in, ask your administrator to enable lingering for your account.
For 64-bit ARM Linux systems, including compatible Raspberry Pi installations.
Download client ↓Place the client and dydns-client.json together. Open a terminal in that folder and run:
chmod +x dydns-client-linux-arm64 ./dydns-client-linux-arm64 -config dydns-client.json
Start automatically for your user account:
./dydns-client-linux-arm64 -config dydns-client.json -install
To remove automatic startup, run the same command with -uninstall instead.
Uses a systemd user service. To run before sign-in, ask your administrator to enable lingering for your account.
Use Ctrl+C to stop a client running in your terminal. Download SHA-256 checksums to verify the files you downloaded.