IPGeolocation.MMDB.Reader
1.0.1
dotnet add package IPGeolocation.MMDB.Reader --version 1.0.1
NuGet\Install-Package IPGeolocation.MMDB.Reader -Version 1.0.1
<PackageReference Include="IPGeolocation.MMDB.Reader" Version="1.0.1" />
<PackageVersion Include="IPGeolocation.MMDB.Reader" Version="1.0.1" />
<PackageReference Include="IPGeolocation.MMDB.Reader" />
paket add IPGeolocation.MMDB.Reader --version 1.0.1
#r "nuget: IPGeolocation.MMDB.Reader, 1.0.1"
#:package IPGeolocation.MMDB.Reader@1.0.1
#addin nuget:?package=IPGeolocation.MMDB.Reader&version=1.0.1
#tool nuget:?package=IPGeolocation.MMDB.Reader&version=1.0.1
IPGeolocation MMDB Reader for .NET
A fast, minimal .NET reader for MaxMind DB (.mmdb) files.
- No runtime NuGet dependencies
- IPv4 and IPv6 lookups
- Supports 24-, 28-, and 32-bit MMDB search-tree records
- Targets .NET 8 and .NET Standard 2.0
Installation
dotnet add package IPGeolocation.MMDB.Reader
You must supply an MMDB database. You can build one yourself or obtain an IPGeolocation.io database from https://ipgeolocation.io/ip-geolocation-database.html.
Quick start
using System.Collections.Generic;
using IPGeolocation.MMDB;
using var reader = new MmdbReader("db-ip-city-company-asn.mmdb");
var result = reader.Lookup("1.1.1.1");
if (result is IReadOnlyDictionary<string, object?> record)
{
Console.WriteLine(record["location"]);
}
Lookup returns the decoded database value, or null when the address has no
matching record. Maps are returned as IReadOnlyDictionary<string, object?>,
arrays as read-only lists, binary values as byte[], and 128-bit unsigned
integers as System.Numerics.BigInteger.
API
new MmdbReader(fileName)
Loads an MMDB file and parses its metadata.
Lookup(ipAddress)
Looks up a string or System.Net.IPAddress.
LookupMany(ipAddresses)
Lazily returns an ordered sequence of IP/result pairs.
Metadata
Exposes the decoded MMDB metadata as a read-only dictionary.
LookupOffset(ipAddress) and DecodeAt(offset)
Provide lower-level access when an application wants to separate search-tree traversal from record decoding.
Errors
MmdbException— invalid IP address or another reader-specific failureMetadataException— missing or invalid MMDB metadataCorruptDatabaseException— truncated or structurally invalid databaseUnsupportedRecordSizeException— record size other than 24, 28, or 32
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.