maxmind-geoip2 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/README.md +13 -10
  4. data/lib/maxmind/geoip2/client.rb +18 -9
  5. data/lib/maxmind/geoip2/errors.rb +17 -8
  6. data/lib/maxmind/geoip2/model/city.rb +4 -5
  7. data/lib/maxmind/geoip2/model/connection_type.rb +3 -2
  8. data/lib/maxmind/geoip2/model/enterprise.rb +2 -3
  9. data/lib/maxmind/geoip2/model/insights.rb +3 -5
  10. data/lib/maxmind/geoip2/model/isp.rb +16 -0
  11. data/lib/maxmind/geoip2/reader.rb +1 -2
  12. data/lib/maxmind/geoip2/record/traits.rb +58 -26
  13. data/lib/maxmind/geoip2/version.rb +8 -0
  14. data/maxmind-geoip2.gemspec +8 -2
  15. data/test/data/MaxMind-DB-spec.md +15 -11
  16. data/test/data/cmd/write-test-data/main.go +68 -0
  17. data/test/data/go.mod +13 -0
  18. data/test/data/go.sum +16 -0
  19. data/test/data/perltidyrc +6 -0
  20. data/test/data/pkg/writer/decoder.go +178 -0
  21. data/test/data/pkg/writer/geoip2.go +182 -0
  22. data/test/data/pkg/writer/ip.go +39 -0
  23. data/test/data/pkg/writer/maxmind.go +245 -0
  24. data/test/data/pkg/writer/nestedstructures.go +73 -0
  25. data/test/data/pkg/writer/writer.go +58 -0
  26. data/test/data/source-data/GeoIP2-City-Test.json +402 -48
  27. data/test/data/source-data/GeoIP2-Connection-Type-Test.json +35 -10
  28. data/test/data/source-data/GeoIP2-Country-Test.json +145 -58
  29. data/test/data/source-data/GeoIP2-Domain-Test.json +5 -0
  30. data/test/data/source-data/GeoIP2-Enterprise-Test.json +408 -4
  31. data/test/data/source-data/GeoIP2-ISP-Test.json +10 -0
  32. data/test/data/source-data/GeoIP2-Precision-Enterprise-Sandbox-Test.json +296 -0
  33. data/test/data/source-data/GeoIP2-Precision-Enterprise-Test.json +473 -6
  34. data/test/data/source-data/GeoIP2-Static-IP-Score-Test.json +15 -0
  35. data/test/data/source-data/GeoIP2-User-Count-Test.json +18 -0
  36. data/test/data/source-data/GeoLite2-ASN-Test.json +4091 -8
  37. data/test/data/source-data/GeoLite2-City-Test.json +12972 -0
  38. data/test/data/source-data/GeoLite2-Country-Test.json +11372 -0
  39. data/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
  40. data/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
  41. data/test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb +0 -0
  42. data/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
  43. data/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
  44. data/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
  45. data/test/data/test-data/GeoIP2-DensityIncome-Test.mmdb +0 -0
  46. data/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
  47. data/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
  48. data/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
  49. data/test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb +0 -0
  50. data/test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb +0 -0
  51. data/test/data/test-data/GeoIP2-User-Count-Test.mmdb +0 -0
  52. data/test/data/test-data/GeoLite2-ASN-Test.mmdb +0 -0
  53. data/test/data/test-data/GeoLite2-City-Test.mmdb +0 -0
  54. data/test/data/test-data/GeoLite2-Country-Test.mmdb +0 -0
  55. data/test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb +0 -0
  56. data/test/data/test-data/MaxMind-DB-string-value-entries.mmdb +0 -0
  57. data/test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb +0 -0
  58. data/test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb +0 -0
  59. data/test/data/test-data/MaxMind-DB-test-decoder.mmdb +0 -0
  60. data/test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb +0 -0
  61. data/test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb +0 -0
  62. data/test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb +0 -0
  63. data/test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb +0 -0
  64. data/test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb +0 -0
  65. data/test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb +0 -0
  66. data/test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  67. data/test/data/test-data/MaxMind-DB-test-mixed-24.mmdb +0 -0
  68. data/test/data/test-data/MaxMind-DB-test-mixed-28.mmdb +0 -0
  69. data/test/data/test-data/MaxMind-DB-test-mixed-32.mmdb +0 -0
  70. data/test/data/test-data/MaxMind-DB-test-nested.mmdb +0 -0
  71. data/test/data/test-data/MaxMind-DB-test-pointer-decoder.mmdb +0 -0
  72. data/test/data/test-data/README.md +30 -14
  73. data/test/test_client.rb +18 -2
  74. data/test/test_reader.rb +37 -3
  75. metadata +21 -8
  76. data/test/data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  77. data/test/data/source-data/README +0 -15
  78. data/test/data/test-data/write-test-data.pl +0 -691
