ip_filter 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +5 -0
  3. data/.rspec +1 -0
  4. data/CHANGELOG +29 -0
  5. data/Gemfile.lock +117 -0
  6. data/LICENSE +20 -0
  7. data/README.rdoc +232 -0
  8. data/Rakefile +6 -0
  9. data/data/geoip/country_code.yml +255 -0
  10. data/data/geoip/country_code3.yml +255 -0
  11. data/data/geoip/country_continent.yml +255 -0
  12. data/data/geoip/country_name.yml +255 -0
  13. data/data/geoip/time_zone.yml +677 -0
  14. data/lib/geoip.rb +559 -0
  15. data/lib/ip_filter.rb +100 -0
  16. data/lib/ip_filter/cache.rb +30 -0
  17. data/lib/ip_filter/cache/dallistore.rb +39 -0
  18. data/lib/ip_filter/cache/redis.rb +26 -0
  19. data/lib/ip_filter/configuration.rb +47 -0
  20. data/lib/ip_filter/controller/geo_ip_lookup.rb +78 -0
  21. data/lib/ip_filter/lookups/base.rb +60 -0
  22. data/lib/ip_filter/lookups/geoip.rb +41 -0
  23. data/lib/ip_filter/providers/max_mind.rb +52 -0
  24. data/lib/ip_filter/providers/s3.rb +51 -0
  25. data/lib/ip_filter/railtie.rb +23 -0
  26. data/lib/ip_filter/request.rb +14 -0
  27. data/lib/ip_filter/results/base.rb +39 -0
  28. data/lib/ip_filter/results/geoip.rb +19 -0
  29. data/lib/ip_filter/version.rb +3 -0
  30. data/spec/cache/dallistore_spec.rb +16 -0
  31. data/spec/cache/redis_spec.rb +56 -0
  32. data/spec/controller/ip_controller_spec.rb +56 -0
  33. data/spec/fixtures/GeoIP.dat +0 -0
  34. data/spec/fixtures/LICENSE.txt +31 -0
  35. data/spec/fixtures/country.dat +0 -0
  36. data/spec/ip_filter_spec.rb +19 -0
  37. data/spec/providers/max_mind_spec.rb +11 -0
  38. data/spec/providers/s3_spec.rb +11 -0
  39. data/spec/spec_helper.rb +40 -0
  40. data/spec/support/enable_dallistore_cache.rb +15 -0
  41. data/spec/support/enable_redis_cache.rb +15 -0
  42. metadata +85 -0
