├── .github ├── dependabot.yml └── workflows │ ├── codeql-analysis.yml │ ├── test.yml │ └── zizmor.yml ├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── CLAUDE.md ├── LICENSE ├── README.dev.md ├── README.md ├── checkstyle-suppressions.xml ├── checkstyle.xml ├── dev-bin └── release.sh ├── pom.xml ├── sample └── Benchmark.java └── src ├── assembly └── bin.xml ├── main └── java │ ├── com │ └── maxmind │ │ └── geoip2 │ │ ├── DatabaseProvider.java │ │ ├── DatabaseReader.java │ │ ├── GeoIp2Provider.java │ │ ├── InetAddressDeserializer.java │ │ ├── InetAddressModule.java │ │ ├── InetAddressSerializer.java │ │ ├── JsonSerializable.java │ │ ├── NamedRecord.java │ │ ├── NetworkDeserializer.java │ │ ├── WebServiceClient.java │ │ ├── WebServiceProvider.java │ │ ├── exception │ │ ├── AddressNotFoundException.java │ │ ├── AuthenticationException.java │ │ ├── GeoIp2Exception.java │ │ ├── HttpException.java │ │ ├── InvalidRequestException.java │ │ ├── OutOfQueriesException.java │ │ └── PermissionRequiredException.java │ │ ├── model │ │ ├── AnonymousIpResponse.java │ │ ├── AnonymousPlusResponse.java │ │ ├── AsnResponse.java │ │ ├── CityResponse.java │ │ ├── ConnectionTypeResponse.java │ │ ├── CountryResponse.java │ │ ├── DomainResponse.java │ │ ├── EnterpriseResponse.java │ │ ├── InsightsResponse.java │ │ ├── IpRiskResponse.java │ │ └── IspResponse.java │ │ └── record │ │ ├── Anonymizer.java │ │ ├── City.java │ │ ├── Continent.java │ │ ├── Country.java │ │ ├── Location.java │ │ ├── MaxMind.java │ │ ├── Postal.java │ │ ├── RepresentedCountry.java │ │ ├── Subdivision.java │ │ └── Traits.java │ └── module-info.java └── test ├── java └── com │ └── maxmind │ └── geoip2 │ ├── DatabaseReaderTest.java │ ├── NetworkDeserializerTest.java │ ├── WebServiceClientTest.java │ ├── json │ └── File.java │ ├── matchers │ ├── CodeMatcher.java │ └── HttpStatusMatcher.java │ └── model │ ├── CityResponseTest.java │ ├── CountryResponseTest.java │ ├── InsightsResponseTest.java │ └── JsonTest.java └── resources └── test-data ├── city0.json ├── country0.json ├── insights0.json └── insights1.json /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/.github/workflows/codeql-analysis.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.github/workflows/zizmor.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/.github/workflows/zizmor.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/.gitmodules -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CLAUDE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/CLAUDE.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/LICENSE -------------------------------------------------------------------------------- /README.dev.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/README.dev.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/README.md -------------------------------------------------------------------------------- /checkstyle-suppressions.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/checkstyle-suppressions.xml -------------------------------------------------------------------------------- /checkstyle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/checkstyle.xml -------------------------------------------------------------------------------- /dev-bin/release.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/dev-bin/release.sh -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/pom.xml -------------------------------------------------------------------------------- /sample/Benchmark.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/sample/Benchmark.java -------------------------------------------------------------------------------- /src/assembly/bin.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/assembly/bin.xml -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/DatabaseProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/DatabaseProvider.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/DatabaseReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/DatabaseReader.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/GeoIp2Provider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/GeoIp2Provider.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/InetAddressDeserializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/InetAddressDeserializer.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/InetAddressModule.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/InetAddressModule.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/InetAddressSerializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/InetAddressSerializer.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/JsonSerializable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/JsonSerializable.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/NamedRecord.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/NamedRecord.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/NetworkDeserializer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/NetworkDeserializer.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/WebServiceClient.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/WebServiceClient.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/WebServiceProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/WebServiceProvider.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/exception/AddressNotFoundException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/exception/AddressNotFoundException.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/exception/AuthenticationException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/exception/AuthenticationException.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/exception/GeoIp2Exception.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/exception/GeoIp2Exception.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/exception/HttpException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/exception/HttpException.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/exception/InvalidRequestException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/exception/InvalidRequestException.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/exception/OutOfQueriesException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/exception/OutOfQueriesException.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/exception/PermissionRequiredException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/exception/PermissionRequiredException.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/AnonymousIpResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/AnonymousIpResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/AnonymousPlusResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/AnonymousPlusResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/AsnResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/AsnResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/CityResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/CityResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/ConnectionTypeResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/ConnectionTypeResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/CountryResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/CountryResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/DomainResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/DomainResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/EnterpriseResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/EnterpriseResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/InsightsResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/InsightsResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/IpRiskResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/IpRiskResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/model/IspResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/model/IspResponse.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/Anonymizer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/Anonymizer.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/City.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/City.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/Continent.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/Continent.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/Country.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/Country.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/Location.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/MaxMind.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/MaxMind.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/Postal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/Postal.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/RepresentedCountry.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/RepresentedCountry.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/Subdivision.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/Subdivision.java -------------------------------------------------------------------------------- /src/main/java/com/maxmind/geoip2/record/Traits.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/com/maxmind/geoip2/record/Traits.java -------------------------------------------------------------------------------- /src/main/java/module-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/main/java/module-info.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/DatabaseReaderTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/DatabaseReaderTest.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/NetworkDeserializerTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/NetworkDeserializerTest.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/WebServiceClientTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/WebServiceClientTest.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/json/File.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/json/File.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/matchers/CodeMatcher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/matchers/CodeMatcher.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/matchers/HttpStatusMatcher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/matchers/HttpStatusMatcher.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/model/CityResponseTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/model/CityResponseTest.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/model/CountryResponseTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/model/CountryResponseTest.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/model/InsightsResponseTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/model/InsightsResponseTest.java -------------------------------------------------------------------------------- /src/test/java/com/maxmind/geoip2/model/JsonTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/java/com/maxmind/geoip2/model/JsonTest.java -------------------------------------------------------------------------------- /src/test/resources/test-data/city0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/resources/test-data/city0.json -------------------------------------------------------------------------------- /src/test/resources/test-data/country0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/resources/test-data/country0.json -------------------------------------------------------------------------------- /src/test/resources/test-data/insights0.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/resources/test-data/insights0.json -------------------------------------------------------------------------------- /src/test/resources/test-data/insights1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maxmind/GeoIP2-java/HEAD/src/test/resources/test-data/insights1.json --------------------------------------------------------------------------------