@@ -171,7 +171,6 @@
171
171
  "country" : {
172
172
  "confidence" : 95,
173
173
  "geoname_id" : 2635167,
174
- "is_in_european_union" : true,
175
174
  "iso_code" : "GB",
176
175
  "names" : {
177
176
  "de" : "Vereinigtes Königreich",
@@ -916,7 +915,6 @@
916
915
  "country" : {
917
916
  "confidence" : 95,
918
917
  "geoname_id" : 2635167,
919
- "is_in_european_union" : true,
920
918
  "iso_code" : "GB",
921
919
  "names" : {
922
920
  "de" : "Vereinigtes Königreich",
@@ -1000,7 +998,6 @@
1000
998
  "country" : {
1001
999
  "confidence" : 99,
1002
1000
  "geoname_id" : 2635167,
1003
- "is_in_european_union" : true,
1004
1001
  "iso_code" : "GB",
1005
1002
  "names" : {
1006
1003
  "de" : "Vereinigtes Königreich",
@@ -1230,7 +1227,8 @@
1230
1227
  "autonomous_system_organization" : "Precision AS Org",
1231
1228
  "isp" : "Precision ISP",
1232
1229
  "organization" : "Precision Org",
1233
- "static_ip_score" : 0.46
1230
+ "static_ip_score" : 0.46,
1231
+ "user_type" : "residential"
1234
1232
  }
1235
1233
  }
1236
1234
  },
@@ -1327,6 +1325,67 @@
1327
1325
  }
1328
1326
  }
1329
1327
  },
1328
+ {
1329
+ "::149.101.100.0/124" : {
1330
+ "continent" : {
1331
+ "code" : "NA",
1332
+ "geoname_id" : 6255149,
1333
+ "names" : {
1334
+ "de" : "Nordamerika",
1335
+ "en" : "North America",
1336
+ "es" : "América del Norte",
1337
+ "fr" : "Amérique du Nord",
1338
+ "ja" : "北アメリカ",
1339
+ "pt-BR" : "América do Norte",
1340
+ "ru" : "Северная Америка",
1341
+ "zh-CN" : "北美洲"
1342
+ }
1343
+ },
1344
+ "country" : {
1345
+ "confidence" : 99,
1346
+ "geoname_id" : 6252001,
1347
+ "iso_code" : "US",
1348
+ "names" : {
1349
+ "de" : "USA",
1350
+ "en" : "United States",
1351
+ "es" : "Estados Unidos",
1352
+ "fr" : "États-Unis",
1353
+ "ja" : "アメリカ合衆国",
1354
+ "pt-BR" : "Estados Unidos",
1355
+ "ru" : "США",
1356
+ "zh-CN" : "美国"
1357
+ }
1358
+ },
1359
+ "location" : {
1360
+ "accuracy_radius" : 1000,
1361
+ "latitude" : 37.751,
1362
+ "longitude" : -97.822,
1363
+ "time_zone" : "America/Chicago"
1364
+ },
1365
+ "registered_country" : {
1366
+ "geoname_id" : 2635167,
1367
+ "iso_code" : "GB",
1368
+ "names" : {
1369
+ "de" : "Vereinigtes Königreich",
1370
+ "en" : "United Kingdom",
1371
+ "es" : "Reino Unido",
1372
+ "fr" : "Royaume-Uni",
1373
+ "ja" : "イギリス",
1374
+ "pt-BR" : "Reino Unido",
1375
+ "ru" : "Великобритания",
1376
+ "zh-CN" : "英国"
1377
+ }
1378
+ },
1379
+ "traits" : {
1380
+ "autonomous_system_number" : 6167,
1381
+ "autonomous_system_organization" : "CELLCO-PART",
1382
+ "isp" : "Verizon Wireless",
1383
+ "mobile_country_code" : "310",
1384
+ "mobile_network_code" : "004",
1385
+ "organization" : "Verizon Wireless"
1386
+ }
1387
+ }
1388
+ },
1330
1389
  {
1331
1390
  "::175.16.199.0/120" : {
1332
1391
  "city" : {
@@ -1403,7 +1462,7 @@
1403
1462
  ],
1404
1463
  "traits" : {
1405
1464
  "static_ip_score" : 0.63,
1406
- "user_type" : "dialup"
1465
+ "user_type" : "residential"
1407
1466
  }
1408
1467
  }
1409
1468
  },
