RS.Fritz.Manager.API 2.3.0

.NET 7.0
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package RS.Fritz.Manager.API --version 2.3.0
NuGet\Install-Package RS.Fritz.Manager.API -Version 2.3.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="RS.Fritz.Manager.API" Version="2.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RS.Fritz.Manager.API --version 2.3.0
#r "nuget: RS.Fritz.Manager.API, 2.3.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install RS.Fritz.Manager.API as a Cake Addin
#addin nuget:?package=RS.Fritz.Manager.API&version=2.3.0

// Install RS.Fritz.Manager.API as a Cake Tool
#tool nuget:?package=RS.Fritz.Manager.API&version=2.3.0

RS.Fritz.Manager

Allows FritzBox device detection, monitoring, configuring and packet capturing.

Available as a standalone Windows application (UI) and as a NuGet package (API).

For a list of implemented services check the Service implementation status

RS.Fritz.Manager.UI

A Windows .NET WPF application for x64 and ARM64.

Untitled

Untitled1

Untitled3

Untitled4

RS.Fritz.Manager.API

A NuGet package to manage FritzBox devices using pure WCF calls.

Usage Examples

using System.Net;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using RS.Fritz.Manager.API;

// Register the Fritz services in the dependency container using AddFritzApi()
using IHost host = Host.CreateDefaultBuilder(args)
    .ConfigureServices((_, services) => services.AddFritzApi())
    .Build();

using IServiceScope serviceScope = host.Services.CreateScope();

// Search for routers and take the first one
IDeviceSearchService deviceSearchService = serviceScope.ServiceProvider.GetRequiredService<IDeviceSearchService>();
InternetGatewayDevice device = (await deviceSearchService.GetDevicesAsync()).First();

// Show the device model from UPnP data
Console.WriteLine($"Device model: {device.UPnPDescription.Device.ModelDescription}");

// Initialize the device for TR-064, retrieves the security port and the users
await device.InitializeAsync();

// Provide the password for the last logged on user
string lastUsedUserName = device.Users.Single(q => q.LastUser).Name;
Console.WriteLine($"Enter password for {lastUsedUserName}:");
device.NetworkCredential = new NetworkCredential(lastUsedUserName, Console.ReadLine());

// TR-064 example; show the device uptime from the TR-064 DeviceInfo service
DeviceInfoGetInfoResponse deviceInfo = await device.DeviceInfoGetInfoAsync();
Console.WriteLine($"Device uptime: {TimeSpan.FromSeconds(deviceInfo.Uptime)}");

// Special services

// Retrieving the device users manually
IUsersService usersService = serviceScope.ServiceProvider.GetRequiredService<IUsersService>();
IEnumerable<User> users = await usersService.GetUsersAsync(device);
users.ToList().ForEach(q => Console.WriteLine($"User: {q.Name}"));

// Retrieving a list of device hosts in the network
IDeviceHostsService deviceHostsService = serviceScope.ServiceProvider.GetRequiredService<IDeviceHostsService>();
DeviceHostInfo deviceHostInfo = await deviceHostsService.GetDeviceHostsAsync(device);
deviceHostInfo.DeviceHosts.ToList().ForEach(q => Console.WriteLine($"Device host: {q.HostName}"));

// Retrieving a list of mesh hosts in the network
IDeviceMeshService deviceMeshService = serviceScope.ServiceProvider.GetRequiredService<IDeviceMeshService>();
DeviceMeshInfo deviceMeshInfo = await deviceMeshService.GetDeviceMeshAsync(device);
deviceMeshInfo.DeviceMesh.Nodes.ToList().ForEach(q => Console.WriteLine($"Mesh host: {q.DeviceName}"));

// Retrieving a list of WLAN devices in the network
IWlanDeviceService wlanDeviceService = serviceScope.ServiceProvider.GetRequiredService<IWlanDeviceService>();
WlanDeviceInfo wlanDeviceInfo = await wlanDeviceService.GetWlanDevicesAsync(device);
wlanDeviceInfo.WlanDeviceList.Items.ToList().ForEach(q => Console.WriteLine($"WLAN device: {q.AssociatedDeviceIpAddress}"));

