SplatDev.Umbraco.Plugins.IspServices
2.0.4
dotnet add package SplatDev.Umbraco.Plugins.IspServices --version 2.0.4
NuGet\Install-Package SplatDev.Umbraco.Plugins.IspServices -Version 2.0.4
<PackageReference Include="SplatDev.Umbraco.Plugins.IspServices" Version="2.0.4" />
<PackageVersion Include="SplatDev.Umbraco.Plugins.IspServices" Version="2.0.4" />
<PackageReference Include="SplatDev.Umbraco.Plugins.IspServices" />
paket add SplatDev.Umbraco.Plugins.IspServices --version 2.0.4
#r "nuget: SplatDev.Umbraco.Plugins.IspServices, 2.0.4"
#:package SplatDev.Umbraco.Plugins.IspServices@2.0.4
#addin nuget:?package=SplatDev.Umbraco.Plugins.IspServices&version=2.0.4
#tool nuget:?package=SplatDev.Umbraco.Plugins.IspServices&version=2.0.4
IspServices
Umbraco ISP / IP resolution service — resolves client IP addresses including X-Forwarded-For header support.
Compatibility
| Umbraco | .NET | Package Version |
|---|---|---|
| 13.x | 8.0 | 2.0.0 |
| 17.x | 10.0 | 2.0.0 |
Installation
dotnet add package SplatDev.Umbraco.Plugins.IspServices
Quick Start
The plugin auto-registers via IspServicesComposer. Inject IISPService where needed:
public class MyController : SurfaceController
{
private readonly IISPService _ispService;
public MyController(IISPService ispService)
{
_ispService = ispService;
}
public IActionResult Index()
{
var clientIp = _ispService.GetClientIpAddress(HttpContext);
// Use clientIp for logging, geo-blocking, etc.
return Content($"Your IP: {clientIp}");
}
}
API
| Method | Signature | Description |
|---|---|---|
GetClientIpAddress |
string GetClientIpAddress(HttpContext context) |
Returns the client IP, falling back from RemoteIpAddress to X-Forwarded-For header |
Known Limitations
- Provides IP resolution only — no geo-location, ISP lookup, or IP intelligence features
- No controllers or backoffice UI; strictly a DI-registered service for programmatic use
- No support for
X-Real-IPor other proxy headers beyondX-Forwarded-For
Changelog
2.0.4 — 2026-08-24
Removes a dashboard screenshot that showed an error toast. It was captured against a site where this plugin's API was unreachable, so it advertised a broken dashboard. No screenshot is better than a misleading one; a replacement will be taken against a working install.
2.0.3 — 2026-08-24
Package metadata only: the listing now carries an icon and search tags, and the project and repository links point at the organisation that actually hosts this code. No code changes.
2.0.2 — 2026-08-24
This package now keeps a changelog. Earlier releases predate it and are not reconstructed here — consult the repository history for those. From this version on, every release records what changed for someone using it.
License
MIT © SplatDev
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Umbraco.Cms.Core (>= 17.3.4)
-
net8.0
- Umbraco.Cms.Core (>= 13.12.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.0.4 | 46 | 8/24/2026 |