@@ -1490,6 +1549,106 @@
1490
1549
  }
1491
1550
  }
1492
1551
  },
1552
+ {
1553
+ "214.1.1.0/24" : {
1554
+ "traits": {
1555
+ "is_anycast": true
1556
+ }
1557
+ }
1558
+ },
1559
+ {
1560
+ "214.248.0.0/29" : {
1561
+ "city" : {
1562
+ "confidence" : 20,
1563
+ "geoname_id" : 4734825,
1564
+ "names" : {
1565
+ "en" : "Sugar Land",
1566
+ "ja" : "シュガーランド",
1567
+ "pt-BR" : "Sugar Land",
1568
+ "ru" : "Шугар-Ленд"
1569
+ }
1570
+ },
1571
+ "continent" : {
1572
+ "code" : "NA",
1573
+ "geoname_id" : 6255149,
1574
+ "names" : {
1575
+ "de" : "Nordamerika",
1576
+ "en" : "North America",
1577
+ "es" : "Norteamérica",
1578
+ "fr" : "Amérique du Nord",
1579
+ "ja" : "北アメリカ",
1580
+ "pt-BR" : "América do Norte",
1581
+ "ru" : "Северная Америка",
1582
+ "zh-CN" : "北美洲"
1583
+ }
1584
+ },
1585
+ "country" : {
1586
+ "confidence" : 99,
1587
+ "geoname_id" : 6252001,
1588
+ "iso_code" : "US",
1589
+ "names" : {
1590
+ "de" : "USA",
1591
+ "en" : "United States",
1592
+ "es" : "Estados Unidos",
1593
+ "fr" : "États-Unis",
1594
+ "ja" : "アメリカ合衆国",
1595
+ "pt-BR" : "Estados Unidos",
1596
+ "ru" : "США",
1597
+ "zh-CN" : "美国"
1598
+ }
1599
+ },
1600
+ "location" : {
1601
+ "accuracy_radius" : 1000,
1602
+ "latitude" : 29.6197,
1603
+ "longitude" : -95.635,
1604
+ "metro_code" : 618,
1605
+ "time_zone" : "America/Chicago"
1606
+ },
1607
+ "postal" : {
1608
+ "code" : "77487",
1609
+ "confidence" : 1
1610
+ },
1611
+ "registered_country" : {
1612
+ "geoname_id" : 6252001,
1613
+ "iso_code" : "US",
1614
+ "names" : {
1615
+ "de" : "USA",
1616
+ "en" : "United States",
1617
+ "es" : "Estados Unidos",
1618
+ "fr" : "États-Unis",
1619
+ "ja" : "アメリカ合衆国",
1620
+ "pt-BR" : "Estados Unidos",
1621
+ "ru" : "США",
1622
+ "zh-CN" : "美国"
1623
+ }
1624
+ },
1625
+ "subdivisions" : [
1626
+ {
1627
+ "confidence" : 60,
1628
+ "geoname_id" : 4736286,
1629
+ "iso_code" : "TX",
1630
+ "names" : {
1631
+ "en" : "Texas",
1632
+ "es" : "Texas",
1633
+ "fr" : "Texas",
1634
+ "ja" : "テキサス州",
1635
+ "ru" : "Техас",
1636
+ "zh-CN" : "德克萨斯州"
1637
+ }
1638
+ }
1639
+ ],
1640
+ "traits" : {
1641
+ "autonomous_system_number" : 11025,
1642
+ "autonomous_system_organization" : "Comcast Cable Communications, LLC",
1643
+ "connection_type" : "Cable/DSL",
1644
+ "domain" : "comcastbusiness.net",
1645
+ "isp" : "Comcast Business",
1646
+ "organization" : "Comcast Business",
1647
+ "static_ip_score" : 1.47,
1648
+ "user_type" : "hosting"
1649
+ }
1650
+ }
1651
+ },
1493
1652
  {
1494
1653
  "::208.110.217.113/128" : {
1495
1654
  "city" : {
@@ -1583,6 +1742,90 @@
1583
1742
  }
1584
1743
  }
1585
1744
  },