// Retrieve a new session for use in the WebUI
IWebUiService webUiService = serviceScope.ServiceProvider.GetRequiredService<IWebUiService>();
WebUiSessionInfo webUiSessionInfo = await webUiService.LogonAsync(device);
Console.WriteLine($"Session: {webUiSessionInfo.Sid}");

// Capture live network traffic from router to file
ICaptureControlService captureControlService = serviceScope.ServiceProvider.GetRequiredService<ICaptureControlService>();
IEnumerable<CaptureInterfaceGroup>? interfaceGroups = await captureControlService.GetInterfacesAsync(device);
CaptureInterface captureInterface = interfaceGroups.First().CaptureInterfaces.First();
var fileInfo = new FileInfo(FormattableString.Invariant($"c:\\temp\\{captureInterface.Name}_{DateTime.Now.ToString("s").Replace(":", string.Empty)}.eth"));

Task.Run(() => StopCaptureAsync(device, captureInterface, TimeSpan.FromSeconds(10), captureControlService));

await captureControlService.StartCaptureAsync(device, fileInfo, captureInterface);
Console.WriteLine($"Network trace written to file: {fileInfo}");

await host.RunAsync();

static async Task StopCaptureAsync(InternetGatewayDevice device, CaptureInterface captureInterface, TimeSpan timeSpan, ICaptureControlService captureControlService)
{
    await Task.Delay(timeSpan);
    await captureControlService.StopCaptureAsync(device, captureInterface);
}

TR-064 Service implementation status

WAN

  • 🔶 urn:dslforum-org:service:WANIPConnection
    • ✅ GetInfo
    • ✅ GetConnectionTypeInfo
    • ❌ SetConnectionType
    • ✅ GetStatusInfo
    • ✅ GetNATRSIPStatus
    • ❌ SetConnectionTrigger
    • ❌ ForceTermination
    • ❌ RequestConnection
    • ✅ X_GetDNSServers
    • ✅ GetPortMappingNumberOfEntries
    • ✅ GetGenericPortMappingEntry
    • ❌ GetSpecificPortMappingEntry
    • ❌ AddPortMapping
    • ❌ DeletePortMapping
    • ✅ GetExternalIPAddress
    • ❌ SetRouteProtocolRx
    • ❌ SetIdleDisconnectTime
  • 🔶 urn:dslforum-org:service:WANPPPConnection
    • ✅ GetInfo
    • ✅ GetConnectionTypeInfo
    • ❌ SetConnectionType
    • ✅ GetStatusInfo
    • ✅ GetLinkLayerMaxBitRates
    • ✅ GetUserName
    • ❌ SetUserName
    • ❌ SetPassword
    • ✅ GetNATRSIPStatus
    • ❌ SetConnectionTrigger
    • ❌ ForceTermination
    • ❌ RequestConnection
    • ✅ X_GetDNSServers
    • ✅ GetPortMappingNumberOfEntries
    • ✅ GetGenericPortMappingEntry
    • ❌ GetSpecificPortMappingEntry
    • ❌ AddPortMapping
    • ❌ DeletePortMapping
    • ✅ GetExternalIPAddress
    • ❌ SetRouteProtocolRx
    • ❌ SetIdleDisconnectTime
    • ✅ X_AVM-DE_GetAutoDisconnectTimeSpan
    • ❌ X_AVM-DE_SetAutoDisconnectTimeSpan
  • ✅ urn:dslforum-org:service:WANCommonInterfaceConfig
    • ✅ GetCommonLinkProperties
    • ✅ GetTotalBytesSent
    • ✅ GetTotalBytesReceived
    • ✅ GetTotalPacketsSent
    • ✅ GetTotalPacketsReceived
    • ✅ X_AVM-DE_SetWANAccessType
    • ✅ X_AVM-DE_GetOnlineMonitor
  • ✅ urn:dslforum-org:service:WANEthernetLinkConfig
    • ✅ GetEthernetLinkStatus
  • ✅ urn:dslforum-org:service:WANDSLInterfaceConfig
    • ✅ GetInfo
    • ✅ GetStatisticsTotal
    • ✅ X_AVM-DE_GetDSLDiagnoseInfo
    • ✅ X_AVM-DE_GetDSLInfo
  • 🔶 urn:dslforum-org:service:WANDSLLinkConfig
    • ✅ GetInfo
    • ❌ SetEnable
    • ❌ SetDSLLinkType
    • ✅ GetDSLLinkInfo
    • ❌ SetDestinationAddress
    • ✅ GetDestinationAddress
    • ❌ SetATMEncapsulation
    • ✅ GetATMEncapsulation
    • ✅ GetAutoConfig
    • ✅ GetStatistics
  • 🔶 urn:dslforum-org:service:X_AVM-DE_Speedtest
    • ✅ GetInfo
    • ❌ SetConfig
  • ❌ urn:dslforum-org:service:X_AVM-DE_RemoteAccess
  • ❌ urn:dslforum-org:service:X_AVM-DE_MyFritz
  • ❌ urn:dslforum-org:service:X_AVM-DE_HostFilter
  • 🔶 urn:dslforum-org:service:Layer3Forwarding
    • ❌ SetDefaultConnectionService
    • ✅ GetDefaultConnectionService
    • ✅ GetForwardNumberOfEntries
    • ❌ AddForwardingEntry
    • ❌ DeleteForwardingEntry
    • ❌ GetSpecificForwardingEntry
    • ✅ GetGenericForwardingEntry
    • ❌ SetForwardingEntryEnable

