RS.Fritz.Manager.API
2.1.0-alpha0048
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.
See the version list below for details.
dotnet add package RS.Fritz.Manager.API --version 2.1.0-alpha0048
NuGet\Install-Package RS.Fritz.Manager.API -Version 2.1.0-alpha0048
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.1.0-alpha0048" />
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.1.0-alpha0048
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: RS.Fritz.Manager.API, 2.1.0-alpha0048"
#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.1.0-alpha0048&prerelease // Install RS.Fritz.Manager.API as a Cake Tool #tool nuget:?package=RS.Fritz.Manager.API&version=2.1.0-alpha0048&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
RS.Fritz.Manager
Allows FritzBox device detection, monitoring, configuring and network traffic capturing. The TR-064 implementation is using pure WCF Soap calls.
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.
Usage Instructions
- Click Discover Internet Gateway Devices
- Select a detected device
- Select a detected user
- Enter the selected user's password
- Click Login
- Use the Device Information tab to see device details
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}"));
// 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>();
Task.Run(() => StopCaptureAfter1SecondsAsync(device, captureControlService));
FileInfo fileInfo = await captureControlService.GetStartCaptureResponseAsync(device, "c:\\temp", "capturefile");
Console.WriteLine($"Network trace written to file: {fileInfo}");
await host.RunAsync();
static async Task StopCaptureAfter1SecondsAsync(InternetGatewayDevice device, ICaptureControlService captureControlService)
{
await Task.Delay(1000);
await captureControlService.GetStopCaptureResponseAsync(device);
}
TR-064 Service implementation status
WAN
- 🔶 urn:dslforum-org:service:WANIPConnection:1
- ✅ GetInfo
- ✅ GetConnectionTypeInfo
- ❌ SetConnectionType
- ✅ GetStatusInfo
- ✅ GetNATRSIPStatus
- ❌ SetConnectionTrigger
- ❌ ForceTermination
- ❌ RequestConnection
- ✅ X_GetDNSServers
- ✅ GetPortMappingNumberOfEntries
- ✅ GetGenericPortMappingEntry
- ❌ GetSpecificPortMappingEntry
- ❌ AddPortMapping
- ❌ DeletePortMapping
- ✅ GetExternalIPAddress
- ❌ SetRouteProtocolRx
- ❌ SetIdleDisconnectTime
- 🔶 urn:dslforum-org:service:WANPPPConnection:1
- ✅ 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:1
- ✅ GetCommonLinkProperties
- ✅ GetTotalBytesSent
- ✅ GetTotalBytesReceived
- ✅ GetTotalPacketsSent
- ✅ GetTotalPacketsReceived
- ✅ X_AVM-DE_SetWANAccessType
- ✅ X_AVM-DE_GetOnlineMonitor
- ✅ urn:dslforum-org:service:WANEthernetLinkConfig:1
- ✅ GetEthernetLinkStatus
- ✅ urn:dslforum-org:service:WANDSLInterfaceConfig:1
- ✅ GetInfo
- ✅ GetStatisticsTotal
- ✅ X_AVM-DE_GetDSLDiagnoseInfo
- ✅ X_AVM-DE_GetDSLInfo
- 🔶 urn:dslforum-org:service:WANDSLLinkConfig:1
- ✅ GetInfo
- ❌ SetEnable
- ❌ SetDSLLinkType
- ✅ GetDSLLinkInfo
- ❌ SetDestinationAddress
- ✅ GetDestinationAddress
- ❌ SetATMEncapsulation
- ✅ GetATMEncapsulation
- ✅ GetAutoConfig
- ✅ GetStatistics
- 🔶 urn:dslforum-org:service:X_AVM-DE_Speedtest:1
- ✅ GetInfo
- ❌ SetConfig
- ❌ urn:dslforum-org:service:X_AVM-DE_RemoteAccess:1
- ❌ urn:dslforum-org:service:X_AVM-DE_MyFritz:1
- ❌ urn:dslforum-org:service:X_AVM-DE_HostFilter:1
- 🔶 urn:dslforum-org:service:Layer3Forwarding:1
- ❌ SetDefaultConnectionService
- ✅ GetDefaultConnectionService
- ✅ GetForwardNumberOfEntries
- ❌ AddForwardingEntry
- ❌ DeleteForwardingEntry
- ❌ GetSpecificForwardingEntry
- ✅ GetGenericForwardingEntry
- ❌ SetForwardingEntryEnable
Telephony
- ❌ urn:dslforum-org:service:X_AVM-DE_OnTel:1
- ❌ urn:dslforum-org:service:X_AVM-DE_TAM:1
- ❌ urn:dslforum-org:service:X_VoIP:1
Home network
- 🔶 urn:dslforum-org:service:Hosts:1
- ✅ 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:1
- 🔶 urn:dslforum-org:service:LANHostConfigManagement:1
- ✅ GetInfo
- ❌ SetDHCPServerEnable
- ❌ SetSubnetMask
- ✅ GetSubnetMask
- ❌ SetIPRouter
- ✅ GetIPRoutersList
- ❌ SetIPInterface
- ✅ GetAddressRange
- ❌ SetAddressRange
- ✅ GetIPInterfaceNumberOfEntries
- ✅ GetDNSServers
- 🔶 urn:dslforum-org:service:LANEthernetInterfaceConfig:1
- ❌ SetEnable
- ✅ GetInfo
- ✅ GetStatistics
- ❌ urn:dslforum-org:service:X_AVM-DE_Dect:1
- ❌ urn:dslforum-org:service:X_AVM-DE_Homeauto:1
- ❌ urn:dslforum-org:service:X_AVM-DE_Homeplug:1
Storage/NAS
- ❌ urn:dslforum-org:service:X_AVM-DE_Storage:1
- ❌ urn:dslforum-org:service:X_AVM-DE_UPnP:1
- ❌ urn:dslforum-org:service:X_AVM-DE_Filelinks:1
System
- ✅ urn:dslforum-org:service:DeviceInfo:1
- ✅ GetInfo
- ✅ SetProvisioningCode
- ✅ GetDeviceLog
- ✅ GetSecurityPort
- ❌ urn:dslforum-org:service:DeviceConfig:1
- ✅ urn:dslforum-org:service:LANConfigSecurity:1
- ✅ GetInfo
- ✅ X_AVM-DE_GetAnonymousLogin
- ✅ X_AVM-DE_GetCurrentUser
- ✅ SetConfigPassword
- ✅ X_AVM-DE_GetUserList
- ❌ urn:dslforum-org:service:X_AVM-DE_AppSetup:1
- ❌ urn:dslforum-org:service:X_AVM-DE_Auth:1
- ❌ urn:dslforum-org:service:Time:1
- ❌ urn:dslforum-org:service:UserInterface:1
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. 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.
-
net6.0
- Microsoft.Extensions.Http (>= 6.0.0)
- System.Security.Cryptography.Xml (>= 6.0.0)
- System.ServiceModel.Http (>= 4.9.0)
-
net7.0
- Microsoft.Extensions.Http (>= 7.0.0-preview.2.22152.2)
- System.Security.Cryptography.Xml (>= 7.0.0-preview.2.22152.2)
- System.ServiceModel.Http (>= 4.9.0)
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.5.0-alpha0008 | 84 | 5/19/2024 |
2.5.0-alpha0004 | 121 | 3/22/2024 |
2.5.0-alpha0001 | 122 | 1/30/2024 |
2.4.0 | 230 | 1/5/2024 |
2.4.0-alpha0090 | 107 | 1/5/2024 |
2.4.0-alpha0075 | 125 | 12/14/2023 |
2.4.0-alpha0061 | 128 | 6/23/2023 |
2.4.0-alpha0048 | 129 | 6/4/2023 |
2.4.0-alpha0036 | 125 | 5/19/2023 |
2.4.0-alpha0028 | 82 | 4/15/2023 |
2.4.0-alpha0021 | 105 | 2/21/2023 |
2.4.0-alpha0015 | 107 | 1/27/2023 |
2.4.0-alpha0010 | 109 | 1/27/2023 |
2.4.0-alpha0006 | 116 | 1/25/2023 |
2.4.0-alpha0003 | 102 | 1/25/2023 |
2.4.0-alpha0001 | 112 | 1/24/2023 |
2.3.0 | 190 | 1/24/2023 |
2.3.0-alpha0061 | 115 | 1/22/2023 |
2.3.0-alpha0049 | 104 | 1/19/2023 |
2.3.0-alpha0038 | 97 | 1/18/2023 |
2.3.0-alpha0028 | 139 | 1/16/2023 |
2.3.0-alpha0021 | 143 | 11/19/2022 |
2.3.0-alpha0015 | 121 | 10/28/2022 |
2.3.0-alpha0010 | 138 | 7/9/2022 |
2.3.0-alpha0006 | 133 | 5/11/2022 |
2.3.0-alpha0003 | 129 | 4/13/2022 |
2.3.0-alpha0001 | 123 | 4/12/2022 |
2.2.0 | 210 | 4/12/2022 |
2.2.0-alpha0131 | 126 | 4/12/2022 |
2.2.0-alpha0107 | 122 | 4/12/2022 |
2.2.0-alpha0084 | 124 | 4/8/2022 |
2.2.0-alpha0066 | 122 | 4/7/2022 |
2.2.0-alpha0050 | 130 | 4/7/2022 |
2.2.0-alpha0036 | 139 | 4/7/2022 |
2.2.0-alpha0023 | 121 | 4/6/2022 |
2.2.0-alpha0011 | 121 | 4/5/2022 |
2.2.0-alpha0003 | 121 | 4/4/2022 |
2.1.0 | 137 | 4/4/2022 |
2.1.0-alpha0316 | 120 | 4/4/2022 |
2.1.0-alpha0274 | 128 | 4/3/2022 |
2.1.0-alpha0234 | 136 | 4/1/2022 |
2.1.0-alpha0198 | 126 | 3/30/2022 |
2.1.0-alpha0168 | 120 | 3/28/2022 |
2.1.0-alpha0140 | 113 | 3/28/2022 |
2.1.0-alpha0114 | 121 | 3/28/2022 |
2.1.0-alpha0090 | 125 | 3/27/2022 |
2.1.0-alpha0068 | 120 | 3/27/2022 |
2.1.0-alpha0048 | 115 | 3/26/2022 |
2.1.0-alpha0032 | 120 | 3/25/2022 |
2.1.0-alpha0019 | 129 | 3/25/2022 |
2.1.0-alpha0008 | 119 | 3/24/2022 |
2.0.0 | 142 | 3/22/2022 |
2.0.0-beta0002 | 122 | 3/22/2022 |
2.0.0-beta0001 | 124 | 3/22/2022 |
2.0.0-alpha0011 | 116 | 3/24/2022 |
2.0.0-alpha0004 | 117 | 3/23/2022 |
1.1.0-alpha0161 | 123 | 3/22/2022 |
1.1.0-alpha0135 | 120 | 3/22/2022 |
1.1.0-alpha0111 | 118 | 3/22/2022 |
1.1.0-alpha0089 | 104 | 3/21/2022 |
1.1.0-alpha0069 | 115 | 3/21/2022 |
1.1.0-alpha0051 | 115 | 3/21/2022 |
1.1.0-alpha0036 | 120 | 3/21/2022 |
1.1.0-alpha0023 | 120 | 3/21/2022 |
1.1.0-alpha0012 | 119 | 3/20/2022 |
1.1.0-alpha0003 | 120 | 3/19/2022 |
1.1.0-alpha0001 | 121 | 3/19/2022 |
1.0.0 | 152 | 3/19/2022 |
1.0.0-beta0003 | 122 | 3/19/2022 |
1.0.0-beta0002 | 123 | 3/19/2022 |
1.0.0-beta0001 | 123 | 3/19/2022 |
0.2.0-alpha1222 | 118 | 3/19/2022 |
0.2.0-alpha1221 | 120 | 3/19/2022 |
0.2.0-alpha1118 | 118 | 3/19/2022 |
0.2.0-alpha1017 | 122 | 3/19/2022 |
0.2.0-alpha0926 | 118 | 3/19/2022 |
0.2.0-alpha0836 | 121 | 3/19/2022 |
0.2.0-alpha0747 | 120 | 3/18/2022 |
0.2.0-alpha0660 | 114 | 3/18/2022 |
0.2.0-alpha0574 | 120 | 3/18/2022 |
0.2.0-alpha0489 | 116 | 3/18/2022 |
0.2.0-alpha0405 | 127 | 3/18/2022 |
0.2.0-alpha0322 | 122 | 3/18/2022 |
0.2.0-alpha0240 | 120 | 3/18/2022 |
0.2.0-alpha0159 | 116 | 3/18/2022 |
0.2.0-alpha0079 | 119 | 3/17/2022 |
0.1.3 | 147 | 3/17/2022 |
0.1.3-alpha0051 | 132 | 3/17/2022 |
0.1.3-alpha0050 | 127 | 3/17/2022 |
0.1.3-alpha0049 | 122 | 3/17/2022 |
0.1.3-alpha0048 | 123 | 3/17/2022 |
0.1.3-alpha0047 | 124 | 3/16/2022 |
0.1.3-alpha0046 | 124 | 3/16/2022 |
0.1.3-alpha0045 | 122 | 3/16/2022 |
0.1.3-alpha.44 | 124 | 3/15/2022 |
0.1.3-alpha.43 | 124 | 3/14/2022 |
0.1.3-alpha.42 | 123 | 3/14/2022 |
0.1.3-alpha.41 | 119 | 3/14/2022 |
0.1.3-alpha.40 | 127 | 3/14/2022 |
0.1.3-alpha.39 | 115 | 3/14/2022 |
0.1.3-alpha.38 | 117 | 3/14/2022 |
0.1.3-alpha.37 | 126 | 3/14/2022 |
0.1.3-alpha.36 | 113 | 3/13/2022 |
0.1.3-alpha.35 | 127 | 3/13/2022 |
0.1.3-alpha.34 | 125 | 3/13/2022 |
0.1.3-alpha.33 | 122 | 3/13/2022 |
0.1.3-alpha.32 | 127 | 3/13/2022 |
0.1.3-alpha.31 | 121 | 3/13/2022 |
0.1.3-alpha.30 | 119 | 3/13/2022 |
0.1.3-alpha.29 | 116 | 3/13/2022 |
0.1.3-alpha.28 | 115 | 3/13/2022 |
0.1.3-alpha.27 | 120 | 3/13/2022 |
0.1.3-alpha.26 | 121 | 3/13/2022 |
0.1.3-alpha.8 | 123 | 3/13/2022 |
0.1.3-alpha.7 | 120 | 3/13/2022 |
0.1.3-alpha.4 | 126 | 3/13/2022 |
0.1.3-alpha.3 | 124 | 3/13/2022 |
0.1.3-alpha.2 | 144 | 3/13/2022 |
0.1.2 | 159 | 3/12/2022 |
0.1.2-alpha.15 | 147 | 3/12/2022 |
0.1.2-alpha.14 | 147 | 3/12/2022 |
0.1.2-alpha.13 | 137 | 3/12/2022 |
0.1.2-alpha.12 | 148 | 3/12/2022 |
0.1.2-alpha.11 | 146 | 3/12/2022 |
0.1.2-alpha.10 | 151 | 3/11/2022 |
0.1.2-alpha.7 | 147 | 3/11/2022 |
0.1.2-alpha.6 | 147 | 3/11/2022 |
0.1.2-alpha.2 | 149 | 3/10/2022 |
0.1.1 | 166 | 3/9/2022 |
0.1.1-alpha.10 | 139 | 3/10/2022 |
0.1.1-alpha.9 | 146 | 3/9/2022 |
0.1.1-alpha.6 | 152 | 3/9/2022 |
0.1.1-alpha.2 | 147 | 3/9/2022 |
0.1.0 | 155 | 3/7/2022 |
0.1.0-alpha.80 | 144 | 3/8/2022 |
0.1.0-alpha.79 | 154 | 3/8/2022 |
0.1.0-alpha.78 | 153 | 3/7/2022 |
0.1.0-alpha.77 | 144 | 3/6/2022 |
0.1.0-alpha.76 | 145 | 3/6/2022 |
0.1.0-alpha.75 | 135 | 3/6/2022 |
0.1.0-alpha.74 | 132 | 3/5/2022 |
0.1.0-alpha.73 | 144 | 3/5/2022 |
0.1.0-alpha.72 | 158 | 3/5/2022 |