RS.Fritz.Manager.API 2.3.0-alpha0021

.NET 7.0
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-alpha0021
NuGet\Install-Package RS.Fritz.Manager.API -Version 2.3.0-alpha0021
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-alpha0021" />
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-alpha0021
#r "nuget: RS.Fritz.Manager.API, 2.3.0-alpha0021"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. 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-alpha0021&prerelease

// Install RS.Fritz.Manager.API as a Cake Tool
#tool nuget:?package=RS.Fritz.Manager.API&version=2.3.0-alpha0021&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 Versions
.NET net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows
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-alpha0015 32 1/27/2023
2.4.0-alpha0010 34 1/27/2023
2.4.0-alpha0006 39 1/25/2023
2.4.0-alpha0003 31 1/25/2023
2.4.0-alpha0001 34 1/24/2023
2.3.0 44 1/24/2023
2.3.0-alpha0061 34 1/22/2023
2.3.0-alpha0049 32 1/19/2023
2.3.0-alpha0038 33 1/18/2023
2.3.0-alpha0028 36 1/16/2023
2.3.0-alpha0021 49 11/19/2022
2.3.0-alpha0015 47 10/28/2022
2.3.0-alpha0010 78 7/9/2022
2.3.0-alpha0006 70 5/11/2022
2.3.0-alpha0003 68 4/13/2022
2.3.0-alpha0001 70 4/12/2022
2.2.0 98 4/12/2022
2.2.0-alpha0131 68 4/12/2022
2.2.0-alpha0107 70 4/12/2022
2.2.0-alpha0084 65 4/8/2022
2.2.0-alpha0066 64 4/7/2022
2.2.0-alpha0050 70 4/7/2022
2.2.0-alpha0036 75 4/7/2022
2.2.0-alpha0023 64 4/6/2022
2.2.0-alpha0011 59 4/5/2022
2.2.0-alpha0003 59 4/4/2022
2.1.0 69 4/4/2022
2.1.0-alpha0316 58 4/4/2022
2.1.0-alpha0274 66 4/3/2022
2.1.0-alpha0234 76 4/1/2022
2.1.0-alpha0198 62 3/30/2022
2.1.0-alpha0168 60 3/28/2022
2.1.0-alpha0140 57 3/28/2022
2.1.0-alpha0114 61 3/28/2022
2.1.0-alpha0090 57 3/27/2022
2.1.0-alpha0068 59 3/27/2022
2.1.0-alpha0048 53 3/26/2022
2.1.0-alpha0032 55 3/25/2022
2.1.0-alpha0019 61 3/25/2022
2.1.0-alpha0008 58 3/24/2022
2.0.0 69 3/22/2022
2.0.0-beta0002 58 3/22/2022
2.0.0-beta0001 59 3/22/2022
2.0.0-alpha0011 59 3/24/2022
2.0.0-alpha0004 60 3/23/2022
1.1.0-alpha0161 59 3/22/2022
1.1.0-alpha0135 56 3/22/2022
1.1.0-alpha0111 58 3/22/2022
1.1.0-alpha0089 43 3/21/2022
1.1.0-alpha0069 50 3/21/2022
1.1.0-alpha0051 53 3/21/2022
1.1.0-alpha0036 52 3/21/2022
1.1.0-alpha0023 57 3/21/2022
1.1.0-alpha0012 54 3/20/2022
1.1.0-alpha0003 64 3/19/2022
1.1.0-alpha0001 59 3/19/2022
1.0.0 68 3/19/2022
1.0.0-beta0003 59 3/19/2022
1.0.0-beta0002 60 3/19/2022
1.0.0-beta0001 59 3/19/2022
0.2.0-alpha1222 55 3/19/2022
0.2.0-alpha1221 58 3/19/2022
0.2.0-alpha1118 62 3/19/2022
0.2.0-alpha1017 57 3/19/2022
0.2.0-alpha0926 56 3/19/2022
0.2.0-alpha0836 55 3/19/2022
0.2.0-alpha0747 54 3/18/2022
0.2.0-alpha0660 53 3/18/2022
0.2.0-alpha0574 56 3/18/2022
0.2.0-alpha0489 54 3/18/2022
0.2.0-alpha0405 60 3/18/2022
0.2.0-alpha0322 56 3/18/2022
0.2.0-alpha0240 57 3/18/2022
0.2.0-alpha0159 58 3/18/2022
0.2.0-alpha0079 59 3/17/2022
0.1.3 69 3/17/2022
0.1.3-alpha0051 68 3/17/2022
0.1.3-alpha0050 62 3/17/2022
0.1.3-alpha0049 63 3/17/2022
0.1.3-alpha0048 62 3/17/2022
0.1.3-alpha0047 64 3/16/2022
0.1.3-alpha0046 63 3/16/2022
0.1.3-alpha0045 59 3/16/2022
0.1.3-alpha.44 64 3/15/2022
0.1.3-alpha.43 56 3/14/2022
0.1.3-alpha.42 58 3/14/2022
0.1.3-alpha.41 62 3/14/2022
0.1.3-alpha.40 59 3/14/2022
0.1.3-alpha.39 56 3/14/2022
0.1.3-alpha.38 57 3/14/2022
0.1.3-alpha.37 61 3/14/2022
0.1.3-alpha.36 52 3/13/2022
0.1.3-alpha.35 62 3/13/2022
0.1.3-alpha.34 60 3/13/2022
0.1.3-alpha.33 59 3/13/2022
0.1.3-alpha.32 63 3/13/2022
0.1.3-alpha.31 63 3/13/2022
0.1.3-alpha.30 60 3/13/2022
0.1.3-alpha.29 61 3/13/2022
0.1.3-alpha.28 59 3/13/2022
0.1.3-alpha.27 60 3/13/2022
0.1.3-alpha.26 62 3/13/2022
0.1.3-alpha.8 60 3/13/2022
0.1.3-alpha.7 62 3/13/2022
0.1.3-alpha.4 64 3/13/2022
0.1.3-alpha.3 56 3/13/2022
0.1.3-alpha.2 64 3/13/2022
0.1.2 65 3/12/2022
0.1.2-alpha.15 59 3/12/2022
0.1.2-alpha.14 61 3/12/2022
0.1.2-alpha.13 60 3/12/2022
0.1.2-alpha.12 62 3/12/2022
0.1.2-alpha.11 61 3/12/2022
0.1.2-alpha.10 64 3/11/2022
0.1.2-alpha.7 64 3/11/2022
0.1.2-alpha.6 59 3/11/2022
0.1.2-alpha.2 61 3/10/2022
0.1.1 71 3/9/2022
0.1.1-alpha.10 61 3/10/2022
0.1.1-alpha.9 59 3/9/2022
0.1.1-alpha.6 65 3/9/2022
0.1.1-alpha.2 65 3/9/2022
0.1.0 70 3/7/2022
0.1.0-alpha.80 63 3/8/2022
0.1.0-alpha.79 70 3/8/2022
0.1.0-alpha.78 68 3/7/2022
0.1.0-alpha.77 67 3/6/2022
0.1.0-alpha.76 65 3/6/2022
0.1.0-alpha.75 58 3/6/2022
0.1.0-alpha.74 54 3/5/2022
0.1.0-alpha.73 65 3/5/2022
0.1.0-alpha.72 67 3/5/2022