1745
+ {
1746
+ "214.78.120.0/22" : {
1747
+ "city" : {
1748
+ "geoname_id" : 5391811,
1749
+ "names" : {
1750
+ "de" : "San Diego",
1751
+ "en" : "San Diego",
1752
+ "es" : "San Diego",
1753
+ "fr" : "San Diego",
1754
+ "ja" : "サンディエゴ",
1755
+ "pt-BR" : "San Diego",
1756
+ "ru" : "Сан-Диего"
1757
+ }
1758
+ },
1759
+ "continent" : {
1760
+ "code" : "NA",
1761
+ "geoname_id" : 6255149,
1762
+ "names" : {
1763
+ "de" : "Nordamerika",
1764
+ "en" : "North America",
1765
+ "es" : "Norteamérica",
1766
+ "fr" : "Amérique du Nord",
1767
+ "ja" : "北アメリカ",
1768
+ "pt-BR" : "América do Norte",
1769
+ "ru" : "Северная Америка",
1770
+ "zh-CN" : "北美洲"
1771
+ }
1772
+ },
1773
+ "country" : {
1774
+ "geoname_id" : 6252001,
1775
+ "iso_code" : "US",
1776
+ "names" : {
1777
+ "de" : "Vereinigte Staaten",
1778
+ "en" : "United States",
1779
+ "es" : "Estados Unidos",
1780
+ "fr" : "États Unis",
1781
+ "ja" : "アメリカ",
1782
+ "pt-BR" : "EUA",
1783
+ "ru" : "США",
1784
+ "zh-CN" : "美国"
1785
+ }
1786
+ },
1787
+ "location" : {
1788
+ "accuracy_radius" : 100,
1789
+ "latitude" : 32.7405,
1790
+ "longitude" : -117.0935,
1791
+ "metro_code" : 825,
1792
+ "time_zone" : "America/Los_Angeles"
1793
+ },
1794
+ "postal" : {
1795
+ "code" : "92105"
1796
+ },
1797
+ "registered_country" : {
1798
+ "geoname_id" : 6252001,
1799
+ "iso_code" : "US",
1800
+ "names" : {
1801
+ "de" : "Vereinigte Staaten",
1802
+ "en" : "United States",
1803
+ "es" : "Estados Unidos",
1804
+ "fr" : "États Unis",
1805
+ "ja" : "アメリカ",
1806
+ "pt-BR" : "EUA",
1807
+ "ru" : "США",
1808
+ "zh-CN" : "美国"
1809
+ }
1810
+ },
1811
+ "subdivisions" : [
1812
+ {
1813
+ "geoname_id" : 5332921,
1814
+ "iso_code" : "CA",
1815
+ "names" : {
1816
+ "de" : "Kalifornien",
1817
+ "en" : "California",
1818
+ "es" : "California",
1819
+ "fr" : "Californie",
1820
+ "ja" : "カリフォルニア州",
1821
+ "pt-BR" : "Califórnia",
1822
+ "ru" : "Калифорния",
1823
+ "zh-CN" : "加州"
1824
+ }
1825
+ }
1826
+ ]
1827
+ }
1828
+ },
1586
1829
  {
1587
1830
  "::216.160.83.56/125" : {
1588
1831
  "city" : {
@@ -1635,7 +1878,6 @@
1635
1878
  },
1636
1879
  "registered_country" : {
1637
1880
  "geoname_id" : 2635167,
1638
- "is_in_european_union" : true,
1639
1881
  "iso_code" : "GB",
1640
1882
  "names" : {
1641
1883
  "de" : "Vereinigtes Königreich",
@@ -1874,6 +2116,82 @@
1874
2116
  }
1875
2117
  }
1876
2118
  },
2119
+ {
2120
+ "214.214.214.214/32" : {
2121
+ "traits" : {
2122
+ "static_ip_score" : 0.4,
2123
+ "user_type" : "content_delivery_network"
2124
+ }
2125
+ }
2126
+ },
2127
+ {
2128
+ "214.214.214.215/32" : {
2129
+ "traits" : {
2130
+ "static_ip_score" : 0.4,
2131
+ "user_type" : "business"
2132
+ }
2133
+ }
2134
+ },
2135
+ {
2136
+ "214.214.214.216/32" : {
2137
+ "traits" : {
2138
+ "static_ip_score" : 0.4,
2139
+ "user_type" : "traveler"
2140
+ }
2141
+ }
2142
+ },
2143
+ {
2144
+ "214.214.214.217/32" : {
2145
+ "traits" : {
2146
+ "static_ip_score" : 0.4,
2147
+ "user_type" : "traveler"
2148
+ }
2149
+ }
2150
+ },
2151
+ {
2152
+ "214.214.214.218/32" : {
2153
+ "traits" : {
2154
+ "static_ip_score" : 0.4,
2155
+ "user_type" : "business"
2156
+ }
2157
+ }
2158
+ },
2159
+ {
2160
+ "214.214.214.219/32" : {
2161
+ "traits" : {
2162
+ "static_ip_score" : 0.4,
2163
+ "user_type" : "business"
2164
+ }
2165
+ }
2166
+ },
2167
+ {
2168
+ "214.214.214.220/32" : {
2169
+ "traits" : {
2170
+ "static_ip_score" : 0.4,
2171
+ "user_type" : "business"
2172
+ }
2173
+ }
2174
+ },
2175
+ {
2176
+ "214.214.214.230/32" : {
2177
+ "traits" : {
2178
+ "isp" : "Unexpected Cellular",
2179
+ "organization" : "Unexpected Cellular",
2180
+ "static_ip_score" : 0.4,
2181
+ "user_type" : "cellular"
2182
+ }
2183
+ }
2184
+ },
2185
+ {
2186
+ "214.214.214.231/32" : {
2187
+ "traits" : {
2188
+ "isp" : "Unexpected Cellular Two",
2189
+ "organization" : "Unexpected Cellular Two",
2190
+ "static_ip_score" : 0.4,
2191
+ "user_type" : "cellular"
2192
+ }
2193
+ }
2194
+ },
1877
2195
  {
1878
2196
  "2001:219::/32" : {
1879
2197
  "city" : {
@@ -2144,5 +2462,154 @@
2144
2462
  "user_type" : "business"
2145
2463
  }
2146
2464
  }
2465
+ },
2466
+ {
2467
+ "2001:480::/64" : {
2468
+ "continent" : {
2469
+ "code" : "AS",
2470
+ "geoname_id" : 6255147,
2471
+ "names" : {
2472
+ "de" : "Asien",
2473
+ "en" : "Asia",
2474
+ "es" : "Asia",
2475
+ "fr" : "Asie",
2476
+ "ja" : "アジア",
2477
+ "pt-BR" : "Ásia",
2478
+ "ru" : "Азия",
2479
+ "zh-CN" : "亚洲"
2480
+ }
2481
+ },
2482
+ "country" : {
2483
+ "geoname_id" : 1861060,
2484
+ "iso_code" : "JP",
2485
+ "names" : {
2486
+ "de" : "Japan",
2487
+ "en" : "Japan",
2488
+ "es" : "Japón",
2489
+ "fr" : "Japon",
2490
+ "ja" : "日本",
2491
+ "pt-BR" : "Japão",
2492
+ "ru" : "Япония",
2493
+ "zh-CN" : "日本"
2494
+ }
2495
+ },
2496
+ "location" : {
2497
+ "accuracy_radius" : 100,
2498
+ "latitude" : 35.68536,
2499
+ "longitude" : 139.75309,
2500
+ "time_zone" : "Asia/Tokyo"
2501
+ },
2502
+ "registered_country" : {
2503
+ "geoname_id" : 1861060,
2504
+ "iso_code" : "JP",
2505
+ "names" : {
2506
+ "de" : "Japan",
2507
+ "en" : "Japan",
2508
+ "es" : "Japón",
2509
+ "fr" : "Japon",
2510
+ "ja" : "日本",
2511
+ "pt-BR" : "Japão",
2512
+ "ru" : "Япония",
2513
+ "zh-CN" : "日本"
2514
+ }
2515
+ }
2516
+ }
2517
+ },
2518
+ {
2519
+ "214.78.0.0/23" : {
2520
+ "city" : {
2521
+ "confidence" : 99,
2522
+ "geoname_id" : 5391811,
2523
+ "names" : {
2524
+ "de" : "San Diego",
2525
+ "en" : "San Diego",
2526
+ "es" : "San Diego",
2527
+ "fr" : "San Diego",
2528
+ "ja" : "サンディエゴ",
2529
+ "pt-BR" : "San Diego",
2530
+ "ru" : "Сан-Диего"
2531
+ }
2532
+ },
2533
+ "continent" : {
2534
+ "code" : "NA",
2535
+ "geoname_id" : 6255149,
2536
+ "names" : {
2537
+ "de" : "Nordamerika",
2538
+ "en" : "North America",
2539
+ "es" : "Norteamérica",
2540
+ "fr" : "Amérique du Nord",
2541
+ "ja" : "北アメリカ",
2542
+ "pt-BR" : "América do Norte",
2543
+ "ru" : "Северная Америка",
2544
+ "zh-CN" : "北美洲"
2545
+ }
2546
+ },
2547
+ "country" : {
2548
+ "confidence" : 99,
2549
+ "geoname_id" : 6252001,
2550
+ "iso_code" : "US",
2551
+ "names" : {
2552
+ "de" : "Vereinigte Staaten",
2553
+ "en" : "United States",
2554
+ "es" : "Estados Unidos",
2555
+ "fr" : "États Unis",
2556
+ "ja" : "アメリカ",
2557
+ "pt-BR" : "EUA",
2558
+ "ru" : "США",
2559
+ "zh-CN" : "美国"
2560
+ }
2561
+ },
2562
+ "location" : {
2563
+ "accuracy_radius" : 10,
2564
+ "latitude" : 32.7449,
2565
+ "longitude" : -117.165,
2566
+ "metro_code" : 825,
2567
+ "time_zone" : "America/Los_Angeles"
2568
+ },
2569
+ "postal" : {
2570
+ "code" : "92103",
2571
+ "confidence" : 90
2572
+ },
2573
+ "registered_country" : {
2574
+ "geoname_id" : 6252001,
2575
+ "iso_code" : "US",
2576
+ "names" : {
2577
+ "de" : "Vereinigte Staaten",
2578
+ "en" : "United States",
2579
+ "es" : "Estados Unidos",
2580
+ "fr" : "États Unis",
2581
+ "ja" : "アメリカ",
2582
+ "pt-BR" : "EUA",
2583
+ "ru" : "США",
2584
+ "zh-CN" : "美国"
2585
+ }
2586
+ },
2587
+ "subdivisions" : [
2588
+ {
2589
+ "confidence" : 99,
2590
+ "geoname_id" : 5332921,
2591
+ "iso_code" : "CA",
2592
+ "names" : {
2593
+ "de" : "Kalifornien",
2594
+ "en" : "California",
2595
+ "es" : "California",
2596
+ "fr" : "Californie",
2597
+ "ja" : "カリフォルニア州",
2598
+ "pt-BR" : "Califórnia",
2599
+ "ru" : "Калифорния",
2600
+ "zh-CN" : "加州"
2601
+ }
2602
+ }
2603
+ ],
2604
+ "traits" : {
2605
+ "autonomous_system_number" : 5972,
2606
+ "autonomous_system_organization" : "DNIC-ASBLK-05800-06055",
2607
+ "connection_type" : "Cable/DSL",
2608
+ "domain" : "health.mil",
2609
+ "isp" : "US Air Force",
2610
+ "organization" : "US Department of Defense",
2611
+ "user_type" : "military"
2612
+ }
2613
+ }
2147
2614
  }
2148
2615
  ]
