maxmind-db 1.0.0.beta

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +4 -0
  3. data/LICENSE-APACHE +202 -0
  4. data/LICENSE-MIT +17 -0
  5. data/README.dev.md +30 -0
  6. data/README.md +54 -0
  7. data/Rakefile +12 -0
  8. data/bin/mmdb-benchmark.rb +61 -0
  9. data/lib/maxmind/db.rb +274 -0
  10. data/lib/maxmind/db/decoder.rb +232 -0
  11. data/lib/maxmind/db/errors.rb +8 -0
  12. data/lib/maxmind/db/file_reader.rb +37 -0
  13. data/lib/maxmind/db/memory_reader.rb +24 -0
  14. data/lib/maxmind/db/metadata.rb +61 -0
  15. data/maxmind-db.gemspec +19 -0
  16. data/test/data/LICENSE +4 -0
  17. data/test/data/MaxMind-DB-spec.md +558 -0
  18. data/test/data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
  19. data/test/data/README.md +4 -0
  20. data/test/data/bad-data/README.md +7 -0
  21. data/test/data/bad-data/libmaxminddb/libmaxminddb-offset-integer-overflow.mmdb +0 -0
  22. data/test/data/bad-data/maxminddb-golang/cyclic-data-structure.mmdb +0 -0
  23. data/test/data/bad-data/maxminddb-golang/invalid-bytes-length.mmdb +1 -0
  24. data/test/data/bad-data/maxminddb-golang/invalid-data-record-offset.mmdb +0 -0
  25. data/test/data/bad-data/maxminddb-golang/invalid-map-key-length.mmdb +0 -0
  26. data/test/data/bad-data/maxminddb-golang/invalid-string-length.mmdb +1 -0
  27. data/test/data/bad-data/maxminddb-golang/metadata-is-an-uint128.mmdb +1 -0
  28. data/test/data/bad-data/maxminddb-golang/unexpected-bytes.mmdb +0 -0
  29. data/test/data/perltidyrc +12 -0
  30. data/test/data/source-data/GeoIP2-Anonymous-IP-Test.json +41 -0
  31. data/test/data/source-data/GeoIP2-City-Test.json +12852 -0
  32. data/test/data/source-data/GeoIP2-Connection-Type-Test.json +102 -0
  33. data/test/data/source-data/GeoIP2-Country-Test.json +11347 -0
  34. data/test/data/source-data/GeoIP2-DensityIncome-Test.json +14 -0
  35. data/test/data/source-data/GeoIP2-Domain-Test.json +452 -0
  36. data/test/data/source-data/GeoIP2-Enterprise-Test.json +673 -0
  37. data/test/data/source-data/GeoIP2-ISP-Test.json +12585 -0
  38. data/test/data/source-data/GeoIP2-Precision-Enterprise-Test.json +1598 -0
  39. data/test/data/source-data/GeoIP2-User-Count-Test.json +2824 -0
  40. data/test/data/source-data/GeoLite2-ASN-Test.json +37 -0
  41. data/test/data/source-data/README +15 -0
  42. data/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
  43. data/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
  44. data/test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb +0 -0
  45. data/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
  46. data/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
  47. data/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
  48. data/test/data/test-data/GeoIP2-DensityIncome-Test.mmdb +0 -0
  49. data/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
  50. data/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
  51. data/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
  52. data/test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb +0 -0
  53. data/test/data/test-data/GeoIP2-User-Count-Test.mmdb +0 -0
  54. data/test/data/test-data/GeoLite2-ASN-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/README.md +26 -0
  72. data/test/data/test-data/maps-with-pointers.raw +0 -0
  73. data/test/data/test-data/write-test-data.pl +620 -0
  74. data/test/data/tidyall.ini +5 -0
  75. data/test/mmdb_util.rb +24 -0
  76. data/test/test_decoder.rb +241 -0
  77. data/test/test_reader.rb +415 -0
  78. metadata +126 -0
