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-alpha0061 63 6/23/2023
2.4.0-alpha0048 61 6/4/2023
2.4.0-alpha0036 51 5/19/2023
2.4.0-alpha0028 55 4/15/2023
2.4.0-alpha0021 67 2/21/2023
2.4.0-alpha0015 76 1/27/2023
2.4.0-alpha0010 77 1/27/2023
2.4.0-alpha0006 79 1/25/2023
2.4.0-alpha0003 69 1/25/2023
2.4.0-alpha0001 75 1/24/2023
2.3.0 127 1/24/2023
2.3.0-alpha0061 78 1/22/2023
2.3.0-alpha0049 69 1/19/2023
2.3.0-alpha0038 71 1/18/2023
2.3.0-alpha0028 73 1/16/2023
2.3.0-alpha0021 79 11/19/2022
2.3.0-alpha0015 78 10/28/2022
2.3.0-alpha0010 108 7/9/2022
2.3.0-alpha0006 101 5/11/2022
2.3.0-alpha0003 99 4/13/2022
2.3.0-alpha0001 100 4/12/2022
2.2.0 169 4/12/2022
2.2.0-alpha0131 101 4/12/2022
2.2.0-alpha0107 101 4/12/2022
2.2.0-alpha0084 99 4/8/2022
2.2.0-alpha0066 96 4/7/2022
2.2.0-alpha0050 102 4/7/2022
2.2.0-alpha0036 108 4/7/2022
2.2.0-alpha0023 97 4/6/2022
2.2.0-alpha0011 92 4/5/2022
2.2.0-alpha0003 92 4/4/2022
2.1.0 106 4/4/2022
2.1.0-alpha0316 92 4/4/2022
2.1.0-alpha0274 98 4/3/2022
2.1.0-alpha0234 109 4/1/2022
2.1.0-alpha0198 96 3/30/2022
2.1.0-alpha0168 96 3/28/2022
2.1.0-alpha0140 91 3/28/2022
2.1.0-alpha0114 97 3/28/2022
2.1.0-alpha0090 91 3/27/2022
2.1.0-alpha0068 94 3/27/2022
2.1.0-alpha0048 88 3/26/2022
2.1.0-alpha0032 88 3/25/2022
2.1.0-alpha0019 96 3/25/2022
2.1.0-alpha0008 93 3/24/2022
2.0.0 106 3/22/2022
2.0.0-beta0002 90 3/22/2022
2.0.0-beta0001 91 3/22/2022
2.0.0-alpha0011 93 3/24/2022
2.0.0-alpha0004 93 3/23/2022
1.1.0-alpha0161 93 3/22/2022
1.1.0-alpha0135 90 3/22/2022
1.1.0-alpha0111 92 3/22/2022
1.1.0-alpha0089 77 3/21/2022
1.1.0-alpha0069 84 3/21/2022
1.1.0-alpha0051 88 3/21/2022
1.1.0-alpha0036 88 3/21/2022
1.1.0-alpha0023 90 3/21/2022
1.1.0-alpha0012 89 3/20/2022
1.1.0-alpha0003 98 3/19/2022
1.1.0-alpha0001 90 3/19/2022
1.0.0 103 3/19/2022
1.0.0-beta0003 95 3/19/2022
1.0.0-beta0002 92 3/19/2022
1.0.0-beta0001 93 3/19/2022
0.2.0-alpha1222 93 3/19/2022
0.2.0-alpha1221 91 3/19/2022
0.2.0-alpha1118 94 3/19/2022
0.2.0-alpha1017 91 3/19/2022
0.2.0-alpha0926 92 3/19/2022
0.2.0-alpha0836 89 3/19/2022
0.2.0-alpha0747 89 3/18/2022
0.2.0-alpha0660 91 3/18/2022
0.2.0-alpha0574 90 3/18/2022
0.2.0-alpha0489 86 3/18/2022
0.2.0-alpha0405 94 3/18/2022
0.2.0-alpha0322 91 3/18/2022
0.2.0-alpha0240 93 3/18/2022
0.2.0-alpha0159 90 3/18/2022
0.2.0-alpha0079 92 3/17/2022
0.1.3 105 3/17/2022
0.1.3-alpha0051 99 3/17/2022
0.1.3-alpha0050 94 3/17/2022
0.1.3-alpha0049 95 3/17/2022
0.1.3-alpha0048 98 3/17/2022
0.1.3-alpha0047 98 3/16/2022
0.1.3-alpha0046 97 3/16/2022
0.1.3-alpha0045 92 3/16/2022
0.1.3-alpha.44 97 3/15/2022
0.1.3-alpha.43 88 3/14/2022
0.1.3-alpha.42 91 3/14/2022
0.1.3-alpha.41 95 3/14/2022
0.1.3-alpha.40 93 3/14/2022
0.1.3-alpha.39 89 3/14/2022
0.1.3-alpha.38 89 3/14/2022
0.1.3-alpha.37 92 3/14/2022
0.1.3-alpha.36 87 3/13/2022
0.1.3-alpha.35 96 3/13/2022
0.1.3-alpha.34 93 3/13/2022
0.1.3-alpha.33 91 3/13/2022
0.1.3-alpha.32 96 3/13/2022
0.1.3-alpha.31 96 3/13/2022
0.1.3-alpha.30 94 3/13/2022
0.1.3-alpha.29 93 3/13/2022
0.1.3-alpha.28 92 3/13/2022
0.1.3-alpha.27 91 3/13/2022
0.1.3-alpha.26 95 3/13/2022
0.1.3-alpha.8 94 3/13/2022
0.1.3-alpha.7 95 3/13/2022
0.1.3-alpha.4 99 3/13/2022
0.1.3-alpha.3 90 3/13/2022
0.1.3-alpha.2 113 3/13/2022
0.1.2 120 3/12/2022
0.1.2-alpha.15 109 3/12/2022
0.1.2-alpha.14 115 3/12/2022
0.1.2-alpha.13 108 3/12/2022
0.1.2-alpha.12 111 3/12/2022
0.1.2-alpha.11 111 3/12/2022
0.1.2-alpha.10 117 3/11/2022
0.1.2-alpha.7 114 3/11/2022
0.1.2-alpha.6 110 3/11/2022
0.1.2-alpha.2 112 3/10/2022
0.1.1 122 3/9/2022
0.1.1-alpha.10 111 3/10/2022
0.1.1-alpha.9 111 3/9/2022
0.1.1-alpha.6 115 3/9/2022
0.1.1-alpha.2 113 3/9/2022
0.1.0 123 3/7/2022
0.1.0-alpha.80 112 3/8/2022
0.1.0-alpha.79 124 3/8/2022
0.1.0-alpha.78 118 3/7/2022
0.1.0-alpha.77 116 3/6/2022
0.1.0-alpha.76 114 3/6/2022
0.1.0-alpha.75 105 3/6/2022
0.1.0-alpha.74 106 3/5/2022
0.1.0-alpha.73 108 3/5/2022
0.1.0-alpha.72 121 3/5/2022