maxmind-geoip2 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +10 -5
- data/lib/maxmind/geoip2/client.rb +18 -9
- data/lib/maxmind/geoip2/model/city.rb +4 -5
- data/lib/maxmind/geoip2/model/connection_type.rb +3 -2
- data/lib/maxmind/geoip2/model/enterprise.rb +2 -3
- data/lib/maxmind/geoip2/model/insights.rb +3 -5
- data/lib/maxmind/geoip2/record/traits.rb +39 -27
- data/lib/maxmind/geoip2/version.rb +8 -0
- data/maxmind-geoip2.gemspec +7 -2
- data/test/data/cmd/write-test-data/main.go +68 -0
- data/test/data/go.mod +13 -0
- data/test/data/go.sum +16 -0
- data/test/data/perltidyrc +6 -0
- data/test/data/pkg/writer/decoder.go +178 -0
- data/test/data/pkg/writer/geoip2.go +182 -0
- data/test/data/pkg/writer/ip.go +39 -0
- data/test/data/pkg/writer/maxmind.go +245 -0
- data/test/data/pkg/writer/nestedstructures.go +73 -0
- data/test/data/pkg/writer/writer.go +58 -0
- data/test/data/source-data/GeoIP2-City-Test.json +322 -1
- data/test/data/source-data/GeoIP2-Connection-Type-Test.json +15 -10
- data/test/data/source-data/GeoIP2-Country-Test.json +99 -0
- data/test/data/source-data/GeoIP2-Domain-Test.json +5 -0
- data/test/data/source-data/GeoIP2-Enterprise-Test.json +347 -1
- data/test/data/source-data/GeoIP2-Precision-Enterprise-Sandbox-Test.json +296 -0
- data/test/data/source-data/GeoIP2-Precision-Enterprise-Test.json +412 -2
- data/test/data/source-data/GeoIP2-Static-IP-Score-Test.json +15 -0
- data/test/data/source-data/GeoIP2-User-Count-Test.json +18 -0
- data/test/data/source-data/GeoLite2-City-Test.json +168 -0
- data/test/data/source-data/GeoLite2-Country-Test.json +92 -0
- data/test/data/test-data/GeoIP2-Anonymous-IP-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-City-Test-Broken-Double-Format.mmdb +0 -0
- data/test/data/test-data/GeoIP2-City-Test-Invalid-Node-Count.mmdb +0 -0
- data/test/data/test-data/GeoIP2-City-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Connection-Type-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Country-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-DensityIncome-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Domain-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Enterprise-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-ISP-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Precision-Enterprise-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-Static-IP-Score-Test.mmdb +0 -0
- data/test/data/test-data/GeoIP2-User-Count-Test.mmdb +0 -0
- data/test/data/test-data/GeoLite2-ASN-Test.mmdb +0 -0
- data/test/data/test-data/GeoLite2-City-Test.mmdb +0 -0
- data/test/data/test-data/GeoLite2-Country-Test.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-no-ipv4-search-tree.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-string-value-entries.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-broken-pointers-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-broken-search-tree-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-decoder.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv4-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv4-28.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv4-32.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv6-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv6-28.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-ipv6-32.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-metadata-pointers.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-mixed-24.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-mixed-28.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-mixed-32.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-nested.mmdb +0 -0
- data/test/data/test-data/MaxMind-DB-test-pointer-decoder.mmdb +0 -0
- data/test/data/test-data/README.md +28 -12
- data/test/test_client.rb +18 -2
- data/test/test_reader.rb +19 -1
- metadata +16 -7
- data/test/data/source-data/README +0 -15
- data/test/data/test-data/write-test-data.pl +0 -695
@@ -0,0 +1,58 @@
|
|
1
|
+
// Package writer defines database writers responsible
|
2
|
+
// for generating test mmdb files.
|
3
|
+
package writer
|
4
|
+
|
5
|
+
import (
|
6
|
+
"fmt"
|
7
|
+
"os"
|
8
|
+
"path/filepath"
|
9
|
+
|
10
|
+
"github.com/maxmind/mmdbwriter"
|
11
|
+
)
|
12
|
+
|
13
|
+
var ipSample = []string{
|
14
|
+
"::1.1.1.0/120",
|
15
|
+
"::2.2.0.0/112",
|
16
|
+
"::3.0.0.0/104",
|
17
|
+
"::4.5.6.7/128",
|
18
|
+
"abcd::/64",
|
19
|
+
"1000::1234:0000/112",
|
20
|
+
}
|
21
|
+
|
22
|
+
// Writer is responsible for writing test mmdb databases
|
23
|
+
// based on the provided data sources.
|
24
|
+
type Writer struct {
|
25
|
+
source string
|
26
|
+
target string
|
27
|
+
}
|
28
|
+
|
29
|
+
// New initializes a new test database writer struct.
|
30
|
+
func New(source, target string) (*Writer, error) {
|
31
|
+
s := filepath.Clean(source)
|
32
|
+
if _, err := os.Stat(s); os.IsNotExist(err) {
|
33
|
+
return nil, fmt.Errorf("source directory does not exist: %w", err)
|
34
|
+
}
|
35
|
+
|
36
|
+
t := filepath.Clean(target)
|
37
|
+
if err := os.MkdirAll(t, os.ModePerm); err != nil {
|
38
|
+
return nil, fmt.Errorf("creating target directory: %w", err)
|
39
|
+
}
|
40
|
+
|
41
|
+
return &Writer{
|
42
|
+
source: s,
|
43
|
+
target: t,
|
44
|
+
}, nil
|
45
|
+
}
|
46
|
+
|
47
|
+
func (w *Writer) write(dbWriter *mmdbwriter.Tree, fileName string) error {
|
48
|
+
outputFile, err := os.Create(filepath.Clean(filepath.Join(w.target, fileName)))
|
49
|
+
if err != nil {
|
50
|
+
return fmt.Errorf("creating mmdb file: %w", err)
|
51
|
+
}
|
52
|
+
defer outputFile.Close()
|
53
|
+
|
54
|
+
if _, err := dbWriter.WriteTo(outputFile); err != nil {
|
55
|
+
return fmt.Errorf("writing mmdb file: %w", err)
|
56
|
+
}
|
57
|
+
return nil
|
58
|
+
}
|
@@ -103,6 +103,160 @@
|
|
103
103
|
}
|
104
104
|
}
|
105
105
|
},
|
106
|
+
{
|
107
|
+
"::214.0.0.0/120" : {
|
108
|
+
"city" : {
|
109
|
+
"geoname_id" : 1880252,
|
110
|
+
"names" : {
|
111
|
+
"de" : "Singapur",
|
112
|
+
"en" : "Singapore",
|
113
|
+
"es" : "Singapur",
|
114
|
+
"fr" : "Singapour",
|
115
|
+
"ja" : "シンガポール",
|
116
|
+
"pt-BR" : "Singapura",
|
117
|
+
"ru" : "Сингапур",
|
118
|
+
"zh-CN" : "新加坡"
|
119
|
+
}
|
120
|
+
},
|
121
|
+
"continent" : {
|
122
|
+
"code" : "AS",
|
123
|
+
"geoname_id" : 6255147,
|
124
|
+
"names" : {
|
125
|
+
"de" : "Asien",
|
126
|
+
"en" : "Asia",
|
127
|
+
"es" : "Asia",
|
128
|
+
"fr" : "Asie",
|
129
|
+
"ja" : "アジア",
|
130
|
+
"pt-BR" : "Ásia",
|
131
|
+
"ru" : "Азия",
|
132
|
+
"zh-CN" : "亚洲"
|
133
|
+
}
|
134
|
+
},
|
135
|
+
"country" : {
|
136
|
+
"geoname_id" : 1880251,
|
137
|
+
"iso_code" : "SG",
|
138
|
+
"names" : {
|
139
|
+
"de" : "Singapur",
|
140
|
+
"en" : "Singapore",
|
141
|
+
"es" : "Singapur",
|
142
|
+
"fr" : "Singapour",
|
143
|
+
"ja" : "シンガポール",
|
144
|
+
"pt-BR" : "Singapura",
|
145
|
+
"ru" : "Сингапур",
|
146
|
+
"zh-CN" : "新加坡"
|
147
|
+
}
|
148
|
+
},
|
149
|
+
"location" : {
|
150
|
+
"accuracy_radius" : 10,
|
151
|
+
"latitude" : 1.336,
|
152
|
+
"longitude" : 103.7716,
|
153
|
+
"time_zone" : "Asia/Singapore"
|
154
|
+
},
|
155
|
+
"postal" : {
|
156
|
+
"code" : "59"
|
157
|
+
},
|
158
|
+
"registered_country" : {
|
159
|
+
"geoname_id" : 1880251,
|
160
|
+
"iso_code" : "SG",
|
161
|
+
"names" : {
|
162
|
+
"de" : "Singapur",
|
163
|
+
"en" : "Singapore",
|
164
|
+
"es" : "Singapur",
|
165
|
+
"fr" : "Singapour",
|
166
|
+
"ja" : "シンガポール",
|
167
|
+
"pt-BR" : "Singapura",
|
168
|
+
"ru" : "Сингапур",
|
169
|
+
"zh-CN" : "新加坡"
|
170
|
+
}
|
171
|
+
}
|
172
|
+
}
|
173
|
+
},
|
174
|
+
{
|
175
|
+
"::214.0.1.0/120" : {
|
176
|
+
"city" : {
|
177
|
+
"geoname_id" : 2158177,
|
178
|
+
"names" : {
|
179
|
+
"de" : "Melbourne",
|
180
|
+
"en" : "Melbourne",
|
181
|
+
"es" : "Melbourne",
|
182
|
+
"fr" : "Melbourne",
|
183
|
+
"ja" : "メルボルン",
|
184
|
+
"pt-BR" : "Melbourne",
|
185
|
+
"ru" : "Мельбурн",
|
186
|
+
"zh-CN" : "墨尔本"
|
187
|
+
}
|
188
|
+
},
|
189
|
+
"continent" : {
|
190
|
+
"code" : "OC",
|
191
|
+
"geoname_id" : 6255151,
|
192
|
+
"names" : {
|
193
|
+
"de" : "Ozeanien",
|
194
|
+
"en" : "Oceania",
|
195
|
+
"es" : "Oceanía",
|
196
|
+
"fr" : "Océanie",
|
197
|
+
"ja" : "オセアニア",
|
198
|
+
"pt-BR" : "Oceania",
|
199
|
+
"ru" : "Океания",
|
200
|
+
"zh-CN" : "大洋洲"
|
201
|
+
}
|
202
|
+
},
|
203
|
+
"country" : {
|
204
|
+
"geoname_id" : 2077456,
|
205
|
+
"iso_code" : "AU",
|
206
|
+
"names" : {
|
207
|
+
"de" : "Australien",
|
208
|
+
"en" : "Australia",
|
209
|
+
"es" : "Australia",
|
210
|
+
"fr" : "Australie",
|
211
|
+
"ja" : "オーストラリア",
|
212
|
+
"pt-BR" : "Austrália",
|
213
|
+
"ru" : "Австралия",
|
214
|
+
"zh-CN" : "澳大利亚"
|
215
|
+
}
|
216
|
+
},
|
217
|
+
"location" : {
|
218
|
+
"accuracy_radius" : 20,
|
219
|
+
"latitude" : -37.8159,
|
220
|
+
"longitude" : 144.9669,
|
221
|
+
"time_zone" : "Australia/Melbourne"
|
222
|
+
},
|
223
|
+
"postal" : {
|
224
|
+
"code" : "3000"
|
225
|
+
},
|
226
|
+
"registered_country" : {
|
227
|
+
"geoname_id" : 2077456,
|
228
|
+
"iso_code" : "AU",
|
229
|
+
"names" : {
|
230
|
+
"de" : "Australien",
|
231
|
+
"en" : "Australia",
|
232
|
+
"es" : "Australia",
|
233
|
+
"fr" : "Australie",
|
234
|
+
"ja" : "オーストラリア",
|
235
|
+
"pt-BR" : "Austrália",
|
236
|
+
"ru" : "Австралия",
|
237
|
+
"zh-CN" : "澳大利亚"
|
238
|
+
}
|
239
|
+
},
|
240
|
+
"subdivisions" : [
|
241
|
+
{
|
242
|
+
"geoname_id" : 2145234,
|
243
|
+
"iso_code" : "VIC",
|
244
|
+
"names" : {
|
245
|
+
"en" : "Victoria",
|
246
|
+
"pt-BR" : "Vitória",
|
247
|
+
"ru" : "Виктория"
|
248
|
+
}
|
249
|
+
}
|
250
|
+
]
|
251
|
+
}
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"214.1.1.0/24" : {
|
255
|
+
"traits": {
|
256
|
+
"is_anycast": true
|
257
|
+
}
|
258
|
+
}
|
259
|
+
},
|
106
260
|
{
|
107
261
|
"2001:230::/32" : {
|
108
262
|
"continent" : {
|
@@ -12422,7 +12576,6 @@
|
|
12422
12576
|
}
|
12423
12577
|
},
|
12424
12578
|
"country" : {
|
12425
|
-
"confidence" : 99,
|
12426
12579
|
"geoname_id" : 6252001,
|
12427
12580
|
"iso_code" : "US",
|
12428
12581
|
"names" : {
|
@@ -12881,5 +13034,173 @@
|
|
12881
13034
|
}
|
12882
13035
|
]
|
12883
13036
|
}
|
13037
|
+
},
|
13038
|
+
{
|
13039
|
+
"214.78.120.0/22" : {
|
13040
|
+
"city" : {
|
13041
|
+
"geoname_id" : 5391811,
|
13042
|
+
"names" : {
|
13043
|
+
"de" : "San Diego",
|
13044
|
+
"en" : "San Diego",
|
13045
|
+
"es" : "San Diego",
|
13046
|
+
"fr" : "San Diego",
|
13047
|
+
"ja" : "サンディエゴ",
|
13048
|
+
"pt-BR" : "San Diego",
|
13049
|
+
"ru" : "Сан-Диего"
|
13050
|
+
}
|
13051
|
+
},
|
13052
|
+
"continent" : {
|
13053
|
+
"code" : "NA",
|
13054
|
+
"geoname_id" : 6255149,
|
13055
|
+
"names" : {
|
13056
|
+
"de" : "Nordamerika",
|
13057
|
+
"en" : "North America",
|
13058
|
+
"es" : "Norteamérica",
|
13059
|
+
"fr" : "Amérique du Nord",
|
13060
|
+
"ja" : "北アメリカ",
|
13061
|
+
"pt-BR" : "América do Norte",
|
13062
|
+
"ru" : "Северная Америка",
|
13063
|
+
"zh-CN" : "北美洲"
|
13064
|
+
}
|
13065
|
+
},
|
13066
|
+
"country" : {
|
13067
|
+
"geoname_id" : 6252001,
|
13068
|
+
"iso_code" : "US",
|
13069
|
+
"names" : {
|
13070
|
+
"de" : "Vereinigte Staaten",
|
13071
|
+
"en" : "United States",
|
13072
|
+
"es" : "Estados Unidos",
|
13073
|
+
"fr" : "États Unis",
|
13074
|
+
"ja" : "アメリカ",
|
13075
|
+
"pt-BR" : "EUA",
|
13076
|
+
"ru" : "США",
|
13077
|
+
"zh-CN" : "美国"
|
13078
|
+
}
|
13079
|
+
},
|
13080
|
+
"location" : {
|
13081
|
+
"accuracy_radius" : 100,
|
13082
|
+
"latitude" : 32.7405,
|
13083
|
+
"longitude" : -117.0935,
|
13084
|
+
"metro_code" : 825,
|
13085
|
+
"time_zone" : "America/Los_Angeles"
|
13086
|
+
},
|
13087
|
+
"postal" : {
|
13088
|
+
"code" : "92105"
|
13089
|
+
},
|
13090
|
+
"registered_country" : {
|
13091
|
+
"geoname_id" : 6252001,
|
13092
|
+
"iso_code" : "US",
|
13093
|
+
"names" : {
|
13094
|
+
"de" : "Vereinigte Staaten",
|
13095
|
+
"en" : "United States",
|
13096
|
+
"es" : "Estados Unidos",
|
13097
|
+
"fr" : "États Unis",
|
13098
|
+
"ja" : "アメリカ",
|
13099
|
+
"pt-BR" : "EUA",
|
13100
|
+
"ru" : "США",
|
13101
|
+
"zh-CN" : "美国"
|
13102
|
+
}
|
13103
|
+
},
|
13104
|
+
"subdivisions" : [
|
13105
|
+
{
|
13106
|
+
"geoname_id" : 5332921,
|
13107
|
+
"iso_code" : "CA",
|
13108
|
+
"names" : {
|
13109
|
+
"de" : "Kalifornien",
|
13110
|
+
"en" : "California",
|
13111
|
+
"es" : "California",
|
13112
|
+
"fr" : "Californie",
|
13113
|
+
"ja" : "カリフォルニア州",
|
13114
|
+
"pt-BR" : "Califórnia",
|
13115
|
+
"ru" : "Калифорния",
|
13116
|
+
"zh-CN" : "加州"
|
13117
|
+
}
|
13118
|
+
}
|
13119
|
+
]
|
13120
|
+
}
|
13121
|
+
},
|
13122
|
+
{
|
13123
|
+
"2001:480:10::/48" : {
|
13124
|
+
"city" : {
|
13125
|
+
"geoname_id" : 5391811,
|
13126
|
+
"names" : {
|
13127
|
+
"de" : "San Diego",
|
13128
|
+
"en" : "San Diego",
|
13129
|
+
"es" : "San Diego",
|
13130
|
+
"fr" : "San Diego",
|
13131
|
+
"ja" : "サンディエゴ",
|
13132
|
+
"pt-BR" : "San Diego",
|
13133
|
+
"ru" : "Сан-Диего"
|
13134
|
+
}
|
13135
|
+
},
|
13136
|
+
"continent" : {
|
13137
|
+
"code" : "NA",
|
13138
|
+
"geoname_id" : 6255149,
|
13139
|
+
"names" : {
|
13140
|
+
"de" : "Nordamerika",
|
13141
|
+
"en" : "North America",
|
13142
|
+
"es" : "Norteamérica",
|
13143
|
+
"fr" : "Amérique du Nord",
|
13144
|
+
"ja" : "北アメリカ",
|
13145
|
+
"pt-BR" : "América do Norte",
|
13146
|
+
"ru" : "Северная Америка",
|
13147
|
+
"zh-CN" : "北美洲"
|
13148
|
+
}
|
13149
|
+
},
|
13150
|
+
"country" : {
|
13151
|
+
"geoname_id" : 6252001,
|
13152
|
+
"iso_code" : "US",
|
13153
|
+
"names" : {
|
13154
|
+
"de" : "Vereinigte Staaten",
|
13155
|
+
"en" : "United States",
|
13156
|
+
"es" : "Estados Unidos",
|
13157
|
+
"fr" : "États Unis",
|
13158
|
+
"ja" : "アメリカ",
|
13159
|
+
"pt-BR" : "EUA",
|
13160
|
+
"ru" : "США",
|
13161
|
+
"zh-CN" : "美国"
|
13162
|
+
}
|
13163
|
+
},
|
13164
|
+
"location" : {
|
13165
|
+
"accuracy_radius" : 20,
|
13166
|
+
"latitude" : 32.7203,
|
13167
|
+
"longitude" : -117.1552,
|
13168
|
+
"metro_code" : 825,
|
13169
|
+
"time_zone" : "America/Los_Angeles"
|
13170
|
+
},
|
13171
|
+
"postal" : {
|
13172
|
+
"code" : "92101"
|
13173
|
+
},
|
13174
|
+
"registered_country" : {
|
13175
|
+
"geoname_id" : 6252001,
|
13176
|
+
"iso_code" : "US",
|
13177
|
+
"names" : {
|
13178
|
+
"de" : "Vereinigte Staaten",
|
13179
|
+
"en" : "United States",
|
13180
|
+
"es" : "Estados Unidos",
|
13181
|
+
"fr" : "États Unis",
|
13182
|
+
"ja" : "アメリカ",
|
13183
|
+
"pt-BR" : "EUA",
|
13184
|
+
"ru" : "США",
|
13185
|
+
"zh-CN" : "美国"
|
13186
|
+
}
|
13187
|
+
},
|
13188
|
+
"subdivisions" : [
|
13189
|
+
{
|
13190
|
+
"geoname_id" : 5332921,
|
13191
|
+
"iso_code" : "CA",
|
13192
|
+
"names" : {
|
13193
|
+
"de" : "Kalifornien",
|
13194
|
+
"en" : "California",
|
13195
|
+
"es" : "California",
|
13196
|
+
"fr" : "Californie",
|
13197
|
+
"ja" : "カリフォルニア州",
|
13198
|
+
"pt-BR" : "Califórnia",
|
13199
|
+
"ru" : "Калифорния",
|
13200
|
+
"zh-CN" : "加州"
|
13201
|
+
}
|
13202
|
+
}
|
13203
|
+
]
|
13204
|
+
}
|
12884
13205
|
}
|
12885
13206
|
]
|
@@ -1,47 +1,47 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
3
|
"::1.0.0.0/120" : {
|
4
|
-
"connection_type" : "
|
4
|
+
"connection_type" : "Cable/DSL"
|
5
5
|
}
|
6
6
|
},
|
7
7
|
{
|
8
8
|
"::1.0.1.0/120" : {
|
9
|
-
"connection_type" : "
|
9
|
+
"connection_type" : "Cellular"
|
10
10
|
}
|
11
11
|
},
|
12
12
|
{
|
13
13
|
"::1.0.2.0/119" : {
|
14
|
-
"connection_type" : "
|
14
|
+
"connection_type" : "Cable/DSL"
|
15
15
|
}
|
16
16
|
},
|
17
17
|
{
|
18
18
|
"::1.0.4.0/118" : {
|
19
|
-
"connection_type" : "
|
19
|
+
"connection_type" : "Cable/DSL"
|
20
20
|
}
|
21
21
|
},
|
22
22
|
{
|
23
23
|
"::1.0.8.0/117" : {
|
24
|
-
"connection_type" : "
|
24
|
+
"connection_type" : "Cable/DSL"
|
25
25
|
}
|
26
26
|
},
|
27
27
|
{
|
28
28
|
"::1.0.16.0/116" : {
|
29
|
-
"connection_type" : "
|
29
|
+
"connection_type" : "Cable/DSL"
|
30
30
|
}
|
31
31
|
},
|
32
32
|
{
|
33
33
|
"::1.0.32.0/115" : {
|
34
|
-
"connection_type" : "
|
34
|
+
"connection_type" : "Cable/DSL"
|
35
35
|
}
|
36
36
|
},
|
37
37
|
{
|
38
38
|
"::1.0.64.0/114" : {
|
39
|
-
"connection_type" : "
|
39
|
+
"connection_type" : "Cable/DSL"
|
40
40
|
}
|
41
41
|
},
|
42
42
|
{
|
43
43
|
"::1.0.128.0/113" : {
|
44
|
-
"connection_type" : "
|
44
|
+
"connection_type" : "Cable/DSL"
|
45
45
|
}
|
46
46
|
},
|
47
47
|
{
|
@@ -91,7 +91,7 @@
|
|
91
91
|
},
|
92
92
|
{
|
93
93
|
"::175.16.199.0/120" : {
|
94
|
-
"connection_type" : "
|
94
|
+
"connection_type" : "Cable/DSL"
|
95
95
|
}
|
96
96
|
},
|
97
97
|
{
|
@@ -109,6 +109,11 @@
|
|
109
109
|
"connection_type" : "Cellular"
|
110
110
|
}
|
111
111
|
},
|
112
|
+
{
|
113
|
+
"::214.78.120.0/118" : {
|
114
|
+
"connection_type" : "Satellite"
|
115
|
+
}
|
116
|
+
},
|
112
117
|
{
|
113
118
|
"::216.160.83.56/125" : {
|
114
119
|
"connection_type" : "Corporate"
|
@@ -15900,5 +15900,104 @@
|
|
15900
15900
|
}
|
15901
15901
|
}
|
15902
15902
|
}
|
15903
|
+
},
|
15904
|
+
{
|
15905
|
+
"214.1.1.0/24" : {
|
15906
|
+
"traits": {
|
15907
|
+
"is_anycast": true
|
15908
|
+
}
|
15909
|
+
}
|
15910
|
+
},
|
15911
|
+
{
|
15912
|
+
"214.78.120.0/22" : {
|
15913
|
+
"continent" : {
|
15914
|
+
"code" : "NA",
|
15915
|
+
"geoname_id" : 6255149,
|
15916
|
+
"names" : {
|
15917
|
+
"de" : "Nordamerika",
|
15918
|
+
"en" : "North America",
|
15919
|
+
"es" : "Norteamérica",
|
15920
|
+
"fr" : "Amérique du Nord",
|
15921
|
+
"ja" : "北アメリカ",
|
15922
|
+
"pt-BR" : "América do Norte",
|
15923
|
+
"ru" : "Северная Америка",
|
15924
|
+
"zh-CN" : "北美洲"
|
15925
|
+
}
|
15926
|
+
},
|
15927
|
+
"country" : {
|
15928
|
+
"geoname_id" : 6252001,
|
15929
|
+
"iso_code" : "US",
|
15930
|
+
"names" : {
|
15931
|
+
"de" : "Vereinigte Staaten",
|
15932
|
+
"en" : "United States",
|
15933
|
+
"es" : "Estados Unidos",
|
15934
|
+
"fr" : "États Unis",
|
15935
|
+
"ja" : "アメリカ",
|
15936
|
+
"pt-BR" : "EUA",
|
15937
|
+
"ru" : "США",
|
15938
|
+
"zh-CN" : "美国"
|
15939
|
+
}
|
15940
|
+
},
|
15941
|
+
"registered_country" : {
|
15942
|
+
"geoname_id" : 6252001,
|
15943
|
+
"iso_code" : "US",
|
15944
|
+
"names" : {
|
15945
|
+
"de" : "Vereinigte Staaten",
|
15946
|
+
"en" : "United States",
|
15947
|
+
"es" : "Estados Unidos",
|
15948
|
+
"fr" : "États Unis",
|
15949
|
+
"ja" : "アメリカ",
|
15950
|
+
"pt-BR" : "EUA",
|
15951
|
+
"ru" : "США",
|
15952
|
+
"zh-CN" : "美国"
|
15953
|
+
}
|
15954
|
+
}
|
15955
|
+
}
|
15956
|
+
},
|
15957
|
+
{
|
15958
|
+
"2001:480:10::/48" : {
|
15959
|
+
"continent" : {
|
15960
|
+
"code" : "NA",
|
15961
|
+
"geoname_id" : 6255149,
|
15962
|
+
"names" : {
|
15963
|
+
"de" : "Nordamerika",
|
15964
|
+
"en" : "North America",
|
15965
|
+
"es" : "Norteamérica",
|
15966
|
+
"fr" : "Amérique du Nord",
|
15967
|
+
"ja" : "北アメリカ",
|
15968
|
+
"pt-BR" : "América do Norte",
|
15969
|
+
"ru" : "Северная Америка",
|
15970
|
+
"zh-CN" : "北美洲"
|
15971
|
+
}
|
15972
|
+
},
|
15973
|
+
"country" : {
|
15974
|
+
"geoname_id" : 6252001,
|
15975
|
+
"iso_code" : "US",
|
15976
|
+
"names" : {
|
15977
|
+
"de" : "Vereinigte Staaten",
|
15978
|
+
"en" : "United States",
|
15979
|
+
"es" : "Estados Unidos",
|
15980
|
+
"fr" : "États Unis",
|
15981
|
+
"ja" : "アメリカ",
|
15982
|
+
"pt-BR" : "EUA",
|
15983
|
+
"ru" : "США",
|
15984
|
+
"zh-CN" : "美国"
|
15985
|
+
}
|
15986
|
+
},
|
15987
|
+
"registered_country" : {
|
15988
|
+
"geoname_id" : 6252001,
|
15989
|
+
"iso_code" : "US",
|
15990
|
+
"names" : {
|
15991
|
+
"de" : "Vereinigte Staaten",
|
15992
|
+
"en" : "United States",
|
15993
|
+
"es" : "Estados Unidos",
|
15994
|
+
"fr" : "États Unis",
|
15995
|
+
"ja" : "アメリカ",
|
15996
|
+
"pt-BR" : "EUA",
|
15997
|
+
"ru" : "США",
|
15998
|
+
"zh-CN" : "美国"
|
15999
|
+
}
|
16000
|
+
}
|
16001
|
+
}
|
15903
16002
|
}
|
15904
16003
|
]
|