OwnDynDNS
Self-hosted dynamic DNS php script for FRITZ!Box and netcup DNS API
Install / Use
/learn @fernwerker/OwnDynDNSREADME
ownDynDNS
Self-hosted dynamic DNS php script to update netcup DNS API from Router like AVM FRITZ!Box or UniFi Gateways
Authors
- Felix Kretschmer @fernwerker
- Philipp Tempel @philipptempel
- Branko Wilhelm @b2un0
Usage
Installation
-
Copy all files to your webspace
-
create a copy of
.env.distas.envand configure:username-> The username for your Router to authenticate (so not everyone can update your DNS)password-> password for your RouterapiKey-> API key which is generated in netcup CCPapiPassword-> API password which is generated in netcup CCPcustomerId-> your netcup Customer IDdebug-> true|false enables debug mode and generates output of update.php (normal operation has no output)
-
Create each host record in your netcup CCP (DNS settings) before using the script. The script does not create any missing records.
AVM FRITZ!Box Settings
- Go to "Internet" -> "Freigaben" -> "DynDNS"
- Choose "Benutzerdefiniert"
- Update-URL:
https://<url of your webspace>/update.php?user=<username>&password=<pass>&ipv4=<ipaddr>&ipv6=<ip6addr>&domain=<domain>- only the url needs to be adjusted, the rest is automatically filled by your AVM FRITZ!Box
- http or https is possible if valid SSL certificate (e.g. Let's Encrypt)
- Single Domain:
- Domainname:
<host record that is supposed to be updated>
- Domainname:
- Multiple Domains:
- Domainname:
<first host record that is supposed to be updated>,<second host record that is supposed to be updated>,....
- Domainname:
- Username:
<username as defined in .env file> - Password:
<password as definied in .env file>
UniFi Gateways
- Go to "Settings" -> "Internet" -> "Choose WAN Interface" -> "Dynamic DNS" -> "+ Create New Dynamic DNS"
- Service "Choose ->
dyndns" - Hostname:
<host record that is supposed to be updated> - Username:
<username as defined in .env file> - Password:
<password as definied in .env file> - Server:
dyn.yourdomain.com/update.php/\/nic/update?user=%u&password=%p&ipv4=%i&force=0&mode=both&domain=%h
run as cronjob on a **nix based device
- see examples
References
- DNS API Documentation: https://ccp.netcup.net/run/webservice/servers/endpoint.php
- Source of dnsapi.php: https://ccp.netcup.net/run/webservice/servers/endpoint.php?PHPSOAPCLIENT
License
Published under GNU General Public License v3.0
© Felix Kretschmer, 2021
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
