RS.Fritz.Manager.API 2.3.0-alpha0061

This is a prerelease version of RS.Fritz.Manager.API.
There is a newer version of this package available.
See the version list below for details.
dotnet add package RS.Fritz.Manager.API --version 2.3.0-alpha0061                
NuGet\Install-Package RS.Fritz.Manager.API -Version 2.3.0-alpha0061                
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-alpha0061" />                
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-alpha0061                
#r "nuget: RS.Fritz.Manager.API, 2.3.0-alpha0061"                
#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-alpha0061&prerelease

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

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.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
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.7.8 66 1/4/2025
2.7.7 75 1/1/2025
2.7.5 86 1/1/2025
2.5.1 95 12/15/2024
2.5.0-alpha0008 90 5/19/2024
2.5.0-alpha0004 126 3/22/2024
2.5.0-alpha0001 130 1/30/2024
2.5.0-alpha.15 46 12/15/2024
2.4.0 237 1/5/2024
2.4.0-alpha0090 111 1/5/2024
2.4.0-alpha0075 131 12/14/2023
2.4.0-alpha0061 132 6/23/2023
2.4.0-alpha0048 133 6/4/2023
2.4.0-alpha0036 130 5/19/2023
2.4.0-alpha0028 88 4/15/2023
2.4.0-alpha0021 109 2/21/2023
2.4.0-alpha0015 112 1/27/2023
2.4.0-alpha0010 114 1/27/2023
2.4.0-alpha0006 120 1/25/2023
2.4.0-alpha0003 108 1/25/2023
2.4.0-alpha0001 117 1/24/2023
2.3.0 198 1/24/2023
2.3.0-alpha0061 124 1/22/2023
2.3.0-alpha0049 110 1/19/2023
2.3.0-alpha0038 101 1/18/2023
2.3.0-alpha0028 144 1/16/2023
2.3.0-alpha0021 148 11/19/2022
2.3.0-alpha0015 125 10/28/2022
2.3.0-alpha0010 144 7/9/2022
2.3.0-alpha0006 138 5/11/2022
2.3.0-alpha0003 136 4/13/2022
2.3.0-alpha0001 128 4/12/2022
2.2.0 218 4/12/2022
2.2.0-alpha0131 132 4/12/2022
2.2.0-alpha0107 128 4/12/2022
2.2.0-alpha0084 129 4/8/2022
2.2.0-alpha0066 129 4/7/2022
2.2.0-alpha0050 135 4/7/2022
2.2.0-alpha0036 145 4/7/2022
2.2.0-alpha0023 127 4/6/2022
2.2.0-alpha0011 127 4/5/2022
2.2.0-alpha0003 127 4/4/2022
2.1.0 148 4/4/2022
2.1.0-alpha0316 126 4/4/2022
2.1.0-alpha0274 135 4/3/2022
2.1.0-alpha0234 142 4/1/2022
2.1.0-alpha0198 132 3/30/2022
2.1.0-alpha0168 126 3/28/2022
2.1.0-alpha0140 121 3/28/2022
2.1.0-alpha0114 128 3/28/2022
2.1.0-alpha0090 131 3/27/2022
2.1.0-alpha0068 127 3/27/2022
2.1.0-alpha0048 121 3/26/2022
2.1.0-alpha0032 126 3/25/2022
2.1.0-alpha0019 138 3/25/2022
2.1.0-alpha0008 126 3/24/2022
2.0.0 155 3/22/2022
2.0.0-beta0002 130 3/22/2022
2.0.0-beta0001 130 3/22/2022
2.0.0-alpha0011 126 3/24/2022
2.0.0-alpha0004 123 3/23/2022
1.1.0-alpha0161 131 3/22/2022
1.1.0-alpha0135 128 3/22/2022
1.1.0-alpha0111 126 3/22/2022
1.1.0-alpha0089 110 3/21/2022
1.1.0-alpha0069 122 3/21/2022
1.1.0-alpha0051 122 3/21/2022
1.1.0-alpha0036 128 3/21/2022
1.1.0-alpha0023 126 3/21/2022
1.1.0-alpha0012 125 3/20/2022
1.1.0-alpha0003 126 3/19/2022
1.1.0-alpha0001 129 3/19/2022
1.0.0 163 3/19/2022
1.0.0-beta0003 129 3/19/2022
1.0.0-beta0002 130 3/19/2022
1.0.0-beta0001 131 3/19/2022
0.2.0-alpha1222 127 3/19/2022
0.2.0-alpha1221 126 3/19/2022
0.2.0-alpha1118 124 3/19/2022
0.2.0-alpha1017 130 3/19/2022
0.2.0-alpha0926 124 3/19/2022
0.2.0-alpha0836 129 3/19/2022
0.2.0-alpha0747 130 3/18/2022
0.2.0-alpha0660 123 3/18/2022
0.2.0-alpha0574 128 3/18/2022
0.2.0-alpha0489 125 3/18/2022
0.2.0-alpha0405 137 3/18/2022
0.2.0-alpha0322 130 3/18/2022
0.2.0-alpha0240 130 3/18/2022
0.2.0-alpha0159 123 3/18/2022
0.2.0-alpha0079 128 3/17/2022
0.1.3 159 3/17/2022
0.1.3-alpha0051 140 3/17/2022
0.1.3-alpha0050 139 3/17/2022
0.1.3-alpha0049 130 3/17/2022
0.1.3-alpha0048 132 3/17/2022
0.1.3-alpha0047 135 3/16/2022
0.1.3-alpha0046 130 3/16/2022
0.1.3-alpha0045 131 3/16/2022
0.1.3-alpha.44 131 3/15/2022
0.1.3-alpha.43 130 3/14/2022
0.1.3-alpha.42 130 3/14/2022
0.1.3-alpha.41 125 3/14/2022
0.1.3-alpha.40 134 3/14/2022
0.1.3-alpha.39 123 3/14/2022
0.1.3-alpha.38 124 3/14/2022
0.1.3-alpha.37 133 3/14/2022
0.1.3-alpha.36 120 3/13/2022
0.1.3-alpha.35 133 3/13/2022
0.1.3-alpha.34 132 3/13/2022
0.1.3-alpha.33 128 3/13/2022
0.1.3-alpha.32 134 3/13/2022
0.1.3-alpha.31 127 3/13/2022
0.1.3-alpha.30 125 3/13/2022
0.1.3-alpha.29 123 3/13/2022
0.1.3-alpha.28 123 3/13/2022
0.1.3-alpha.27 126 3/13/2022
0.1.3-alpha.26 127 3/13/2022
0.1.3-alpha.8 131 3/13/2022
0.1.3-alpha.7 126 3/13/2022
0.1.3-alpha.4 135 3/13/2022
0.1.3-alpha.3 131 3/13/2022
0.1.3-alpha.2 151 3/13/2022
0.1.2 171 3/12/2022
0.1.2-alpha.15 153 3/12/2022
0.1.2-alpha.14 154 3/12/2022
0.1.2-alpha.13 143 3/12/2022
0.1.2-alpha.12 155 3/12/2022
0.1.2-alpha.11 152 3/12/2022
0.1.2-alpha.10 159 3/11/2022
0.1.2-alpha.7 154 3/11/2022
0.1.2-alpha.6 154 3/11/2022
0.1.2-alpha.2 157 3/10/2022
0.1.1 177 3/9/2022
0.1.1-alpha.10 147 3/10/2022
0.1.1-alpha.9 152 3/9/2022
0.1.1-alpha.6 158 3/9/2022
0.1.1-alpha.2 153 3/9/2022
0.1.0 165 3/7/2022
0.1.0-alpha.80 151 3/8/2022
0.1.0-alpha.79 161 3/8/2022
0.1.0-alpha.78 160 3/7/2022
0.1.0-alpha.77 150 3/6/2022
0.1.0-alpha.76 151 3/6/2022
0.1.0-alpha.75 141 3/6/2022
0.1.0-alpha.74 139 3/5/2022
0.1.0-alpha.73 150 3/5/2022
0.1.0-alpha.72 164 3/5/2022