Package co.mindus.ip2location


package co.mindus.ip2location
IP2Location IP geolocation service: a product-neutral library that downloads the monthly IP2Location LITE BIN databases, loads them (memory-mapped or standard I/O), answers IPv4 and IPv6 lookups locally, hot-swaps configurations and recovers from corrupted state.

Origin and sharing. The library is shared with another Mindus server product under the same package name. The two copies are maintained separately: this copy targets Java 25 and carries no reference to any host server. Everything host-specific - logging, settings, the cluster index, the administration UI - reaches it through the interfaces IEventLogger, IThreadFactory and the IP2LocationService.Builder; the IIZI integration lives in com.iizix.server.geo.ip2location.

Layers. IP2LocationManager (singleton, hot-swap, recovery, status listeners) over IP2LocationService (downloads, scheduler, thread-safe lookups) over IP2Location (the BIN file reader). EventLogManager and IP2LocationEventLog are the two event logs (pipe-delimited text and JSON lines with session counters).

Third-party material. The BIN reader's field position tables and binary search follow the upstream IP2Location Java component (com.ip2location, version 8.13.0, MIT licence, Copyright (c) 2025-2026 IP2Location). The IP2Location LITE data the service downloads is licensed separately by IP2Location with attribution requirements; the download token is the operator's own.

Author:
Christopher Mindus