@@ -0,0 +1,255 @@
1
+ # Ordered list of the English names of the countries, ordered by GeoIP ID
2
+ ---
3
+ - N/A
4
+ - Asia/Pacific Region
5
+ - Europe
6
+ - Andorra
7
+ - United Arab Emirates
8
+ - Afghanistan
9
+ - Antigua and Barbuda
10
+ - Anguilla
11
+ - Albania
12
+ - Armenia
13
+ - Netherlands Antilles
14
+ - Angola
15
+ - Antarctica
16
+ - Argentina
17
+ - American Samoa
18
+ - Austria
19
+ - Australia
20
+ - Aruba
21
+ - Azerbaijan
22
+ - Bosnia and Herzegovina
23
+ - Barbados
24
+ - Bangladesh
25
+ - Belgium
26
+ - Burkina Faso
27
+ - Bulgaria
28
+ - Bahrain
29
+ - Burundi
30
+ - Benin
31
+ - Bermuda
32
+ - Brunei Darussalam
33
+ - Bolivia
34
+ - Brazil
35
+ - Bahamas
36
+ - Bhutan
37
+ - Bouvet Island
38
+ - Botswana
39
+ - Belarus
40
+ - Belize
41
+ - Canada
42
+ - Cocos (Keeling) Islands
43
+ - Congo, the Democratic Republic of the
44
+ - Central African Republic
45
+ - Congo
46
+ - Switzerland
47
+ - Cote D'Ivoire
48
+ - Cook Islands
49
+ - Chile
50
+ - Cameroon
51
+ - China
52
+ - Colombia
53
+ - Costa Rica
54
+ - Cuba
55
+ - Cape Verde
56
+ - Christmas Island
57
+ - Cyprus
58
+ - Czech Republic
59
+ - Germany
60
+ - Djibouti
61
+ - Denmark
62
+ - Dominica
63
+ - Dominican Republic
64
+ - Algeria
65
+ - Ecuador
66
+ - Estonia
67
+ - Egypt
68
+ - Western Sahara
69
+ - Eritrea
70
+ - Spain
71
+ - Ethiopia
72
+ - Finland
73
+ - Fiji
74
+ - Falkland Islands (Malvinas)
75
+ - Micronesia, Federated States of
76
+ - Faroe Islands
77
+ - France
78
+ - France, Metropolitan
79
+ - Gabon
80
+ - United Kingdom
81
+ - Grenada
82
+ - Georgia
83
+ - French Guiana
84
+ - Ghana
85
+ - Gibraltar
86
+ - Greenland
87
+ - Gambia
88
+ - Guinea
89
+ - Guadeloupe
90
+ - Equatorial Guinea
91
+ - Greece
92
+ - South Georgia and the South Sandwich Islands
93
+ - Guatemala
94
+ - Guam
95
+ - Guinea-Bissau
96
+ - Guyana
97
+ - Hong Kong
98
+ - Heard Island and McDonald Islands
99
+ - Honduras
100
+ - Croatia
101
+ - Haiti
102
+ - Hungary
103
+ - Indonesia
104
+ - Ireland
105
+ - Israel
106
+ - India
107
+ - British Indian Ocean Territory
108
+ - Iraq
109
+ - Iran, Islamic Republic of
110
+ - Iceland
111
+ - Italy
112
+ - Jamaica
113
+ - Jordan
114
+ - Japan
115
+ - Kenya
116
+ - Kyrgyzstan
117
+ - Cambodia
118
+ - Kiribati
119
+ - Comoros
120
+ - Saint Kitts and Nevis
121
+ - Korea, Democratic People's Republic of
122
+ - Korea, Republic of
123
+ - Kuwait
124
+ - Cayman Islands
125
+ - Kazakhstan
126
+ - Lao People's Democratic Republic
127
+ - Lebanon
128
+ - Saint Lucia
129
+ - Liechtenstein
130
+ - Sri Lanka
131
+ - Liberia
132
+ - Lesotho
133
+ - Lithuania
134
+ - Luxembourg
135
+ - Latvia
136
+ - Libyan Arab Jamahiriya
137
+ - Morocco
138
+ - Monaco
139
+ - Moldova, Republic of
140
+ - Madagascar
141
+ - Marshall Islands
142
+ - Macedonia, the Former Yugoslav Republic of
143
+ - Mali
144
+ - Myanmar
145
+ - Mongolia
146
+ - Macau
147
+ - Northern Mariana Islands
148
+ - Martinique
149
+ - Mauritania
150
+ - Montserrat
151
+ - Malta
152
+ - Mauritius
153
+ - Maldives
154
+ - Malawi
155
+ - Mexico
156
+ - Malaysia
157
+ - Mozambique
158
+ - Namibia
159
+ - New Caledonia
160
+ - Niger
161
+ - Norfolk Island
162
+ - Nigeria
163
+ - Nicaragua
164
+ - Netherlands
165
+ - Norway
166
+ - Nepal
167
+ - Nauru
168
+ - Niue
169
+ - New Zealand
170
+ - Oman
171
+ - Panama
172
+ - Peru
173
+ - French Polynesia
174
+ - Papua New Guinea
175
+ - Philippines
176
+ - Pakistan
177
+ - Poland
178
+ - Saint Pierre and Miquelon
179
+ - Pitcairn
180
+ - Puerto Rico
181
+ - Palestinian Territory, Occupied
182
+ - Portugal
183
+ - Palau
184
+ - Paraguay
185
+ - Qatar
186
+ - Reunion
187
+ - Romania
188
+ - Russian Federation
189
+ - Rwanda
190
+ - Saudi Arabia
191
+ - Solomon Islands
192
+ - Seychelles
193
+ - Sudan
194
+ - Sweden
195
+ - Singapore
196
+ - Saint Helena
197
+ - Slovenia
198
+ - Svalbard and Jan Mayen
199
+ - Slovakia
200
+ - Sierra Leone
201
+ - San Marino
202
+ - Senegal
203
+ - Somalia
204
+ - Suriname
205
+ - Sao Tome and Principe
206
+ - El Salvador
207
+ - Syrian Arab Republic
208
+ - Swaziland
209
+ - Turks and Caicos Islands
210
+ - Chad
211
+ - French Southern Territories
212
+ - Togo
213
+ - Thailand
214
+ - Tajikistan
215
+ - Tokelau
216
+ - Turkmenistan
217
+ - Tunisia
218
+ - Tonga
219
+ - Timor-Leste
220
+ - Turkey
221
+ - Trinidad and Tobago
222
+ - Tuvalu
223
+ - Taiwan, Province of China
224
+ - Tanzania, United Republic of
225
+ - Ukraine
226
+ - Uganda
227
+ - United States Minor Outlying Islands
228
+ - United States
229
+ - Uruguay
230
+ - Uzbekistan
231
+ - Holy See (Vatican City State)
232
+ - Saint Vincent and the Grenadines
233
+ - Venezuela
234
+ - Virgin Islands, British
235
+ - Virgin Islands, U.S.
236
+ - Viet Nam
237
+ - Vanuatu
238
+ - Wallis and Futuna
239
+ - Samoa
240
+ - Yemen
241
+ - Mayotte
242
+ - Serbia
243
+ - South Africa
244
+ - Zambia
245
+ - Montenegro
246
+ - Zimbabwe
247
+ - Anonymous Proxy
248
+ - Satellite Provider
249
+ - Other
250
+ - Aland Islands
251
+ - Guernsey
252
+ - Isle of Man
253
+ - Jersey
254
+ - Saint Barthelemy
255
+ - Saint Martin
@@ -0,0 +1,677 @@
1
+ # Hash of the timezone codes mapped to timezone name, per zoneinfo
2
+ ---
3
+ UA18: Europe/Zaporozhye
4
+ NZG1: Pacific/Auckland
5
+ KZ12: Asia/Qyzylorda
6
+ PS: Asia/Gaza
7
+ UA19: Europe/Kiev
8
+ NZG2: Pacific/Auckland
9
+ KZ13: Asia/Aqtobe
10
+ KW: Asia/Kuwait
11
+ NZG3: Pacific/Auckland
12
+ KZ14: Asia/Qyzylorda
13
+ KZ15: Asia/Almaty
14
+ KY: America/Cayman
15
+ KZ16: Asia/Aqtobe
16
+ PW: Pacific/Palau
17
+ KZ17: Asia/Almaty
18
+ USMA: America/New_York
19
+ DE: Europe/Berlin
20
+ NA: Africa/Windhoek
21
+ PY: America/Asuncion
22
+ USTX: America/Chicago
23
+ IE: Europe/Dublin
24
+ MX10: America/Mazatlan
25
+ USMD: America/New_York
26
+ NC: Pacific/Noumea
27
+ EC01: Pacific/Galapagos
28
+ MX11: America/Mexico_City
29
+ SA: Asia/Riyadh
30
+ USME: America/New_York
31
+ UY: America/Montevideo
32
+ ZW: Africa/Harare
33
+ MX12: America/Mexico_City
34
+ SB: Pacific/Guadalcanal
35
+ DJ: Africa/Djibouti
36
+ NE: Africa/Niamey
37
+ USHI: Pacific/Honolulu
38
+ EC02: America/Guayaquil
39
+ MX13: America/Mexico_City
40
+ SC: Indian/Mahe
41
+ DK: Europe/Copenhagen
42
+ USWA: America/Los_Angeles
43
+ NF: Pacific/Norfolk
44
+ EC03: America/Guayaquil
45
+ CAPE: America/Halifax
46
+ RU20: Asia/Irkutsk
47
+ MX14: America/Mazatlan
48
+ SD: Africa/Khartoum
49
+ NG: Africa/Lagos
50
+ EC04: America/Guayaquil
51
+ RU21: Europe/Moscow
52
+ MX15: America/Chihuahua
53
+ USMI: America/New_York
54
+ DM: America/Dominica
55
+ EC05: America/Guayaquil
56
+ BR20: America/Fortaleza
57
+ SE: Europe/Stockholm
58
+ UZ01: Asia/Tashkent
59
+ RU70: Europe/Volgograd
60
+ RU22: Europe/Volgograd
61
+ MX16: America/Mexico_City
62
+ CD02: Africa/Kinshasa
63
+ NI: America/Managua
64
+ EC06: America/Guayaquil
65
+ BR21: America/Sao_Paulo
66
+ USCO: America/Denver
67
+ UZ02: Asia/Samarkand
68
+ RU71: Asia/Yekaterinburg
69
+ RU23: Europe/Kaliningrad
70
+ MX17: America/Mexico_City
71
+ DO: America/Santo_Domingo
72
+ EC07: America/Guayaquil
73
+ BR22: America/Recife
74
+ IL: Asia/Jerusalem
75
+ SG: Asia/Singapore
76
+ UZ03: Asia/Tashkent
77
+ RU72: Europe/Moscow
78
+ RU24: Europe/Volgograd
79
+ MX18: America/Mazatlan
80
+ EC08: America/Guayaquil
81
+ BR23: America/Sao_Paulo
82
+ CN01: Asia/Shanghai
83
+ USRI: America/New_York
84
+ IM: Europe/Isle_of_Man
85
+ SH: Atlantic/St_Helena
86
+ RU73: Europe/Samara
87
+ RU25: Europe/Moscow
88
+ MX19: America/Monterrey
89
+ CD05: Africa/Lubumbashi
90
+ NL: Europe/Amsterdam
91
+ EC09: America/Guayaquil
92
+ BR24: America/Porto_Velho
93
+ CN02: Asia/Shanghai
94
+ IN: Asia/Calcutta
95
+ SI: Europe/Ljubljana
96
+ RU26: Asia/Kamchatka
97
+ USMN: America/Chicago
98
+ CD06: Africa/Kinshasa
99
+ BR25: America/Boa_Vista
100
+ CN03: Asia/Shanghai
101
+ IO: Indian/Chagos
102
+ SJ: Arctic/Longyearbyen
103
+ UZ06: Asia/Tashkent
104
+ RU74: Asia/Krasnoyarsk
105
+ RU27: Europe/Volgograd
106
+ USWI: America/Chicago
107
+ BR26: America/Sao_Paulo
108
+ CN04: Asia/Shanghai
109
+ USCT: America/New_York
110
+ SK: Europe/Bratislava
111
+ UZ07: Asia/Samarkand
112
+ RU75: Asia/Novosibirsk
113
+ RU28: Europe/Moscow
114
+ USMO: America/Chicago
115
+ CD08: Africa/Kinshasa
116
+ BR27: America/Sao_Paulo
117
+ CN05: Asia/Harbin
118
+ IQ: Asia/Baghdad
119
+ SL: Africa/Freetown
120
+ UZ08: Asia/Samarkand
121
+ RU76: Europe/Moscow
122
+ RU29: Asia/Novokuznetsk
123
+ ES27: Europe/Madrid
124
+ "NO": Europe/Oslo
125
+ BR28: America/Maceio
126
+ CN06: Asia/Chongqing
127
+ IR: Asia/Tehran
128
+ SM: Europe/San_Marino
129
+ UZ09: Asia/Samarkand
130
+ RU77: Europe/Moscow
131
+ PT02: Europe/Lisbon
132
+ NP: Asia/Katmandu
133
+ BR29: America/Sao_Paulo
134
+ CN07: Asia/Shanghai
135
+ IS: Atlantic/Reykjavik
136
+ SN: Africa/Dakar
137
+ RU78: Asia/Yekaterinburg
138
+ PT03: Europe/Lisbon
139
+ ES29: Europe/Madrid
140
+ CN08: Asia/Harbin
141
+ IT: Europe/Rome
142
+ SO: Africa/Mogadishu
143
+ RU79: Asia/Irkutsk
144
+ PT04: Europe/Lisbon
145
+ NR: Pacific/Nauru
146
+ CN09: Asia/Shanghai
147
+ USMS: America/Chicago
148
+ PT05: Europe/Lisbon
149
+ BA: Europe/Sarajevo
150
+ USMT: America/Denver
151
+ PT06: Europe/Lisbon
152
+ SR: America/Paramaribo
153
+ DZ: Africa/Algiers
154
+ PT07: Europe/Lisbon
155
+ NU: Pacific/Niue
156
+ BB: America/Barbados
157
+ PT08: Europe/Lisbon
158
+ GA: Africa/Libreville
159
+ PT09: Europe/Lisbon
160
+ GB: Europe/London
161
+ BD: Asia/Dhaka
162
+ ST: Africa/Sao_Tome
163
+ BE: Europe/Brussels
164
+ NZE7: Pacific/Auckland
165
+ GD: America/Grenada
166
+ BF: Africa/Ouagadougou
167
+ SV: America/El_Salvador
168
+ LA: Asia/Vientiane
169
+ NZE8: Pacific/Auckland
170
+ USWV: America/New_York
171
+ GE: Asia/Tbilisi
172
+ BG: Europe/Sofia
173
+ LB: Asia/Beirut
174
+ USPA: America/New_York
175
+ GF: America/Cayenne
176
+ CANB: America/Halifax
177
+ BH: Asia/Bahrain
178
+ LC: America/St_Lucia
179
+ NZE9: Pacific/Auckland
180
+ QA: Asia/Qatar
181
+ BI: Africa/Bujumbura
182
+ SY: Asia/Damascus
183
+ GG: Europe/Guernsey
184
+ USAK: America/Anchorage
185
+ BJ: Africa/Porto-Novo
186
+ SZ: Africa/Mbabane
187
+ USWY: America/Denver
188
+ GH: Africa/Accra
189
+ USAL: America/Chicago
190
+ GI: Europe/Gibraltar
191
+ BL: America/St_Barthelemy
192
+ VA: Europe/Vatican
193
+ RU01: Europe/Volgograd
194
+ BM: Atlantic/Bermuda
195
+ RU50: Asia/Yekaterinburg
196
+ RU02: Asia/Irkutsk
197
+ BN: Asia/Brunei
198
+ LI: Europe/Vaduz
199
+ USFL: America/New_York
200
+ VC: America/St_Vincent
201
+ BR01: America/Rio_Branco
202
+ RU51: Europe/Moscow
203
+ RU03: Asia/Novokuznetsk
204
+ AR20: America/Argentina/Rio_Gallegos
205
+ BO: America/La_Paz
206
+ BR02: America/Maceio
207
+ RU04: Asia/Novosibirsk
208
+ ID20: Asia/Makassar
209
+ GM: Africa/Banjul
210
+ AR21: America/Argentina/Buenos_Aires
211
+ LK: Asia/Colombo
212
+ VE: America/Caracas
213
+ BR03: America/Sao_Paulo
214
+ RU52: Europe/Moscow
215
+ RU05: Asia/Vladivostok
216
+ ID21: Asia/Makassar
217
+ GN: Africa/Conakry
218
+ AR22: America/Argentina/Catamarca
219
+ USAR: America/Chicago
220
+ BR04: America/Manaus
221
+ RU53: Asia/Novosibirsk
222
+ RU06: Europe/Moscow
223
+ ID22: Asia/Makassar
224
+ ES51: Africa/Ceuta
225
+ AR23: America/Argentina/Ushuaia
226
+ CANL: America/St_Johns
227
+ CN30: Asia/Chongqing
228
+ VG: America/Tortola
229
+ BR05: America/Bahia
230
+ RU54: Asia/Omsk
231
+ RU07: Europe/Volgograd
232
+ ID23: Asia/Makassar
233
+ ES52: Europe/Madrid
234
+ GP: America/Guadeloupe
235
+ AR24: America/Argentina/Tucuman
236
+ BS: America/Nassau
237
+ CN31: Asia/Chongqing
238
+ BR06: America/Fortaleza
239
+ UA20: Europe/Simferopol
240
+ RU55: Europe/Samara
241
+ RU08: Europe/Samara
242
+ ID24: Asia/Jakarta
243
+ ES53: Atlantic/Canary
244
+ GQ: Africa/Malabo
245
+ BT: Asia/Thimphu
246
+ CN32: Asia/Chongqing
247
+ CASK: America/Regina
248
+ VI: America/St_Thomas
249
+ BR07: America/Sao_Paulo
250
+ UA21: Europe/Kiev
251
+ RU56: Europe/Moscow
252
+ RU09: Europe/Moscow
253
+ ID25: Asia/Pontianak
254
+ ES54: Europe/Madrid
255
+ ES07: Europe/Madrid
256
+ GR: Europe/Athens
257
+ CN33: Asia/Chongqing
258
+ BR08: America/Sao_Paulo
259
+ UA22: Europe/Uzhgorod
260
+ RU57: Europe/Samara
261
+ ID26: Asia/Pontianak
262
+ ES55: Europe/Madrid
263
+ GS: Atlantic/South_Georgia
264
+ UA23: Europe/Kiev
265
+ RU58: Asia/Yekaterinburg
266
+ MY01: Asia/Kuala_Lumpur
267
+ ES56: Europe/Madrid
268
+ BW: Africa/Gaborone
269
+ GT: America/Guatemala
270
+ UA24: Europe/Uzhgorod
271
+ RU59: Asia/Vladivostok
272
+ MY02: Asia/Kuala_Lumpur
273
+ ES57: Europe/Madrid
274
+ USKS: America/Chicago
275
+ LR: Africa/Monrovia
276
+ GU: Pacific/Guam
277
+ UA25: Europe/Uzhgorod
278
+ MY03: Asia/Kuala_Lumpur
279
+ ES58: Europe/Madrid
280
+ USAZ: America/Phoenix
281
+ BY: Europe/Minsk
282
+ LS: Africa/Maseru
283
+ VN: Asia/Phnom_Penh
284
+ UA26: Europe/Zaporozhye
285
+ MY04: Asia/Kuala_Lumpur
286
+ ES59: Europe/Madrid
287
+ CANS: America/Halifax
288
+ BZ: America/Belize
289
+ LT: Europe/Vilnius
290
+ GW: Africa/Bissau
291
+ UA27: Europe/Kiev
292
+ MY05: Asia/Kuala_Lumpur
293
+ CANT: America/Yellowknife
294
+ LU: Europe/Luxembourg
295
+ MY06: Asia/Kuala_Lumpur
296
+ CANU: America/Rankin_Inlet
297
+ LV: Europe/Riga
298
+ CABC: America/Vancouver
299
+ GY: America/Guyana
300
+ MY07: Asia/Kuala_Lumpur
301
+ USDC: America/New_York
302
+ MY08: Asia/Kuala_Lumpur
303
+ USKY: America/New_York
304
+ USUT: America/Denver
305
+ USIA: America/Chicago
306
+ MY09: Asia/Kuala_Lumpur
307
+ USDE: America/New_York
308
+ LY: Africa/Tripoli
309
+ VU: Pacific/Efate
310
+ EE: Europe/Tallinn
311
+ USID: America/Denver
312
+ JE: Europe/Jersey
313
+ USNC: America/New_York
314
+ EG: Africa/Cairo
315
+ EC10: America/Guayaquil
316
+ MX20: America/Mexico_City
317
+ USND: America/Chicago
318
+ EH: Africa/El_Aaiun
319
+ EC11: America/Guayaquil
320
+ MX21: America/Mexico_City
321
+ CAQC: America/Montreal
322
+ USNE: America/Chicago
323
+ EC12: America/Guayaquil
324
+ MX22: America/Mexico_City
325
+ USSC: America/New_York
326
+ MX23: America/Cancun
327
+ USSD: America/Chicago
328
+ TC: America/Grand_Turk
329
+ EC13: America/Guayaquil
330
+ RU30: Asia/Vladivostok
331
+ MX24: America/Mexico_City
332
+ TD: Africa/Ndjamena
333
+ USNH: America/New_York
334
+ CD10: Africa/Lubumbashi
335
+ EC14: America/Guayaquil
336
+ UZ10: Asia/Samarkand
337
+ RU31: Asia/Krasnoyarsk
338
+ MX25: America/Mazatlan
339
+ CD11: Africa/Lubumbashi
340
+ AR01: America/Argentina/Buenos_Aires
341
+ EC15: America/Guayaquil
342
+ BR30: America/Recife
343
+ RU80: Asia/Yekaterinburg
344
+ RU32: Asia/Omsk
345
+ MX26: America/Hermosillo
346
+ ID01: Asia/Pontianak
347
+ TF: Indian/Kerguelen
348
+ USNJ: America/New_York
349
+ CD12: Africa/Lubumbashi
350
+ AR02: America/Argentina/Catamarca
351
+ USIL: America/Chicago
352
+ BR31: America/Araguaina
353
+ UZ12: Asia/Samarkand
354
+ RU81: Europe/Samara
355
+ RU33: Asia/Yekaterinburg
356
+ MX27: America/Merida
357
+ ID02: Asia/Makassar
358
+ ES31: Europe/Madrid
359
+ TG: Africa/Lome
360
+ AR03: America/Argentina/Tucuman
361
+ EC17: America/Guayaquil
362
+ CN10: Asia/Shanghai
363
+ UZ13: Asia/Tashkent
364
+ RU82: Asia/Irkutsk
365
+ RU34: Asia/Yekaterinburg
366
+ MX28: America/Monterrey
367
+ ID03: Asia/Jakarta
368
+ ES32: Europe/Madrid
369
+ JM: America/Jamaica
370
+ TH: Asia/Bangkok
371
+ AR04: America/Argentina/Rio_Gallegos
372
+ USIN: America/Indianapolis
373
+ EC18: America/Guayaquil
374
+ YE: Asia/Aden
375
+ CN11: Asia/Chongqing
376
+ UZ14: Asia/Tashkent
377
+ RU83: Europe/Moscow
378
+ RU35: Asia/Yekaterinburg
379
+ MX29: America/Mexico_City
380
+ ID04: Asia/Jakarta
381
+ USNM: America/Denver
382
+ AR05: America/Argentina/Cordoba
383
+ EC19: America/Guayaquil
384
+ CN12: Asia/Shanghai
385
+ UA01: Europe/Kiev
386
+ RU84: Europe/Volgograd
387
+ RU36: Asia/Anadyr
388
+ ES34: Europe/Madrid
389
+ JO: Asia/Amman
390
+ TJ: Asia/Dushanbe
391
+ ER: Africa/Asmera
392
+ AR06: America/Argentina/Tucuman
393
+ OM: Asia/Muscat
394
+ CN13: Asia/Urumqi
395
+ UA02: Europe/Kiev
396
+ RU37: Europe/Moscow
397
+ ID05: Asia/Jakarta
398
+ TK: Pacific/Fakaofo
399
+ AR07: America/Argentina/Buenos_Aires
400
+ CN14: Asia/Chongqing
401
+ JP: Asia/Tokyo
402
+ TL: Asia/Dili
403
+ UA03: Europe/Uzhgorod
404
+ RU85: Europe/Moscow
405
+ RU38: Europe/Volgograd
406
+ PT10: Atlantic/Madeira
407
+ ID06: Asia/Jakarta
408
+ ET: Africa/Addis_Ababa
409
+ AR08: America/Argentina/Buenos_Aires
410
+ CN15: Asia/Chongqing
411
+ UA04: Europe/Zaporozhye
412
+ RU86: Europe/Moscow
413
+ RU39: Asia/Krasnoyarsk
414
+ PT11: Europe/Lisbon
415
+ ID07: Asia/Jakarta
416
+ TM: Asia/Ashgabat
417
+ AR09: America/Argentina/Tucuman
418
+ CN16: Asia/Chongqing
419
+ UA05: Europe/Zaporozhye
420
+ RU87: Asia/Novosibirsk
421
+ ID08: Asia/Jakarta
422
+ TN: Africa/Tunis
423
+ UA06: Europe/Uzhgorod
424
+ RU88: Europe/Moscow
425
+ PT13: Europe/Lisbon
426
+ ID09: Asia/Jayapura
427
+ ES39: Europe/Madrid
428
+ TO: Pacific/Tongatapu
429
+ CN18: Asia/Chongqing
430
+ UA07: Europe/Zaporozhye
431
+ RU89: Asia/Vladivostok
432
+ PT14: Europe/Lisbon
433
+ KZ01: Asia/Almaty
434
+ CN19: Asia/Harbin
435
+ UA08: Europe/Simferopol
436
+ NZF1: Pacific/Auckland
437
+ KZ02: Asia/Almaty
438
+ UA09: Europe/Kiev
439
+ PT16: Europe/Lisbon
440
+ NZF2: Pacific/Auckland
441
+ KZ03: Asia/Qyzylorda
442
+ TR: Asia/Istanbul
443
+ PT17: Europe/Lisbon
444
+ NZF3: Pacific/Auckland
445
+ KZ04: Asia/Aqtobe
446
+ USNV: America/Los_Angeles
447
+ USGA: America/New_York
448
+ AU01: Australia/Canberra
449
+ PT18: Europe/Lisbon
450
+ NZF4: Pacific/Auckland
451
+ KZ05: Asia/Qyzylorda
452
+ AU02: Australia/NSW
453
+ CC: Indian/Cocos
454
+ PT19: Europe/Lisbon
455
+ NZF5: Pacific/Auckland
456
+ KZ06: Asia/Aqtau
457
+ TT: America/Port_of_Spain
458
+ AU03: Australia/North
459
+ KZ07: Asia/Oral
460
+ USNY: America/New_York
461
+ AU04: Australia/Queensland
462
+ USLA: America/Chicago
463
+ NZF7: Pacific/Chatham
464
+ KZ08: Asia/Qyzylorda
465
+ TV: Pacific/Funafuti
466
+ MA: Africa/Casablanca
467
+ AU05: Australia/South
468
+ YT: Indian/Mayotte
469
+ CF: Africa/Bangui
470
+ NZF8: Pacific/Auckland
471
+ KZ09: Asia/Aqtau
472
+ TW: Asia/Taipei
473
+ AU06: Australia/Tasmania
474
+ YU: Europe/Belgrade
475
+ CG: Africa/Brazzaville
476
+ NZF9: Pacific/Auckland
477
+ MC: Europe/Monaco
478
+ AU07: Australia/Victoria
479
+ CH: Europe/Zurich
480
+ MX01: America/Mexico_City
481
+ MD: Europe/Chisinau
482
+ AU08: Australia/West
483
+ CI: Africa/Abidjan
484
+ MX02: America/Tijuana
485
+ ME: Europe/Podgorica
486
+ TZ: Africa/Dar_es_Salaam
487
+ MX03: America/Hermosillo
488
+ USVA: America/New_York
489
+ MF: America/Marigot
490
+ CK: Pacific/Rarotonga
491
+ RU10: Europe/Moscow
492
+ MX04: America/Merida
493
+ MG: Indian/Antananarivo
494
+ CL: Chile/Continental
495
+ RU11: Asia/Irkutsk
496
+ MX05: America/Mexico_City
497
+ RE: Indian/Reunion
498
+ CM: Africa/Lagos
499
+ RU60: Europe/Kaliningrad
500
+ MX06: America/Chihuahua
501
+ BR11: America/Campo_Grande
502
+ HK: Asia/Hong_Kong
503
+ RU61: Europe/Volgograd
504
+ RU13: Asia/Yekaterinburg
505
+ MX07: America/Monterrey
506
+ CO: America/Bogota
507
+ RU62: Europe/Moscow
508
+ RU14: Asia/Irkutsk
509
+ MX08: America/Mexico_City
510
+ ID30: Asia/Jakarta
511
+ MK: Europe/Skopje
512
+ BR13: America/Belem
513
+ RU15: Asia/Anadyr
514
+ MX09: America/Mexico_City
515
+ ID31: Asia/Makassar
516
+ ES60: Europe/Madrid
517
+ ML: Africa/Bamako
518
+ WF: Pacific/Wallis
519
+ BR14: America/Cuiaba
520
+ HN: America/Tegucigalpa
521
+ RU63: Asia/Yakutsk
522
+ RU16: Europe/Samara
523
+ BR15: America/Sao_Paulo
524
+ CR: America/Costa_Rica
525
+ RU64: Asia/Sakhalin
526
+ RU17: Europe/Volgograd
527
+ ID33: Asia/Jakarta
528
+ BR16: America/Belem
529
+ MM: Asia/Rangoon
530
+ RU65: Europe/Samara
531
+ RU18: Asia/Krasnoyarsk
532
+ BR17: America/Recife
533
+ CAON: America/Rainy_River
534
+ MN: Asia/Choibalsan
535
+ RU66: Europe/Moscow
536
+ BR18: America/Sao_Paulo
537
+ HR: Europe/Zagreb
538
+ CU: America/Havana
539
+ MO: Asia/Macao
540
+ RU67: Europe/Samara
541
+ CV: Atlantic/Cape_Verde
542
+ MP: Pacific/Saipan
543
+ RU68: Europe/Volgograd
544
+ MY11: Asia/Kuching
545
+ HT: America/Port-au-Prince
546
+ RO: Europe/Bucharest
547
+ MQ: America/Martinique
548
+ RU69: Europe/Moscow
549
+ MY12: Asia/Kuala_Lumpur
550
+ HU: Europe/Budapest
551
+ CX: Indian/Christmas
552
+ MR: Africa/Nouakchott
553
+ MY13: Asia/Kuala_Lumpur
554
+ CY: Asia/Nicosia
555
+ MS: America/Montserrat
556
+ MY14: Asia/Kuala_Lumpur
557
+ CZ: Europe/Prague
558
+ MT: Europe/Malta
559
+ MY15: Asia/Kuching
560
+ MU: Indian/Mauritius
561
+ MY16: Asia/Kuching
562
+ RS: Europe/Belgrade
563
+ MV: Indian/Maldives
564
+ GL01: America/Thule
565
+ AD: Europe/Andorra
566
+ MW: Africa/Blantyre
567
+ GL02: America/Godthab
568
+ WS: Pacific/Samoa
569
+ AE: Asia/Dubai
570
+ USVT: America/New_York
571
+ GL03: America/Godthab
572
+ AF: Asia/Kabul
573
+ AG: America/Antigua
574
+ RW: Africa/Kigali
575
+ CAYT: America/Whitehorse
576
+ MZ: Africa/Maputo
577
+ CAMB: America/Winnipeg
578
+ PA: America/Panama
579
+ AI: America/Anguilla
580
+ EC20: America/Guayaquil
581
+ KE: Africa/Nairobi
582
+ MX30: America/Mexico_City
583
+ MX31: America/Merida
584
+ EC22: America/Guayaquil
585
+ AL: Europe/Tirane
586
+ KG: Asia/Bishkek
587
+ FI: Europe/Helsinki
588
+ MX32: America/Monterrey
589
+ PE: America/Lima
590
+ AM: Asia/Yerevan
591
+ KH: Asia/Phnom_Penh
592
+ FJ: Pacific/Fiji
593
+ PF: Pacific/Marquesas
594
+ RU40: Asia/Yekaterinburg
595
+ AN: America/Curacao
596
+ KI: Pacific/Tarawa
597
+ FK: Atlantic/Stanley
598
+ PG: Pacific/Port_Moresby
599
+ AO: Africa/Luanda
600
+ ZA: Africa/Johannesburg
601
+ USOH: America/New_York
602
+ AR10: America/Argentina/Jujuy
603
+ RU41: Europe/Moscow
604
+ ID10: Asia/Jakarta
605
+ PH: Asia/Manila
606
+ AR11: America/Argentina/San_Luis
607
+ RU42: Europe/Moscow
608
+ ID11: Asia/Pontianak
609
+ AR12: America/Argentina/La_Rioja
610
+ RU43: Europe/Moscow
611
+ ID12: Asia/Makassar
612
+ CN20: Asia/Harbin
613
+ UG: Africa/Kampala
614
+ USOK: America/Chicago
615
+ FO: Atlantic/Faeroe
616
+ AR13: America/Argentina/Mendoza
617
+ RU44: Asia/Magadan
618
+ ID13: Asia/Makassar
619
+ AS: US/Samoa
620
+ CN21: Asia/Chongqing
621
+ KM: Indian/Comoro
622
+ AR14: America/Argentina/Buenos_Aires
623
+ PK: Asia/Karachi
624
+ UA10: Europe/Zaporozhye
625
+ RU45: Europe/Samara
626
+ ID14: Asia/Makassar
627
+ AT: Europe/Vienna
628
+ CN22: Asia/Harbin
629
+ KN: America/St_Kitts
630
+ AR15: America/Argentina/San_Luis
631
+ PL: Europe/Warsaw
632
+ UA11: Europe/Simferopol
633
+ RU46: Europe/Samara
634
+ ID15: Asia/Jakarta
635
+ CN23: Asia/Shanghai
636
+ FR: Europe/Paris
637
+ AR16: America/Argentina/Buenos_Aires
638
+ PM: America/Miquelon
639
+ RU47: Europe/Moscow
640
+ CN24: Asia/Chongqing
641
+ KP: Asia/Pyongyang
642
+ AR17: America/Argentina/Salta
643
+ PN: Pacific/Pitcairn
644
+ UA13: Europe/Kiev
645
+ RU48: Europe/Moscow
646
+ PT20: Europe/Lisbon
647
+ ID16: Asia/Makassar
648
+ AW: America/Aruba
649
+ CN25: Asia/Shanghai
650
+ AR18: America/Argentina/San_Juan
651
+ UA14: Europe/Zaporozhye
652
+ RU49: Europe/Moscow
653
+ PT21: Europe/Lisbon
654
+ NZ85: Pacific/Auckland
655
+ ID17: Asia/Makassar
656
+ AX: Europe/Mariehamn
657
+ CN26: Asia/Chongqing
658
+ USTN: America/Chicago
659
+ KR: Asia/Seoul
660
+ AR19: America/Argentina/San_Luis
661
+ UA15: Europe/Uzhgorod
662
+ PT22: Europe/Lisbon
663
+ ID18: Asia/Makassar
664
+ UA16: Europe/Zaporozhye
665
+ KZ10: Asia/Qyzylorda
666
+ ID19: Asia/Pontianak
667
+ AZ: Asia/Baku
668
+ CN28: Asia/Shanghai
669
+ USOR: America/Los_Angeles
670
+ UA17: Europe/Simferopol
671
+ KZ11: Asia/Almaty
672
+ ZM: Africa/Lusaka
673
+ CN29: Asia/Chongqing
674
+ USCA: America/Los_Angeles
675
+ CAAB: America/Edmonton
676
+ FX: Europe/Paris
677
+ PR: America/Puerto_Rico