Module: DNSCheck

Extended by:
DNSCheck, DNS, Update
Included in:
DNSCheck
Defined in:
lib/dns-check.rb,
lib/dns-check/db.rb,
lib/dns-check/cli.rb,
lib/dns-check/dns.rb,
lib/dns-check/core.rb,
lib/dns-check/node.rb,
lib/dns-check/util.rb,
lib/dns-check/errors.rb,
lib/dns-check/output.rb,
lib/dns-check/update.rb,
lib/dns-check/version.rb

Defined Under Namespace

Modules: Core, DNS, Node, Update Classes: CLI, DB, DomainError, Error, IndiceLoading, IndiceMissing, LocationError, NotFoundError, Output, UpdateError

Constant Summary collapse

COUNTRY_CODES =
{
  'AF'=>'Afghanistan',
  'AL'=>'Albania',
  'DZ'=>'Algeria',
  'AS'=>'American Samoa',
  'AD'=>'Andorra',
  'AO'=>'Angola',
  'AI'=>'Anguilla',
  'AQ'=>'Antarctica',
  'AG'=>'Antigua And Barbuda',
  'AR'=>'Argentina',
  'AM'=>'Armenia',
  'AW'=>'Aruba',
  'AU'=>'Australia',
  'AT'=>'Austria',
  'AZ'=>'Azerbaijan',
  'BS'=>'Bahamas',
  'BH'=>'Bahrain',
  'BD'=>'Bangladesh',
  'BB'=>'Barbados',
  'BY'=>'Belarus',
  'BE'=>'Belgium',
  'BZ'=>'Belize',
  'BJ'=>'Benin',
  'BM'=>'Bermuda',
  'BT'=>'Bhutan',
  'BO'=>'Bolivia',
  'BA'=>'Bosnia And Herzegovina',
  'BW'=>'Botswana',
  'BV'=>'Bouvet Island',
  'BR'=>'Brazil',
  'IO'=>'British Indian Ocean Territory',
  'BN'=>'Brunei',
  'BG'=>'Bulgaria',
  'BF'=>'Burkina Faso',
  'BI'=>'Burundi',
  'KH'=>'Cambodia',
  'CM'=>'Cameroon',
  'CA'=>'Canada',
  'CV'=>'Cape Verde',
  'KY'=>'Cayman Islands',
  'CF'=>'Central African Republic',
  'TD'=>'Chad',
  'CL'=>'Chile',
  'CN'=>'China',
  'CX'=>'Christmas Island',
  'CC'=>'Cocos (Keeling) Islands',
  'CO'=>'Columbia',
  'KM'=>'Comoros',
  'CG'=>'Congo',
  'CK'=>'Cook Islands',
  'CR'=>'Costa Rica',
  'CI'=>'Cote D\'Ivorie (Ivory Coast)',
  'HR'=>'Croatia (Hrvatska)',
  'CU'=>'Cuba',
  'CY'=>'Cyprus',
  'CZ'=>'Czech Republic',
  'CD'=>'Democratic Republic Of Congo (Zaire)',
  'DK'=>'Denmark',
  'DJ'=>'Djibouti',
  'DM'=>'Dominica',
  'DO'=>'Dominican Republic',
  'TP'=>'East Timor',
  'EC'=>'Ecuador',
  'EG'=>'Egypt',
  'SV'=>'El Salvador',
  'GQ'=>'Equatorial Guinea',
  'ER'=>'Eritrea',
  'EE'=>'Estonia',
  'ET'=>'Ethiopia',
  'FK'=>'Falkland Islands (Malvinas)',
  'FO'=>'Faroe Islands',
  'FJ'=>'Fiji',
  'FI'=>'Finland',
  'FR'=>'France',
  'FX'=>'France, Metropolitan',
  'GF'=>'French Guinea',
  'PF'=>'French Polynesia',
  'TF'=>'French Southern Territories',
  'GA'=>'Gabon',
  'GM'=>'Gambia',
  'GE'=>'Georgia',
  'DE'=>'Germany',
  'GH'=>'Ghana',
  'GI'=>'Gibraltar',
  'GR'=>'Greece',
  'GL'=>'Greenland',
  'GD'=>'Grenada',
  'GP'=>'Guadeloupe',
  'GU'=>'Guam',
  'GT'=>'Guatemala',
  'GN'=>'Guinea',
  'GW'=>'Guinea-Bissau',
  'GY'=>'Guyana',
  'HT'=>'Haiti',
  'HM'=>'Heard And McDonald Islands',
  'HN'=>'Honduras',
  'HK'=>'Hong Kong',
  'HU'=>'Hungary',
  'IS'=>'Iceland',
  'IN'=>'India',
  'ID'=>'Indonesia',
  'IR'=>'Iran',
  'IQ'=>'Iraq',
  'IE'=>'Ireland',
  'IL'=>'Israel',
  'IT'=>'Italy',
  'JM'=>'Jamaica',
  'JP'=>'Japan',
  'JO'=>'Jordan',
  'KZ'=>'Kazakhstan',
  'KE'=>'Kenya',
  'KI'=>'Kiribati',
  'KW'=>'Kuwait',
  'KG'=>'Kyrgyzstan',
  'LA'=>'Laos',
  'LV'=>'Latvia',
  'LB'=>'Lebanon',
  'LS'=>'Lesotho',
  'LR'=>'Liberia',
  'LY'=>'Libya',
  'LI'=>'Liechtenstein',
  'LT'=>'Lithuania',
  'LU'=>'Luxembourg',
  'MO'=>'Macau',
  'MK'=>'Macedonia',
  'MG'=>'Madagascar',
  'MW'=>'Malawi',
  'MY'=>'Malaysia',
  'MV'=>'Maldives',
  'ML'=>'Mali',
  'MT'=>'Malta',
  'MH'=>'Marshall Islands',
  'MQ'=>'Martinique',
  'MR'=>'Mauritania',
  'MU'=>'Mauritius',
  'YT'=>'Mayotte',
  'MX'=>'Mexico',
  'FM'=>'Micronesia',
  'MD'=>'Moldova',
  'MC'=>'Monaco',
  'MN'=>'Mongolia',
  'MS'=>'Montserrat',
  'MA'=>'Morocco',
  'MZ'=>'Mozambique',
  'MM'=>'Myanmar (Burma)',
  'NA'=>'Namibia',
  'NR'=>'Nauru',
  'NP'=>'Nepal',
  'NL'=>'Netherlands',
  'AN'=>'Netherlands Antilles',
  'NC'=>'New Caledonia',
  'NZ'=>'New Zealand',
  'NI'=>'Nicaragua',
  'NE'=>'Niger',
  'NG'=>'Nigeria',
  'NU'=>'Niue',
  'NF'=>'Norfolk Island',
  'KP'=>'North Korea',
  'MP'=>'Northern Mariana Islands',
  'NO'=>'Norway',
  'OM'=>'Oman',
  'PK'=>'Pakistan',
  'PW'=>'Palau',
  'PA'=>'Panama',
  'PG'=>'Papua New Guinea',
  'PY'=>'Paraguay',
  'PE'=>'Peru',
  'PH'=>'Philippines',
  'PN'=>'Pitcairn',
  'PL'=>'Poland',
  'PT'=>'Portugal',
  'PR'=>'Puerto Rico',
  'QA'=>'Qatar',
  'RE'=>'Reunion',
  'RO'=>'Romania',
  'RU'=>'Russia',
  'RW'=>'Rwanda',
  'SH'=>'Saint Helena',
  'KN'=>'Saint Kitts And Nevis',
  'LC'=>'Saint Lucia',
  'PM'=>'Saint Pierre And Miquelon',
  'VC'=>'Saint Vincent And The Grenadines',
  'SM'=>'San Marino',
  'ST'=>'Sao Tome And Principe',
  'SA'=>'Saudi Arabia',
  'SN'=>'Senegal',
  'SC'=>'Seychelles',
  'SL'=>'Sierra Leone',
  'SG'=>'Singapore',
  'SK'=>'Slovak Republic',
  'SI'=>'Slovenia',
  'SB'=>'Solomon Islands',
  'SO'=>'Somalia',
  'ZA'=>'South Africa',
  'GS'=>'South Georgia And South Sandwich Islands',
  'KR'=>'South Korea',
  'ES'=>'Spain',
  'LK'=>'Sri Lanka',
  'SD'=>'Sudan',
  'SR'=>'Suriname',
  'SJ'=>'Svalbard And Jan Mayen',
  'SZ'=>'Swaziland',
  'SE'=>'Sweden',
  'CH'=>'Switzerland',
  'SY'=>'Syria',
  'TW'=>'Taiwan',
  'TJ'=>'Tajikistan',
  'TZ'=>'Tanzania',
  'TH'=>'Thailand',
  'TG'=>'Togo',
  'TK'=>'Tokelau',
  'TO'=>'Tonga',
  'TT'=>'Trinidad And Tobago',
  'TN'=>'Tunisia',
  'TR'=>'Turkey',
  'TM'=>'Turkmenistan',
  'TC'=>'Turks And Caicos Islands',
  'TV'=>'Tuvalu',
  'UG'=>'Uganda',
  'UA'=>'Ukraine',
  'AE'=>'United Arab Emirates',
  'UK'=>'United Kingdom',
  'US'=>'United States',
  'UM'=>'United States Minor Outlying Islands',
  'UY'=>'Uruguay',
  'UZ'=>'Uzbekistan',
  'VU'=>'Vanuatu',
  'VA'=>'Vatican City (Holy See)',
  'VE'=>'Venezuela',
  'VN'=>'Vietnam',
  'VG'=>'Virgin Islands (British)',
  'VI'=>'Virgin Islands (US)',
  'WF'=>'Wallis And Futuna Islands',
  'EH'=>'Western Sahara',
  'WS'=>'Western Samoa',
  'YE'=>'Yemen',
  'YU'=>'Yugoslavia',
  'ZM'=>'Zambia',
  'ZW'=>'Zimbabwe'
}
VERSION =
'0.1.1'

