Add Dockerfile
Fix example config
Make port configurable
The AVM Fritz!Box routers are able to perform DDNS queries to custom servers. However, the DDNS interface provided by Mail In A Box (MIAB) is incompatible to the one, AVM uses in their products.
This tool takes requests from an AVM Fritz!Box and forwards them to a MIAB instance.
Clone this repository and run go build
or go install
.
Then run the program.
This project uses TOML for configuration.
A config file is expected at ./config.toml
.
You can override the config path by setting CONFIG_PATH=path/to/config.toml
.
Example config:
# Host and port of the HTTP listener
Addr = ":8080"
# All domains, that the tool will accept requests for
KnownDomains = [ "test.example.com" ]
# The credentails that are required to perform a DNS update
[Credentials]
Foo = "Bar"
# Mail In A Box configuration section
[Miab]
# Your MIAB URL
Url = "https://box.example.com"
# A MIAB user with admin privileges
User = "admin@example.com"
# The password for the MIAB user
Pass = "Tr0ub4dor&3"
In the admin interface of your Fritz!Box, create a custom DynDNS config.
Use the following URL (update the host part to point to your installation location): http://1.2.3.4:8080/?ip4=<ipaddr>&ip6=<ip6addr>&domain=<domain>
.
Fill in the domain name, user name and password fields according to your configuration.
You are more than welcome to contribute to this project.
Please send patches to ~kolletzki/patches@lists.sr.ht
.
Thanks!
fritzboxddns2miab translates Fritz!Box DDNS requests to MIAB's DDNS API.
Copyright (C) 2020 Lukas Kolletzki
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.