dynip.dev
Authoritative Control Plane
{{ showHelp ? 'Hide' : 'Show' }}
1. Create a Zone: Type your device name, select your preferred base domain, and click Create Zone.
2. Get the Config: Click the Snippets button next to your new domain.
3. Deploy: Select your device type and copy the generated configuration block directly into your router's CLI.
Note: IPv4 and IPv6 (Dual-Stack) are detected and updated automatically based on the incoming connection.
{{ showSync ? 'Hide' : 'Show' }}
Instantly update your selected zones to match this device's current external IP address.
📡
Detected Network IP
{{ mobileIp || 'Detecting...' }}
No zones available. Create one above.
{{ showApi ? 'Hide' : 'Show' }}
Programmatically register new zones with your current session token. Send a POST request to the /register endpoint.
curl -X POST "{{ backendUrl }}/register?subdomain=my-new-router&base_domain={{ baseDomains[0] }}" \
-H "Authorization: Bearer {{ token }}"
Session tokens expire on logout — use an API token below for long-running automation.
API tokens are a Pro feature
Long-lived tokens for automation: monitoring scripts, CI pipelines, MSP integrations. Tokens don't expire when you log out.
Long-lived tokens for automation. Each token can be scoped read-only or full access, and revoked at any time.
Loading tokens…
No API tokens yet. Create one to get started.
| Name | Token | Scope | Last used | Expires | Action |
|---|---|---|---|---|---|
| {{ t.name }} | {{ t.token_prefix }} | {{ t.scope === 'read' ? 'Read-only' : 'Full' }} | {{ t.last_used_at ? formatPlanDate(t.last_used_at) : 'Never' }} | {{ t.expires_at ? formatPlanDate(t.expires_at) : 'Never' }} |
Tokens are shown once at creation — store them in a password manager or secrets vault.
{{ apiTokenModal.error }}
This token won't be shown again. Store it somewhere secure (1Password, Bitwarden, your CI's secrets manager).
{{ apiTokenModal.created.token }}