A Dart library for accessing FRITZ!Box routers via the
TR-064 protocol (SOAP over HTTP
with content-level digest authentication).
Disclaimer — This is not an official AVM product.
FRITZ!Box, FRITZ!, MyFRITZ! and AVM are trademarks of
AVM GmbH. All other trademarks are the property of
their respective owners.
- Device discovery via TR-064 device description XML
- SOAP envelope building with XML-safe argument escaping
- TR-064 digest authentication (InitChallenge / ClientAuth flow)
- Second-factor authentication support (button press, DTMF)
- Typed service wrappers with Dart enums and data classes
import 'package:fritz_tr064/fritz_tr064.dart';
void main() async {
final client = Tr64Client(
host: 'fritz.box',
userId: 'admin',
password: 'secret',
);
await client.init();
final info = client.deviceInfo()!;
final device = await info.getInfo();
print('Model: ${device.modelName}, firmware ${device.softwareVersion}');
}
The table below lists all TR-064 services published on the
AVM interface page.
Checked entries are implemented in this library.
| Service |
Status |
| WANIPConnection |
|
| WANPPPConnection |
|
| WANFiber |
|
| WANCommonInterfaceConfig |
|
| WANEthernetLinkConfig |
|
| WANDSLInterfaceConfig |
|
| WANDSLLinkConfig |
|
| X_AVM-DE_WANMobileConnection |
|
| X_AVM-DE_Speedtest |
|
| X_AVM-DE_RemoteAccess |
✅ |
| X_AVM-DE_MyFritz |
✅ |
| X_AVM-DE_HostFilter |
|
| Layer3Forwarding |
|
| Service |
Status |
| X_AVM-DE_OnTel |
✅ |
| X_AVM-DE_TAM |
✅ |
| X_VoIP |
✅ |
| Service |
Status |
| LanDeviceHosts |
|
| WLANConfiguration |
|
| LANHostConfigManagement |
|
| LANEthernetInterfaceConfig |
|
| X_AVM-DE_Dect |
|
| X_AVM-DE_Media |
|
| X_AVM-DE_Homeauto |
✅ |
| X_AVM-DE_Homeplug |
✅ |
| Service |
Status |
| X_AVM-DE_Storage |
|
| X_AVM-DE_UPnP |
|
| X_AVM-DE_WebDAV |
|
| X_AVM-DE_Filelinks |
|
| Service |
Status |
| DeviceInfo |
✅ |
| DeviceConfig |
|
| LANConfigSecurity |
|
| X_AVM-DE_AppSetup |
✅ |
| ManagementService |
|
| X_AVM-DE_USPController |
|
| X_AVM-DE_Auth |
✅ |
| Time |
|
| UserInterface |
|