@@ -0,0 +1,1598 @@
1
+ [
2
+ {
3
+ "::2.125.160.216/125" : {
4
+ "city" : {
5
+ "confidence" : 50,
6
+ "geoname_id" : "2655045",
7
+ "names" : {
8
+ "en" : "Boxford"
9
+ }
10
+ },
11
+ "continent" : {
12
+ "code" : "EU",
13
+ "geoname_id" : 6255148,
14
+ "names" : {
15
+ "de" : "Europa",
16
+ "en" : "Europe",
17
+ "es" : "Europa",
18
+ "fr" : "Europe",
19
+ "ja" : "ヨーロッパ",
20
+ "pt-BR" : "Europa",
21
+ "ru" : "Европа",
22
+ "zh-CN" : "欧洲"
23
+ }
24
+ },
25
+ "country" : {
26
+ "confidence" : 95,
27
+ "geoname_id" : 2635167,
28
+ "is_in_european_union" : true,
29
+ "iso_code" : "GB",
30
+ "names" : {
31
+ "de" : "Vereinigtes Königreich",
32
+ "en" : "United Kingdom",
33
+ "es" : "Reino Unido",
34
+ "fr" : "Royaume-Uni",
35
+ "ja" : "イギリス",
36
+ "pt-BR" : "Reino Unido",
37
+ "ru" : "Великобритания",
38
+ "zh-CN" : "英国"
39
+ }
40
+ },
41
+ "location" : {
42
+ "accuracy_radius" : 100,
43
+ "latitude" : "51.7500",
44
+ "longitude" : "-1.2500",
45
+ "time_zone" : "Europe/London"
46
+ },
47
+ "postal" : {
48
+ "code" : "OX1",
49
+ "confidence" : 20
50
+ },
51
+ "registered_country" : {
52
+ "geoname_id" : 3017382,
53
+ "is_in_european_union" : true,
54
+ "iso_code" : "FR",
55
+ "names" : {
56
+ "de" : "Frankreich",
57
+ "en" : "France",
58
+ "es" : "Francia",
59
+ "fr" : "France",
60
+ "ja" : "フランス共和国",
61
+ "pt-BR" : "França",
62
+ "ru" : "Франция",
63
+ "zh-CN" : "法国"
64
+ }
65
+ },
66
+ "subdivisions" : [
67
+ {
68
+ "confidence" : 70,
69
+ "geoname_id" : 6269131,
70
+ "iso_code" : "ENG",
71
+ "names" : {
72
+ "en" : "England",
73
+ "es" : "Inglaterra",
74
+ "fr" : "Angleterre",
75
+ "pt-BR" : "Inglaterra"
76
+ }
77
+ },
78
+ {
79
+ "geoname_id" : 3333217,
80
+ "iso_code" : "WBK",
81
+ "names" : {
82
+ "en" : "West Berkshire",
83
+ "ru" : "Западный Беркшир",
84
+ "zh-CN" : "西伯克郡"
85
+ }
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ {
91
+ "::5.83.124.0/118" : {
92
+ "registered_country" : {
93
+ "geoname_id" : 798549,
94
+ "is_in_european_union" : true,
95
+ "iso_code" : "RO",
96
+ "names" : {
97
+ "de" : "Rumänien",
98
+ "en" : "Romania",
99
+ "es" : "Rumanía",
100
+ "fr" : "Roumanie",
101
+ "ja" : "ルーマニア",
102
+ "pt-BR" : "Romênia",
103
+ "ru" : "Румыния",
104
+ "zh-CN" : "罗马尼亚"
105
+ }
106
+ },
107
+ "traits" : {
108
+ "is_anonymous_proxy" : true,
109
+ "isp" : "WifiNetCom"
110
+ }
111
+ }
112
+ },
113
+ {
114
+ "::12.87.118.0/119" : {
115
+ "traits" : {
116
+ "autonomous_system_number" : 7018,
117
+ "isp" : "AT&T Services",
118
+ "organization" : "AT&T Worldnet Services"
119
+ }
120
+ }
121
+ },
122
+ {
123
+ "::41.189.160.0/124" : {
124
+ "city" : {
125
+ "geoname_id" : 2293801,
126
+ "names" : {
127
+ "en" : "Yendi"
128
+ }
129
+ },
130
+ "continent" : {
131
+ "code" : "AF",
132
+ "geoname_id" : 6255146,
133
+ "names" : {
134
+ "de" : "Afrika",
135
+ "en" : "Africa",
136
+ "es" : "África",
137
+ "fr" : "Afrique",
138
+ "ja" : "アフリカ",
139
+ "pt-BR" : "África",
140
+ "ru" : "Африка",
141
+ "zh-CN" : "非洲"
142
+ }
143
+ },
144
+ "country" : {
145
+ "geoname_id" : 2300660,
146
+ "iso_code" : "GH",
147
+ "names" : {
148
+ "de" : "Ghana",
149
+ "en" : "Ghana",
150
+ "es" : "Ghana",
151
+ "fr" : "Ghana",
152
+ "ja" : "ガーナ共和国",
153
+ "pt-BR" : "Gana",
154
+ "ru" : "Гана",
155
+ "zh-CN" : "加纳"
156
+ }
157
+ },
158
+ "location" : {
159
+ "accuracy_radius" : 20,
160
+ "latitude" : 9.4333,
161
+ "longitude" : -0.0167,
162
+ "time_zone" : "Africa/Accra"
163
+ },
164
+ "registered_country" : {
165
+ "geoname_id" : 2300660,
166
+ "iso_code" : "GH",
167
+ "names" : {
168
+ "de" : "Ghana",
169
+ "en" : "Ghana",
170
+ "es" : "Ghana",
171
+ "fr" : "Ghana",
172
+ "ja" : "ガーナ共和国",
173
+ "pt-BR" : "Gana",
174
+ "ru" : "Гана",
175
+ "zh-CN" : "加纳"
176
+ }
177
+ },
178
+ "subdivisions" : [
179
+ {
180
+ "geoname_id" : 2297169,
181
+ "iso_code" : "NP",
182
+ "names" : {
183
+ "en" : "Northern Region"
184
+ }
185
+ }
186
+ ]
187
+ }
188
+ },
189
+ {
190
+ "::64.17.254.216/125" : {
191
+ "city" : {
192
+ "confidence" : 40,
193
+ "geoname_id" : 5368361,
194
+ "names" : {
195
+ "de" : "Los Angeles",
196
+ "en" : "Los Angeles",
197
+ "es" : "Los Ángeles",
198
+ "fr" : "Los Angeles",
199
+ "ja" : "ロサンゼルス",
200
+ "pt-BR" : "Los Angeles",
201
+ "ru" : "Лос-Анджелес",
202
+ "zh-CN" : "洛杉矶"
203
+ }
204
+ },
205
+ "continent" : {
206
+ "code" : "NA",
207
+ "geoname_id" : 6255149,
208
+ "names" : {
209
+ "de" : "Nordamerika",
210
+ "en" : "North America",
211
+ "es" : "Norteamérica",
212
+ "fr" : "Amérique du Nord",
213
+ "ja" : "北アメリカ",
214
+ "pt-BR" : "América do Norte",
215
+ "ru" : "Северная Америка",
216
+ "zh-CN" : "北美洲"
217
+ }
218
+ },
219
+ "country" : {
220
+ "confidence" : 99,
221
+ "geoname_id" : 6252001,
222
+ "iso_code" : "US",
223
+ "names" : {
224
+ "de" : "USA",
225
+ "en" : "United States",
226
+ "es" : "Estados Unidos",
227
+ "fr" : "États-Unis",
228
+ "ja" : "アメリカ合衆国",
229
+ "pt-BR" : "Estados Unidos",
230
+ "ru" : "США",
231
+ "zh-CN" : "美国"
232
+ }
233
+ },
234
+ "location" : {
235
+ "accuracy_radius" : 20,
236
+ "latitude" : 34.0544,
237
+ "longitude" : -118.244,
238
+ "metro_code" : 803,
239
+ "time_zone" : "America/Los_Angeles"
240
+ },
241
+ "postal" : {
242
+ "code" : "90009",
243
+ "confidence" : 1
244
+ },
245
+ "registered_country" : {
246
+ "geoname_id" : 6252001,
247
+ "iso_code" : "US",
248
+ "names" : {
249
+ "de" : "USA",
250
+ "en" : "United States",
251
+ "es" : "Estados Unidos",
252
+ "fr" : "États-Unis",
253
+ "ja" : "アメリカ合衆国",
254
+ "pt-BR" : "Estados Unidos",
255
+ "ru" : "США",
256
+ "zh-CN" : "美国"
257
+ }
258
+ },
259
+ "subdivisions" : [
260
+ {
261
+ "confidence" : 90,
262
+ "geoname_id" : 5332921,
263
+ "iso_code" : "CA",
264
+ "names" : {
265
+ "de" : "Kalifornien",
266
+ "en" : "California",
267
+ "es" : "California",
268
+ "fr" : "Californie",
269
+ "ja" : "カリフォルニア州",
270
+ "pt-BR" : "Califórnia",
271
+ "ru" : "Калифорния",
272
+ "zh-CN" : "加利福尼亚州"
273
+ }
274
+ }
275
+ ],
276
+ "traits" : {
277
+ "autonomous_system_number" : 33224,
278
+ "autonomous_system_organization" : "Towerstream I, Inc.",
279
+ "connection_type" : "Corporate",
280
+ "isp" : "Towerstream I",
281
+ "organization" : "Towerstream I",
282
+ "user_type" : "business"
283
+ }
284
+ }
285
+ },
286
+ {
287
+ "::65.116.3.80/126" : {
288
+ "city" : {
289
+ "confidence" : 40,
290
+ "geoname_id" : 4699066,
291
+ "names" : {
292
+ "en" : "Houston",
293
+ "fr" : "Houston",
294
+ "ja" : "ヒューストン",
295
+ "pt-BR" : "Houston",
296
+ "ru" : "Хьюстон",
297
+ "zh-CN" : "休斯敦"
298
+ }
299
+ },
300
+ "continent" : {
301
+ "code" : "NA",
302
+ "geoname_id" : 6255149,
303
+ "names" : {
304
+ "de" : "Nordamerika",
305
+ "en" : "North America",
306
+ "es" : "Norteamérica",
307
+ "fr" : "Amérique du Nord",
308
+ "ja" : "北アメリカ",
309
+ "pt-BR" : "América do Norte",
310
+ "ru" : "Северная Америка",
311
+ "zh-CN" : "北美洲"
312
+ }
313
+ },
314
+ "country" : {
315
+ "confidence" : 99,
316
+ "geoname_id" : 6252001,
317
+ "iso_code" : "US",
318
+ "names" : {
319
+ "de" : "USA",
320
+ "en" : "United States",
321
+ "es" : "Estados Unidos",
322
+ "fr" : "États-Unis",
323
+ "ja" : "アメリカ合衆国",
324
+ "pt-BR" : "Estados Unidos",
325
+ "ru" : "США",
326
+ "zh-CN" : "美国"
327
+ }
328
+ },
329
+ "location" : {
330
+ "accuracy_radius" : 500,
331
+ "latitude" : 29.7702,
332
+ "longitude" : -95.3628,
333
+ "metro_code" : 618,
334
+ "time_zone" : "America/Chicago"
335
+ },
336
+ "postal" : {
337
+ "code" : "77002",
338
+ "confidence" : 1
339
+ },
340
+ "registered_country" : {
341
+ "geoname_id" : 6252001,
342
+ "iso_code" : "US",
343
+ "names" : {
344
+ "de" : "USA",
345
+ "en" : "United States",
346
+ "es" : "Estados Unidos",
347
+ "fr" : "États-Unis",
348
+ "ja" : "アメリカ合衆国",
349
+ "pt-BR" : "Estados Unidos",
350
+ "ru" : "США",
351
+ "zh-CN" : "美国"
352
+ }
353
+ },
354
+ "subdivisions" : [
355
+ {
356
+ "confidence" : 90,
357
+ "geoname_id" : 4736286,
358
+ "iso_code" : "TX",
359
+ "names" : {
360
+ "en" : "Texas",
361
+ "es" : "Texas",
362
+ "fr" : "Texas",
363
+ "ja" : "テキサス州",
364
+ "ru" : "Техас",
365
+ "zh-CN" : "德克萨斯州"
366
+ }
367
+ }
368
+ ],
369
+ "traits" : {
370
+ "autonomous_system_number" : 209,
371
+ "autonomous_system_organization" : "Qwest Communications Company, LLC",
372
+ "connection_type" : "Cable/DSL",
373
+ "domain" : "qwest.net",
374
+ "isp" : "CenturyLink",
375
+ "organization" : "CenturyLink",
376
+ "user_type" : "residential"
377
+ }
378
+ }
379
+ },
380
+ {
381
+ "::66.92.181.240/124" : {
382
+ "city" : {
383
+ "confidence" : 20,
384
+ "geoname_id" : 5392171,
385
+ "names" : {
386
+ "de" : "San José",
387
+ "en" : "San Jose",
388
+ "es" : "San José",
389
+ "fr" : "San José",
390
+ "ja" : "サンノゼ",
391
+ "pt-BR" : "San José",
392
+ "ru" : "Сан-Хосе"
393
+ }
394
+ },
395
+ "continent" : {
396
+ "code" : "NA",
397
+ "geoname_id" : 6255149,
398
+ "names" : {
399
+ "de" : "Nordamerika",
400
+ "en" : "North America",
401
+ "es" : "Norteamérica",
402
+ "fr" : "Amérique du Nord",
403
+ "ja" : "北アメリカ",
404
+ "pt-BR" : "América do Norte",
405
+ "ru" : "Северная Америка",
406
+ "zh-CN" : "北美洲"
407
+ }
408
+ },
409
+ "country" : {
410
+ "confidence" : 99,
411
+ "geoname_id" : 6252001,
412
+ "iso_code" : "US",
413
+ "names" : {
414
+ "de" : "USA",
415
+ "en" : "United States",
416
+ "es" : "Estados Unidos",
417
+ "fr" : "États-Unis",
418
+ "ja" : "アメリカ合衆国",
419
+ "pt-BR" : "Estados Unidos",
420
+ "ru" : "США",
421
+ "zh-CN" : "美国"
422
+ }
423
+ },
424
+ "location" : {
425
+ "accuracy_radius" : 1000,
426
+ "latitude" : 37.3874,
427
+ "longitude" : -121.9024,
428
+ "metro_code" : 807,
429
+ "time_zone" : "America/Los_Angeles"
430
+ },
431
+ "postal" : {
432
+ "code" : "95131",
433
+ "confidence" : 10
434
+ },
435
+ "registered_country" : {
436
+ "geoname_id" : 6252001,
437
+ "iso_code" : "US",
438
+ "names" : {
439
+ "de" : "USA",
440
+ "en" : "United States",
441
+ "es" : "Estados Unidos",
442
+ "fr" : "États-Unis",
443
+ "ja" : "アメリカ合衆国",
444
+ "pt-BR" : "Estados Unidos",
445
+ "ru" : "США",
446
+ "zh-CN" : "美国"
447
+ }
448
+ },
449
+ "subdivisions" : [
450
+ {
451
+ "confidence" : 60,
452
+ "geoname_id" : 5332921,
453
+ "iso_code" : "CA",
454
+ "names" : {
455
+ "de" : "Kalifornien",
456
+ "en" : "California",
457
+ "es" : "California",
458
+ "fr" : "Californie",
459
+ "ja" : "カリフォルニア州",
460
+ "pt-BR" : "Califórnia",
461
+ "ru" : "Калифорния",
462
+ "zh-CN" : "加利福尼亚州"
463
+ }
464
+ }
465
+ ],
466
+ "traits" : {
467
+ "autonomous_system_number" : 18566,
468
+ "autonomous_system_organization" : "MegaPath Corporation",
469
+ "connection_type" : "Cable/DSL",
470
+ "domain" : "speakeasy.net",
471
+ "isp" : "Speakeasy",
472
+ "organization" : "Vikco Insurance",
473
+ "user_type" : "government"
474
+ }
475
+ }
476
+ },
477
+ {
478
+ "::67.43.156.0/120" : {
479
+ "continent" : {
480
+ "code" : "AS",
481
+ "geoname_id" : 6255147,
482
+ "names" : {
483
+ "de" : "Asien",
484
+ "en" : "Asia",
485
+ "es" : "Asia",
486
+ "fr" : "Asie",
487
+ "ja" : "アジア",
488
+ "pt-BR" : "Ásia",
489
+ "ru" : "Азия",
490
+ "zh-CN" : "亚洲"
491
+ }
492
+ },
493
+ "country" : {
494
+ "confidence" : 99,
495
+ "geoname_id" : 1252634,
496
+ "iso_code" : "BT",
497
+ "names" : {
498
+ "de" : "Bhutan",
499
+ "en" : "Bhutan",
500
+ "es" : "Bután",
501
+ "fr" : "Bhutan",
502
+ "ja" : "ブータン王国",
503
+ "pt-BR" : "Butão",
504
+ "ru" : "Бутан",
505
+ "zh-CN" : "不丹"
506
+ }
507
+ },
508
+ "location" : {
509
+ "accuracy_radius" : 534,
510
+ "latitude" : "27.5000",
511
+ "longitude" : "90.5000",
512
+ "time_zone" : "Asia/Thimphu"
513
+ },
514
+ "registered_country" : {
515
+ "geoname_id" : 798549,
516
+ "is_in_european_union" : true,
517
+ "iso_code" : "RO",
518
+ "names" : {
519
+ "de" : "Rumänien",
520
+ "en" : "Romania",
521
+ "es" : "Rumanía",
522
+ "fr" : "Roumanie",
523
+ "ja" : "ルーマニア",
524
+ "pt-BR" : "Romênia",
525
+ "ru" : "Румыния",
526
+ "zh-CN" : "罗马尼亚"
527
+ }
528
+ },
529
+ "traits" : {
530
+ "autonomous_system_number" : 35908,
531
+ "domain" : "shoesfin.NET",
532
+ "is_anonymous_proxy" : true,
533
+ "isp" : "Loud Packet",
534
+ "organization" : "zudoarichikito_",
535
+ "user_type" : "search_engine_spider"
536
+ }
537
+ }
538
+ },
539
+ {
540
+ "::74.209.24.0/116" : {
541
+ "city" : {
542
+ "confidence" : "11",
543
+ "geoname_id" : "5112335",
544
+ "names" : {
545
+ "en" : "Chatham"
546
+ }
547
+ },
548
+ "continent" : {
549
+ "code" : "NA",
550
+ "geoname_id" : "6255149",
551
+ "names" : {
552
+ "de" : "Nordamerika",
553
+ "en" : "North America",
554
+ "es" : "Norteamérica",
555
+ "fr" : "Amérique du Nord",
556
+ "ja" : "北アメリカ",
557
+ "pt-BR" : "América do Norte",
558
+ "ru" : "Северная Америка",
559
+ "zh-CN" : "北美洲"
560
+ }
561
+ },
562
+ "country" : {
563
+ "confidence" : "99",
564
+ "geoname_id" : "6252001",
565
+ "iso_code" : "US",
566
+ "names" : {
567
+ "de" : "USA",
568
+ "en" : "United States",
569
+ "es" : "Estados Unidos",
570
+ "fr" : "États-Unis",
571
+ "ja" : "アメリカ合衆国",
572
+ "pt-BR" : "Estados Unidos",
573
+ "ru" : "США",
574
+ "zh-CN" : "美国"
575
+ }
576
+ },
577
+ "location" : {
578
+ "accuracy_radius" : "27",
579
+ "latitude" : "42.347800",
580
+ "longitude" : "-73.554900",
581
+ "metro_code" : "532",
582
+ "time_zone" : "America/New_York"
583
+ },
584
+ "postal" : {
585
+ "code" : "12037",
586
+ "confidence" : "11"
587
+ },
588
+ "registered_country" : {
589
+ "geoname_id" : "6252001",
590
+ "iso_code" : "US",
591
+ "names" : {
592
+ "de" : "USA",
593
+ "en" : "United States",
594
+ "es" : "Estados Unidos",
595
+ "fr" : "États-Unis",
596
+ "ja" : "アメリカ合衆国",
597
+ "pt-BR" : "Estados Unidos",
598
+ "ru" : "США",
599
+ "zh-CN" : "美国"
600
+ }
601
+ },
602
+ "subdivisions" : [
603
+ {
604
+ "confidence" : "93",
605
+ "geoname_id" : "5128638",
606
+ "iso_code" : "NY",
607
+ "names" : {
608
+ "de" : "New York",
609
+ "en" : "New York",
610
+ "es" : "Nueva York",
611
+ "fr" : "New York",
612
+ "ja" : "ニューヨーク州",
613
+ "pt-BR" : "Nova Iorque",
614
+ "ru" : "Нью-Йорк",
615
+ "zh-CN" : "纽约州"
616
+ }
617
+ }
618
+ ],
619
+ "traits" : {
620
+ "autonomous_system_number" : "14671",
621
+ "autonomous_system_organization" : "FairPoint Communications",
622
+ "connection_type" : "Cable/DSL",
623
+ "domain" : "frpt.net",
624
+ "is_anonymous_proxy" : true,
625
+ "is_legitimate_proxy" : true,
626
+ "is_satellite_provider" : true,
627
+ "isp" : "Fairpoint Communications",
628
+ "organization" : "Fairpoint Communications",
629
+ "user_type" : "residential"
630
+ }
631
+ }
632
+ },
633
+ {
634
+ "::81.2.69.142/127" : {
635
+ "city" : {
636
+ "confidence" : 50,
637
+ "geoname_id" : "2643743",
638
+ "names" : {
639
+ "de" : "London",
640
+ "en" : "London",
641
+ "es" : "Londres",
642
+ "fr" : "Londres",
643
+ "ja" : "ロンドン",
644
+ "pt-BR" : "Londres",
645
+ "ru" : "Лондон"
646
+ }
647
+ },
648
+ "continent" : {
649
+ "code" : "EU",
650
+ "geoname_id" : 6255148,
651
+ "names" : {
652
+ "de" : "Europa",
653
+ "en" : "Europe",
654
+ "es" : "Europa",
655
+ "fr" : "Europe",
656
+ "ja" : "ヨーロッパ",
657
+ "pt-BR" : "Europa",
658
+ "ru" : "Европа",
659
+ "zh-CN" : "欧洲"
660
+ }
661
+ },
662
+ "country" : {
663
+ "confidence" : 95,
664
+ "geoname_id" : 2635167,
665
+ "is_in_european_union" : true,
666
+ "iso_code" : "GB",
667
+ "names" : {
668
+ "de" : "Vereinigtes Königreich",
669
+ "en" : "United Kingdom",
670
+ "es" : "Reino Unido",
671
+ "fr" : "Royaume-Uni",
672
+ "ja" : "イギリス",
673
+ "pt-BR" : "Reino Unido",
674
+ "ru" : "Великобритания",
675
+ "zh-CN" : "英国"
676
+ }
677
+ },
678
+ "location" : {
679
+ "accuracy_radius" : 10,
680
+ "latitude" : "51.5142",
681
+ "longitude" : "-0.0931",
682
+ "time_zone" : "Europe/London"
683
+ },
684
+ "registered_country" : {
685
+ "geoname_id" : 6252001,
686
+ "iso_code" : "US",
687
+ "names" : {
688
+ "de" : "USA",
689
+ "en" : "United States",
690
+ "es" : "Estados Unidos",
691
+ "fr" : "États-Unis",
692
+ "ja" : "アメリカ合衆国",
693
+ "pt-BR" : "Estados Unidos",
694
+ "ru" : "США",
695
+ "zh-CN" : "美国"
696
+ }
697
+ },
698
+ "subdivisions" : [
699
+ {
700
+ "confidence" : 70,
701
+ "geoname_id" : 6269131,
702
+ "iso_code" : "ENG",
703
+ "names" : {
704
+ "en" : "England",
705
+ "es" : "Inglaterra",
706
+ "fr" : "Angleterre",
707
+ "pt-BR" : "Inglaterra"
708
+ }
709
+ }
710
+ ],
711
+ "traits" : {
712
+ "domain" : "in-addr.arpa"
713
+ }
714
+ }
715
+ },
716
+ {
717
+ "::81.2.69.160/123" : {
718
+ "city" : {
719
+ "confidence" : 42,
720
+ "geoname_id" : "2643743",
721
+ "names" : {
722
+ "de" : "London",
723
+ "en" : "London",
724
+ "es" : "Londres",
725
+ "fr" : "Londres",
726
+ "ja" : "ロンドン",
727
+ "pt-BR" : "Londres",
728
+ "ru" : "Лондон"
729
+ }
730
+ },
731
+ "continent" : {
732
+ "code" : "EU",
733
+ "geoname_id" : 6255148,
734
+ "names" : {
735
+ "de" : "Europa",
736
+ "en" : "Europe",
737
+ "es" : "Europa",
738
+ "fr" : "Europe",
739
+ "ja" : "ヨーロッパ",
740
+ "pt-BR" : "Europa",
741
+ "ru" : "Европа",
742
+ "zh-CN" : "欧洲"
743
+ }
744
+ },
745
+ "country" : {
746
+ "confidence" : 99,
747
+ "geoname_id" : 2635167,
748
+ "is_in_european_union" : true,
749
+ "iso_code" : "GB",
750
+ "names" : {
751
+ "de" : "Vereinigtes Königreich",
752
+ "en" : "United Kingdom",
753
+ "es" : "Reino Unido",
754
+ "fr" : "Royaume-Uni",
755
+ "ja" : "イギリス",
756
+ "pt-BR" : "Reino Unido",
757
+ "ru" : "Великобритания",
758
+ "zh-CN" : "英国"
759
+ }
760
+ },
761
+ "location" : {
762
+ "accuracy_radius" : 100,
763
+ "latitude" : "51.5142",
764
+ "longitude" : "-0.0931",
765
+ "time_zone" : "Europe/London"
766
+ },
767
+ "registered_country" : {
768
+ "geoname_id" : 6252001,
769
+ "iso_code" : "US",
770
+ "names" : {
771
+ "de" : "USA",
772
+ "en" : "United States",
773
+ "es" : "Estados Unidos",
774
+ "fr" : "États-Unis",
775
+ "ja" : "アメリカ合衆国",
776
+ "pt-BR" : "Estados Unidos",
777
+ "ru" : "США",
778
+ "zh-CN" : "美国"
779
+ }
780
+ },
781
+ "subdivisions" : [
782
+ {
783
+ "confidence" : 42,
784
+ "geoname_id" : 6269131,
785
+ "iso_code" : "ENG",
786
+ "names" : {
787
+ "en" : "England",
788
+ "es" : "Inglaterra",
789
+ "fr" : "Angleterre",
790
+ "pt-BR" : "Inglaterra"
791
+ }
792
+ }
793
+ ],
794
+ "traits" : {
795
+ "domain" : "in-addr.arpa",
796
+ "isp" : "Andrews & Arnold Ltd",
797
+ "organization" : "STONEHOUSE office network",
798
+ "user_type" : "government"
799
+ }
800
+ }
801
+ },
802
+ {
803
+ "::89.160.20.112/124" : {
804
+ "city" : {
805
+ "confidence" : 51,
806
+ "geoname_id" : "2694762",
807
+ "names" : {
808
+ "de" : "Linköping",
809
+ "en" : "Linköping",
810
+ "fr" : "Linköping",
811
+ "ja" : "リンシェーピング",
812
+ "zh-CN" : "林雪平"
813
+ }
814
+ },
815
+ "continent" : {
816
+ "code" : "EU",
817
+ "geoname_id" : 6255148,
818
+ "names" : {
819
+ "de" : "Europa",
820
+ "en" : "Europe",
821
+ "es" : "Europa",
822
+ "fr" : "Europe",
823
+ "ja" : "ヨーロッパ",
824
+ "pt-BR" : "Europa",
825
+ "ru" : "Европа",
826
+ "zh-CN" : "欧洲"
827
+ }
828
+ },
829
+ "country" : {
830
+ "confidence" : 99,
831
+ "geoname_id" : 2661886,
832
+ "is_in_european_union" : true,
833
+ "iso_code" : "SE",
834
+ "names" : {
835
+ "de" : "Schweden",
836
+ "en" : "Sweden",
837
+ "es" : "Suecia",
838
+ "fr" : "Suède",
839
+ "ja" : "スウェーデン王国",
840
+ "pt-BR" : "Suécia",
841
+ "ru" : "Швеция",
842
+ "zh-CN" : "瑞典"
843
+ }
844
+ },
845
+ "location" : {
846
+ "accuracy_radius" : 76,
847
+ "latitude" : "58.4167",
848
+ "longitude" : "15.6167",
849
+ "time_zone" : "Europe/Stockholm"
850
+ },
851
+ "registered_country" : {
852
+ "geoname_id" : 2921044,
853
+ "is_in_european_union" : true,
854
+ "iso_code" : "DE",
855
+ "names" : {
856
+ "de" : "Deutschland",
857
+ "en" : "Germany",
858
+ "es" : "Alemania",
859
+ "fr" : "Allemagne",
860
+ "ja" : "ドイツ連邦共和国",
861
+ "pt-BR" : "Alemanha",
862
+ "ru" : "Германия",
863
+ "zh-CN" : "德国"
864
+ }
865
+ },
866
+ "subdivisions" : [
867
+ {
868
+ "confidence" : 51,
869
+ "geoname_id" : 2685867,
870
+ "iso_code" : "E",
871
+ "names" : {
872
+ "en" : "Östergötland County",
873
+ "fr" : "Comté d'Östergötland"
874
+ }
875
+ }
876
+ ],
877
+ "traits" : {
878
+ "autonomous_system_number" : 29518,
879
+ "autonomous_system_organization" : "Bredband2 AB",
880
+ "connection_type" : "Corporate",
881
+ "domain" : "bredband2.com",
882
+ "isp" : "Bredband2 AB",
883
+ "organization" : "Bevtec",
884
+ "user_type" : "government"
885
+ }
886
+ }
887
+ },
888
+ {
889
+ "::128.101.101.101/128" : {
890
+ "city" : {
891
+ "confidence" : 50,
892
+ "geoname_id" : 5037649,
893
+ "names" : {
894
+ "de" : "Minneapolis",
895
+ "en" : "Minneapolis",
896
+ "es" : "Mineápolis",
897
+ "fr" : "Minneapolis",
898
+ "ja" : "ミネアポリス",
899
+ "pt-BR" : "Minneapolis",
900
+ "ru" : "Миннеаполис",
901
+ "zh-CN" : "明尼阿波利斯"
902
+ }
903
+ },
904
+ "continent" : {
905
+ "code" : "NA",
906
+ "geoname_id" : 6255149,
907
+ "names" : {
908
+ "de" : "Nordamerika",
909
+ "en" : "North America",
910
+ "es" : "Norteamérica",
911
+ "fr" : "Amérique du Nord",
912
+ "ja" : "北アメリカ",
913
+ "pt-BR" : "América do Norte",
914
+ "ru" : "Северная Америка",
915
+ "zh-CN" : "北美洲"
916
+ }
917
+ },
918
+ "country" : {
919
+ "confidence" : 95,
920
+ "geoname_id" : 6252001,
921
+ "iso_code" : "US",
922
+ "names" : {
923
+ "de" : "USA",
924
+ "en" : "United States",
925
+ "es" : "Estados Unidos",
926
+ "fr" : "États-Unis",
927
+ "ja" : "アメリカ合衆国",
928
+ "pt-BR" : "Estados Unidos",
929
+ "ru" : "Сша",
930
+ "zh-CN" : "美国"
931
+ }
932
+ },
933
+ "location" : {
934
+ "accuracy_radius" : 3,
935
+ "latitude" : 44.9759,
936
+ "longitude" : -93.2166,
937
+ "metro_code" : 613,
938
+ "time_zone" : "America/Chicago"
939
+ },
940
+ "postal" : {
941
+ "code" : "55414",
942
+ "confidence" : 20
943
+ },
944
+ "registered_country" : {
945
+ "geoname_id" : 6252001,
946
+ "iso_code" : "US",
947
+ "names" : {
948
+ "de" : "USA",
949
+ "en" : "United States",
950
+ "es" : "Estados Unidos",
951
+ "fr" : "États-Unis",
952
+ "ja" : "アメリカ合衆国",
953
+ "pt-BR" : "Estados Unidos",
954
+ "ru" : "Сша",
955
+ "zh-CN" : "美国"
956
+ }
957
+ },
958
+ "subdivisions" : [
959
+ {
960
+ "confidence" : 70,
961
+ "geoname_id" : 5037779,
962
+ "iso_code" : "MN",
963
+ "names" : {
964
+ "en" : "Minnesota",
965
+ "es" : "Minnesota",
966
+ "ja" : "ミネソタ州",
967
+ "ru" : "Миннесота"
968
+ }
969
+ }
970
+ ],
971
+ "traits" : {
972
+ "autonomous_system_number" : 2313,
973
+ "autonomous_system_organization" : "Precision AS Org",
974
+ "isp" : "Precision ISP",
975
+ "organization" : "Precision Org"
976
+ }
977
+ }
978
+ },
979
+ {
980
+ "::143.217.214.0/120" : {
981
+ "city" : {
982
+ "confidence" : 50,
983
+ "geoname_id" : 1566083,
984
+ "names" : {
985
+ "de" : "Ho-Chi-Minh-Stadt",
986
+ "en" : "Ho Chi Minh City",
987
+ "es" : "Ciudad Ho Chi Minh",
988
+ "fr" : "HCMV",
989
+ "ja" : "ホーチミン市",
990
+ "pt-BR" : "Cidade de Ho Chi Minh",
991
+ "ru" : "Хошимин",
992
+ "zh-CN" : "胡志明市"
993
+ }
994
+ },
995
+ "continent" : {
996
+ "code" : "AS",
997
+ "geoname_id" : 6255147,
998
+ "names" : {
999
+ "de" : "Asien",
1000
+ "en" : "Asia",
1001
+ "es" : "Asia",
1002
+ "fr" : "Asie",
1003
+ "ja" : "アジア",
1004
+ "pt-BR" : "Ásia",
1005
+ "ru" : "Азия",
1006
+ "zh-CN" : "亚洲"
1007
+ }
1008
+ },
1009
+ "country" : {
1010
+ "confidence" : 99,
1011
+ "geoname_id" : 1562822,
1012
+ "iso_code" : "VN",
1013
+ "names" : {
1014
+ "de" : "Vietnam",
1015
+ "en" : "Vietnam",
1016
+ "es" : "Vietnam",
1017
+ "fr" : "Vietnam",
1018
+ "ja" : "ベトナム",
1019
+ "pt-BR" : "Vietnã",
1020
+ "ru" : "Вьетнам",
1021
+ "zh-CN" : "越南"
1022
+ }
1023
+ },
1024
+ "location" : {
1025
+ "accuracy_radius" : 500,
1026
+ "latitude" : 10.8142,
1027
+ "longitude" : 106.6438,
1028
+ "time_zone" : "Asia/Ho_Chi_Minh"
1029
+ },
1030
+ "registered_country" : {
1031
+ "geoname_id" : 1562822,
1032
+ "iso_code" : "VN",
1033
+ "names" : {
1034
+ "de" : "Vietnam",
1035
+ "en" : "Vietnam",
1036
+ "es" : "Vietnam",
1037
+ "fr" : "Vietnam",
1038
+ "ja" : "ベトナム",
1039
+ "pt-BR" : "Vietnã",
1040
+ "ru" : "Вьетнам",
1041
+ "zh-CN" : "越南"
1042
+ }
1043
+ },
1044
+ "subdivisions" : [
1045
+ {
1046
+ "confidence" : 60,
1047
+ "geoname_id" : 1580578,
1048
+ "iso_code" : "SG",
1049
+ "names" : {
1050
+ "de" : "Ho-Chi-Minh-Stadt",
1051
+ "en" : "Ho Chi Minh City",
1052
+ "es" : "Ciudad Ho Chi Minh",
1053
+ "fr" : "Saigon",
1054
+ "ja" : "ホーチミン市",
1055
+ "pt-BR" : "Cidade de Ho Chi Minh",
1056
+ "ru" : "Хо Ши Мин",
1057
+ "zh-CN" : "胡志明市"
1058
+ }
1059
+ }
1060
+ ],
1061
+ "traits" : {
1062
+ "autonomous_system_number" : 18403,
1063
+ "autonomous_system_organization" : "The Corporation for Financing & Promoting Technology",
1064
+ "connection_type" : "Cable/DSL",
1065
+ "isp" : "The Corporation for Financing and Promoting Techno",
1066
+ "organization" : "FPT Telecom Company",
1067
+ "user_type" : "business"
1068
+ }
1069
+ }
1070
+ },
1071
+ {
1072
+ "::175.16.199.0/120" : {
1073
+ "city" : {
1074
+ "confidence" : 50,
1075
+ "geoname_id" : 2038180,
1076
+ "names" : {
1077
+ "de" : "Chángchūn",
1078
+ "en" : "Changchun",
1079
+ "fr" : "Changchun",
1080
+ "ja" : "長春市",
1081
+ "ru" : "Чанчунь",
1082
+ "zh-CN" : "长春"
1083
+ }
1084
+ },
1085
+ "continent" : {
1086
+ "code" : "AS",
1087
+ "geoname_id" : 6255147,
1088
+ "names" : {
1089
+ "de" : "Asien",
1090
+ "en" : "Asia",
1091
+ "es" : "Asia",
1092
+ "fr" : "Asie",
1093
+ "ja" : "アジア",
1094
+ "pt-BR" : "Ásia",
1095
+ "ru" : "Азия",
1096
+ "zh-CN" : "亚洲"
1097
+ }
1098
+ },
1099
+ "country" : {
1100
+ "confidence" : 95,
1101
+ "geoname_id" : 1814991,
1102
+ "iso_code" : "CN",
1103
+ "names" : {
1104
+ "de" : "China",
1105
+ "en" : "China",
1106
+ "es" : "China",
1107
+ "fr" : "Chine",
1108
+ "ja" : "中国",
1109
+ "pt-BR" : "China",
1110
+ "ru" : "Китай",
1111
+ "zh-CN" : "中国"
1112
+ }
1113
+ },
1114
+ "location" : {
1115
+ "accuracy_radius" : 100,
1116
+ "latitude" : 43.88,
1117
+ "longitude" : 125.3228,
1118
+ "time_zone" : "Asia/Harbin"
1119
+ },
1120
+ "registered_country" : {
1121
+ "geoname_id" : 1814991,
1122
+ "iso_code" : "CN",
1123
+ "names" : {
1124
+ "de" : "China",
1125
+ "en" : "China",
1126
+ "es" : "China",
1127
+ "fr" : "Chine",
1128
+ "ja" : "中国",
1129
+ "pt-BR" : "China",
1130
+ "ru" : "Китай",
1131
+ "zh-CN" : "中国"
1132
+ }
1133
+ },
1134
+ "subdivisions" : [
1135
+ {
1136
+ "confidence" : 70,
1137
+ "geoname_id" : 2036500,
1138
+ "iso_code" : "22",
1139
+ "names" : {
1140
+ "en" : "Jilin Sheng",
1141
+ "zh-CN" : "吉林"
1142
+ }
1143
+ }
1144
+ ],
1145
+ "traits" : {
1146
+ "user_type" : "dialup"
1147
+ }
1148
+ }
1149
+ },
1150
+ {
1151
+ "::188.35.144.0/119" : {
1152
+ "traits" : {
1153
+ "organization" : "CityLink Ltd"
1154
+ }
1155
+ }
1156
+ },
1157
+ {
1158
+ "::202.196.224.0/116" : {
1159
+ "continent" : {
1160
+ "code" : "AS",
1161
+ "geoname_id" : 6255147,
1162
+ "names" : {
1163
+ "de" : "Asien",
1164
+ "en" : "Asia",
1165
+ "es" : "Asia",
1166
+ "fr" : "Asie",
1167
+ "ja" : "アジア",
1168
+ "pt-BR" : "Ásia",
1169
+ "ru" : "Азия",
1170
+ "zh-CN" : "亚洲"
1171
+ }
1172
+ },
1173
+ "country" : {
1174
+ "confidence" : 95,
1175
+ "geoname_id" : 1694008,
1176
+ "iso_code" : "PH",
1177
+ "names" : {
1178
+ "de" : "Philippinen",
1179
+ "en" : "Philippines",
1180
+ "es" : "Filipinas",
1181
+ "fr" : "Philippines",
1182
+ "ja" : "フィリピン共和国",
1183
+ "pt-BR" : "Filipinas",
1184
+ "ru" : "Филиппины",
1185
+ "zh-CN" : "菲律宾"
1186
+ }
1187
+ },
1188
+ "location" : {
1189
+ "accuracy_radius" : 121,
1190
+ "latitude" : "13",
1191
+ "longitude" : "122",
1192
+ "time_zone" : "Asia/Manila"
1193
+ },
1194
+ "postal" : {
1195
+ "code" : "34021",
1196
+ "confidence" : 20
1197
+ },
1198
+ "registered_country" : {
1199
+ "geoname_id" : 1694008,
1200
+ "iso_code" : "PH",
1201
+ "names" : {
1202
+ "de" : "Philippinen",
1203
+ "en" : "Philippines",
1204
+ "es" : "Filipinas",
1205
+ "fr" : "Philippines",
1206
+ "ja" : "フィリピン共和国",
1207
+ "pt-BR" : "Filipinas",
1208
+ "ru" : "Филиппины",
1209
+ "zh-CN" : "菲律宾"
1210
+ }
1211
+ },
1212
+ "represented_country" : {
1213
+ "geoname_id" : 6252001,
1214
+ "iso_code" : "US",
1215
+ "names" : {
1216
+ "de" : "USA",
1217
+ "en" : "United States",
1218
+ "es" : "Estados Unidos",
1219
+ "fr" : "États-Unis",
1220
+ "ja" : "アメリカ合衆国",
1221
+ "pt-BR" : "Estados Unidos",
1222
+ "ru" : "США",
1223
+ "zh-CN" : "美国"
1224
+ },
1225
+ "type" : "military"
1226
+ }
1227
+ }
1228
+ },
1229
+ {
1230
+ "::208.110.217.113/128" : {
1231
+ "city" : {
1232
+ "confidence" : 20,
1233
+ "geoname_id" : 4734825,
1234
+ "names" : {
1235
+ "en" : "Sugar Land",
1236
+ "ja" : "シュガーランド",
1237
+ "pt-BR" : "Sugar Land",
1238
+ "ru" : "Шугар-Ленд"
1239
+ }
1240
+ },
1241
+ "continent" : {
1242
+ "code" : "NA",
1243
+ "geoname_id" : 6255149,
1244
+ "names" : {
1245
+ "de" : "Nordamerika",
1246
+ "en" : "North America",
1247
+ "es" : "Norteamérica",
1248
+ "fr" : "Amérique du Nord",
1249
+ "ja" : "北アメリカ",
1250
+ "pt-BR" : "América do Norte",
1251
+ "ru" : "Северная Америка",
1252
+ "zh-CN" : "北美洲"
1253
+ }
1254
+ },
1255
+ "country" : {
1256
+ "confidence" : 99,
1257
+ "geoname_id" : 6252001,
1258
+ "iso_code" : "US",
1259
+ "names" : {
1260
+ "de" : "USA",
1261
+ "en" : "United States",
1262
+ "es" : "Estados Unidos",
1263
+ "fr" : "États-Unis",
1264
+ "ja" : "アメリカ合衆国",
1265
+ "pt-BR" : "Estados Unidos",
1266
+ "ru" : "США",
1267
+ "zh-CN" : "美国"
1268
+ }
1269
+ },
1270
+ "location" : {
1271
+ "accuracy_radius" : 1000,
1272
+ "latitude" : 29.6197,
1273
+ "longitude" : -95.635,
1274
+ "metro_code" : 618,
1275
+ "time_zone" : "America/Chicago"
1276
+ },
1277
+ "postal" : {
1278
+ "code" : "77487",
1279
+ "confidence" : 1
1280
+ },
1281
+ "registered_country" : {
1282
+ "geoname_id" : 6252001,
1283
+ "iso_code" : "US",
1284
+ "names" : {
1285
+ "de" : "USA",
1286
+ "en" : "United States",
1287
+ "es" : "Estados Unidos",
1288
+ "fr" : "États-Unis",
1289
+ "ja" : "アメリカ合衆国",
1290
+ "pt-BR" : "Estados Unidos",
1291
+ "ru" : "США",
1292
+ "zh-CN" : "美国"
1293
+ }
1294
+ },
1295
+ "subdivisions" : [
1296
+ {
1297
+ "confidence" : 60,
1298
+ "geoname_id" : 4736286,
1299
+ "iso_code" : "TX",
1300
+ "names" : {
1301
+ "en" : "Texas",
1302
+ "es" : "Texas",
1303
+ "fr" : "Texas",
1304
+ "ja" : "テキサス州",
1305
+ "ru" : "Техас",
1306
+ "zh-CN" : "德克萨斯州"
1307
+ }
1308
+ }
1309
+ ],
1310
+ "traits" : {
1311
+ "autonomous_system_number" : 11025,
1312
+ "autonomous_system_organization" : "Comcast Cable Communications, LLC",
1313
+ "connection_type" : "Cable/DSL",
1314
+ "domain" : "comcastbusiness.net",
1315
+ "isp" : "Comcast Business",
1316
+ "organization" : "Comcast Business",
1317
+ "user_type" : "business"
1318
+ }
1319
+ }
1320
+ },
1321
+ {
1322
+ "::216.160.83.56/125" : {
1323
+ "city" : {
1324
+ "confidence" : 40,
1325
+ "geoname_id" : "5803556",
1326
+ "names" : {
1327
+ "en" : "Milton",
1328
+ "ru" : "Мильтон"
1329
+ }
1330
+ },
1331
+ "continent" : {
1332
+ "code" : "NA",
1333
+ "geoname_id" : 6255149,
1334
+ "names" : {
1335
+ "de" : "Nordamerika",
1336
+ "en" : "North America",
1337
+ "es" : "América del Norte",
1338
+ "fr" : "Amérique du Nord",
1339
+ "ja" : "北アメリカ",
1340
+ "pt-BR" : "América do Norte",
1341
+ "ru" : "Северная Америка",
1342
+ "zh-CN" : "北美洲"
1343
+ }
1344
+ },
1345
+ "country" : {
1346
+ "confidence" : 99,
1347
+ "geoname_id" : 6252001,
1348
+ "iso_code" : "US",
1349
+ "names" : {
1350
+ "de" : "USA",
1351
+ "en" : "United States",
1352
+ "es" : "Estados Unidos",
1353
+ "fr" : "États-Unis",
1354
+ "ja" : "アメリカ合衆国",
1355
+ "pt-BR" : "Estados Unidos",
1356
+ "ru" : "США",
1357
+ "zh-CN" : "美国"
1358
+ }
1359
+ },
1360
+ "location" : {
1361
+ "accuracy_radius" : 22,
1362
+ "latitude" : "47.2513",
1363
+ "longitude" : "-122.3149",
1364
+ "metro_code" : "819",
1365
+ "time_zone" : "America/Los_Angeles"
1366
+ },
1367
+ "postal" : {
1368
+ "code" : "98354",
1369
+ "confidence" : 40
1370
+ },
1371
+ "registered_country" : {
1372
+ "geoname_id" : 2635167,
1373
+ "is_in_european_union" : true,
1374
+ "iso_code" : "GB",
1375
+ "names" : {
1376
+ "de" : "Vereinigtes Königreich",
1377
+ "en" : "United Kingdom",
1378
+ "es" : "Reino Unido",
1379
+ "fr" : "Royaume-Uni",
1380
+ "ja" : "イギリス",
1381
+ "pt-BR" : "Reino Unido",
1382
+ "ru" : "Великобритания",
1383
+ "zh-CN" : "英国"
1384
+ }
1385
+ },
1386
+ "subdivisions" : [
1387
+ {
1388
+ "confidence" : 99,
1389
+ "geoname_id" : 5815135,
1390
+ "iso_code" : "WA",
1391
+ "names" : {
1392
+ "en" : "Washington",
1393
+ "es" : "Washington",
1394
+ "fr" : "État de Washington",
1395
+ "ja" : "ワシントン州",
1396
+ "ru" : "Вашингтон",
1397
+ "zh-CN" : "华盛顿州"
1398
+ }
1399
+ }
1400
+ ],
1401
+ "traits" : {
1402
+ "autonomous_system_number" : 209,
1403
+ "connection_type" : "Cable/DSL",
1404
+ "isp" : "Century Link",
1405
+ "organization" : "Lariat Software",
1406
+ "user_type" : "government"
1407
+ }
1408
+ }
1409
+ },
1410
+ {
1411
+ "2001:218::/32" : {
1412
+ "continent" : {
1413
+ "code" : "AS",
1414
+ "geoname_id" : 6255147,
1415
+ "names" : {
1416
+ "de" : "Asien",
1417
+ "en" : "Asia",
1418
+ "es" : "Asia",
1419
+ "fr" : "Asie",
1420
+ "ja" : "アジア",
1421
+ "pt-BR" : "Ásia",
1422
+ "ru" : "Азия",
1423
+ "zh-CN" : "亚洲"
1424
+ }
1425
+ },
1426
+ "country" : {
1427
+ "confidence" : 95,
1428
+ "geoname_id" : 1861060,
1429
+ "iso_code" : "JP",
1430
+ "names" : {
1431
+ "de" : "Japan",
1432
+ "en" : "Japan",
1433
+ "es" : "Japón",
1434
+ "fr" : "Japon",
1435
+ "ja" : "日本",
1436
+ "pt-BR" : "Japão",
1437
+ "ru" : "Япония",
1438
+ "zh-CN" : "日本"
1439
+ }
1440
+ },
1441
+ "location" : {
1442
+ "accuracy_radius" : 100,
1443
+ "latitude" : "35.68536",
1444
+ "longitude" : "139.75309",
1445
+ "time_zone" : "Asia/Tokyo"
1446
+ },
1447
+ "registered_country" : {
1448
+ "geoname_id" : 1861060,
1449
+ "iso_code" : "JP",
1450
+ "names" : {
1451
+ "de" : "Japan",
1452
+ "en" : "Japan",
1453
+ "es" : "Japón",
1454
+ "fr" : "Japon",
1455
+ "ja" : "日本",
1456
+ "pt-BR" : "Japão",
1457
+ "ru" : "Япония",
1458
+ "zh-CN" : "日本"
1459
+ }
1460
+ }
1461
+ }
1462
+ },
1463
+ {
1464
+ "2001:250::/31" : {
1465
+ "continent" : {
1466
+ "code" : "AS",
1467
+ "geoname_id" : 6255147,
1468
+ "names" : {
1469
+ "de" : "Asien",
1470
+ "en" : "Asia",
1471
+ "es" : "Asia",
1472
+ "fr" : "Asie",
1473
+ "ja" : "アジア",
1474
+ "pt-BR" : "Ásia",
1475
+ "ru" : "Азия",
1476
+ "zh-CN" : "亚洲"
1477
+ }
1478
+ },
1479
+ "country" : {
1480
+ "confidence" : 95,
1481
+ "geoname_id" : 1814991,
1482
+ "iso_code" : "CN",
1483
+ "names" : {
1484
+ "de" : "China",
1485
+ "en" : "People's Republic of China",
1486
+ "es" : "República Popular China",
1487
+ "fr" : "Chine",
1488
+ "ja" : "中国",
1489
+ "pt-BR" : "China",
1490
+ "ru" : "Китай",
1491
+ "zh-CN" : "中国"
1492
+ }
1493
+ },
1494
+ "location" : {
1495
+ "accuracy_radius" : 100,
1496
+ "latitude" : "35",
1497
+ "longitude" : "105"
1498
+ },
1499
+ "registered_country" : {
1500
+ "geoname_id" : 1814991,
1501
+ "iso_code" : "CN",
1502
+ "names" : {
1503
+ "de" : "China",
1504
+ "en" : "People's Republic of China",
1505
+ "es" : "República Popular China",
1506
+ "fr" : "Chine",
1507
+ "ja" : "中国",
1508
+ "pt-BR" : "China",
1509
+ "ru" : "Китай",
1510
+ "zh-CN" : "中国"
1511
+ }
1512
+ }
1513
+ }
1514
+ },
1515
+ {
1516
+ "2a02:d280::/29" : {
1517
+ "continent" : {
1518
+ "code" : "EU",
1519
+ "geoname_id" : 6255148,
1520
+ "names" : {
1521
+ "de" : "Europa",
1522
+ "en" : "Europe",
1523
+ "es" : "Europa",
1524
+ "fr" : "Europe",
1525
+ "ja" : "ヨーロッパ",
1526
+ "pt-BR" : "Europa",
1527
+ "ru" : "Европа",
1528
+ "zh-CN" : "欧洲"
1529
+ }
1530
+ },
1531
+ "country" : {
1532
+ "confidence" : 95,
1533
+ "geoname_id" : 3077311,
1534
+ "is_in_european_union" : true,
1535
+ "iso_code" : "CZ",
1536
+ "names" : {
1537
+ "de" : "Tschechische Republik",
1538
+ "en" : "Czech Republic",
1539
+ "es" : "República Checa",
1540
+ "fr" : "Tchéquie",
1541
+ "ja" : "チェコ共和国",
1542
+ "pt-BR" : "República Checa",
1543
+ "ru" : "Чешская Республика",
1544
+ "zh-CN" : "捷克共和国"
1545
+ }
1546
+ },
1547
+ "location" : {
1548
+ "accuracy_radius" : 100,
1549
+ "latitude" : "49.75",
1550
+ "longitude" : "15",
1551
+ "time_zone" : "Europe/Prague"
1552
+ },
1553
+ "registered_country" : {
1554
+ "geoname_id" : 3077311,
1555
+ "is_in_european_union" : true,
1556
+ "iso_code" : "CZ",
1557
+ "names" : {
1558
+ "de" : "Tschechische Republik",
1559
+ "en" : "Czech Republic",
1560
+ "es" : "República Checa",
1561
+ "fr" : "Tchéquie",
1562
+ "ja" : "チェコ共和国",
1563
+ "pt-BR" : "República Checa",
1564
+ "ru" : "Чешская Республика",
1565
+ "zh-CN" : "捷克共和国"
1566
+ }
1567
+ }
1568
+ }
1569
+ },
1570
+ {
1571
+ "::212.47.235.81/128" : {
1572
+ "traits" : {
1573
+ "is_anonymous_proxy" : true
1574
+ }
1575
+ }
1576
+ },
1577
+ {
1578
+ "::212.47.235.82/128" : {
1579
+ "traits" : {
1580
+ "is_satellite_provider" : true
1581
+ }
1582
+ }
1583
+ },
1584
+ {
1585
+ "::1.9.127.107/128" : {
1586
+ "traits" : {
1587
+ "user_type" : "business"
1588
+ }
1589
+ }
1590
+ },
1591
+ {
1592
+ "::102.35.19.0/128" : {
1593
+ "traits" : {
1594
+ "user_type" : "cellular"
1595
+ }
1596
+ }
1597
+ }
1598
+ ]