@@ -734,6 +734,21 @@
734
734
  "score" : 1.47
735
735
  }
736
736
  },
737
+ {
738
+ "::214.2.3.0/126" : {
739
+ "score" : 0.04
740
+ }
741
+ },
742
+ {
743
+ "::214.2.3.4/128" : {
744
+ "score" : 0.05
745
+ }
746
+ },
747
+ {
748
+ "::214.2.3.5/128" : {
749
+ "score" : 0.06
750
+ }
751
+ },
737
752
  {
738
753
  "::1:0:0:0/80" : {
739
754
  "score" : 1.48
@@ -881,6 +881,24 @@
881
881
  "ipv4_32" : 0
882
882
  }
883
883
  },
884
+ {
885
+ "::214.2.3.0/126" : {
886
+ "ipv4_24" : 4,
887
+ "ipv4_32" : 0
888
+ }
889
+ },
890
+ {
891
+ "::214.2.3.4/128" : {
892
+ "ipv4_24" : 4,
893
+ "ipv4_32" : 3
894
+ }
895
+ },
896
+ {
897
+ "::214.2.3.5/128" : {
898
+ "ipv4_24" : 4,
899
+ "ipv4_32" : 1
900
+ }
901
+ },
884
902
  {
885
903
  "::1:0:0:0/80" : {
886
904
  "ipv6_32" : 0,