Instance Attribute Summary

Attributes included from Update

#indice_location, #indice_store

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DNS

get_cname_record, lookup, nameservers=, timeout=

Methods included from Update

update!

Class Method Details

.load(file_name) ⇒ Object



260
261
262
263
264
265
# File 'lib/dns-check/util.rb', line 260

def self.load file_name
  file = Zlib::GzipReader.open(file_name)
  obj = Marshal.load file.read
  file.close
  DNSCheck::DB[obj]
end

.store(obj, file_name) ⇒ Object



249
250
251
252
253
254
255
256
257
258
# File 'lib/dns-check/util.rb', line 249

def self.store obj, file_name
  marshal_dump = Marshal.dump(obj.dump_all)
  file = File.new(file_name,'w')
  file = Zlib::GzipWriter.new(file)
  file.write marshal_dump
  file.close
  return true
rescue => e
  raise DNSCheck::UpdateError, e.message
end

Instance Method Details

#configObject



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/dns-check.rb', line 14

def config
  @config ||={
    :timeout          => 1,
    :indice_location  => URI.parse('http://public-dns.tk/nameservers.json'),
    :indice_store     => "#{$PROG_PATH}/db/indice",
    :show_ns          => false,
    :no_recursion     => false,
    :size             => 10,
    :sep              => '|'
  }
end

#config=(opts) ⇒ Object



26
27
28
# File 'lib/dns-check.rb', line 26

def config=(opts)
  @config = opts
end