DynIP — Dynamic DNS for homelabs and infrastructure
{{ isDark ? 'Light Mode' : 'Dark Mode' }}
{{ toast }}
Dynamic DNS that actually works.
60-second updates. Generous free tier. RFC 2136 TSIG. Bring your own domain. DNSSEC. For homelabs, edge routers, and infrastructure teams.
Sign up free
See how it works
Updates in seconds, not minutes
Most DDNS providers cache for 30 minutes. DynIP propagates in under a minute end-to-end. Your router sends an update, your hostname resolves correctly worldwide within ~60 seconds.
60s TTL · NOTIFY-driven · Multi-region nameservers
Built on real DNS standards
RFC 2136 TSIG means your FortiGate, MikroTik, OPNsense, OpenWRT, or any router that speaks DNS UPDATE works out of the box. No proprietary clients. No vendor lock-in.
RFC 2136 TSIG · REST API · UDP/53 native
IPv6 done right
Modern ISPs increasingly give you native IPv6 alongside CGNATed IPv4. DynIP supports both: update A and AAAA records side-by-side, run IPv6-only zones, or both. Built for the network you have today and the network you'll have tomorrow.
AAAA records · Dual-stack · IPv6-only support · DNSSEC by default
dynip.dev
Set New Password
Password Recovery
Two-Factor Authentication
Access Control
Your account has been deleted. Thank you for using dynip.dev.
{{ auth.message }}
Enter New Password
At least 12 characters.
{{ loading ? 'Processing...' : 'Reset Password' }}
Back to Sign In
Email Address
{{ loading ? 'Processing...' : 'Send Reset Link' }}
Back to Sign In
{{ auth.twoFactorType === 'totp' ? '📱 Open Google Authenticator' : '✉️ Check your email' }}
{{ auth.twoFactorType === 'totp' ? 'Enter the 6-digit code from your app.' : 'We sent a 6-digit code to your inbox.' }}
0" class="bg-amber-50 dark:bg-amber-900/30 border border-amber-200 dark:border-amber-800 text-amber-700 dark:text-amber-300 text-sm p-4 rounded-xl text-center"><br>Account temporarily locked
Too many incorrect attempts. Please try again in {{ lockoutDisplay }}.
0" class="w-full text-center tracking-[0.5em] font-mono text-xl bg-slate-50 dark:bg-slate-900 border border-slate-300 dark:border-slate-700 rounded-xl px-4 py-3 text-slate-800 dark:text-blue-100 outline-none focus:border-blue-500 transition-colors disabled:opacity-50 disabled:cursor-not-allowed">
0" class="w-full bg-blue-600 hover:bg-blue-700 dark:hover:bg-blue-500 text-white font-black uppercase text-sm py-3 rounded-xl transition-all disabled:opacity-50 mt-2"><br>{{ loading ? 'Verifying...' : 'Complete Login' }}
Cancel
Email Address
Password<br>Forgot?
0" class="w-full bg-slate-50 dark:bg-slate-900 border border-slate-300 dark:border-slate-700 rounded-xl px-4 py-3 text-sm text-slate-800 dark:text-blue-100 outline-none focus:border-blue-500 transition-colors disabled:opacity-50 disabled:cursor-not-allowed"><br>At least 12 characters.
0" class="bg-amber-50 dark:bg-amber-900/30 border border-amber-200 dark:border-amber-800 text-amber-700 dark:text-amber-300 text-xs p-3 rounded-xl text-center"><br>Too many incorrect attempts. Please try again in {{ lockoutDisplay }}.
0" class="w-full bg-blue-600 hover:bg-blue-700 dark:hover:bg-blue-500 text-white font-black uppercase text-sm py-3 rounded-xl transition-all disabled:opacity-50 mt-2"><br>{{ loading ? 'Processing...' : (auth.isRegister ? 'Complete Sign Up' : 'Sign In') }}
Missed the email? Click here to resend.
OR
{{ auth.isRegister ? 'Return to Sign In' : 'Create New Account' }}
Configuration Snippets
×
RFC 2136 / TSIG updates available in {{ tsigSecondsRemaining }} seconds
We're propagating this zone to our nameservers. FortiGate and MikroTik (RFC 2136 / TSIG) need to wait — they're disabled below until propagation completes. HTTP API updates (cURL, PowerShell, Python, MikroTik HTTP, etc.) work right now.
Device Type
Docker Compose (Container)<br>Generic cURL (HTTP API)<br>Windows PowerShell (HTTP API)<br>Python Script (HTTP API)
Arduino / ESP32 (C++)<br>Minimal C Script (libcurl)
FortiGate CLI (Native DNS){{ tsigPropagating ? ' (propagating)' : '' }}<br>Palo Alto PAN-OS (GUI)<br>Cisco IOS Router (CLI)<br>Cisco ASA Firewall (CLI)<br>MikroTik RouterOS (HTTP API)<br>MikroTik RouterOS (RFC 2136 / TSIG){{ tsigPropagating ? ' (propagating)' : '' }}
pfSense / OPNsense (GUI)<br>Ubiquiti UniFi (GUI)<br>OpenWrt CLI (ddns-scripts)<br>Teltonika CLI (Native DNS)<br>DD-WRT / Netgear / Linksys (GUI)<br>Synology DSM NAS (GUI)<br>Fritz!Box (GUI)
Target IP Address
Domain<br>{{ snippetData.domain }}
TSIG Key
{{ snippetData.key }}<br>Copy
Configuration Snippet
{{ generatedSnippet }}<br>Copy
{{ subscription.tier }} Plan
×
⚠ {{ subscription.locked_zones_count }} zone(s) locked
Your plan was downgraded. The oldest {{ subscription.max_domains }} zone(s) stay active; the rest are locked and can't receive IP updates. Subscribe again or delete excess zones to unlock.
Status<br>Free tier<br>Active<br>Cancelled<br>Past Due<br>{{ subscription.status || '—' }}
{{ subscription.status === 'cancelled' ? 'Access ends' : 'Renews on' }}
{{...