Telephony

  • ❌ urn:dslforum-org:service:X_AVM-DE_OnTel
  • ❌ urn:dslforum-org:service:X_AVM-DE_TAM
  • ❌ urn:dslforum-org:service:X_VoIP

Home network

  • 🔶 urn:dslforum-org:service:Hosts
    • ✅ GetHostNumberOfEntries
    • ❌ GetSpecificHostEntry
    • ✅ GetGenericHostEntry
    • ✅ X_AVM-DE_GetChangeCounter
    • ❌ X_AVM-DE_GetAutoWakeOnLANByMACAddress
    • ❌ X_AVM-DE_SetAutoWakeOnLANByMACAddress
    • ❌ X_AVM-DE_SetHostNameByMACAddress
    • ❌ X_AVM-DE_WakeOnLANByMACAddress
    • ❌ X_AVM-DE_GetSpecificHostEntryByIp
    • ❌ X_AVM-DE_HostsCheckUpdate
    • ❌ X_AVM-DE_HostDoUpdate
    • ✅ X_AVM-DE_GetHostListPath
    • ✅ X_AVM-DE_GetMeshListPath
  • 🔶 urn:dslforum-org:service:WLANConfiguration
    • ❌ SetEnable
    • ✅ GetInfo
    • ❌ SetConfig
    • ❌ SetSecurityKeys
    • ❌ GetSecurityKeys
    • ❌ SetDefaultWEPKeyIndex
    • ❌ GetDefaultWEPKeyIndex
    • ❌ SetBasBeaconSecurityProperties
    • ✅ GetBasBeaconSecurityProperties
    • ✅ GetBSSID
    • ✅ GetSSID
    • ❌ SetSSID
    • ✅ GetBeaconType
    • ❌ SetBeaconType
    • ✅ GetChannelInfo
    • ❌ SetChannel
    • ✅ GetBeaconAdvertisement
    • ❌ SetBeaconAdvertisement
    • ✅ GetTotalAssociations
    • ❌ GetGenericAssociatedDeviceInfo
    • ❌ GetSpecificAssociatedDeviceInfo
    • ❌ X_AVM-DE_GetSpecificAssociatedDeviceInfoByIp
    • ✅ X_AVM-DE_GetWLANDeviceListPath
    • ❌ X_AVM-DE_SetStickSurfEnable
    • ✅ X_AVM-DE_GetIPTVOptimized
    • ❌ X_AVM-DE_SetIPTVOptimized
    • ✅ GetStatistics
    • ✅ GetPacketStatistics
    • ✅ X_AVM-DE_GetNightControl
    • ❌ X_SetHighFrequencyBand
    • ✅ X_AVM-DE_GetWLANHybridMode
    • ❌ X_AVM-DE_SetWLANHybridMode
    • ✅ X_AVM-DE_GetWLANExtInfo
    • ❌ X_AVM-DE_SetWLANGlobalEnable
    • ✅ X_AVM-DE_GetWPSInfo
    • ❌ X_AVM-DE_SetWPSConfig
    • ❌ X_AVM-DE_SetWPSEnable
    • ✅ X_AVM-DE_GetWLANConnectionInfo
  • 🔶 urn:dslforum-org:service:LANHostConfigManagement
    • ✅ GetInfo
    • ❌ SetDHCPServerEnable
    • ❌ SetSubnetMask
    • ✅ GetSubnetMask
    • ❌ SetIPRouter
    • ✅ GetIPRoutersList
    • ❌ SetIPInterface
    • ✅ GetAddressRange
    • ❌ SetAddressRange
    • ✅ GetIPInterfaceNumberOfEntries
    • ✅ GetDNSServers
  • 🔶 urn:dslforum-org:service:LANEthernetInterfaceConfig
    • ❌ SetEnable
    • ✅ GetInfo
    • ✅ GetStatistics
  • ❌ urn:dslforum-org:service:X_AVM-DE_Dect
  • ❌ urn:dslforum-org:service:X_AVM-DE_Homeauto
  • ❌ urn:dslforum-org:service:X_AVM-DE_Homeplug

Storage/NAS

  • ❌ urn:dslforum-org:service:X_AVM-DE_Storage
  • ❌ urn:dslforum-org:service:X_AVM-DE_UPnP
  • ❌ urn:dslforum-org:service:X_AVM-DE_WebDAVClient
  • ❌ urn:dslforum-org:service:X_AVM-DE_Filelinks

System

  • ✅ urn:dslforum-org:service:DeviceInfo
    • ✅ GetInfo
    • ✅ SetProvisioningCode
    • ✅ GetDeviceLog
    • ✅ GetSecurityPort
  • 🔶 urn:dslforum-org:service:DeviceConfig
    • ✅ GetPersistentData
    • ❌ SetPersistentData
    • ❌ ConfigurationStarted
    • ❌ ConfigurationFinished
    • ❌ FactoryReset
    • ❌ Reboot
    • ✅ X_GenerateUUID
    • ❌ X_AVM-DE_GetConfigFile
    • ❌ X_AVM-DE_SetConfigFile
    • ✅ X_AVM-DE_CreateUrlSID
    • ✅ X_AVM-DE_GetSupportDataInfo
    • ❌ X_AVM-DE_SendSupportData
  • ✅ urn:dslforum-org:service:LANConfigSecurity
    • ✅ GetInfo
    • ✅ X_AVM-DE_GetAnonymousLogin
    • ✅ X_AVM-DE_GetCurrentUser
    • ✅ SetConfigPassword
    • ✅ X_AVM-DE_GetUserList
  • ❌ urn:dslforum-org:service:X_AVM-DE_AppSetup
  • ✅ urn:dslforum-org:service:ManagementServer
    • ✅ GetInfo
    • ✅ SetManagementServerURL
    • ✅ SetManagementServerUsername
    • ✅ SetManagementServerPassword
    • ✅ SetPeriodicInform
    • ✅ SetConnectionRequestAuthentication
    • ✅ SetUpgradeManagement
    • ✅ X_SetTR069Enable
    • ✅ X_AVM-DE_GetTR069FirmwareDownloadEnabled
    • ✅ X_AVM-DE_SetTR069FirmwareDownloadEnabled
  • ❌ urn:dslforum-org:service:X_AVM-DE_Auth
  • ✅ urn:dslforum-org:service:Time
    • ✅ GetInfo
    • ✅ SetNTPServers
  • ✅ urn:dslforum-org:service:UserInterface
    • ✅ GetInfo
    • ✅ X_AVM-DE_CheckUpdate
    • ✅ X_AVM-DE_DoPrepareCGI
    • ✅ X_AVM-DE_DoUpdate
    • ✅ X_AVM-DE_DoManualUpdate
    • ✅ X_AVM-DE_GetInternationalConfig
    • ✅ X_AVM-DE_SetInternationalConfig
    • ✅ X_AVM-DE_GetInfo
    • ✅ X_AVM-DE_SetConfig
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.4.0-alpha0048 37 6/4/2023
2.4.0-alpha0036 38 5/19/2023
2.4.0-alpha0028 45 4/15/2023
2.4.0-alpha0021 55 2/21/2023
2.4.0-alpha0015 64 1/27/2023
2.4.0-alpha0010 64 1/27/2023
2.4.0-alpha0006 66 1/25/2023
2.4.0-alpha0003 57 1/25/2023
2.4.0-alpha0001 64 1/24/2023
2.3.0 91 1/24/2023
2.3.0-alpha0061 64 1/22/2023
2.3.0-alpha0049 58 1/19/2023
2.3.0-alpha0038 59 1/18/2023
2.3.0-alpha0028 60 1/16/2023
2.3.0-alpha0021 69 11/19/2022
2.3.0-alpha0015 65 10/28/2022
2.3.0-alpha0010 97 7/9/2022
2.3.0-alpha0006 88 5/11/2022
2.3.0-alpha0003 88 4/13/2022
2.3.0-alpha0001 89 4/12/2022
2.2.0 154 4/12/2022
2.2.0-alpha0131 90 4/12/2022
2.2.0-alpha0107 90 4/12/2022
2.2.0-alpha0084 87 4/8/2022
2.2.0-alpha0066 84 4/7/2022
2.2.0-alpha0050 90 4/7/2022
2.2.0-alpha0036 95 4/7/2022
2.2.0-alpha0023 84 4/6/2022
2.2.0-alpha0011 78 4/5/2022
2.2.0-alpha0003 79 4/4/2022
2.1.0 93 4/4/2022
2.1.0-alpha0316 79 4/4/2022
2.1.0-alpha0274 84 4/3/2022
2.1.0-alpha0234 94 4/1/2022
2.1.0-alpha0198 83 3/30/2022
2.1.0-alpha0168 82 3/28/2022
2.1.0-alpha0140 77 3/28/2022
2.1.0-alpha0114 82 3/28/2022
2.1.0-alpha0090 77 3/27/2022
2.1.0-alpha0068 79 3/27/2022
2.1.0-alpha0048 75 3/26/2022
2.1.0-alpha0032 74 3/25/2022
2.1.0-alpha0019 82 3/25/2022
2.1.0-alpha0008 80 3/24/2022
2.0.0 91 3/22/2022
2.0.0-beta0002 77 3/22/2022
2.0.0-beta0001 78 3/22/2022
2.0.0-alpha0011 78 3/24/2022
2.0.0-alpha0004 80 3/23/2022
1.1.0-alpha0161 80 3/22/2022
1.1.0-alpha0135 78 3/22/2022
1.1.0-alpha0111 79 3/22/2022
1.1.0-alpha0089 63 3/21/2022
1.1.0-alpha0069 70 3/21/2022
1.1.0-alpha0051 72 3/21/2022
1.1.0-alpha0036 73 3/21/2022
1.1.0-alpha0023 76 3/21/2022
1.1.0-alpha0012 73 3/20/2022
1.1.0-alpha0003 86 3/19/2022
1.1.0-alpha0001 78 3/19/2022
1.0.0 89 3/19/2022
1.0.0-beta0003 81 3/19/2022
1.0.0-beta0002 78 3/19/2022
1.0.0-beta0001 80 3/19/2022
0.2.0-alpha1222 79 3/19/2022
0.2.0-alpha1221 77 3/19/2022
0.2.0-alpha1118 82 3/19/2022
0.2.0-alpha1017 78 3/19/2022
0.2.0-alpha0926 78 3/19/2022
0.2.0-alpha0836 76 3/19/2022
0.2.0-alpha0747 76 3/18/2022
0.2.0-alpha0660 75 3/18/2022
0.2.0-alpha0574 78 3/18/2022
0.2.0-alpha0489 73 3/18/2022
0.2.0-alpha0405 81 3/18/2022
0.2.0-alpha0322 77 3/18/2022
0.2.0-alpha0240 79 3/18/2022
0.2.0-alpha0159 78 3/18/2022
0.2.0-alpha0079 78 3/17/2022
0.1.3 89 3/17/2022
0.1.3-alpha0051 86 3/17/2022
0.1.3-alpha0050 79 3/17/2022
0.1.3-alpha0049 81 3/17/2022
0.1.3-alpha0048 80 3/17/2022
0.1.3-alpha0047 83 3/16/2022
0.1.3-alpha0046 83 3/16/2022
0.1.3-alpha0045 79 3/16/2022
0.1.3-alpha.44 84 3/15/2022
0.1.3-alpha.43 76 3/14/2022
0.1.3-alpha.42 76 3/14/2022
0.1.3-alpha.41 81 3/14/2022
0.1.3-alpha.40 80 3/14/2022
0.1.3-alpha.39 75 3/14/2022
0.1.3-alpha.38 77 3/14/2022
0.1.3-alpha.37 80 3/14/2022
0.1.3-alpha.36 72 3/13/2022
0.1.3-alpha.35 82 3/13/2022
0.1.3-alpha.34 79 3/13/2022
0.1.3-alpha.33 77 3/13/2022
0.1.3-alpha.32 82 3/13/2022
0.1.3-alpha.31 81 3/13/2022
0.1.3-alpha.30 80 3/13/2022
0.1.3-alpha.29 79 3/13/2022
0.1.3-alpha.28 79 3/13/2022
0.1.3-alpha.27 77 3/13/2022
0.1.3-alpha.26 80 3/13/2022
0.1.3-alpha.8 80 3/13/2022
0.1.3-alpha.7 82 3/13/2022
0.1.3-alpha.4 84 3/13/2022
0.1.3-alpha.3 76 3/13/2022
0.1.3-alpha.2 93 3/13/2022
0.1.2 96 3/12/2022
0.1.2-alpha.15 90 3/12/2022
0.1.2-alpha.14 91 3/12/2022
0.1.2-alpha.13 89 3/12/2022
0.1.2-alpha.12 92 3/12/2022
0.1.2-alpha.11 92 3/12/2022
0.1.2-alpha.10 99 3/11/2022
0.1.2-alpha.7 94 3/11/2022
0.1.2-alpha.6 92 3/11/2022
0.1.2-alpha.2 92 3/10/2022
0.1.1 100 3/9/2022
0.1.1-alpha.10 90 3/10/2022
0.1.1-alpha.9 89 3/9/2022
0.1.1-alpha.6 93 3/9/2022
0.1.1-alpha.2 93 3/9/2022
0.1.0 103 3/7/2022
0.1.0-alpha.80 93 3/8/2022
0.1.0-alpha.79 99 3/8/2022
0.1.0-alpha.78 97 3/7/2022
0.1.0-alpha.77 96 3/6/2022
0.1.0-alpha.76 94 3/6/2022
0.1.0-alpha.75 89 3/6/2022
0.1.0-alpha.74 86 3/5/2022
0.1.0-alpha.73 93 3/5/2022
0.1.0-alpha.72 96 3/5/2022