Release 2.3.0

master
Sven Slootweg 10 years ago
commit 7504b224b1

@ -39,6 +39,8 @@ The manual (including install instructions) can be found in the doc/ directory.
## Important update notes
*2.3.0 and up*: Python 3 support was fixed. Creation date parsing for contacts was fixed; correct timestamps will now be returned, rather than unformatted ones - if your application relies on the broken variant, you'll need to change your code. Some additional parameters were added to the `net` and `parse` methods to facilitate NIC handle lookups; the defaults are backwards-compatible, and these changes should not have any consequences for your code. Thai WHOIS parsing was implemented, but is a little spotty - data may occasionally be incorrectly split up. Please submit a bug report if you run across any issues.
*2.2.0 and up*: The internal workings of `get_whois_raw` have been changed, to better facilitate parsing of WHOIS data from registries that may return multiple partial matches for a query, such as `whois.verisign-grs.com`. This change means that, by default, `get_whois_raw` will now strip out the part of such a response that does not pertain directly to the requested domain. If your application requires an unmodified raw WHOIS response and is calling `get_whois_raw` directly, you should use the new `never_cut` parameter to keep pythonwhois from doing this post-processing. As this is a potentially breaking behaviour change, the minor version has been bumped.
## It doesn't work!

File diff suppressed because one or more lines are too long

@ -160,7 +160,7 @@ To start using pythonwhois, use `import pythonwhois`.
## When you need more control...
^ pythonwhois.net.get_whois_raw(**domain**[, **server=""**, **rfc3490=True**, **never_cut=False**])
^ pythonwhois.net.get_whois_raw(**domain**[, **server=""**, **rfc3490=True**, **never_cut=False**, **with_server_list=False**])
Retrieves the raw WHOIS data for the specified domain, and returns it as a list of responses (one element for each WHOIS server queried). This method will keep following redirects, until it ends up at the right server (and all responses it picks up in the meantime, will be included). Raises `pythonwhois.shared.WhoisException` if no root server for the TLD could be found.
@ -175,6 +175,9 @@ To start using pythonwhois, use `import pythonwhois`.
never_cut::
**Optional.** If set to `True`, pythonwhois will never strip out data from the raw WHOIS responses, **even** if that data relates to a partial match, rather than the requested domain.
with_server_list::
**Optional.** If set to `True`, `pythonwhois` will return a `(response, server_list)` tuple instead of just `response`, where the `server_list` contains a list of all the WHOIS servers that were queried to collect the raw data. The order of the list is from first (root) server to last server.
^ pythonwhois.net.get_root_server(**domain**)
@ -184,7 +187,7 @@ To start using pythonwhois, use `import pythonwhois`.
domain::
The domain whose TLD you want to know the root WHOIS server for.
^ pythonwhois.parse.parse_raw_whois(**raw_data**[, **normalized**])
^ pythonwhois.parse.parse_raw_whois(**raw_data**[, **normalized**, **never_query_handles=True**, **handle_server=""**])
Parses the specified raw WHOIS data. It's useful to call this method manually if you receive your WHOIS data from elsewhere, and don't need the retrieval capabilities of pythonwhois. Returns an object like `pythonwhois.get_whois` does.
@ -193,4 +196,9 @@ To start using pythonwhois, use `import pythonwhois`.
normalized::
**Optional.** Like for `pythonwhois.get_whois`. Empty list or omitted to normalize nothing, `True` to normalize all supported fields, a list of keys if you only want certain keys to be normalized.
never_handle_queries::
**Optional.** If this is enabled, `pythonwhois` won't try to resolve handles that require additional queries. Some WHOIS servers only provide NIC handles by default and require additional lookups to retrieve the associated contact information. If you are running an offline application (or have your own load distribution mechanism) and you don't want `pythonwhois` to make queries on your behalf, set this to `True` (the default). When using the `get_whois` method, this is set to `False` behind the scenes, and handles will be automatically resolved.
handle_server::
**Optional.** When `never_handle_queries` is set to `False`, you should specify the server responsible for handle lookups here. This is usually the last server in a WHOIS chain. `get_whois` will set this for you automatically.

@ -3,7 +3,7 @@
import argparse, pythonwhois, json, datetime
try:
from collections import OrderedDict
except ImportError, e:
except ImportError as e:
from ordereddict import OrderedDict
parser = argparse.ArgumentParser(description="Retrieves and parses WHOIS data for a domain name.")
@ -20,18 +20,22 @@ def json_fallback(obj):
return obj
if args.file is None:
data = pythonwhois.net.get_whois_raw(args.domain[0])
data, server_list = pythonwhois.net.get_whois_raw(args.domain[0], with_server_list=True)
else:
server_list = []
with open(args.file, "r") as f:
data = f.read().split("\n--\n")
if args.raw == True:
print "\n--\n".join(data)
print("\n--\n".join([x.encode("utf-8") for x in data]))
else:
parsed = pythonwhois.parse.parse_raw_whois(data, normalized=True)
if len(server_list) > 0:
parsed = pythonwhois.parse.parse_raw_whois(data, normalized=True, never_query_handles=False, handle_server=server_list[-1])
else:
parsed = pythonwhois.parse.parse_raw_whois(data, normalized=True)
if args.json == True:
print json.dumps(parsed, default=json_fallback)
print(json.dumps(parsed, default=json_fallback))
else:
data_map = OrderedDict({})
@ -46,18 +50,18 @@ else:
data_map["emails"] = ("E-mail address", "+")
widest_label = 0
for key, value in data_map.iteritems():
for key, value in data_map.items():
if len(value[0]) > widest_label:
widest_label = len(value[0])
for key, value in data_map.iteritems():
for key, value in data_map.items():
if key in parsed and parsed[key] is not None:
label = value[0] + (" " * (widest_label - len(value[0]))) + " :"
if value[1] == 1:
print "%s %s" % (label, parsed[key][0])
print("%s %s" % (label, parsed[key][0]))
elif value[1] == "+":
for item in parsed[key]:
print "%s %s" % (label, item)
print("%s %s" % (label, item))
if parsed["contacts"] is not None:
# This defines the contacts shown in the output
@ -80,23 +84,24 @@ else:
data_map["email"] = "E-mail address"
data_map["phone"] = "Phone number"
data_map["fax"] = "Fax number"
data_map["creationdate"] = "Created"
data_map["changedate"] = "Last changed"
for contact in contacts_map:
if parsed["contacts"][contact] is not None:
contact_data = parsed["contacts"][contact]
print "\n" + contacts_map[contact]
print("\n" + contacts_map[contact])
for key, value in data_map.iteritems():
for key, value in data_map.items():
if len(value) > widest_label:
widest_label = len(value)
for key, value in data_map.iteritems():
for key, value in data_map.items():
if key in contact_data and contact_data[key] is not None:
label = " " + value + (" " * (widest_label - len(value))) + " :"
actual_data = str(contact_data[key])
actual_data = contact_data[key]
if "\n" in actual_data: # Indent multi-line values properly
lines = actual_data.split("\n")
actual_data = "\n".join([lines[0]] + [(" " * (widest_label + 7)) + line for line in lines[1:]])
print "%s %s" % (label, actual_data)
print("%s %s" % (label, actual_data))

@ -1,8 +1,11 @@
from . import net, parse
def get_whois(domain, normalized=[]):
raw_data = net.get_whois_raw(domain)
return parse.parse_raw_whois(raw_data, normalized=normalized)
raw_data, server_list = net.get_whois_raw(domain, with_server_list=True)
# Unlisted handles will be looked up on the last WHOIS server that was queried. This may be changed to also query
# other servers in the future, if it turns out that there are cases where the last WHOIS server in the chain doesn't
# actually hold the handle contact details, but another WHOIS server in the chain does.
return parse.parse_raw_whois(raw_data, normalized=normalized, never_query_handles=False, handle_server=server_list[-1])
def whois(*args, **kwargs):
raise Exception("The whois() method has been replaced by a different method (with a different API), since pythonwhois 2.0. Either install the older pythonwhois 1.2.3, or change your code to use the new API.")

@ -1,8 +1,8 @@
import socket, re
import socket, re, sys
from codecs import encode, decode
from . import shared
def get_whois_raw(domain, server="", previous=[], rfc3490=True, never_cut=False):
def get_whois_raw(domain, server="", previous=[], rfc3490=True, never_cut=False, with_server_list=False, server_list=[]):
# Sometimes IANA simply won't give us the right root WHOIS server
exceptions = {
".ac.uk": "whois.ja.net",
@ -12,12 +12,16 @@ def get_whois_raw(domain, server="", previous=[], rfc3490=True, never_cut=False)
}
if rfc3490:
domain = encode( domain if type(domain) is unicode else decode(domain, "utf8"), "idna" )
if sys.version_info < (3, 0):
domain = encode( domain if type(domain) is unicode else decode(domain, "utf8"), "idna" )
else:
domain = encode(domain, "idna").decode("ascii")
if len(previous) == 0:
if len(previous) == 0 and server == "":
# Root query
server_list = [] # Otherwise it retains the list on subsequent queries, for some reason.
is_exception = False
for exception, exc_serv in exceptions.iteritems():
for exception, exc_serv in exceptions.items():
if domain.endswith(exception):
is_exception = True
target_server = exc_serv
@ -26,7 +30,7 @@ def get_whois_raw(domain, server="", previous=[], rfc3490=True, never_cut=False)
target_server = get_root_server(domain)
else:
target_server = server
if domain.endswith(".jp") and target_server == "whois.jprs.jp":
if target_server == "whois.jprs.jp":
request_domain = "%s/e" % domain # Suppress Japanese output
elif domain.endswith(".de") and ( target_server == "whois.denic.de" or target_server == "de.whois-servers.net" ):
request_domain = "-T dn,ace %s" % domain # regional specific stuff
@ -52,14 +56,18 @@ def get_whois_raw(domain, server="", previous=[], rfc3490=True, never_cut=False)
break
if never_cut == False:
new_list = [response] + previous
server_list.append(target_server)
for line in [x.strip() for x in response.splitlines()]:
match = re.match("(refer|whois server|referral url|whois server|registrar whois):\s*([^\s]+\.[^\s]+)", line, re.IGNORECASE)
if match is not None:
referal_server = match.group(2)
if referal_server != server:
if referal_server != server and "://" not in referal_server: # We want to ignore anything non-WHOIS (eg. HTTP) for now.
# Referal to another WHOIS server...
return get_whois_raw(domain, referal_server, new_list)
return new_list
return get_whois_raw(domain, referal_server, new_list, server_list=server_list, with_server_list=with_server_list)
if with_server_list:
return (new_list, server_list)
else:
return new_list
def get_root_server(domain):
data = whois_request(domain, "whois.iana.org")
@ -73,11 +81,11 @@ def get_root_server(domain):
def whois_request(domain, server, port=43):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((server, port))
sock.send("%s\r\n" % domain)
buff = ""
sock.send(("%s\r\n" % domain).encode("utf-8"))
buff = b""
while True:
data = sock.recv(1024)
if len(data) == 0:
break
buff += data
return buff
return buff.decode("utf-8")

@ -1,11 +1,13 @@
from __future__ import print_function
import re, sys, datetime
from . import net, shared
grammar = {
"_data": {
'id': ['Domain ID:[ ]*(?P<val>.+)'],
'status': ['\[Status\]\s*(?P<val>.+)',
'Status\s*:\s?(?P<val>.+)',
'\[State\]\s*(?P<val>.+)',
'^state:\s*(?P<val>.+)'],
'creation_date': ['\[Created on\]\s*(?P<val>.+)',
'Created on[.]*: [a-zA-Z]+, (?P<val>.+)',
@ -27,7 +29,9 @@ grammar = {
'Domain Create Date\s?[.]*:?\s*?(?P<val>.+)',
'Domain Registration Date\s?[.]*:?\s*?(?P<val>.+)',
'created:\s*(?P<val>.+)',
'\[Registered Date\]\s*(?P<val>.+)',
'created-date:\s*(?P<val>.+)',
'Domain Name Commencement Date: (?P<val>.+)',
'registered:\s*(?P<val>.+)',
'registration:\s*(?P<val>.+)'],
'expiration_date': ['\[Expires on\]\s*(?P<val>.+)',
@ -37,7 +41,7 @@ grammar = {
'Expiration date\s*:\s?(?P<val>.+)',
'Expires on:\s?(?P<val>.+)',
'Expires on\s?[.]*:\s?(?P<val>.+)\.',
'Expiry Date\s?[.]*:\s?(?P<val>.+)',
'Exp(?:iry)? Date\s?[.]*:\s?(?P<val>.+)',
'Expiry\s*:\s?(?P<val>.+)',
'Domain Currently Expires\s?[.]*:\s?(?P<val>.+)',
'Record will expire on\s?[.]*:\s?(?P<val>.+)',
@ -50,6 +54,7 @@ grammar = {
'Domain Expiration Date\s?[.]*:?\s*?(?P<val>.+)',
'paid-till:\s*(?P<val>.+)',
'expiration_date:\s*(?P<val>.+)',
'expire-date:\s*(?P<val>.+)',
'renewal:\s*(?P<val>.+)',
'expire:\s*(?P<val>.+)'],
'updated_date': ['\[Last Updated\]\s*(?P<val>.+)',
@ -72,6 +77,8 @@ grammar = {
'Last Update\s?[.]*:\s?(?P<val>.+)',
'Last updated on (?P<val>.+) [a-z]{3,4}',
'Last updated:\s*(?P<val>.+)',
'last-updated:\s*(?P<val>.+)',
'\[Last Update\]\s*(?P<val>.+) \([A-Z]+\)',
'Last update of whois database:\s?[a-z]{3}, (?P<val>.+) [a-z]{3,4}'],
'registrar': ['registrar:\s*(?P<val>.+)',
'Registrar:\s*(?P<val>.+)',
@ -82,6 +89,7 @@ grammar = {
'Registration Service Provided By:\s?(?P<val>.+)',
'Registrar of Record:\s?(?P<val>.+)',
'Domain Registrar :\s?(?P<val>.+)',
'Registration Service Provider: (?P<val>.+)',
'\tName:\t\s(?P<val>.+)'],
'whois_server': ['Whois Server:\s?(?P<val>.+)',
'Registrar Whois:\s?(?P<val>.+)'],
@ -93,6 +101,7 @@ grammar = {
'Name Server[.]+ (?P<val>[^[\s]+)',
'Hostname:\s*(?P<val>[^\s]+)',
'DNS[0-9]+:\s*(?P<val>.+)',
' DNS:\s*(?P<val>.+)',
'ns[0-9]+:\s*(?P<val>.+)',
'NS [0-9]+\s*:\s*(?P<val>.+)',
'\[Name Server\]\s*(?P<val>.+)',
@ -142,6 +151,178 @@ grammar = {
}
}
def preprocess_regex(regex):
# Fix for #2; prevents a ridiculous amount of varying size permutations.
regex = re.sub(r"\\s\*\(\?P<([^>]+)>\.\+\)", r"\s*(?P<\1>\S.*)", regex)
# Experimental fix for #18; removes unnecessary variable-size whitespace
# matching, since we're stripping results anyway.
regex = re.sub(r"\[ \]\*\(\?P<([^>]+)>\.\*\)", r"(?P<\1>.*)", regex)
return regex
registrant_regexes = [
" Registrant:[ ]*\n (?P<organization>.*)\n (?P<name>.*)\n (?P<street>.*)\n (?P<city>.*), (?P<state>.*) (?P<postalcode>.*)\n (?P<country>.*)\n(?: Phone: (?P<phone>.*)\n)? Email: (?P<email>.*)\n", # Corporate Domains, Inc.
"Registrant:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
"(?:Registrant ID:(?P<handle>.+)\n)?Registrant Name:(?P<name>.*)\n(?:Registrant Organization:(?P<organization>.*)\n)?Registrant Street1?:(?P<street1>.*)\n(?:Registrant Street2:(?P<street2>.*)\n)?(?:Registrant Street3:(?P<street3>.*)\n)?Registrant City:(?P<city>.*)\nRegistrant State/Province:(?P<state>.*)\nRegistrant Postal Code:(?P<postalcode>.*)\nRegistrant Country:(?P<country>.*)\nRegistrant Phone:(?P<phone>.*)\n(?:Registrant Phone Ext.:(?P<phone_ext>.*)\n)?(?:Registrant FAX:(?P<fax>.*)\n)?(?:Registrant FAX Ext.:(?P<fax_ext>.*)\n)?Registrant Email:(?P<email>.*)", # Public Interest Registry (.org), nic.pw, No-IP.com
"Registrant ID:(?P<handle>.+)\nRegistrant Name:(?P<name>.*)\n(?:Registrant Organization:(?P<organization>.*)\n)?Registrant Address1?:(?P<street1>.*)\n(?:Registrant Address2:(?P<street2>.*)\n)?(?:Registrant Address3:(?P<street3>.*)\n)?Registrant City:(?P<city>.*)\nRegistrant State/Province:(?P<state>.*)\nRegistrant Country/Economy:(?P<country>.*)\nRegistrant Postal Code:(?P<postalcode>.*)\nRegistrant Phone:(?P<phone>.*)\n(?:Registrant Phone Ext.:(?P<phone_ext>.*)\n)?(?:Registrant FAX:(?P<fax>.*)\n)?(?:Registrant FAX Ext.:(?P<fax_ext>.*)\n)?Registrant E-mail:(?P<email>.*)", # .ME, DotAsia
"Registrant ID:\s*(?P<handle>.+)\nRegistrant Name:\s*(?P<name>.+)\nRegistrant Organization:\s*(?P<organization>.*)\nRegistrant Address1:\s*(?P<street1>.+)\nRegistrant Address2:\s*(?P<street2>.*)\nRegistrant City:\s*(?P<city>.+)\nRegistrant State/Province:\s*(?P<state>.+)\nRegistrant Postal Code:\s*(?P<postalcode>.+)\nRegistrant Country:\s*(?P<country>.+)\nRegistrant Country Code:\s*(?P<country_code>.+)\nRegistrant Phone Number:\s*(?P<phone>.+)\nRegistrant Email:\s*(?P<email>.+)\n", # .CO Internet
"Registrant Contact: (?P<handle>.+)\nRegistrant Organization: (?P<organization>.+)\nRegistrant Name: (?P<name>.+)\nRegistrant Street: (?P<street>.+)\nRegistrant City: (?P<city>.+)\nRegistrant Postal Code: (?P<postalcode>.+)\nRegistrant State: (?P<state>.+)\nRegistrant Country: (?P<country>.+)\nRegistrant Phone: (?P<phone>.*)\nRegistrant Phone Ext: (?P<phone_ext>.*)\nRegistrant Fax: (?P<fax>.*)\nRegistrant Fax Ext: (?P<fax_ext>.*)\nRegistrant Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Registrant ID:[ ]*(?P<handle>.*)\n)?Registrant Name:[ ]*(?P<name>.*)\n(?:Registrant Organization:[ ]*(?P<organization>.*)\n)?Registrant Street:[ ]*(?P<street1>.+)\n(?:Registrant Street:[ ]*(?P<street2>.+)\n)?(?:Registrant Street:[ ]*(?P<street3>.+)\n)?Registrant City:[ ]*(?P<city>.+)\nRegistrant State(?:\/Province)?:[ ]*(?P<state>.*)\nRegistrant Postal Code:[ ]*(?P<postalcode>.+)\nRegistrant Country:[ ]*(?P<country>.+)\n(?:Registrant Phone:[ ]*(?P<phone>.*)\n)?(?:Registrant Phone Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Registrant Fax:[ ]*(?P<fax>.*)\n)?(?:Registrant Fax Ext:[ ]*(?P<fax_ext>.*)\n)?(?:Registrant Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Registrant\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Registrant Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"owner-id:[ ]*(?P<handle>.*)\n(?:owner-organization:[ ]*(?P<organization>.*)\n)?owner-name:[ ]*(?P<name>.*)\nowner-street:[ ]*(?P<street>.*)\nowner-city:[ ]*(?P<city>.*)\nowner-zip:[ ]*(?P<postalcode>.*)\nowner-country:[ ]*(?P<country>.*)\n(?:owner-phone:[ ]*(?P<phone>.*)\n)?(?:owner-fax:[ ]*(?P<fax>.*)\n)?owner-email:[ ]*(?P<email>.*)", # InterNetworX
"Registrant:\n registrant_org: (?P<organization>.*)\n registrant_name: (?P<name>.*)\n registrant_email: (?P<email>.*)\n registrant_address: (?P<address>.*)\n registrant_city: (?P<city>.*)\n registrant_state: (?P<state>.*)\n registrant_zip: (?P<postalcode>.*)\n registrant_country: (?P<country>.*)\n registrant_phone: (?P<phone>.*)", # Bellnames
"Holder of domain name:\n(?P<name>[\S\s]+)\n(?P<street>.+)\n(?P<postalcode>[A-Z0-9-]+)\s+(?P<city>.+)\n(?P<country>.+)\nContractual Language", # nic.ch
"\n\n(?:Owner)?\s+: (?P<name>.*)\n(?:\s+: (?P<organization>.*)\n)?\s+: (?P<street>.*)\n\s+: (?P<city>.*)\n\s+: (?P<state>.*)\n\s+: (?P<country>.*)\n", # nic.io
"Contact Information:\n\[Name\]\s*(?P<name>.*)\n\[Email\]\s*(?P<email>.*)\n\[Web Page\]\s*(?P<url>.*)\n\[Postal code\]\s*(?P<postalcode>.*)\n\[Postal Address\]\s*(?P<street1>.*)\n(?:\s+(?P<street2>.*)\n)?(?:\s+(?P<street3>.*)\n)?\[Phone\]\s*(?P<phone>.*)\n\[Fax\]\s*(?P<fax>.*)\n", # jprs.jp
"g\. \[Organization\] (?P<organization>.+)\n", # .co.jp registrations at jprs.jp
"Registrant ID:(?P<handle>.*)\nRegistrant Name:(?P<name>.*)\n(?:Registrant Organization:(?P<organization>.*)\n)?Registrant Address1:(?P<street1>.*)\n(?:Registrant Address2:(?P<street2>.*)\n)?(?:Registrant Address3:(?P<street3>.*)\n)?Registrant City:(?P<city>.*)\n(?:Registrant State/Province:(?P<state>.*)\n)?Registrant Postal Code:(?P<postalcode>.*)\nRegistrant Country:(?P<country>.*)\nRegistrant Country Code:.*\nRegistrant Phone Number:(?P<phone>.*)\n(?:Registrant Facsimile Number:(?P<facsimile>.*)\n)?Registrant Email:(?P<email>.*)", # .US, .biz (NeuStar)
"Registrant\n Name: (?P<name>.+)\n(?: Organization: (?P<organization>.+)\n)? ContactID: (?P<handle>.+)\n(?: Address: (?P<street1>.+)\n(?: (?P<street2>.+)\n(?: (?P<street3>.+)\n)?)? (?P<city>.+)\n (?P<postalcode>.+)\n (?P<state>.+)\n (?P<country>.+)\n)?(?: Created: (?P<creationdate>.+)\n)?(?: Last Update: (?P<changedate>.+)\n)?", # nic.it
" Organisation Name[.]* (?P<name>.*)\n Organisation Address[.]* (?P<street1>.*)\n Organisation Address[.]* (?P<street2>.*)\n(?: Organisation Address[.]* (?P<street3>.*)\n)? Organisation Address[.]* (?P<city>.*)\n Organisation Address[.]* (?P<postalcode>.*)\n Organisation Address[.]* (?P<state>.*)\n Organisation Address[.]* (?P<country>.*)", # Melbourne IT (what a horrid format...)
"Registrant:[ ]*(?P<name>.+)\n[\s\S]*Eligibility Name:[ ]*(?P<organization>.+)\n[\s\S]*Registrant Contact ID:[ ]*(?P<handle>.+)\n", # .au business
"Eligibility Type:[ ]*Citizen\/Resident\n[\s\S]*Registrant Contact ID:[ ]*(?P<handle>.+)\n[\s\S]*Registrant Contact Name:[ ]*(?P<name>.+)\n", # .au individual
"Registrant:[ ]*(?P<organization>.+)\n[\s\S]*Eligibility Type:[ ]*(Higher Education Institution|Company|Incorporated Association|Other)\n[\s\S]*Registrant Contact ID:[ ]*(?P<handle>.+)\n[\s\S]*Registrant Contact Name:[ ]*(?P<name>.+)\n", # .au educational, company, 'incorporated association' (non-profit?), other (spotted for linux.conf.au, unsure if also for others)
" Registrant:\n (?P<name>.+)\n\n Registrant type:\n .*\n\n Registrant's address:\n The registrant .* opted to have", # Nominet (.uk) with hidden address
" Registrant:\n (?P<name>.+)\n\n[\s\S]* Registrant type:\n .*\n\n Registrant's address:\n (?P<street1>.+)\n(?: (?P<street2>.+)\n(?: (?P<street3>.+)\n)??)?? (?P<city>[^0-9\n]+)\n(?: (?P<state>.+)\n)? (?P<postalcode>.+)\n (?P<country>.+)\n\n", # Nominet (.uk) with visible address
"Domain Owner:\n\t(?P<organization>.+)\n\n[\s\S]*?(?:Registrant Contact:\n\t(?P<name>.+))?\n\nRegistrant(?:'s)? (?:a|A)ddress:(?:\n\t(?P<street1>.+)\n(?:\t(?P<street2>.+)\n)?(?:\t(?P<street3>.+)\n)?\t(?P<city>.+)\n\t(?P<postalcode>.+))?\n\t(?P<country>.+)(?:\n\t(?P<phone>.+) \(Phone\)\n\t(?P<fax>.+) \(FAX\)\n\t(?P<email>.+))?\n\n", # .ac.uk - what a mess...
"Registrant ID: (?P<handle>.+)\nRegistrant: (?P<name>.+)\nRegistrant Contact Email: (?P<email>.+)", # .cn (CNNIC)
"Registrant contact:\n (?P<name>.+)\n (?P<street>.*)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n\n", # Fabulous.com
"registrant-name:\s*(?P<name>.+)\nregistrant-type:\s*(?P<type>.+)\nregistrant-address:\s*(?P<street>.+)\nregistrant-postcode:\s*(?P<postalcode>.+)\nregistrant-city:\s*(?P<city>.+)\nregistrant-country:\s*(?P<country>.+)\n(?:registrant-phone:\s*(?P<phone>.+)\n)?(?:registrant-email:\s*(?P<email>.+)\n)?", # Hetzner
"Registrant Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
"Contact Information : For Customer # [0-9]+[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication alternative (private WHOIS) format?
"Registrant:\n Name: (?P<name>.+)\n City: (?P<city>.+)\n State: (?P<state>.+)\n Country: (?P<country>.+)\n", # Akky (.com.mx)
" Registrant:\n (?P<name>.+)\n (?P<street>.+)\n (?P<city>.+) (?P<state>\S+),[ ]+(?P<postalcode>.+)\n (?P<country>.+)", # .am
"Domain Holder: (?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?, (?P<city>[^.,]+), (?P<district>.+), (?P<state>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 1
"Domain Holder: (?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?, (?P<city>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 2
"Domain Holder: (?P<organization>.+)\n(?P<street1>.+)\n(?:(?P<street2>.+)\n)?(?:(?P<street3>.+)\n)?.+?, (?P<district>.+)\n(?P<city>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 3
"Domain Holder: (?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?\n(?P<city>.+),? (?P<state>[A-Z]{2,3})(?: [A-Z0-9]+)?\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 4
" Registrant:\n (?P<organization>.+)\n (?P<name>.+) (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)\n (?P<street>.*)\n (?P<city>.+), (?P<state>[^,\n]*)\n (?P<country>.+)\n", # .com.tw (Western registrars)
"Registrant:\n(?P<organization1>.+)\n(?P<organization2>.+)\n(?P<street1>.+?)(?:,+(?P<street2>.+?)(?:,+(?P<street3>.+?)(?:,+(?P<street4>.+?)(?:,+(?P<street5>.+?)(?:,+(?P<street6>.+?)(?:,+(?P<street7>.+?))?)?)?)?)?)?,(?P<city>.+),(?P<country>.+)\n\n Contact:\n (?P<name>.+) (?P<email>.+)\n TEL: (?P<phone>.+?)(?:(?:#|ext.?)(?P<phone_ext>.+))?\n FAX: (?P<fax>.+)(?:(?:#|ext.?)(?P<fax_ext>.+))?\n", # .com.tw (TWNIC/SEEDNET, Taiwanese companies only?)
"Registrant Contact Information:\n\nCompany English Name \(It should be the same as the registered/corporation name on your Business Register Certificate or relevant documents\):(?P<organization1>.+)\nCompany Chinese name:(?P<organization2>.+)\nAddress: (?P<street>.+)\nCountry: (?P<country>.+)\nEmail: (?P<email>.+)\n", # HKDNR (.hk)
"owner:\s+(?P<name>.+)", # .br
"person:\s+(?P<name>.+)", # nic.ru (person)
"org:\s+(?P<organization>.+)", # nic.ru (organization)
]
tech_contact_regexes = [
" Technical Contact:[ ]*\n (?P<organization>.*)\n (?P<name>.*)\n (?P<street>.*)\n (?P<city>.*), (?P<state>.*) (?P<postalcode>.*)\n (?P<country>.*)\n(?: Phone: (?P<phone>.*)\n)? Email: (?P<email>.*)\n", # Corporate Domains, Inc.
"Technical Contact:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
"(?:Tech ID:(?P<handle>.+)\n)?Tech Name:(?P<name>.*)\n(:?Tech Organization:(?P<organization>.*)\n)?Tech Street1?:(?P<street1>.*)\n(?:Tech Street2:(?P<street2>.*)\n)?(?:Tech Street3:(?P<street3>.*)\n)?Tech City:(?P<city>.*)\nTech State/Province:(?P<state>.*)\nTech Postal Code:(?P<postalcode>.*)\nTech Country:(?P<country>.*)\nTech Phone:(?P<phone>.*)\n(?:Tech Phone Ext.:(?P<phone_ext>.*)\n)?(?:Tech FAX:(?P<fax>.*)\n)?(?:Tech FAX Ext.:(?P<fax_ext>.*)\n)?Tech Email:(?P<email>.*)", # Public Interest Registry (.org), nic.pw, No-IP.com
"Tech(?:nical)? ID:(?P<handle>.+)\nTech(?:nical)? Name:(?P<name>.*)\n(?:Tech(?:nical)? Organization:(?P<organization>.*)\n)?Tech(?:nical)? Address1?:(?P<street1>.*)\n(?:Tech(?:nical)? Address2:(?P<street2>.*)\n)?(?:Tech(?:nical)? Address3:(?P<street3>.*)\n)?Tech(?:nical)? City:(?P<city>.*)\nTech(?:nical)? State/Province:(?P<state>.*)\nTech(?:nical)? Country/Economy:(?P<country>.*)\nTech(?:nical)? Postal Code:(?P<postalcode>.*)\nTech(?:nical)? Phone:(?P<phone>.*)\n(?:Tech(?:nical)? Phone Ext.:(?P<phone_ext>.*)\n)?(?:Tech(?:nical)? FAX:(?P<fax>.*)\n)?(?:Tech(?:nical)? FAX Ext.:(?P<fax_ext>.*)\n)?Tech(?:nical)? E-mail:(?P<email>.*)", # .ME, DotAsia
"Technical Contact ID:\s*(?P<handle>.+)\nTechnical Contact Name:\s*(?P<name>.+)\nTechnical Contact Organization:\s*(?P<organization>.*)\nTechnical Contact Address1:\s*(?P<street1>.+)\nTechnical Contact Address2:\s*(?P<street2>.*)\nTechnical Contact City:\s*(?P<city>.+)\nTechnical Contact State/Province:\s*(?P<state>.+)\nTechnical Contact Postal Code:\s*(?P<postalcode>.+)\nTechnical Contact Country:\s*(?P<country>.+)\nTechnical Contact Country Code:\s*(?P<country_code>.+)\nTechnical Contact Phone Number:\s*(?P<phone>.+)\nTechnical Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Tech Contact: (?P<handle>.+)\nTech Organization: (?P<organization>.+)\nTech Name: (?P<name>.+)\nTech Street: (?P<street>.+)\nTech City: (?P<city>.+)\nTech Postal Code: (?P<postalcode>.+)\nTech State: (?P<state>.+)\nTech Country: (?P<country>.+)\nTech Phone: (?P<phone>.*)\nTech Phone Ext: (?P<phone_ext>.*)\nTech Fax: (?P<fax>.*)\nTech Fax Ext: (?P<fax_ext>.*)\nTech Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Tech ID:[ ]*(?P<handle>.*)\n)?Tech[ ]*Name:[ ]*(?P<name>.*)\n(?:Tech[ ]*Organization:[ ]*(?P<organization>.*)\n)?Tech[ ]*Street:[ ]*(?P<street1>.+)\n(?:Tech[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Tech[ ]*Street:[ ]*(?P<street3>.+)\n)?Tech[ ]*City:[ ]*(?P<city>.+)\nTech[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nTech[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nTech[ ]*Country:[ ]*(?P<country>.+)\n(?:Tech[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Tech[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Tech[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Tech[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Tech[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Technical Contact\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Technical Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"tech-id:[ ]*(?P<handle>.*)\n(?:tech-organization:[ ]*(?P<organization>.*)\n)?tech-name:[ ]*(?P<name>.*)\ntech-street:[ ]*(?P<street>.*)\ntech-city:[ ]*(?P<city>.*)\ntech-zip:[ ]*(?P<postalcode>.*)\ntech-country:[ ]*(?P<country>.*)\n(?:tech-phone:[ ]*(?P<phone>.*)\n)?(?:tech-fax:[ ]*(?P<fax>.*)\n)?tech-email:[ ]*(?P<email>.*)", # InterNetworX
"Technical Contact:\n tech_org: (?P<organization>.*)\n tech_name: (?P<name>.*)\n tech_email: (?P<email>.*)\n tech_address: (?P<address>.*)\n tech_city: (?P<city>.*)\n tech_state: (?P<state>.*)\n tech_zip: (?P<postalcode>.*)\n tech_country: (?P<country>.*)\n tech_phone: (?P<phone>.*)", # Bellnames
"Technical contact:\n(?P<name>[\S\s]+)\n(?P<street>.+)\n(?P<postalcode>[A-Z0-9-]+)\s+(?P<city>.+)\n(?P<country>.+)\n\n", # nic.ch
"Tech Contact ID:[ ]*(?P<handle>.+)\nTech Contact Name:[ ]*(?P<name>.+)", # .au
"Technical Contact ID:(?P<handle>.*)\nTechnical Contact Name:(?P<name>.*)\n(?:Technical Contact Organization:(?P<organization>.*)\n)?Technical Contact Address1:(?P<street1>.*)\n(?:Technical Contact Address2:(?P<street2>.*)\n)?(?:Technical Contact Address3:(?P<street3>.*)\n)?Technical Contact City:(?P<city>.*)\n(?:Technical Contact State/Province:(?P<state>.*)\n)?Technical Contact Postal Code:(?P<postalcode>.*)\nTechnical Contact Country:(?P<country>.*)\nTechnical Contact Country Code:.*\nTechnical Contact Phone Number:(?P<phone>.*)\n(?:Technical Contact Facsimile Number:(?P<facsimile>.*)\n)?Technical Contact Email:(?P<email>.*)", # .US, .biz (NeuStar)
"Technical Contacts\n Name: (?P<name>.+)\n(?: Organization: (?P<organization>.+)\n)? ContactID: (?P<handle>.+)\n(?: Address: (?P<street1>.+)\n(?: (?P<street2>.+)\n(?: (?P<street3>.+)\n)?)? (?P<city>.+)\n (?P<postalcode>.+)\n (?P<state>.+)\n (?P<country>.+)\n)?(?: Created: (?P<creationdate>.+)\n)?(?: Last Update: (?P<changedate>.+)\n)?", # nic.it // NOTE: Why does this say 'Contacts'? Can it have multiple?
"Tech Name[.]* (?P<name>.*)\n Tech Address[.]* (?P<street1>.*)\n Tech Address[.]* (?P<street2>.*)\n(?: Tech Address[.]* (?P<street3>.*)\n)? Tech Address[.]* (?P<city>.*)\n Tech Address[.]* (?P<postalcode>.*)\n Tech Address[.]* (?P<state>.*)\n Tech Address[.]* (?P<country>.*)\n Tech Email[.]* (?P<email>.*)\n Tech Phone[.]* (?P<phone>.*)\n Tech Fax[.]* (?P<fax>.*)", # Melbourne IT
"Technical contact:\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n (?P<email>.+)\n (?P<street>.+)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n Phone: (?P<phone>.*)\n Fax: (?P<fax>.*)\n", # Fabulous.com
"tech-c-name:\s*(?P<name>.+)\ntech-c-type:\s*(?P<type>.+)\ntech-c-address:\s*(?P<street>.+)\ntech-c-postcode:\s*(?P<postalcode>.+)\ntech-c-city:\s*(?P<city>.+)\ntech-c-country:\s*(?P<country>.+)\n(?:tech-c-phone:\s*(?P<phone>.+)\n)?(?:tech-c-email:\s*(?P<email>.+)\n)?", # Hetzner
"Admin Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
" Technical contact:\n (?P<name>.+)\n (?P<organization>.*)\n (?P<street>.+)\n (?P<city>.+) (?P<state>\S+),[ ]+(?P<postalcode>.+)\n (?P<country>.+)\n (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)", # .am
"Technical:\n\s*Name:\s*(?P<name>.*)\n\s*Organisation:\s*(?P<organization>.*)\n\s*Language:.*\n\s*Phone:\s*(?P<phone>.*)\n\s*Fax:\s*(?P<fax>.*)\n\s*Email:\s*(?P<email>.*)\n", # EURid
"\[Zone-C\]\nType: (?P<type>.+)\nName: (?P<name>.+)\n(Organisation: (?P<organization>.+)\n){0,1}(Address: (?P<street1>.+)\n){1}(Address: (?P<street2>.+)\n){0,1}(Address: (?P<street3>.+)\n){0,1}(Address: (?P<street4>.+)\n){0,1}PostalCode: (?P<postalcode>.+)\nCity: (?P<city>.+)\nCountryCode: (?P<country>[A-Za-z]{2})\nPhone: (?P<phone>.+)\nFax: (?P<fax>.+)\nEmail: (?P<email>.+)\n(Remarks: (?P<remark>.+)\n){0,1}Changed: (?P<changed>.+)", # DeNIC
"Technical Contact:\n Name: (?P<name>.+)\n City: (?P<city>.+)\n State: (?P<state>.+)\n Country: (?P<country>.+)\n", # Akky (.com.mx)
"Tech Contact: (?P<handle>.+)\n(?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?\n(?P<city>.+),? (?P<state>[A-Z]{2,3})(?: [A-Z0-9]+)?\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 1
"Tech Contact: (?P<handle>.+)\n(?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?\n(?P<city>.+), (?P<state>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 2
"Tech Contact: (?P<handle>.+)\n(?P<organization>.+)\n(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?, (?P<city>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 3
"Tech Contact: (?P<handle>.+)\n(?P<street1>.+) (?P<city>[^\s]+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 4
"Tech Contact: (?P<handle>.+)\n(?P<organization>.+)\n(?P<street1>.+)\n(?P<district>.+) (?P<city>[^\s]+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 5
"Tech Contact: (?P<handle>.+)\n(?P<organization>.+)\n(?P<street1>.+)\n(?P<street2>.+)\n(?:(?P<street3>.+)\n)?(?P<city>.+)\n(?P<postalcode>.+)\n(?P<country>[A-Z]+)\n", # .co.th, format 6
" Technical Contact:\n (?P<name>.+) (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)\n", # .com.tw (Western registrars)
"Technical Contact Information:\n\n(?:Given name: (?P<firstname>.+)\n)?(?:Family name: (?P<lastname>.+)\n)?(?:Company name: (?P<organization>.+)\n)?Address: (?P<street>.+)\nCountry: (?P<country>.+)\nPhone: (?P<phone>.*)\nFax: (?P<fax>.*)\nEmail: (?P<email>.+)\n(?:Account Name: (?P<handle>.+)\n)?", # HKDNR (.hk)
]
admin_contact_regexes = [
" Administrative Contact:[ ]*\n (?P<organization>.*)\n (?P<name>.*)\n (?P<street>.*)\n (?P<city>.*), (?P<state>.*) (?P<postalcode>.*)\n (?P<country>.*)\n(?: Phone: (?P<phone>.*)\n)? Email: (?P<email>.*)\n", # Corporate Domains, Inc.
"Administrative Contact:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
"(?:Admin ID:(?P<handle>.+)\n)?Admin Name:(?P<name>.*)\n(?:Admin Organization:(?P<organization>.*)\n)?Admin Street1?:(?P<street1>.*)\n(?:Admin Street2:(?P<street2>.*)\n)?(?:Admin Street3:(?P<street3>.*)\n)?Admin City:(?P<city>.*)\nAdmin State/Province:(?P<state>.*)\nAdmin Postal Code:(?P<postalcode>.*)\nAdmin Country:(?P<country>.*)\nAdmin Phone:(?P<phone>.*)\n(?:Admin Phone Ext.:(?P<phone_ext>.*)\n)?(?:Admin FAX:(?P<fax>.*)\n)?(?:Admin FAX Ext.:(?P<fax_ext>.*)\n)?Admin Email:(?P<email>.*)", # Public Interest Registry (.org), nic.pw, No-IP.com
"Admin(?:istrative)? ID:(?P<handle>.+)\nAdmin(?:istrative)? Name:(?P<name>.*)\n(?:Admin(?:istrative)? Organization:(?P<organization>.*)\n)?Admin(?:istrative)? Address1?:(?P<street1>.*)\n(?:Admin(?:istrative)? Address2:(?P<street2>.*)\n)?(?:Admin(?:istrative)? Address3:(?P<street3>.*)\n)?Admin(?:istrative)? City:(?P<city>.*)\nAdmin(?:istrative)? State/Province:(?P<state>.*)\nAdmin(?:istrative)? Country/Economy:(?P<country>.*)\nAdmin(?:istrative)? Postal Code:(?P<postalcode>.*)\nAdmin(?:istrative)? Phone:(?P<phone>.*)\n(?:Admin(?:istrative)? Phone Ext.:(?P<phone_ext>.*)\n)?(?:Admin(?:istrative)? FAX:(?P<fax>.*)\n)?(?:Admin(?:istrative)? FAX Ext.:(?P<fax_ext>.*)\n)?Admin(?:istrative)? E-mail:(?P<email>.*)", # .ME, DotAsia
"Administrative Contact ID:\s*(?P<handle>.+)\nAdministrative Contact Name:\s*(?P<name>.+)\nAdministrative Contact Organization:\s*(?P<organization>.*)\nAdministrative Contact Address1:\s*(?P<street1>.+)\nAdministrative Contact Address2:\s*(?P<street2>.*)\nAdministrative Contact City:\s*(?P<city>.+)\nAdministrative Contact State/Province:\s*(?P<state>.+)\nAdministrative Contact Postal Code:\s*(?P<postalcode>.+)\nAdministrative Contact Country:\s*(?P<country>.+)\nAdministrative Contact Country Code:\s*(?P<country_code>.+)\nAdministrative Contact Phone Number:\s*(?P<phone>.+)\nAdministrative Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Admin Contact: (?P<handle>.+)\nAdmin Organization: (?P<organization>.+)\nAdmin Name: (?P<name>.+)\nAdmin Street: (?P<street>.+)\nAdmin City: (?P<city>.+)\nAdmin State: (?P<state>.+)\nAdmin Postal Code: (?P<postalcode>.+)\nAdmin Country: (?P<country>.+)\nAdmin Phone: (?P<phone>.*)\nAdmin Phone Ext: (?P<phone_ext>.*)\nAdmin Fax: (?P<fax>.*)\nAdmin Fax Ext: (?P<fax_ext>.*)\nAdmin Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Admin ID:[ ]*(?P<handle>.*)\n)?Admin[ ]*Name:[ ]*(?P<name>.*)\n(?:Admin[ ]*Organization:[ ]*(?P<organization>.*)\n)?Admin[ ]*Street:[ ]*(?P<street1>.+)\n(?:Admin[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Admin[ ]*Street:[ ]*(?P<street3>.+)\n)?Admin[ ]*City:[ ]*(?P<city>.+)\nAdmin[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nAdmin[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nAdmin[ ]*Country:[ ]*(?P<country>.+)\n(?:Admin[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Admin[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Admin[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Admin[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Admin[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Administrative Contact\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Administrative Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"admin-id:[ ]*(?P<handle>.*)\n(?:admin-organization:[ ]*(?P<organization>.*)\n)?admin-name:[ ]*(?P<name>.*)\nadmin-street:[ ]*(?P<street>.*)\nadmin-city:[ ]*(?P<city>.*)\nadmin-zip:[ ]*(?P<postalcode>.*)\nadmin-country:[ ]*(?P<country>.*)\n(?:admin-phone:[ ]*(?P<phone>.*)\n)?(?:admin-fax:[ ]*(?P<fax>.*)\n)?admin-email:[ ]*(?P<email>.*)", # InterNetworX
"Administrative Contact:\n admin_org: (?P<organization>.*)\n admin_name: (?P<name>.*)\n admin_email: (?P<email>.*)\n admin_address: (?P<address>.*)\n admin_city: (?P<city>.*)\n admin_state: (?P<state>.*)\n admin_zip: (?P<postalcode>.*)\n admin_country: (?P<country>.*)\n admin_phone: (?P<phone>.*)", # Bellnames
"Administrative Contact ID:(?P<handle>.*)\nAdministrative Contact Name:(?P<name>.*)\n(?:Administrative Contact Organization:(?P<organization>.*)\n)?Administrative Contact Address1:(?P<street1>.*)\n(?:Administrative Contact Address2:(?P<street2>.*)\n)?(?:Administrative Contact Address3:(?P<street3>.*)\n)?Administrative Contact City:(?P<city>.*)\n(?:Administrative Contact State/Province:(?P<state>.*)\n)?Administrative Contact Postal Code:(?P<postalcode>.*)\nAdministrative Contact Country:(?P<country>.*)\nAdministrative Contact Country Code:.*\nAdministrative Contact Phone Number:(?P<phone>.*)\n(?:Administrative Contact Facsimile Number:(?P<facsimile>.*)\n)?Administrative Contact Email:(?P<email>.*)", # .US, .biz (NeuStar)
"Admin Contact\n Name: (?P<name>.+)\n(?: Organization: (?P<organization>.+)\n)? ContactID: (?P<handle>.+)\n(?: Address: (?P<street1>.+)\n(?: (?P<street2>.+)\n(?: (?P<street3>.+)\n)?)? (?P<city>.+)\n (?P<postalcode>.+)\n (?P<state>.+)\n (?P<country>.+)\n)?(?: Created: (?P<creationdate>.+)\n)?(?: Last Update: (?P<changedate>.+)\n)?", # nic.it
"Admin Name[.]* (?P<name>.*)\n Admin Address[.]* (?P<street1>.*)\n Admin Address[.]* (?P<street2>.*)\n(?: Admin Address[.]* (?P<street3>.*)\n)? Admin Address[.]* (?P<city>.*)\n Admin Address[.]* (?P<postalcode>.*)\n Admin Address[.]* (?P<state>.*)\n Admin Address[.]* (?P<country>.*)\n Admin Email[.]* (?P<email>.*)\n Admin Phone[.]* (?P<phone>.*)\n Admin Fax[.]* (?P<fax>.*)", # Melbourne IT
"Administrative contact:\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n (?P<email>.+)\n (?P<street>.+)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n Phone: (?P<phone>.*)\n Fax: (?P<fax>.*)\n", # Fabulous.com
"admin-c-name:\s*(?P<name>.+)\nadmin-c-type:\s*(?P<type>.+)\nadmin-c-address:\s*(?P<street>.+)\nadmin-c-postcode:\s*(?P<postalcode>.+)\nadmin-c-city:\s*(?P<city>.+)\nadmin-c-country:\s*(?P<country>.+)\n(?:admin-c-phone:\s*(?P<phone>.+)\n)?(?:admin-c-email:\s*(?P<email>.+)\n)?", # Hetzner
"Tech Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
" Administrative contact:\n (?P<name>.+)\n (?P<organization>.*)\n (?P<street>.+)\n (?P<city>.+) (?P<state>\S+),[ ]+(?P<postalcode>.+)\n (?P<country>.+)\n (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)", # .am
"Administrative Contact:\n Name: (?P<name>.+)\n City: (?P<city>.+)\n State: (?P<state>.+)\n Country: (?P<country>.+)\n", # Akky (.com.mx)
"\[Tech-C\]\nType: (?P<type>.+)\nName: (?P<name>.+)\n(Organisation: (?P<organization>.+)\n){0,1}(Address: (?P<street1>.+)\n){1}(Address: (?P<street2>.+)\n){0,1}(Address: (?P<street3>.+)\n){0,1}(Address: (?P<street4>.+)\n){0,1}PostalCode: (?P<postalcode>.+)\nCity: (?P<city>.+)\nCountryCode: (?P<country>[A-Za-z]{2})\nPhone: (?P<phone>.+)\nFax: (?P<fax>.+)\nEmail: (?P<email>.+)\n(Remarks: (?P<remark>.+)\n){0,1}Changed: (?P<changed>.+)", # DeNIC
" Administrative Contact:\n (?P<name>.+) (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)\n", # .com.tw (Western registrars)
"Administrative Contact Information:\n\n(?:Given name: (?P<firstname>.+)\n)?(?:Family name: (?P<lastname>.+)\n)?(?:Company name: (?P<organization>.+)\n)?Address: (?P<street>.+)\nCountry: (?P<country>.+)\nPhone: (?P<phone>.*)\nFax: (?P<fax>.*)\nEmail: (?P<email>.+)\n(?:Account Name: (?P<handle>.+)\n)?", # HKDNR (.hk)
]
billing_contact_regexes = [
"(?:Billing ID:(?P<handle>.+)\n)?Billing Name:(?P<name>.*)\nBilling Organization:(?P<organization>.*)\nBilling Street1:(?P<street1>.*)\n(?:Billing Street2:(?P<street2>.*)\n)?(?:Billing Street3:(?P<street3>.*)\n)?Billing City:(?P<city>.*)\nBilling State/Province:(?P<state>.*)\nBilling Postal Code:(?P<postalcode>.*)\nBilling Country:(?P<country>.*)\nBilling Phone:(?P<phone>.*)\n(?:Billing Phone Ext.:(?P<phone_ext>.*)\n)?(?:Billing FAX:(?P<fax>.*)\n)?(?:Billing FAX Ext.:(?P<fax_ext>.*)\n)?Billing Email:(?P<email>.*)", # nic.pw, No-IP.com
"Billing ID:(?P<handle>.+)\nBilling Name:(?P<name>.*)\n(?:Billing Organization:(?P<organization>.*)\n)?Billing Address1?:(?P<street1>.*)\n(?:Billing Address2:(?P<street2>.*)\n)?(?:Billing Address3:(?P<street3>.*)\n)?Billing City:(?P<city>.*)\nBilling State/Province:(?P<state>.*)\nBilling Country/Economy:(?P<country>.*)\nBilling Postal Code:(?P<postalcode>.*)\nBilling Phone:(?P<phone>.*)\n(?:Billing Phone Ext.:(?P<phone_ext>.*)\n)?(?:Billing FAX:(?P<fax>.*)\n)?(?:Billing FAX Ext.:(?P<fax_ext>.*)\n)?Billing E-mail:(?P<email>.*)", # DotAsia
"Billing Contact ID:\s*(?P<handle>.+)\nBilling Contact Name:\s*(?P<name>.+)\nBilling Contact Organization:\s*(?P<organization>.*)\nBilling Contact Address1:\s*(?P<street1>.+)\nBilling Contact Address2:\s*(?P<street2>.*)\nBilling Contact City:\s*(?P<city>.+)\nBilling Contact State/Province:\s*(?P<state>.+)\nBilling Contact Postal Code:\s*(?P<postalcode>.+)\nBilling Contact Country:\s*(?P<country>.+)\nBilling Contact Country Code:\s*(?P<country_code>.+)\nBilling Contact Phone Number:\s*(?P<phone>.+)\nBilling Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Billing Contact: (?P<handle>.+)\nBilling Organization: (?P<organization>.+)\nBilling Name: (?P<name>.+)\nBilling Street: (?P<street>.+)\nBilling City: (?P<city>.+)\nBilling Postal Code: (?P<postalcode>.+)\nBilling State: (?P<state>.+)\nBilling Country: (?P<country>.+)\nBilling Phone: (?P<phone>.*)\nBilling Phone Ext: (?P<phone_ext>.*)\nBilling Fax: (?P<fax>.*)\nBilling Fax Ext: (?P<fax_ext>.*)\nBilling Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Billing ID:[ ]*(?P<handle>.*)\n)?Billing[ ]*Name:[ ]*(?P<name>.*)\n(?:Billing[ ]*Organization:[ ]*(?P<organization>.*)\n)?Billing[ ]*Street:[ ]*(?P<street1>.+)\n(?:Billing[ ]*Street:[ ]*(?P<street2>.+)\n)?Billing[ ]*City:[ ]*(?P<city>.+)\nBilling[ ]*State\/Province:[ ]*(?P<state>.+)\nBilling[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nBilling[ ]*Country:[ ]*(?P<country>.+)\n(?:Billing[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Billing[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Billing[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Billing[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Billing[ ]*Email:[ ]*(?P<email>.+)\n)?", # Musedoma (.museum)
"Billing Contact:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
" Billing Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"billing-id:[ ]*(?P<handle>.*)\n(?:billing-organization:[ ]*(?P<organization>.*)\n)?billing-name:[ ]*(?P<name>.*)\nbilling-street:[ ]*(?P<street>.*)\nbilling-city:[ ]*(?P<city>.*)\nbilling-zip:[ ]*(?P<postalcode>.*)\nbilling-country:[ ]*(?P<country>.*)\n(?:billing-phone:[ ]*(?P<phone>.*)\n)?(?:billing-fax:[ ]*(?P<fax>.*)\n)?billing-email:[ ]*(?P<email>.*)", # InterNetworX
"Billing Contact:\n bill_org: (?P<organization>.*)\n bill_name: (?P<name>.*)\n bill_email: (?P<email>.*)\n bill_address: (?P<address>.*)\n bill_city: (?P<city>.*)\n bill_state: (?P<state>.*)\n bill_zip: (?P<postalcode>.*)\n bill_country: (?P<country>.*)\n bill_phone: (?P<phone>.*)", # Bellnames
"Billing Contact ID:(?P<handle>.*)\nBilling Contact Name:(?P<name>.*)\n(?:Billing Contact Organization:(?P<organization>.*)\n)?Billing Contact Address1:(?P<street1>.*)\n(?:Billing Contact Address2:(?P<street2>.*)\n)?(?:Billing Contact Address3:(?P<street3>.*)\n)?Billing Contact City:(?P<city>.*)\n(?:Billing Contact State/Province:(?P<state>.*)\n)?Billing Contact Postal Code:(?P<postalcode>.*)\nBilling Contact Country:(?P<country>.*)\nBilling Contact Country Code:.*\nBilling Contact Phone Number:(?P<phone>.*)\n(?:Billing Contact Facsimile Number:(?P<facsimile>.*)\n)?Billing Contact Email:(?P<email>.*)", # .US, .biz (NeuStar)
"Billing contact:\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n (?P<email>.+)\n (?P<street>.+)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n Phone: (?P<phone>.*)\n Fax: (?P<fax>.*)\n", # Fabulous.com
"Billing Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
"Billing Contact:\n Name: (?P<name>.+)\n City: (?P<city>.+)\n State: (?P<state>.+)\n Country: (?P<country>.+)\n", # Akky (.com.mx)
]
# Some registries use NIC handle references instead of directly listing contacts...
nic_contact_references = {
"registrant": [
"registrant:\s*(?P<handle>.+)", # nic.at
"owner-contact:\s*(?P<handle>.+)", # LCN.com
"holder-c:\s*(?P<handle>.+)", # AFNIC
"holder:\s*(?P<handle>.+)", # iis.se (they apparently want to be difficult, and won't give you contact info for the handle over their WHOIS service)
],
"tech": [
"tech-c:\s*(?P<handle>.+)", # nic.at, AFNIC, iis.se
"technical-contact:\s*(?P<handle>.+)", # LCN.com
"n\. \[Technical Contact\] (?P<handle>.+)\n", #.co.jp
],
"admin": [
"admin-c:\s*(?P<handle>.+)", # nic.at, AFNIC, iis.se
"admin-contact:\s*(?P<handle>.+)", # LCN.com
"m\. \[Administrative Contact\] (?P<handle>.+)\n", # .co.jp
],
"billing": [
"billing-c:\s*(?P<handle>.+)", # iis.se
"billing-contact:\s*(?P<handle>.+)", # LCN.com
]
}
# Why do the below? The below is meant to handle with an edge case (issue #2) where a partial match followed
# by a failure, for a regex containing the \s*.+ pattern, would send the regex module on a wild goose hunt for
# matching positions. The workaround is to use \S.* instead of .+, but in the interest of keeping the regexes
# consistent and compact, it's more practical to do this (predictable) conversion on runtime.
# FIXME: This breaks on NIC contact regex for nic.at. Why?
registrant_regexes = [preprocess_regex(regex) for regex in registrant_regexes]
tech_contact_regexes = [preprocess_regex(regex) for regex in tech_contact_regexes]
admin_contact_regexes = [preprocess_regex(regex) for regex in admin_contact_regexes]
billing_contact_regexes = [preprocess_regex(regex) for regex in billing_contact_regexes]
nic_contact_regexes = [
"personname:\s*(?P<name>.+)\norganization:\s*(?P<organization>.+)\nstreet address:\s*(?P<street>.+)\npostal code:\s*(?P<postalcode>.+)\ncity:\s*(?P<city>.+)\ncountry:\s*(?P<country>.+)\n(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:e-mail:\s*(?P<email>.+)\n)?nic-hdl:\s*(?P<handle>.+)\nchanged:\s*(?P<changedate>.+)", # nic.at
"contact-handle:[ ]*(?P<handle>.+)\ncontact:[ ]*(?P<name>.+)\n(?:organisation:[ ]*(?P<organization>.+)\n)?address:[ ]*(?P<street1>.+)\n(?:address:[ ]*(?P<street2>.+)\n)?(?:address:[ ]*(?P<street3>.+)\n)?(?:address:[ ]*(?P<street4>.+)\n)?address:[ ]*(?P<city>.+)\naddress:[ ]*(?P<state>.+)\naddress:[ ]*(?P<postalcode>.+)\naddress:[ ]*(?P<country>.+)\n(?:phone:[ ]*(?P<phone>.+)\n)?(?:fax:[ ]*(?P<fax>.+)\n)?(?:email:[ ]*(?P<email>.+)\n)?", # LCN.com
"Contact Information:\na\. \[JPNIC Handle\] (?P<handle>.+)\nc\. \[Last, First\] (?P<lastname>.+), (?P<firstname>.+)\nd\. \[E-Mail\] (?P<email>.+)\ng\. \[Organization\] (?P<organization>.+)\nl\. \[Division\] (?P<division>.+)\nn\. \[Title\] (?P<title>.+)\no\. \[TEL\] (?P<phone>.+)\np\. \[FAX\] (?P<fax>.+)\ny\. \[Reply Mail\] .*\n\[Last Update\] (?P<changedate>.+) \(JST\)\n", # JPRS .co.jp contact handle lookup
"person:\s*(?P<name>.+)\nnic-hdl:\s*(?P<handle>.+)\n", # .ie
"nic-hdl:\s+(?P<handle>.+)\nperson:\s+(?P<name>.+)\n(?:e-mail:\s+(?P<email>.+)\n)?(?:address:\s+(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?, (?P<city>.+), (?P<state>.+), (?P<country>.+)\n)?(?:phone:\s+(?P<phone>.+)\n)?(?:fax-no:\s+(?P<fax>.+)\n)?", # nic.ir, individual - this is a nasty one.
"nic-hdl:\s+(?P<handle>.+)\norg:\s+(?P<organization>.+)\n(?:e-mail:\s+(?P<email>.+)\n)?(?:address:\s+(?P<street1>.+?)(?:,+ (?P<street2>.+?)(?:,+ (?P<street3>.+?)(?:,+ (?P<street4>.+?)(?:,+ (?P<street5>.+?)(?:,+ (?P<street6>.+?)(?:,+ (?P<street7>.+?))?)?)?)?)?)?, (?P<city>.+), (?P<state>.+), (?P<country>.+)\n)?(?:phone:\s+(?P<phone>.+)\n)?(?:fax-no:\s+(?P<fax>.+)\n)?", # nic.ir, organization
"nic-hdl:\s*(?P<handle>.+)\ntype:\s*(?P<type>.+)\ncontact:\s*(?P<name>.+)\n(?:.+\n)*?(?:address:\s*(?P<street1>.+)\naddress:\s*(?P<street2>.+)\naddress:\s*(?P<street3>.+)\naddress:\s*(?P<country>.+)\n)?(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:.+\n)*?(?:e-mail:\s*(?P<email>.+)\n)?(?:.+\n)*?changed:\s*(?P<changedate>[0-9]{2}\/[0-9]{2}\/[0-9]{4}).*\n", # AFNIC madness without country field
"nic-hdl:\s*(?P<handle>.+)\ntype:\s*(?P<type>.+)\ncontact:\s*(?P<name>.+)\n(?:.+\n)*?(?:address:\s*(?P<street1>.+)\n)?(?:address:\s*(?P<street2>.+)\n)?(?:address:\s*(?P<street3>.+)\n)?(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:.+\n)*?(?:e-mail:\s*(?P<email>.+)\n)?(?:.+\n)*?changed:\s*(?P<changedate>[0-9]{2}\/[0-9]{2}\/[0-9]{4}).*\n", # AFNIC madness any country -at all-
"nic-hdl:\s*(?P<handle>.+)\ntype:\s*(?P<type>.+)\ncontact:\s*(?P<name>.+)\n(?:.+\n)*?(?:address:\s*(?P<street1>.+)\n)?(?:address:\s*(?P<street2>.+)\n)?(?:address:\s*(?P<street3>.+)\n)?(?:address:\s*(?P<street4>.+)\n)?country:\s*(?P<country>.+)\n(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:.+\n)*?(?:e-mail:\s*(?P<email>.+)\n)?(?:.+\n)*?changed:\s*(?P<changedate>[0-9]{2}\/[0-9]{2}\/[0-9]{4}).*\n", # AFNIC madness with country field
]
if sys.version_info < (3, 0):
def is_string(data):
@ -153,7 +334,7 @@ else:
return isinstance(data, str)
def parse_raw_whois(raw_data, normalized=[]):
def parse_raw_whois(raw_data, normalized=[], never_query_handles=True, handle_server=""):
data = {}
raw_data = [segment.replace("\r", "") for segment in raw_data] # Carriage returns are the devil
@ -174,7 +355,7 @@ def parse_raw_whois(raw_data, normalized=[]):
data[rule_key] = [val]
# Whois.com is a bit special... Fabulous.com also seems to use this format. As do some others.
match = re.search("^\s?Name\s?[Ss]ervers:\s*\n((?:\s*.+\n)+?\s?)\n", segment, re.MULTILINE)
match = re.search("^\s?Name\s?[Ss]ervers:?\s*\n((?:\s*.+\n)+?\s?)\n", segment, re.MULTILINE)
if match is not None:
chunk = match.group(1)
for match in re.findall("[ ]*(.+)\n", chunk):
@ -251,9 +432,33 @@ def parse_raw_whois(raw_data, normalized=[]):
match = re.search('ren-status:\s*(.+)', segment)
if match is not None:
data["status"].insert(0, match.group(1).strip())
# nic.it gives us the registrar in a multi-line format...
match = re.search('Registrar\n Organization: (.+)\n', segment)
if match is not None:
data["registrar"] = [match.group(1).strip()]
# HKDNR (.hk) provides a weird nameserver format with too much whitespace
match = re.search("Name Servers Information:\n\n([\s\S]*?\n)\n", segment)
if match is not None:
chunk = match.group(1)
for match in re.findall("(.+)\n", chunk):
match = match.split()[0]
try:
data["nameservers"].append(match.strip())
except KeyError as e:
data["nameservers"] = [match.strip()]
# ... and again for TWNIC.
match = re.search(" Domain servers in listed order:\n([\s\S]*?\n)\n", segment)
if match is not None:
chunk = match.group(1)
for match in re.findall(" (.+)\n", chunk):
match = match.split()[0]
try:
data["nameservers"].append(match.strip())
except KeyError as e:
data["nameservers"] = [match.strip()]
data["contacts"] = parse_registrants(raw_data)
data["contacts"] = parse_registrants(raw_data, never_query_handles, handle_server)
# Parse dates
try:
@ -323,17 +528,21 @@ def normalize_data(data, normalized):
data[key] = [item.lower() for item in data[key]]
for key, threshold in (("registrar", 4), ("status", 3)):
if key == "registrar":
ignore_nic = True
else:
ignore_nic = False
if key in data and data[key] is not None and (normalized == True or key in normalized):
if is_string(data[key]):
data[key] = normalize_name(data[key], abbreviation_threshold=threshold, length_threshold=1)
data[key] = normalize_name(data[key], abbreviation_threshold=threshold, length_threshold=1, ignore_nic=ignore_nic)
else:
data[key] = [normalize_name(item, abbreviation_threshold=threshold, length_threshold=1) for item in data[key]]
data[key] = [normalize_name(item, abbreviation_threshold=threshold, length_threshold=1, ignore_nic=ignore_nic) for item in data[key]]
for contact_type, contact in data['contacts'].items():
if contact is not None:
for key in ("email",):
if key in contact and contact[key] is not None and (normalized == True or key in normalized):
if isinstance(contact[key], str):
if is_string(contact[key]):
contact[key] = contact[key].lower()
else:
contact[key] = [item.lower() for item in contact[key]]
@ -353,43 +562,47 @@ def normalize_data(data, normalized):
pass # Not a string
return data
def normalize_name(value, abbreviation_threshold=4, length_threshold=8, lowercase_domains=True):
def normalize_name(value, abbreviation_threshold=4, length_threshold=8, lowercase_domains=True, ignore_nic=False):
normalized_lines = []
for line in value.split("\n"):
line = line.strip(",") # Get rid of useless comma's
if (line.isupper() or line.islower()) and len(line) >= length_threshold:
# This line is likely not capitalized properly
words = line.split()
normalized_words = []
if len(words) >= 1:
# First word
if len(words[0]) >= abbreviation_threshold and "." not in words[0]:
normalized_words.append(words[0].capitalize())
elif lowercase_domains and "." in words[0] and not words[0].endswith(".") and not words[0].startswith("."):
normalized_words.append(words[0].lower())
else:
# Probably an abbreviation or domain, leave it alone
normalized_words.append(words[0])
if len(words) >= 3:
# Words between the first and last
for word in words[1:-1]:
if len(word) >= abbreviation_threshold and "." not in word:
normalized_words.append(word.capitalize())
elif lowercase_domains and "." in word and not word.endswith(".") and not word.startswith("."):
normalized_words.append(word.lower())
if ignore_nic == True and "nic" in line.lower():
# This is a registrar name containing 'NIC' - it should probably be all-uppercase.
line = line.upper()
else:
words = line.split()
normalized_words = []
if len(words) >= 1:
# First word
if len(words[0]) >= abbreviation_threshold and "." not in words[0]:
normalized_words.append(words[0].capitalize())
elif lowercase_domains and "." in words[0] and not words[0].endswith(".") and not words[0].startswith("."):
normalized_words.append(words[0].lower())
else:
# Probably an abbreviation or domain, leave it alone
normalized_words.append(word)
if len(words) >= 2:
# Last word
if len(words[-1]) >= abbreviation_threshold and "." not in words[-1]:
normalized_words.append(words[-1].capitalize())
elif lowercase_domains and "." in words[-1] and not words[-1].endswith(".") and not words[-1].startswith("."):
normalized_words.append(words[-1].lower())
else:
# Probably an abbreviation or domain, leave it alone
normalized_words.append(words[-1])
line = " ".join(normalized_words)
normalized_words.append(words[0])
if len(words) >= 3:
# Words between the first and last
for word in words[1:-1]:
if len(word) >= abbreviation_threshold and "." not in word:
normalized_words.append(word.capitalize())
elif lowercase_domains and "." in word and not word.endswith(".") and not word.startswith("."):
normalized_words.append(word.lower())
else:
# Probably an abbreviation or domain, leave it alone
normalized_words.append(word)
if len(words) >= 2:
# Last word
if len(words[-1]) >= abbreviation_threshold and "." not in words[-1]:
normalized_words.append(words[-1].capitalize())
elif lowercase_domains and "." in words[-1] and not words[-1].endswith(".") and not words[-1].startswith("."):
normalized_words.append(words[-1].lower())
else:
# Probably an abbreviation or domain, leave it alone
normalized_words.append(words[-1])
line = " ".join(normalized_words)
normalized_lines.append(line)
return "\n".join(normalized_lines)
@ -490,157 +703,12 @@ def remove_suffixes(data):
return cleaned_list
def preprocess_regex(regex):
# Fix for #2; prevents a ridiculous amount of varying size permutations.
regex = re.sub(r"\\s\*\(\?P<([^>]+)>\.\+\)", r"\s*(?P<\1>\S.*)", regex)
# Experimental fix for #18; removes unnecessary variable-size whitespace
# matching, since we're stripping results anyway.
regex = re.sub(r"\[ \]\*\(\?P<([^>]+)>\.\*\)", r"(?P<\1>.*)", regex)
return regex
def parse_registrants(data):
def parse_registrants(data, never_query_handles=True, handle_server=""):
registrant = None
tech_contact = None
billing_contact = None
admin_contact = None
registrant_regexes = [
" Registrant:[ ]*\n (?P<organization>.*)\n (?P<name>.*)\n (?P<street>.*)\n (?P<city>.*), (?P<state>.*) (?P<postalcode>.*)\n (?P<country>.*)\n(?: Phone: (?P<phone>.*)\n)? Email: (?P<email>.*)\n", # Corporate Domains, Inc.
"Registrant:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
"Registrant ID:(?P<handle>.+)\nRegistrant Name:(?P<name>.*)\n(?:Registrant Organization:(?P<organization>.*)\n)?Registrant Street1?:(?P<street1>.*)\n(?:Registrant Street2:(?P<street2>.*)\n)?(?:Registrant Street3:(?P<street3>.*)\n)?Registrant City:(?P<city>.*)\nRegistrant State/Province:(?P<state>.*)\nRegistrant Postal Code:(?P<postalcode>.*)\nRegistrant Country:(?P<country>.*)\nRegistrant Phone:(?P<phone>.*)\n(?:Registrant Phone Ext.:(?P<phone_ext>.*)\n)?(?:Registrant FAX:(?P<fax>.*)\n)?(?:Registrant FAX Ext.:(?P<fax_ext>.*)\n)?Registrant Email:(?P<email>.*)", # Public Interest Registry (.org), nic.pw
"Registrant ID:(?P<handle>.+)\nRegistrant Name:(?P<name>.*)\n(?:Registrant Organization:(?P<organization>.*)\n)?Registrant Address1?:(?P<street1>.*)\n(?:Registrant Address2:(?P<street2>.*)\n)?(?:Registrant Address3:(?P<street3>.*)\n)?Registrant City:(?P<city>.*)\nRegistrant State/Province:(?P<state>.*)\nRegistrant Country/Economy:(?P<country>.*)\nRegistrant Postal Code:(?P<postalcode>.*)\nRegistrant Phone:(?P<phone>.*)\n(?:Registrant Phone Ext.:(?P<phone_ext>.*)\n)?(?:Registrant FAX:(?P<fax>.*)\n)?(?:Registrant FAX Ext.:(?P<fax_ext>.*)\n)?Registrant E-mail:(?P<email>.*)", # .ME, DotAsia
"Registrant ID:\s*(?P<handle>.+)\nRegistrant Name:\s*(?P<name>.+)\nRegistrant Organization:\s*(?P<organization>.*)\nRegistrant Address1:\s*(?P<street1>.+)\nRegistrant Address2:\s*(?P<street2>.*)\nRegistrant City:\s*(?P<city>.+)\nRegistrant State/Province:\s*(?P<state>.+)\nRegistrant Postal Code:\s*(?P<postalcode>.+)\nRegistrant Country:\s*(?P<country>.+)\nRegistrant Country Code:\s*(?P<country_code>.+)\nRegistrant Phone Number:\s*(?P<phone>.+)\nRegistrant Email:\s*(?P<email>.+)\n", # .CO Internet
"Registrant Contact: (?P<handle>.+)\nRegistrant Organization: (?P<organization>.+)\nRegistrant Name: (?P<name>.+)\nRegistrant Street: (?P<street>.+)\nRegistrant City: (?P<city>.+)\nRegistrant Postal Code: (?P<postalcode>.+)\nRegistrant State: (?P<state>.+)\nRegistrant Country: (?P<country>.+)\nRegistrant Phone: (?P<phone>.*)\nRegistrant Phone Ext: (?P<phone_ext>.*)\nRegistrant Fax: (?P<fax>.*)\nRegistrant Fax Ext: (?P<fax_ext>.*)\nRegistrant Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Registrant ID:[ ]*(?P<handle>.*)\n)?Registrant Name:[ ]*(?P<name>.*)\n(?:Registrant Organization:[ ]*(?P<organization>.*)\n)?Registrant Street:[ ]*(?P<street1>.+)\n(?:Registrant Street:[ ]*(?P<street2>.+)\n)?(?:Registrant Street:[ ]*(?P<street3>.+)\n)?Registrant City:[ ]*(?P<city>.+)\nRegistrant State(?:\/Province)?:[ ]*(?P<state>.*)\nRegistrant Postal Code:[ ]*(?P<postalcode>.+)\nRegistrant Country:[ ]*(?P<country>.+)\n(?:Registrant Phone:[ ]*(?P<phone>.*)\n)?(?:Registrant Phone Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Registrant Fax:[ ]*(?P<fax>.*)\n)?(?:Registrant Fax Ext:[ ]*(?P<fax_ext>.*)\n)?(?:Registrant Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Registrant\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Registrant Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"owner-id:[ ]*(?P<handle>.*)\n(?:owner-organization:[ ]*(?P<organization>.*)\n)?owner-name:[ ]*(?P<name>.*)\nowner-street:[ ]*(?P<street>.*)\nowner-city:[ ]*(?P<city>.*)\nowner-zip:[ ]*(?P<postalcode>.*)\nowner-country:[ ]*(?P<country>.*)\n(?:owner-phone:[ ]*(?P<phone>.*)\n)?(?:owner-fax:[ ]*(?P<fax>.*)\n)?owner-email:[ ]*(?P<email>.*)", # InterNetworX
"Registrant:\n registrant_org: (?P<organization>.*)\n registrant_name: (?P<name>.*)\n registrant_email: (?P<email>.*)\n registrant_address: (?P<address>.*)\n registrant_city: (?P<city>.*)\n registrant_state: (?P<state>.*)\n registrant_zip: (?P<postalcode>.*)\n registrant_country: (?P<country>.*)\n registrant_phone: (?P<phone>.*)", # Bellnames
"Holder of domain name:\n(?P<name>[\S\s]+)\n(?P<street>.+)\n(?P<postalcode>[A-Z0-9-]+)\s+(?P<city>.+)\n(?P<country>.+)\nContractual Language", # nic.ch
"\n\n(?:Owner)?\s+: (?P<name>.*)\n(?:\s+: (?P<organization>.*)\n)?\s+: (?P<street>.*)\n\s+: (?P<city>.*)\n\s+: (?P<state>.*)\n\s+: (?P<country>.*)\n", # nic.io
"Contact Information:\n\[Name\]\s*(?P<name>.*)\n\[Email\]\s*(?P<email>.*)\n\[Web Page\]\s*(?P<url>.*)\n\[Postal code\]\s*(?P<postalcode>.*)\n\[Postal Address\]\s*(?P<street1>.*)\n(?:\s+(?P<street2>.*)\n)?(?:\s+(?P<street3>.*)\n)?\[Phone\]\s*(?P<phone>.*)\n\[Fax\]\s*(?P<fax>.*)\n", # jprs.jp
"Registrant ID:(?P<handle>.*)\nRegistrant Name:(?P<name>.*)\n(?:Registrant Organization:(?P<organization>.*)\n)?Registrant Address1:(?P<street1>.*)\n(?:Registrant Address2:(?P<street2>.*)\n)?(?:Registrant Address3:(?P<street3>.*)\n)?Registrant City:(?P<city>.*)\n(?:Registrant State/Province:(?P<state>.*)\n)?Registrant Postal Code:(?P<postalcode>.*)\nRegistrant Country:(?P<country>.*)\nRegistrant Country Code:.*\nRegistrant Phone Number:(?P<phone>.*)\n(?:Registrant Facsimile Number:(?P<facsimile>.*)\n)?Registrant Email:(?P<email>.*)", # .US, .biz (NeuStar)
" Organisation Name[.]* (?P<name>.*)\n Organisation Address[.]* (?P<street1>.*)\n Organisation Address[.]* (?P<street2>.*)\n(?: Organisation Address[.]* (?P<street3>.*)\n)? Organisation Address[.]* (?P<city>.*)\n Organisation Address[.]* (?P<postalcode>.*)\n Organisation Address[.]* (?P<state>.*)\n Organisation Address[.]* (?P<country>.*)", # Melbourne IT (what a horrid format...)
"Registrant:[ ]*(?P<name>.+)\n[\s\S]*Eligibility Name:[ ]*(?P<organization>.+)\n[\s\S]*Registrant Contact ID:[ ]*(?P<handle>.+)\n", # .au business
"Eligibility Type:[ ]*Citizen\/Resident\n[\s\S]*Registrant Contact ID:[ ]*(?P<handle>.+)\n[\s\S]*Registrant Contact Name:[ ]*(?P<name>.+)\n", # .au individual
"Registrant:[ ]*(?P<organization>.+)\n[\s\S]*Eligibility Type:[ ]*(Higher Education Institution|Company|Incorporated Association|Other)\n[\s\S]*Registrant Contact ID:[ ]*(?P<handle>.+)\n[\s\S]*Registrant Contact Name:[ ]*(?P<name>.+)\n", # .au educational, company, 'incorporated association' (non-profit?), other (spotted for linux.conf.au, unsure if also for others)
" Registrant:\n (?P<name>.+)\n\n Registrant type:\n .*\n\n Registrant's address:\n The registrant .* opted to have", # Nominet (.uk) with hidden address
" Registrant:\n (?P<name>.+)\n\n[\s\S]* Registrant type:\n .*\n\n Registrant's address:\n (?P<street1>.+)\n(?: (?P<street2>.+)\n(?: (?P<street3>.+)\n)??)?? (?P<city>[^0-9\n]+)\n(?: (?P<state>.+)\n)? (?P<postalcode>.+)\n (?P<country>.+)\n\n", # Nominet (.uk) with visible address
"Domain Owner:\n\t(?P<organization>.+)\n\n[\s\S]*?(?:Registrant Contact:\n\t(?P<name>.+))?\n\nRegistrant(?:'s)? (?:a|A)ddress:(?:\n\t(?P<street1>.+)\n(?:\t(?P<street2>.+)\n)?(?:\t(?P<street3>.+)\n)?\t(?P<city>.+)\n\t(?P<postalcode>.+))?\n\t(?P<country>.+)(?:\n\t(?P<phone>.+) \(Phone\)\n\t(?P<fax>.+) \(FAX\)\n\t(?P<email>.+))?\n\n", # .ac.uk - what a mess...
"Registrant ID: (?P<handle>.+)\nRegistrant: (?P<name>.+)\nRegistrant Contact Email: (?P<email>.+)", # .cn (CNNIC)
"Registrant contact:\n (?P<name>.+)\n (?P<street>.*)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n\n", # Fabulous.com
"registrant-name:\s*(?P<name>.+)\nregistrant-type:\s*(?P<type>.+)\nregistrant-address:\s*(?P<street>.+)\nregistrant-postcode:\s*(?P<postalcode>.+)\nregistrant-city:\s*(?P<city>.+)\nregistrant-country:\s*(?P<country>.+)\n(?:registrant-phone:\s*(?P<phone>.+)\n)?(?:registrant-email:\s*(?P<email>.+)\n)?", # Hetzner
"Registrant Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
"Contact Information : For Customer # [0-9]+[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication alternative (private WHOIS) format?
" Registrant:\n (?P<name>.+)\n (?P<street>.+)\n (?P<city>.+) (?P<state>\S+),[ ]+(?P<postalcode>.+)\n (?P<country>.+)", # .am
"owner:\s+(?P<name>.+)", # .br
"person:\s+(?P<name>.+)", # nic.ru (person)
"org:\s+(?P<organization>.+)", # nic.ru (organization)
]
tech_contact_regexes = [
" Technical Contact:[ ]*\n (?P<organization>.*)\n (?P<name>.*)\n (?P<street>.*)\n (?P<city>.*), (?P<state>.*) (?P<postalcode>.*)\n (?P<country>.*)\n(?: Phone: (?P<phone>.*)\n)? Email: (?P<email>.*)\n", # Corporate Domains, Inc.
"Technical Contact:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
"Tech ID:(?P<handle>.+)\nTech Name:(?P<name>.*)\n(:?Tech Organization:(?P<organization>.*)\n)?Tech Street1?:(?P<street1>.*)\n(?:Tech Street2:(?P<street2>.*)\n)?(?:Tech Street3:(?P<street3>.*)\n)?Tech City:(?P<city>.*)\nTech State/Province:(?P<state>.*)\nTech Postal Code:(?P<postalcode>.*)\nTech Country:(?P<country>.*)\nTech Phone:(?P<phone>.*)\n(?:Tech Phone Ext.:(?P<phone_ext>.*)\n)?(?:Tech FAX:(?P<fax>.*)\n)?(?:Tech FAX Ext.:(?P<fax_ext>.*)\n)?Tech Email:(?P<email>.*)", # Public Interest Registry (.org), nic.pw
"Tech(?:nical)? ID:(?P<handle>.+)\nTech(?:nical)? Name:(?P<name>.*)\n(?:Tech(?:nical)? Organization:(?P<organization>.*)\n)?Tech(?:nical)? Address1?:(?P<street1>.*)\n(?:Tech(?:nical)? Address2:(?P<street2>.*)\n)?(?:Tech(?:nical)? Address3:(?P<street3>.*)\n)?Tech(?:nical)? City:(?P<city>.*)\nTech(?:nical)? State/Province:(?P<state>.*)\nTech(?:nical)? Country/Economy:(?P<country>.*)\nTech(?:nical)? Postal Code:(?P<postalcode>.*)\nTech(?:nical)? Phone:(?P<phone>.*)\n(?:Tech(?:nical)? Phone Ext.:(?P<phone_ext>.*)\n)?(?:Tech(?:nical)? FAX:(?P<fax>.*)\n)?(?:Tech(?:nical)? FAX Ext.:(?P<fax_ext>.*)\n)?Tech(?:nical)? E-mail:(?P<email>.*)", # .ME, DotAsia
"Technical Contact ID:\s*(?P<handle>.+)\nTechnical Contact Name:\s*(?P<name>.+)\nTechnical Contact Organization:\s*(?P<organization>.*)\nTechnical Contact Address1:\s*(?P<street1>.+)\nTechnical Contact Address2:\s*(?P<street2>.*)\nTechnical Contact City:\s*(?P<city>.+)\nTechnical Contact State/Province:\s*(?P<state>.+)\nTechnical Contact Postal Code:\s*(?P<postalcode>.+)\nTechnical Contact Country:\s*(?P<country>.+)\nTechnical Contact Country Code:\s*(?P<country_code>.+)\nTechnical Contact Phone Number:\s*(?P<phone>.+)\nTechnical Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Tech Contact: (?P<handle>.+)\nTech Organization: (?P<organization>.+)\nTech Name: (?P<name>.+)\nTech Street: (?P<street>.+)\nTech City: (?P<city>.+)\nTech Postal Code: (?P<postalcode>.+)\nTech State: (?P<state>.+)\nTech Country: (?P<country>.+)\nTech Phone: (?P<phone>.*)\nTech Phone Ext: (?P<phone_ext>.*)\nTech Fax: (?P<fax>.*)\nTech Fax Ext: (?P<fax_ext>.*)\nTech Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Tech ID:[ ]*(?P<handle>.*)\n)?Tech[ ]*Name:[ ]*(?P<name>.*)\n(?:Tech[ ]*Organization:[ ]*(?P<organization>.*)\n)?Tech[ ]*Street:[ ]*(?P<street1>.+)\n(?:Tech[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Tech[ ]*Street:[ ]*(?P<street3>.+)\n)?Tech[ ]*City:[ ]*(?P<city>.+)\nTech[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nTech[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nTech[ ]*Country:[ ]*(?P<country>.+)\n(?:Tech[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Tech[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Tech[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Tech[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Tech[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Technical Contact\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Technical Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"tech-id:[ ]*(?P<handle>.*)\n(?:tech-organization:[ ]*(?P<organization>.*)\n)?tech-name:[ ]*(?P<name>.*)\ntech-street:[ ]*(?P<street>.*)\ntech-city:[ ]*(?P<city>.*)\ntech-zip:[ ]*(?P<postalcode>.*)\ntech-country:[ ]*(?P<country>.*)\n(?:tech-phone:[ ]*(?P<phone>.*)\n)?(?:tech-fax:[ ]*(?P<fax>.*)\n)?tech-email:[ ]*(?P<email>.*)", # InterNetworX
"Technical Contact:\n tech_org: (?P<organization>.*)\n tech_name: (?P<name>.*)\n tech_email: (?P<email>.*)\n tech_address: (?P<address>.*)\n tech_city: (?P<city>.*)\n tech_state: (?P<state>.*)\n tech_zip: (?P<postalcode>.*)\n tech_country: (?P<country>.*)\n tech_phone: (?P<phone>.*)", # Bellnames
"Technical contact:\n(?P<name>[\S\s]+)\n(?P<street>.+)\n(?P<postalcode>[A-Z0-9-]+)\s+(?P<city>.+)\n(?P<country>.+)\n\n", # nic.ch
"Tech Contact ID:[ ]*(?P<handle>.+)\nTech Contact Name:[ ]*(?P<name>.+)", # .au
"Technical Contact ID:(?P<handle>.*)\nTechnical Contact Name:(?P<name>.*)\n(?:Technical Contact Organization:(?P<organization>.*)\n)?Technical Contact Address1:(?P<street1>.*)\n(?:Technical Contact Address2:(?P<street2>.*)\n)?(?:Technical Contact Address3:(?P<street3>.*)\n)?Technical Contact City:(?P<city>.*)\n(?:Technical Contact State/Province:(?P<state>.*)\n)?Technical Contact Postal Code:(?P<postalcode>.*)\nTechnical Contact Country:(?P<country>.*)\nTechnical Contact Country Code:.*\nTechnical Contact Phone Number:(?P<phone>.*)\n(?:Technical Contact Facsimile Number:(?P<facsimile>.*)\n)?Technical Contact Email:(?P<email>.*)", # .US, .biz (NeuStar)
"Tech Name[.]* (?P<name>.*)\n Tech Address[.]* (?P<street1>.*)\n Tech Address[.]* (?P<street2>.*)\n(?: Tech Address[.]* (?P<street3>.*)\n)? Tech Address[.]* (?P<city>.*)\n Tech Address[.]* (?P<postalcode>.*)\n Tech Address[.]* (?P<state>.*)\n Tech Address[.]* (?P<country>.*)\n Tech Email[.]* (?P<email>.*)\n Tech Phone[.]* (?P<phone>.*)\n Tech Fax[.]* (?P<fax>.*)", # Melbourne IT
"Technical contact:\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n (?P<email>.+)\n (?P<street>.+)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n Phone: (?P<phone>.*)\n Fax: (?P<fax>.*)\n", # Fabulous.com
"tech-c-name:\s*(?P<name>.+)\ntech-c-type:\s*(?P<type>.+)\ntech-c-address:\s*(?P<street>.+)\ntech-c-postcode:\s*(?P<postalcode>.+)\ntech-c-city:\s*(?P<city>.+)\ntech-c-country:\s*(?P<country>.+)\n(?:tech-c-phone:\s*(?P<phone>.+)\n)?(?:tech-c-email:\s*(?P<email>.+)\n)?", # Hetzner
"Admin Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
" Technical contact:\n (?P<name>.+)\n (?P<organization>.*)\n (?P<street>.+)\n (?P<city>.+) (?P<state>\S+),[ ]+(?P<postalcode>.+)\n (?P<country>.+)\n (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)", # .am
"Technical:\n\s*Name:\s*(?P<name>.*)\n\s*Organisation:\s*(?P<organization>.*)\n\s*Language:.*\n\s*Phone:\s*(?P<phone>.*)\n\s*Fax:\s*(?P<fax>.*)\n\s*Email:\s*(?P<email>.*)\n", # EURid
"\[Zone-C\]\nType: (?P<type>.+)\nName: (?P<name>.+)\n(Organisation: (?P<organization>.+)\n){0,1}(Address: (?P<street1>.+)\n){1}(Address: (?P<street2>.+)\n){0,1}(Address: (?P<street3>.+)\n){0,1}(Address: (?P<street4>.+)\n){0,1}PostalCode: (?P<postalcode>.+)\nCity: (?P<city>.+)\nCountryCode: (?P<country>[A-Za-z]{2})\nPhone: (?P<phone>.+)\nFax: (?P<fax>.+)\nEmail: (?P<email>.+)\n(Remarks: (?P<remark>.+)\n){0,1}Changed: (?P<changed>.+)", # DeNIC
]
admin_contact_regexes = [
" Administrative Contact:[ ]*\n (?P<organization>.*)\n (?P<name>.*)\n (?P<street>.*)\n (?P<city>.*), (?P<state>.*) (?P<postalcode>.*)\n (?P<country>.*)\n(?: Phone: (?P<phone>.*)\n)? Email: (?P<email>.*)\n", # Corporate Domains, Inc.
"Administrative Contact:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
"Admin ID:(?P<handle>.+)\nAdmin Name:(?P<name>.*)\n(?:Admin Organization:(?P<organization>.*)\n)?Admin Street1?:(?P<street1>.*)\n(?:Admin Street2:(?P<street2>.*)\n)?(?:Admin Street3:(?P<street3>.*)\n)?Admin City:(?P<city>.*)\nAdmin State/Province:(?P<state>.*)\nAdmin Postal Code:(?P<postalcode>.*)\nAdmin Country:(?P<country>.*)\nAdmin Phone:(?P<phone>.*)\n(?:Admin Phone Ext.:(?P<phone_ext>.*)\n)?(?:Admin FAX:(?P<fax>.*)\n)?(?:Admin FAX Ext.:(?P<fax_ext>.*)\n)?Admin Email:(?P<email>.*)", # Public Interest Registry (.org), nic.pw
"Admin(?:istrative)? ID:(?P<handle>.+)\nAdmin(?:istrative)? Name:(?P<name>.*)\n(?:Admin(?:istrative)? Organization:(?P<organization>.*)\n)?Admin(?:istrative)? Address1?:(?P<street1>.*)\n(?:Admin(?:istrative)? Address2:(?P<street2>.*)\n)?(?:Admin(?:istrative)? Address3:(?P<street3>.*)\n)?Admin(?:istrative)? City:(?P<city>.*)\nAdmin(?:istrative)? State/Province:(?P<state>.*)\nAdmin(?:istrative)? Country/Economy:(?P<country>.*)\nAdmin(?:istrative)? Postal Code:(?P<postalcode>.*)\nAdmin(?:istrative)? Phone:(?P<phone>.*)\n(?:Admin(?:istrative)? Phone Ext.:(?P<phone_ext>.*)\n)?(?:Admin(?:istrative)? FAX:(?P<fax>.*)\n)?(?:Admin(?:istrative)? FAX Ext.:(?P<fax_ext>.*)\n)?Admin(?:istrative)? E-mail:(?P<email>.*)", # .ME, DotAsia
"Administrative Contact ID:\s*(?P<handle>.+)\nAdministrative Contact Name:\s*(?P<name>.+)\nAdministrative Contact Organization:\s*(?P<organization>.*)\nAdministrative Contact Address1:\s*(?P<street1>.+)\nAdministrative Contact Address2:\s*(?P<street2>.*)\nAdministrative Contact City:\s*(?P<city>.+)\nAdministrative Contact State/Province:\s*(?P<state>.+)\nAdministrative Contact Postal Code:\s*(?P<postalcode>.+)\nAdministrative Contact Country:\s*(?P<country>.+)\nAdministrative Contact Country Code:\s*(?P<country_code>.+)\nAdministrative Contact Phone Number:\s*(?P<phone>.+)\nAdministrative Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Admin Contact: (?P<handle>.+)\nAdmin Organization: (?P<organization>.+)\nAdmin Name: (?P<name>.+)\nAdmin Street: (?P<street>.+)\nAdmin City: (?P<city>.+)\nAdmin State: (?P<state>.+)\nAdmin Postal Code: (?P<postalcode>.+)\nAdmin Country: (?P<country>.+)\nAdmin Phone: (?P<phone>.*)\nAdmin Phone Ext: (?P<phone_ext>.*)\nAdmin Fax: (?P<fax>.*)\nAdmin Fax Ext: (?P<fax_ext>.*)\nAdmin Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Admin ID:[ ]*(?P<handle>.*)\n)?Admin[ ]*Name:[ ]*(?P<name>.*)\n(?:Admin[ ]*Organization:[ ]*(?P<organization>.*)\n)?Admin[ ]*Street:[ ]*(?P<street1>.+)\n(?:Admin[ ]*Street:[ ]*(?P<street2>.+)\n)?(?:Admin[ ]*Street:[ ]*(?P<street3>.+)\n)?Admin[ ]*City:[ ]*(?P<city>.+)\nAdmin[ ]*State(?:\/Province)?:[ ]*(?P<state>.*)\nAdmin[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nAdmin[ ]*Country:[ ]*(?P<country>.+)\n(?:Admin[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Admin[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Admin[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Admin[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Admin[ ]*Email:[ ]*(?P<email>.+)\n)?", # WildWestDomains, GoDaddy, Namecheap/eNom, Ascio, Musedoma (.museum), EuroDNS, nic.ps
"Administrative Contact\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n Email:(?P<email>.+)\n (?P<street1>.+)\n(?: (?P<street2>.+)\n)? (?P<postalcode>.+) (?P<city>.+)\n (?P<country>.+)\n Tel: (?P<phone>.+)\n\n", # internet.bs
" Administrative Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"admin-id:[ ]*(?P<handle>.*)\n(?:admin-organization:[ ]*(?P<organization>.*)\n)?admin-name:[ ]*(?P<name>.*)\nadmin-street:[ ]*(?P<street>.*)\nadmin-city:[ ]*(?P<city>.*)\nadmin-zip:[ ]*(?P<postalcode>.*)\nadmin-country:[ ]*(?P<country>.*)\n(?:admin-phone:[ ]*(?P<phone>.*)\n)?(?:admin-fax:[ ]*(?P<fax>.*)\n)?admin-email:[ ]*(?P<email>.*)", # InterNetworX
"Administrative Contact:\n admin_org: (?P<organization>.*)\n admin_name: (?P<name>.*)\n admin_email: (?P<email>.*)\n admin_address: (?P<address>.*)\n admin_city: (?P<city>.*)\n admin_state: (?P<state>.*)\n admin_zip: (?P<postalcode>.*)\n admin_country: (?P<country>.*)\n admin_phone: (?P<phone>.*)", # Bellnames
"Administrative Contact ID:(?P<handle>.*)\nAdministrative Contact Name:(?P<name>.*)\n(?:Administrative Contact Organization:(?P<organization>.*)\n)?Administrative Contact Address1:(?P<street1>.*)\n(?:Administrative Contact Address2:(?P<street2>.*)\n)?(?:Administrative Contact Address3:(?P<street3>.*)\n)?Administrative Contact City:(?P<city>.*)\n(?:Administrative Contact State/Province:(?P<state>.*)\n)?Administrative Contact Postal Code:(?P<postalcode>.*)\nAdministrative Contact Country:(?P<country>.*)\nAdministrative Contact Country Code:.*\nAdministrative Contact Phone Number:(?P<phone>.*)\n(?:Administrative Contact Facsimile Number:(?P<facsimile>.*)\n)?Administrative Contact Email:(?P<email>.*)", # .US, .biz (NeuStar)
"Admin Name[.]* (?P<name>.*)\n Admin Address[.]* (?P<street1>.*)\n Admin Address[.]* (?P<street2>.*)\n(?: Admin Address[.]* (?P<street3>.*)\n)? Admin Address[.]* (?P<city>.*)\n Admin Address[.]* (?P<postalcode>.*)\n Admin Address[.]* (?P<state>.*)\n Admin Address[.]* (?P<country>.*)\n Admin Email[.]* (?P<email>.*)\n Admin Phone[.]* (?P<phone>.*)\n Admin Fax[.]* (?P<fax>.*)", # Melbourne IT
"Administrative contact:\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n (?P<email>.+)\n (?P<street>.+)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n Phone: (?P<phone>.*)\n Fax: (?P<fax>.*)\n", # Fabulous.com
"admin-c-name:\s*(?P<name>.+)\nadmin-c-type:\s*(?P<type>.+)\nadmin-c-address:\s*(?P<street>.+)\nadmin-c-postcode:\s*(?P<postalcode>.+)\nadmin-c-city:\s*(?P<city>.+)\nadmin-c-country:\s*(?P<country>.+)\n(?:admin-c-phone:\s*(?P<phone>.+)\n)?(?:admin-c-email:\s*(?P<email>.+)\n)?", # Hetzner
"Tech Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
" Administrative contact:\n (?P<name>.+)\n (?P<organization>.*)\n (?P<street>.+)\n (?P<city>.+) (?P<state>\S+),[ ]+(?P<postalcode>.+)\n (?P<country>.+)\n (?P<email>.+)\n (?P<phone>.*)\n (?P<fax>.*)", # .am
"\[Tech-C\]\nType: (?P<type>.+)\nName: (?P<name>.+)\n(Organisation: (?P<organization>.+)\n){0,1}(Address: (?P<street1>.+)\n){1}(Address: (?P<street2>.+)\n){0,1}(Address: (?P<street3>.+)\n){0,1}(Address: (?P<street4>.+)\n){0,1}PostalCode: (?P<postalcode>.+)\nCity: (?P<city>.+)\nCountryCode: (?P<country>[A-Za-z]{2})\nPhone: (?P<phone>.+)\nFax: (?P<fax>.+)\nEmail: (?P<email>.+)\n(Remarks: (?P<remark>.+)\n){0,1}Changed: (?P<changed>.+)", # DeNIC
]
billing_contact_regexes = [
"Billing ID:(?P<handle>.+)\nBilling Name:(?P<name>.*)\nBilling Organization:(?P<organization>.*)\nBilling Street1:(?P<street1>.*)\n(?:Billing Street2:(?P<street2>.*)\n)?(?:Billing Street3:(?P<street3>.*)\n)?Billing City:(?P<city>.*)\nBilling State/Province:(?P<state>.*)\nBilling Postal Code:(?P<postalcode>.*)\nBilling Country:(?P<country>.*)\nBilling Phone:(?P<phone>.*)\n(?:Billing Phone Ext.:(?P<phone_ext>.*)\n)?(?:Billing FAX:(?P<fax>.*)\n)?(?:Billing FAX Ext.:(?P<fax_ext>.*)\n)?Billing Email:(?P<email>.*)", # nic.pw
"Billing ID:(?P<handle>.+)\nBilling Name:(?P<name>.*)\n(?:Billing Organization:(?P<organization>.*)\n)?Billing Address1?:(?P<street1>.*)\n(?:Billing Address2:(?P<street2>.*)\n)?(?:Billing Address3:(?P<street3>.*)\n)?Billing City:(?P<city>.*)\nBilling State/Province:(?P<state>.*)\nBilling Country/Economy:(?P<country>.*)\nBilling Postal Code:(?P<postalcode>.*)\nBilling Phone:(?P<phone>.*)\n(?:Billing Phone Ext.:(?P<phone_ext>.*)\n)?(?:Billing FAX:(?P<fax>.*)\n)?(?:Billing FAX Ext.:(?P<fax_ext>.*)\n)?Billing E-mail:(?P<email>.*)", # DotAsia
"Billing Contact ID:\s*(?P<handle>.+)\nBilling Contact Name:\s*(?P<name>.+)\nBilling Contact Organization:\s*(?P<organization>.*)\nBilling Contact Address1:\s*(?P<street1>.+)\nBilling Contact Address2:\s*(?P<street2>.*)\nBilling Contact City:\s*(?P<city>.+)\nBilling Contact State/Province:\s*(?P<state>.+)\nBilling Contact Postal Code:\s*(?P<postalcode>.+)\nBilling Contact Country:\s*(?P<country>.+)\nBilling Contact Country Code:\s*(?P<country_code>.+)\nBilling Contact Phone Number:\s*(?P<phone>.+)\nBilling Contact Email:\s*(?P<email>.+)\n", # .CO Internet
"Billing Contact: (?P<handle>.+)\nBilling Organization: (?P<organization>.+)\nBilling Name: (?P<name>.+)\nBilling Street: (?P<street>.+)\nBilling City: (?P<city>.+)\nBilling Postal Code: (?P<postalcode>.+)\nBilling State: (?P<state>.+)\nBilling Country: (?P<country>.+)\nBilling Phone: (?P<phone>.*)\nBilling Phone Ext: (?P<phone_ext>.*)\nBilling Fax: (?P<fax>.*)\nBilling Fax Ext: (?P<fax_ext>.*)\nBilling Email: (?P<email>.*)\n", # Key-Systems GmbH
"(?:Billing ID:[ ]*(?P<handle>.*)\n)?Billing[ ]*Name:[ ]*(?P<name>.*)\n(?:Billing[ ]*Organization:[ ]*(?P<organization>.*)\n)?Billing[ ]*Street:[ ]*(?P<street1>.+)\n(?:Billing[ ]*Street:[ ]*(?P<street2>.+)\n)?Billing[ ]*City:[ ]*(?P<city>.+)\nBilling[ ]*State\/Province:[ ]*(?P<state>.+)\nBilling[ ]*Postal[ ]*Code:[ ]*(?P<postalcode>.+)\nBilling[ ]*Country:[ ]*(?P<country>.+)\n(?:Billing[ ]*Phone:[ ]*(?P<phone>.*)\n)?(?:Billing[ ]*Phone[ ]*Ext:[ ]*(?P<phone_ext>.*)\n)?(?:Billing[ ]*Fax:[ ]*(?P<fax>.*)\n)?(?:Billing[ ]*Fax[ ]*Ext:\s*?(?P<fax_ext>.*)\n)?(?:Billing[ ]*Email:[ ]*(?P<email>.+)\n)?", # Musedoma (.museum)
"Billing Contact:\n (?P<name>.+)\n (?P<street1>.+)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<postalcode>.+), (?P<city>.+)\n (?P<country>.+)\n (?P<phone>.+)\n (?P<email>.+)\n\n", # OVH
" Billing Contact Details:[ ]*\n (?P<organization>.*)\n (?P<name>.*)[ ]{2,}\((?P<email>.*)\)\n (?P<street1>.*)\n(?: (?P<street2>.*)\n)?(?: (?P<street3>.*)\n)? (?P<city>.*)\n (?P<state>.*),(?P<postalcode>.*)\n (?P<country>.*)\n Tel. (?P<phone>.*)", # Whois.com
"billing-id:[ ]*(?P<handle>.*)\n(?:billing-organization:[ ]*(?P<organization>.*)\n)?billing-name:[ ]*(?P<name>.*)\nbilling-street:[ ]*(?P<street>.*)\nbilling-city:[ ]*(?P<city>.*)\nbilling-zip:[ ]*(?P<postalcode>.*)\nbilling-country:[ ]*(?P<country>.*)\n(?:billing-phone:[ ]*(?P<phone>.*)\n)?(?:billing-fax:[ ]*(?P<fax>.*)\n)?billing-email:[ ]*(?P<email>.*)", # InterNetworX
"Billing Contact:\n bill_org: (?P<organization>.*)\n bill_name: (?P<name>.*)\n bill_email: (?P<email>.*)\n bill_address: (?P<address>.*)\n bill_city: (?P<city>.*)\n bill_state: (?P<state>.*)\n bill_zip: (?P<postalcode>.*)\n bill_country: (?P<country>.*)\n bill_phone: (?P<phone>.*)", # Bellnames
"Billing Contact ID:(?P<handle>.*)\nBilling Contact Name:(?P<name>.*)\n(?:Billing Contact Organization:(?P<organization>.*)\n)?Billing Contact Address1:(?P<street1>.*)\n(?:Billing Contact Address2:(?P<street2>.*)\n)?(?:Billing Contact Address3:(?P<street3>.*)\n)?Billing Contact City:(?P<city>.*)\n(?:Billing Contact State/Province:(?P<state>.*)\n)?Billing Contact Postal Code:(?P<postalcode>.*)\nBilling Contact Country:(?P<country>.*)\nBilling Contact Country Code:.*\nBilling Contact Phone Number:(?P<phone>.*)\n(?:Billing Contact Facsimile Number:(?P<facsimile>.*)\n)?Billing Contact Email:(?P<email>.*)", # .US, .biz (NeuStar)
"Billing contact:\n(?: (?P<organization>.+)\n)? (?P<name>.+)\n (?P<email>.+)\n (?P<street>.+)\n (?P<city>.+), (?P<state>.+) (?P<postalcode>.+) (?P<country>.+)\n Phone: (?P<phone>.*)\n Fax: (?P<fax>.*)\n", # Fabulous.com
"Billing Contact Information :[ ]*\n[ ]+(?P<firstname>.*)\n[ ]+(?P<lastname>.*)\n[ ]+(?P<organization>.*)\n[ ]+(?P<email>.*)\n[ ]+(?P<street>.*)\n[ ]+(?P<city>.*)\n[ ]+(?P<postalcode>.*)\n[ ]+(?P<phone>.*)\n[ ]+(?P<fax>.*)\n\n", # GAL Communication
]
# Some registries use NIC handle references instead of directly listing contacts...
nic_contact_regexes = [
"personname:\s*(?P<name>.+)\norganization:\s*(?P<organization>.+)\nstreet address:\s*(?P<street>.+)\npostal code:\s*(?P<postalcode>.+)\ncity:\s*(?P<city>.+)\ncountry:\s*(?P<country>.+)\n(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:e-mail:\s*(?P<email>.+)\n)?nic-hdl:\s*(?P<handle>.+)\nchanged:\s*(?P<changedate>.+)", # nic.at
"contact-handle:[ ]*(?P<handle>.+)\ncontact:[ ]*(?P<name>.+)\n(?:organisation:[ ]*(?P<organization>.+)\n)?address:[ ]*(?P<street1>.+)\n(?:address:[ ]*(?P<street2>.+)\n)?(?:address:[ ]*(?P<street3>.+)\n)?(?:address:[ ]*(?P<street4>.+)\n)?address:[ ]*(?P<city>.+)\naddress:[ ]*(?P<state>.+)\naddress:[ ]*(?P<postalcode>.+)\naddress:[ ]*(?P<country>.+)\n(?:phone:[ ]*(?P<phone>.+)\n)?(?:fax:[ ]*(?P<fax>.+)\n)?(?:email:[ ]*(?P<email>.+)\n)?", # LCN.com
"person:\s*(?P<name>.+)\nnic-hdl:\s*(?P<handle>.+)\n", # .ie
"nic-hdl:\s*(?P<handle>.+)\ntype:\s*(?P<type>.+)\ncontact:\s*(?P<name>.+)\n(?:.+\n)*?(?:address:\s*(?P<street1>.+)\naddress:\s*(?P<street2>.+)\naddress:\s*(?P<street3>.+)\naddress:\s*(?P<country>.+)\n)?(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:.+\n)*?(?:e-mail:\s*(?P<email>.+)\n)?(?:.+\n)*?changed:\s*(?P<changedate>[0-9]{2}\/[0-9]{2}\/[0-9]{4}).*\n", # AFNIC madness without country field
"nic-hdl:\s*(?P<handle>.+)\ntype:\s*(?P<type>.+)\ncontact:\s*(?P<name>.+)\n(?:.+\n)*?(?:address:\s*(?P<street1>.+)\n)?(?:address:\s*(?P<street2>.+)\n)?(?:address:\s*(?P<street3>.+)\n)?(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:.+\n)*?(?:e-mail:\s*(?P<email>.+)\n)?(?:.+\n)*?changed:\s*(?P<changedate>[0-9]{2}\/[0-9]{2}\/[0-9]{4}).*\n", # AFNIC madness any country -at all-
"nic-hdl:\s*(?P<handle>.+)\ntype:\s*(?P<type>.+)\ncontact:\s*(?P<name>.+)\n(?:.+\n)*?(?:address:\s*(?P<street1>.+)\n)?(?:address:\s*(?P<street2>.+)\n)?(?:address:\s*(?P<street3>.+)\n)?(?:address:\s*(?P<street4>.+)\n)?country:\s*(?P<country>.+)\n(?:phone:\s*(?P<phone>.+)\n)?(?:fax-no:\s*(?P<fax>.+)\n)?(?:.+\n)*?(?:e-mail:\s*(?P<email>.+)\n)?(?:.+\n)*?changed:\s*(?P<changedate>[0-9]{2}\/[0-9]{2}\/[0-9]{4}).*\n", # AFNIC madness with country field
]
nic_contact_references = {
"registrant": [
"registrant:\s*(?P<handle>.+)", # nic.at
"owner-contact:\s*(?P<handle>.+)", # LCN.com
"holder-c:\s*(?P<handle>.+)", # AFNIC
"holder:\s*(?P<handle>.+)", # iis.se (they apparently want to be difficult, and won't give you contact info for the handle over their WHOIS service)
],
"tech": [
"tech-c:\s*(?P<handle>.+)", # nic.at, AFNIC, iis.se
"technical-contact:\s*(?P<handle>.+)", # LCN.com
],
"admin": [
"admin-c:\s*(?P<handle>.+)", # nic.at, AFNIC, iis.se
"admin-contact:\s*(?P<handle>.+)", # LCN.com
],
"billing": [
"billing-c:\s*(?P<handle>.+)", # iis.se
"billing-contact:\s*(?P<handle>.+)", # LCN.com
]
}
# Why do the below? The below is meant to handle with an edge case (issue #2) where a partial match followed
# by a failure, for a regex containing the \s*.+ pattern, would send the regex module on a wild goose hunt for
# matching positions. The workaround is to use \S.* instead of .+, but in the interest of keeping the regexes
# consistent and compact, it's more practical to do this (predictable) conversion on runtime.
# FIXME: This breaks on NIC contact regex for nic.at. Why?
registrant_regexes = [preprocess_regex(regex) for regex in registrant_regexes]
tech_contact_regexes = [preprocess_regex(regex) for regex in tech_contact_regexes]
admin_contact_regexes = [preprocess_regex(regex) for regex in admin_contact_regexes]
billing_contact_regexes = [preprocess_regex(regex) for regex in billing_contact_regexes]
for segment in data:
for regex in registrant_regexes:
match = re.search(regex, segment)
@ -670,14 +738,10 @@ def parse_registrants(data):
break
# Find NIC handle contact definitions
handle_contacts = []
for regex in nic_contact_regexes:
for segment in data:
matches = re.finditer(regex, segment)
for match in matches:
handle_contacts.append(match.groupdict())
handle_contacts = parse_nic_contact(data)
# Find NIC handle references and process them
missing_handle_contacts = []
for category in nic_contact_references:
for regex in nic_contact_references[category]:
for segment in data:
@ -687,9 +751,23 @@ def parse_registrants(data):
if data_reference["handle"] == "-" or re.match("https?:\/\/", data_reference["handle"]) is not None:
pass # Reference was either blank or a URL; the latter is to deal with false positives for nic.ru
else:
found = False
for contact in handle_contacts:
if contact["handle"] == data_reference["handle"]:
found = True
data_reference.update(contact)
if found == False:
# The contact definition was not found in the supplied raw WHOIS data. If the
# method has been called with never_query_handles=False, we can use the supplied
# WHOIS server for looking up the handle information separately.
if never_query_handles == False:
try:
contact = fetch_nic_contact(data_reference["handle"], handle_server)
data_reference.update(contact)
except shared.WhoisException as e:
pass # No data found. TODO: Log error?
else:
pass # TODO: Log warning?
if category == "registrant":
registrant = data_reference
elif category == "tech":
@ -699,7 +777,7 @@ def parse_registrants(data):
elif category == "admin":
admin_contact = data_reference
break
# Post-processing
for obj in (registrant, tech_contact, billing_contact, admin_contact):
if obj is not None:
@ -723,16 +801,31 @@ def parse_registrants(data):
break
i += 1
obj["street"] = "\n".join(street_items)
if "organization1" in obj: # This is to deal with eg. HKDNR, who allow organization names in multiple languages.
organization_items = []
i = 1
while True:
try:
if obj["organization%d" % i].strip() != "":
organization_items.append(obj["organization%d" % i])
del obj["organization%d" % i]
except KeyError as e:
break
i += 1
obj["organization"] = "\n".join(organization_items)
if 'changedate' in obj:
obj['changedate'] = parse_dates([obj['changedate']])[0]
if 'creationdate' in obj:
obj['creationdate'] = parse_dates([obj['creationdate']])[0]
if 'street' in obj and "\n" in obj["street"] and 'postalcode' not in obj:
# Deal with certain mad WHOIS servers that don't properly delimit address data... (yes, AFNIC, looking at you)
lines = [x.strip() for x in obj["street"].splitlines()]
if " " in lines[-1]:
postal_code, city = lines[-1].split(" ", 1)
obj["postalcode"] = postal_code
obj["city"] = city
obj["street"] = "\n".join(lines[:-1])
if "." not in lines[-1] and re.match("[0-9]", postal_code) and len(postal_code) >= 3:
obj["postalcode"] = postal_code
obj["city"] = city
obj["street"] = "\n".join(lines[:-1])
if 'firstname' in obj or 'lastname' in obj:
elements = []
if 'firstname' in obj:
@ -740,6 +833,13 @@ def parse_registrants(data):
if 'lastname' in obj:
elements.append(obj["lastname"])
obj["name"] = " ".join(elements)
if 'country' in obj and 'city' in obj and (re.match("^R\.?O\.?C\.?$", obj["country"], re.IGNORECASE) or obj["country"].lower() == "republic of china") and obj["city"].lower() == "taiwan":
# There's an edge case where some registrants append ", Republic of China" after "Taiwan", and this is mis-parsed
# as Taiwan being the city. This is meant to correct that.
obj["country"] = "%s, %s" % (obj["city"], obj["country"])
lines = [x.strip() for x in obj["street"].splitlines()]
obj["city"] = lines[-1]
obj["street"] = "\n".join(lines[:-1])
return {
"registrant": registrant,
@ -747,3 +847,23 @@ def parse_registrants(data):
"admin": admin_contact,
"billing": billing_contact,
}
def fetch_nic_contact(handle, lookup_server):
response = net.get_whois_raw(handle, lookup_server)
response = [segment.replace("\r", "") for segment in response] # Carriage returns are the devil
results = parse_nic_contact(response)
if len(results) > 0:
return results[0]
else:
raise shared.WhoisException("No contact data found in the response.")
def parse_nic_contact(data):
handle_contacts = []
for regex in nic_contact_regexes:
for segment in data:
matches = re.finditer(regex, segment)
for match in matches:
handle_contacts.append(match.groupdict())
return handle_contacts

@ -1,7 +1,7 @@
from setuptools import setup
setup(name='pythonwhois',
version='2.2.2',
version='2.3.0',
description='Module for retrieving and parsing the WHOIS data for a domain. Supports most domains. No dependencies.',
author='Sven Slootweg',
author_email='pythonwhois@cryto.net',

@ -4,6 +4,9 @@ import sys, argparse, os, pythonwhois, json, datetime, codecs
import pkgutil
import encodings
# FIXME: The testing script is currently incapable of testing referenced NIC handles that are
# retrieved separately, such as is the case with the JPRS registry for .co.jp. This
# really needs to be fixed, to ensure that contact parsing for this doesn't break.
def get_codecs():
"""Dynamically get list of codecs in python."""

@ -0,0 +1,30 @@
Whois Server Version 2.1.2
Domain: ASIAHOTEL.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: NS1.ASIAHOTEL.CO.TH
Name Server: NS2.ASIAHOTEL.CO.TH
Status: ACTIVE
Updated date: 25 Dec 2013
Created date: 17 Jan 1999
Renew date: 17 Jan 2014
Exp date: 16 Jan 2017
Domain Holder: Asia Hotel Public Co., Ltd. ( บริษัท เอเชียโฮเต็ล จำกัด (มหาชน) )
296 Phayathai Road Ratchathewi, Bangkok
10400
TH
Tech Contact: 85476
Asia Hotel Public Co.,Ltd.
296 Phayathai Road Ratchathewi, Bangkok
10400
TH
>>> Last update of whois data: Fri, 27 Jun 2014 14:54:30 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,30 @@
Whois Server Version 2.1.2
Domain: BTS.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: NS.LOXINFO.CO.TH
Name Server: NS.TNET.CO.TH
Status: ACTIVE
Updated date: 18 Jul 2009
Created date: 4 Aug 1999
Renew date: 4 Aug 1999
Exp date: 3 Aug 2021
Domain Holder: Bangkok Mass Transit System Public Company Limited (บริษัท ระบบขนส่งมวลชนกรุงเทพ จำกัด (มหาชน))
BTS Building, Phaholyothin Rd.,Lardpao, Chatujak, Bangkok
10900
TH
Tech Contact: 74252
Loxley Information Services Co., Ltd.
304 Suapha Rd., Pomprab, Pomprab Suttruphai, Bangkok
10110
TH
>>> Last update of whois data: Fri, 27 Jun 2014 16:32:41 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,21 @@
Domain Name: davicom.com.tw
Registrant:
聯傑國際股份有限公司
Davicom Semiconductor, Inc.
No. 6 Li-Hsin Rd. VI, Science-Based Park, Hsin-Chu, Taiwan, R.O.C.
Contact:
Alan Ma alan_ma@davicom.com.tw
TEL: (03)5798797 #8566
FAX: (03)5646929
Record expires on 2017-05-31 (YYYY-MM-DD)
Record created on 1997-05-01 (YYYY-MM-DD)
Domain servers in listed order:
davicom.com.tw 60.250.193.73
davicom.com.tw 202.39.11.22
Registration Service Provider: TWNIC

@ -0,0 +1,91 @@
Domain Name: expopack.com.mx
Created On: 1999-10-07
Expiration Date: 2015-10-06
Last Updated On: 2011-04-09
Registrar: Akky (Una division de NIC Mexico)
URL: http://www.akky.mx
Whois TCP URI: whois.akky.mx
Whois Web URL: http://www.akky.mx/jsf/whois/whois.jsf
Registrant:
Name: EXPO PAK S.A. DE C.V.
City: Mexico
State: Distrito Federal
Country: Mexico
Administrative Contact:
Name: Alejandra Aguirre
City: Ciudad de Mexico
State: Distrito Federal
Country: Mexico
Technical Contact:
Name: Alejandra Aguirre
City: Ciudad de Mexico
State: Distrito Federal
Country: Mexico
Billing Contact:
Name: Alejandra Aguirre
City: Ciudad de Mexico
State: Distrito Federal
Country: Mexico
Name Servers:
DNS: ns1.nuestrosite.com
DNS: ns2.nuestrosite.com
% NOTICE: The expiration date displayed in this record is the date the
% registrar's sponsorship of the domain name registration in the registry is
% currently set to expire. This date does not necessarily reflect the
% expiration date of the domain name registrant's agreement with the sponsoring
% registrar. Users may consult the sponsoring registrar's Whois database to
% view the registrar's reported date of expiration for this registration.
% The requested information ("Information") is provided only for the delegation
% of domain names and the operation of the DNS administered by NIC Mexico.
% It is absolutely prohibited to use the Information for other purposes,
% including sending not requested emails for advertising or promoting products
% and services purposes (SPAM) without the authorization of the owners of the
% Information and NIC Mexico.
% The database generated from the delegation system is protected by the
% intellectual property laws and all international treaties on the matter.
% If you need more information on the records displayed here, please contact us
% by email at ayuda@nic.mx .
% If you want notify the receipt of SPAM or unauthorized access, please send a
% email to abuse@nic.mx .
% NOTA: La fecha de expiracion mostrada en esta consulta es la fecha que el
% registrar tiene contratada para el nombre de dominio en el registry. Esta
% fecha no necesariamente refleja la fecha de expiracion del nombre de dominio
% que el registrante tiene contratada con el registrar. Puede consultar la base
% de datos de Whois del registrar para ver la fecha de expiracion reportada por
% el registrar para este nombre de dominio.
% La informacion que ha solicitado se provee exclusivamente para fines
% relacionados con la delegacion de nombres de dominio y la operacion del DNS
% administrado por NIC Mexico.
% Queda absolutamente prohibido su uso para otros propositos, incluyendo el
% envio de Correos Electronicos no solicitados con fines publicitarios o de
% promocion de productos y servicios (SPAM) sin mediar la autorizacion de los
% afectados y de NIC Mexico.
% La base de datos generada a partir del sistema de delegacion, esta protegida
% por las leyes de Propiedad Intelectual y todos los tratados internacionales
% sobre la materia.
% Si necesita mayor informacion sobre los registros aqui mostrados, favor de
% comunicarse a ayuda@nic.mx.
% Si desea notificar sobre correo no solicitado o accesos no autorizados, favor
% de enviar su mensaje a abuse@nic.mx.

@ -0,0 +1,33 @@
[ JPRS database provides information on network administration. Its use is ]
[ restricted to network administration purposes. For further information, ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]
[ ]
[ Notice -------------------------------------------------------------------- ]
[ JPRS will change JPRS WHOIS (web-based and port 43 Whois service) about the ]
[ following two points on January 18, 2015. ]
[ ]
[ 1) Change of the format of response about gTLD domain name ]
[ 2) Change of the character encoding ]
[ ]
[ For further information, please see the following webpage. ]
[ http://jprs.jp/whatsnew/notice/2014/20140319-whois.html (only in Japanese) ]
[ --------------------------------------------------------------------------- ]
Domain Information:
a. [Domain Name] GOOGLE.CO.JP
g. [Organization] Google Japan
l. [Organization Type] corporation
m. [Administrative Contact] DL152JP
n. [Technical Contact] TW124137JP
p. [Name Server] ns1.google.com
p. [Name Server] ns2.google.com
p. [Name Server] ns3.google.com
p. [Name Server] ns4.google.com
s. [Signing Key]
[State] Connected (2015/03/31)
[Registered Date] 2001/03/22
[Connected Date] 2001/03/22
[Last Update] 2014/04/01 01:18:23 (JST)

@ -0,0 +1,34 @@
Whois Server Version 2.1.2
Domain: GOOGLE.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: NS1.GOOGLE.COM
Name Server: NS2.GOOGLE.COM
Name Server: NS3.GOOGLE.COM
Name Server: NS4.GOOGLE.COM
Status: ACTIVE
Updated date: 19 Jun 2014
Created date: 8 Oct 2004
Renew date: 8 Oct 2013
Exp date: 7 Oct 2014
Domain Holder: Google Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
94043
US
Tech Contact: 491182
Markmonitor
391 N. Ancestor PL
Boise ID
83704
US
>>> Last update of whois data: Fri, 27 Jun 2014 15:46:58 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,33 @@
Domain Name: google.com.tw
Registrant:
Google Inc.
DNS Admin dns-admin@google.com
+1.6502530000
+1.6506188571
1600 Amphitheatre Parkway
Mountain View, CA
US
Administrative Contact:
DNS Admin dns-admin@google.com
+1.6502530000
+1.6506188571
Technical Contact:
DNS Admin dns-admin@google.com
+1.6502530000
+1.6506188571
Record expires on 2014-11-09 (YYYY-MM-DD)
Record created on 2000-08-29 (YYYY-MM-DD)
Domain servers in listed order:
ns1.google.com
ns2.google.com
ns3.google.com
ns4.google.com
Registration Service Provider: Markmonitor, Inc.
[Provided by NeuStar Registry Gateway Services]

@ -0,0 +1,63 @@
*********************************************************************
* Please note that the following result could be a subgroup of *
* the data contained in the database. *
* *
* Additional information can be visualized at: *
* http://www.nic.it/cgi-bin/Whois/whois.cgi *
*********************************************************************
Domain: google.it
Status: ok
Created: 1999-12-10 00:00:00
Last Update: 2014-05-07 00:52:45
Expire Date: 2015-04-21
Registrant
Name: Google Ireland Holdings
Organization: Google Ireland Holdings
ContactID: DUP430692088
Address: 70 Sir John Rogersons Quay
Dublin
2
IE
IE
Created: 2013-04-21 01:05:35
Last Update: 2013-04-21 01:05:35
Admin Contact
Name: Tsao Tu
Organization: Tu Tsao
ContactID: DUP142437129
Address: 70 Sir John Rogersons Quay
Dublin
2
IE
IE
Created: 2013-04-21 01:05:35
Last Update: 2013-04-21 01:05:35
Technical Contacts
Name: Google Ireland Holdings
Organization: Google Ireland Holdings
ContactID: DUP430692088
Address: 70 Sir John Rogersons Quay
Dublin
2
IE
IE
Created: 2013-04-21 01:05:35
Last Update: 2013-04-21 01:05:35
Registrar
Organization: MarkMonitor International Limited
Name: MARKMONITOR-REG
Web: https://www.markmonitor.com/
Nameservers
ns1.google.com
ns4.google.com
ns2.google.com
ns3.google.com

@ -0,0 +1,45 @@
% This is the IRNIC Whois server v1.6.2.
% Available on web at http://whois.nic.ir/
% Find the terms and conditions of use on http://www.nic.ir/
%
% This server uses UTF-8 as the encoding for requests and responses.
% NOTE: This output has been filtered.
% Information related to 'nic.ir'
domain: nic.ir
ascii: nic.ir
remarks: (Domain Holder) Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)
remarks: (Domain Holder Address) Shahid Bahonar (Niavaran) Sq., Tehran, Tehran, IR
holder-c: ir00-irnic
admin-c: ir00-irnic
tech-c: as51-irnic
nserver: ns1.nic.ir
nserver: ns.nic.ir
nserver: ns5.univie.ac.at
nserver: auth51.ns.uu.net
last-updated: 2010-05-09
expire-date: 2015-05-26
source: IRNIC # Filtered
nic-hdl: ir00-irnic
org: Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)
e-mail: info@nic.ir
address: Shahid Bahonar (Niavaran) Sq., Tehran, Tehran, IR
phone: +98 21 2229 0306
fax-no: +98 21 2229 5700
source: IRNIC # Filtered
nic-hdl: as51-irnic
person: Alireza Saleh
e-mail: arsaleh@gmail.com
source: IRNIC # Filtered
domain: nic.ir
ascii: nic.ir
remarks: This domain is only available for registration under certain conditions
source: IRNIC # Filtered

@ -0,0 +1,31 @@
[ JPRS database provides information on network administration. Its use is ]
[ restricted to network administration purposes. For further information, ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]
[ ]
[ Notice -------------------------------------------------------------------- ]
[ JPRS will change JPRS WHOIS (web-based and port 43 Whois service) about the ]
[ following two points on January 18, 2015. ]
[ ]
[ 1) Change of the format of response about gTLD domain name ]
[ 2) Change of the character encoding ]
[ ]
[ For further information, please see the following webpage. ]
[ http://jprs.jp/whatsnew/notice/2014/20140319-whois.html (only in Japanese) ]
[ --------------------------------------------------------------------------- ]
Domain Information:
a. [Domain Name] NTTPC.CO.JP
g. [Organization] NTT PC Communications Incorporated
l. [Organization Type] Corporation
m. [Administrative Contact] TY4708JP
n. [Technical Contact] YA6489JP
p. [Name Server] ns1.sphere.ad.jp
p. [Name Server] ns2.sphere.ad.jp
s. [Signing Key]
[State] Connected (2015/03/31)
[Registered Date]
[Connected Date]
[Last Update] 2014/04/01 01:10:41 (JST)

@ -0,0 +1,21 @@
Domain Name: pcmups.com.tw
Registrant:
科風股份有限公司
Powercom Co., Ltd.
8F, No. 246, Lien Chen Road, Chung Ho City, Taipei Hsien, Taiwan ROC
Contact:
Amos Yu market@upspowercom.com.tw
TEL: 02-22258552#313
FAX: 02-22251776
Record expires on 2014-08-29 (YYYY-MM-DD)
Record created on 2001-08-28 (YYYY-MM-DD)
Domain servers in listed order:
ns.hinetserver.com 61.63.79.1
ns2.hinetserver.com 61.56.221.35
Registration Service Provider: SEEDNET

@ -0,0 +1,31 @@
Domain Name: porn.com.tw
Registrant:
JW
Jeffrey Williams faiwot@wag1.com
+44.1502566183
95 Wavenet Crescent
Lowestoft,
GB
Administrative Contact:
Jeffrey Williams faiwot@wag1.com
+44.1502566183
Technical Contact:
Jeffrey Williams faiwot@wag1.com
+44.1502566183
Record expires on 2015-02-24 (YYYY-MM-DD)
Record created on 2006-02-24 (YYYY-MM-DD)
Domain servers in listed order:
ns1.parkingcrew.net
ns2.parkingcrew.net
Registration Service Provider: Key-Systems GmbH
[Provided by NeuStar Registry Gateway Services]

@ -0,0 +1,21 @@
Domain Name: realtek.com.tw
Registrant:
瑞昱半導體股份有限公司
Realtek Semoconductor Co., Ltd
No.2, Innovation Road II, Hsinchu,Science Park,Hsinchu , Taiwan
Contact:
Mengze Du justindo@realtek.com
TEL: (03) 5780211 ext3079
FAX: (03) 5774713
Record expires on 2018-05-31 (YYYY-MM-DD)
Record created on 1997-05-01 (YYYY-MM-DD)
Domain servers in listed order:
ns1.realtek.com.tw 60.250.210.254
ns2.realtek.com.tw 60.248.182.29
Registration Service Provider: TWNIC

@ -0,0 +1,48 @@
*********************************************************************
* Please note that the following result could be a subgroup of *
* the data contained in the database. *
* *
* Additional information can be visualized at: *
* http://www.nic.it/cgi-bin/Whois/whois.cgi *
*********************************************************************
Domain: redd.it
Status: ok
Created: 2010-05-31 09:49:27
Last Update: 2013-09-22 00:52:31
Expire Date: 2014-09-22
Registrant
Name: Corporation Service Company France
Organization: Corporation Service Company France
ContactID: DUP181111842
Address: 68, rue du faubourg Saint Honore
Paris
75008
Paris
FR
Created: 2013-09-22 00:44:16
Last Update: 2013-09-22 00:44:16
Admin Contact
Name: GANDI CORPORATE
Organization: GANDI CORPORATE
ContactID: C4195-GANDI-EQUL
Technical Contacts
Name: Domain Administrator
Organization: Reddit Inc
ContactID: R3511-GANDI-HIRR
Registrar
Organization: Gandi SAS
Name: GANDI-REG
Web: http://www.gandi.net
Nameservers
c.dns.gandi.net
a.dns.gandi.net
b.dns.gandi.net

@ -0,0 +1,35 @@
Whois Server Version 2.1.2
Domain: RICOH.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: NS.CSCOMS.COM
Name Server: NS2.CSCOMS.COM
Status: ACTIVE
Updated date: 5 Aug 2013
Created date: 5 Nov 1999
Renew date: 5 Nov 2012
Exp date: 4 Nov 2014
Domain Holder: RICOH (THAILAND) CO., LTD. (บริษัท ริโก้ (ประเทศไทย) จำกัด)
Ricoh (Thailand) Ltd.
341 Onnuj Road,
Prawet, Prawet ,
Bangkok
10250
TH
Tech Contact: 503400
บริษัท ริโก้(ประเทศไทย)จำกัด
341 ถนนอ่อนนุช
แขวงประเวศ เขตประเวศ
กรุงเทพมหานคร
10250
TH
>>> Last update of whois data: Fri, 27 Jun 2014 16:34:18 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,30 @@
Whois Server Version 2.1.2
Domain: RS.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: CLARINET.ASIANET.CO.TH
Name Server: CONDUCTOR.ASIANET.CO.TH
Status: ACTIVE
Updated date: 1 Feb 2012
Created date: 19 Jan 2007
Renew date: 18 Mar 2012
Exp date: 17 Mar 2017
Domain Holder: RS. Promotion PCL. ( บริษัท อาร์.เอส.โปรโมชั่น จำกัด (มหาชน) )
419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900, BKK
10900
TH
Tech Contact: 37581
RS Promotion Public Co.,Ltd.
419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900, bangkok
10900
TH
>>> Last update of whois data: Fri, 27 Jun 2014 16:34:24 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,90 @@
Whois Server Version 2.0
NOTICE: Access to No-IP.com WHOIS information is provided to assist persons in
determining the contents of a domain name registration record in the No-IP.com
registrar database. The data in this record is provided by No-IP.com
for informational purposes only, and No-Ip.com does not guarantee its
accuracy. This service is intended only for query-based access. You agree
that you will use this data only for lawful purposes and that, under no
circumstances will you use this data to: (a) allow, enable, or otherwise
support the transmission by e-mail, telephone, or facsimile of mass
unsolicited, commercial advertising or solicitations to entities other than
the data recipient's own existing customers; or (b) enable high volume,
automated, electronic processes that send queries or data to the systems of
Registry Operator or any ICANN-Accredited Registrar, except as reasonably
necessary to register domain names or modify existing registrations. All
rights reserved. Public Interest Registry reserves the right to modify these terms at any
time. By submitting this query, you agree to abide by this policy.
Domain Name: SERVEQUAKE.COM
Created On: 12-Nov-2004 08:00:00 UTC
Last Updated On: 11-Nov-2011 18:48:29 UTC
Expiration Date: 10-Feb-2015 05:33:35 UTC
Sponsoring Registrar: Vitalwerks Internet Solutions, LLC / No-IP.com
Registrant Name: No-IP.com, Domain Operations
Registrant Organization: Vitalwerks Internet Solutions, LLC
Registrant Street1: 5905 South Virginia St
Registrant Street2: Suite 200
Registrant City: Reno
Registrant State/Province: NV
Registrant Postal Code: 89502
Registrant Country: US
Registrant Phone: +1.7758531883
Registrant FAX:
Registrant Email: domains@no-ip.com
Admin Name: No-IP.com, Domain Operations
Admin Street1: 5905 South Virginia St
Admin Street2: Suite 200
Admin City: Reno
Admin State/Province: NV
Admin Postal Code: 89502
Admin Country: US
Admin Phone: +1.7758531883
Admin FAX:
Admin Email: domains@no-ip.com
Tech Name: No-IP.com, Domain Operations
Tech Organization: Vitalwerks Internet Solutions, LLC
Tech Street1: 5905 South Virginia St
Tech Street2: Suite 200
Tech City: Reno
Tech State/Province: NV
Tech Postal Code: 89502
Tech Country: US
Tech Phone: +1.7758531883
Tech FAX:
Tech Email: domains@no-ip.com
Billing Name: No-IP.com, Domain Operations
Billing Organization: Vitalwerks Internet Solutions, LLC
Billing Street1: 5905 South Virginia St
Billing Street2: Suite 200
Billing City: Reno
Billing State/Province: NV
Billing Postal Code: 89502
Billing Country: US
Billing Phone: +1.7758531883
Billing FAX:
Billing Email: domains@no-ip.com
Name Server: NF1.NO-IP.COM
Name Server: NF2.NO-IP.COM
Name Server: NF3.NO-IP.COM
Name Server: NF4.NO-IP.COM
--
Domain Name: SERVEQUAKE.COM
Registrar: VITALWERKS INTERNET SOLUTIONS LLC DBA NO-IP
Whois Server: whois.no-ip.com
Referral URL: http://www.no-ip.com
Name Server: NF1.NO-IP.COM
Name Server: NF2.NO-IP.COM
Name Server: NF3.NO-IP.COM
Name Server: NF4.NO-IP.COM
Status: clientTransferProhibited
Updated Date: 11-nov-2011
Creation Date: 10-feb-2000
Expiration Date: 10-feb-2015

@ -0,0 +1,29 @@
Whois Server Version 2.1.2
Domain: SIAMPARAGON.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: NS.BEENETS.COM
Name Server: NS2.BEENETS.COM
Status: ACTIVE
Updated date: 12 Apr 2013
Created date: 25 Mar 2002
Renew date: 25 Mar 2013
Exp date: 24 Mar 2016
Domain Holder: SIAM PARAGON DEVELOPMENT CO., LTD. (บริษัท สยามพารากอน ดีเวลลอปเม้นท์ จำกัด)
991 SIAM Paragon Shopping Center RAMA1 ROAD, PATUMWAN, BANGKOK
10330
TH
Tech Contact: 15190
991 ศูนย์การค้า สยามพารากอน ถ.พระราม 1 แขวงปทุมวัน เขตปทุมวัน กรุงเทพฯ
10330
TH
>>> Last update of whois data: Fri, 27 Jun 2014 16:32:46 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,31 @@
Whois Server Version 2.1.2
Domain: STARBUCKS.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: NS.KSC.CO.TH
Name Server: NS2.KSC.CO.TH
Status: ACTIVE
Updated date: 10 Sep 2009
Created date: 17 Jun 2003
Renew date: 17 Jun 2003
Exp date: 16 Dec 2014
Domain Holder: Starbucks Coffee ( Thailand ) Co., Ltd.
12th floor,Exchange Tower, 388 Sukhumvit Road, Klongtoey, Bangkok
10110
TH
Tech Contact: 24897
บริษัท เคเอสซี คอมเมอร์เชียล อินเตอร์เนต จำกัด
2/4 อาคารไทยพาณิชย์สามัคคีประกันภัย ชั้น 10 ถนนวิภาวดีรังสิต
แขวงทุ่งสองห้อง เขตหลักสี่ กรุงเทพฯ
10210
TH
>>> Last update of whois data: Tue, 24 Jun 2014 04:58:54 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,46 @@
*********************************************************************
* Please note that the following result could be a subgroup of *
* the data contained in the database. *
* *
* Additional information can be visualized at: *
* http://www.nic.it/cgi-bin/Whois/whois.cgi *
*********************************************************************
Domain: tip.it
Status: ok
Created: 1997-09-26 00:00:00
Last Update: 2013-10-16 00:43:15
Expire Date: 2014-09-30
Registrant
Name: Sandro Fanelli
Organization: Sandro Fanelli
ContactID: SF3221
Admin Contact
Name: Sandro Fanelli
Organization: Sandro Fanelli
ContactID: SF3221
Technical Contacts
Name: Technical Support
Organization: Register.it S.p.A.
ContactID: 2409-REGT
Address: Via Zanchi 22
Bergamo
24126
BG
IT
Created: 2009-09-28 11:01:09
Last Update: 2012-04-27 15:13:45
Registrar
Organization: Register.it s.p.a.
Name: REGISTER-REG
Nameservers
ns1.softlayer.com
ns2.softlayer.com

@ -0,0 +1,32 @@
Whois Server Version 2.1.2
Domain: TOYOTA.CO.TH
Registrar: T.H.NIC Co., Ltd.
Name Server: NS1.NTT.CO.TH
Name Server: NS1.TOYOTA.CO.TH
Name Server: NS2.TOYOTA.CO.TH
Status: ACTIVE
Updated date: 20 Jan 2014
Created date: 17 Jan 1999
Renew date: 17 Jan 2014
Exp date: 16 Jan 2015
Domain Holder: Toyota Motor Thailand Co., Ltd. ( บริษัท โตโยต้า มอเตอร์ ประเทศไทย จำกัด )
186/1 Mu1 Old Railway Rd., Samrong Tai, PhraPradaeng, Samut Prakan
10130
TH
Tech Contact: 92144
Toyota Motor Asia Pacific Engineering &amp; Manufacturing Co.,Ltd.
99 Moo 5, Bangna-Trad K.M. 29.5 Rd., Ban-Ragad,
Bang Bor, Samutprakarn
10560
TH
>>> Last update of whois data: Fri, 27 Jun 2014 16:34:06 UTC+7 <<<
For more information please visit: https://www.thnic.co.th/whois

@ -0,0 +1,110 @@
-------------------------------------------------------------------------------
Whois server by HKIRC
-------------------------------------------------------------------------------
.hk top level Domain names can be registered via HKIRC-Accredited Registrars.
Go to https://www.hkirc.hk/content.jsp?id=280 for details.
-------------------------------------------------------------------------------
Domain Name: UNWIRE.HK
Domain Status: Active
Contract Version: HKDNR latest version
Registrar Name: Hong Kong Domain Name Registration Company Limited
Registrar Contact Information: Email: enquiry@hkdnr.hk Hotline: +852 2319 1313
Reseller:
Registrant Contact Information:
Company English Name (It should be the same as the registered/corporation name on your Business Register Certificate or relevant documents): UNWIRE LIMITED
Company Chinese name:
Address: HK
Country: HK
Email: mkt@bmedia.hk
Domain Name Commencement Date: 24-06-2009
Expiry Date: 24-06-2021
Re-registration Status: Complete
Administrative Contact Information:
Given name: AMAZING
Family name: SHREK
Company name: UNWIRE LIMITED
Address: HK
Country: HK
Phone: +852-123456
Fax:
Email: mkt@bmedia.hk
Account Name: HK3507379T
Technical Contact Information:
Family name: CHEUNG
Company name: UNWIRE LIMITED
Address: HK
Country: HK
Phone: +852-123456
Fax:
Email: mkt@bmedia.hk
Name Servers Information:
NORM.NS.CLOUDFLARE.COM
ZOE.NS.CLOUDFLARE.COM
Status Information:
Domain Prohibit Status:
-------------------------------------------------------------------------------
The Registry contains ONLY .com.hk, .net.hk, .edu.hk, .org.hk,
.gov.hk, idv.hk. and .hk $domains.
-------------------------------------------------------------------------------
WHOIS Terms of Use
By using this WHOIS search enquiry service you agree to these terms of use.
The data in HKDNR's WHOIS search engine is for information purposes only and HKDNR does not guarantee the accuracy of the data. The data is provided to assist people to obtain information about the registration record of domain names registered by HKDNR. You agree to use the data for lawful purposes only.
You are not authorised to use high-volume, electronic or automated processes to access, query or harvest data from this WHOIS search enquiry service.
You agree that you will not and will not allow anyone else to:
a. use the data for mass unsolicited commercial advertising of any sort via any medium including telephone, email or fax; or
b. enable high volume, automated or electronic processes that apply to HKDNR or its computer systems including the WHOIS search enquiry service; or
c. without the prior written consent of HKDNR compile, repackage, disseminate, disclose to any third party or use the data for a purpose other than obtaining information about a domain name registration record; or
d. use such data to derive an economic benefit for yourself.
HKDNR in its sole discretion may terminate your access to the WHOIS search enquiry service (including, without limitation, blocking your IP address) at any time including, without limitation, for excessive use of the WHOIS search enquiry service.
HKDNR may modify these terms of use at any time by publishing the modified terms of use on its website.

@ -0,0 +1,22 @@
Domain Name: via.com.tw
Registrant:
威盛電子股份有限公司
VIA Technologies, Inc.
8F, 535, Chung-Cheng Rd. Hsin-Tien
Contact:
Ben Chen BenChen@via.com.tw
TEL: 2-22185452#6557
FAX: 2-22188924
Record expires on 2024-05-31 (YYYY-MM-DD)
Record created on 1985-05-20 (YYYY-MM-DD)
Domain servers in listed order:
tpns1.viatech.com.tw 61.66.243.23
frns1.viatech.com.tw 12.47.63.7
bjns1.viatech.com.tw 152.104.150.2
Registration Service Provider: TWNIC

@ -0,0 +1,32 @@
% This is the IRNIC Whois server v1.6.2.
% Available on web at http://whois.nic.ir/
% Find the terms and conditions of use on http://www.nic.ir/
%
% This server uses UTF-8 as the encoding for requests and responses.
% NOTE: This output has been filtered.
% Information related to 'whoiser.ir'
domain: whoiser.ir
ascii: whoiser.ir
remarks: (Domain Holder) Mohsen Jadidi
remarks: (Domain Holder Address) Andishe, Faz 3, Mahale 23 St., Shahed St., Baharan St., No. 12,, Shahraiar, Tehran, IR
holder-c: mj205-irnic
admin-c: mj205-irnic
tech-c: mj205-irnic
nserver: ns1.webmasir.com
nserver: ns2.webmasir.com
last-updated: 2014-06-01
expire-date: 2017-03-03
source: IRNIC # Filtered
nic-hdl: mj205-irnic
person: Mohsen Jadidi
e-mail: mnjadidi@gmail.com
address: Andishe, Faz 3, Mahale 23 St., Shahed St., Baharan St., No. 12,, Shahraiar, Tehran, IR
phone: +982623554491
source: IRNIC # Filtered

@ -0,0 +1,34 @@
Domain Name: yahoo.com.tw
Registrant:
Yahoo! Inc.
Domain Administrator domainadmin@yahoo-inc.com
+1.4083493300
+1.4083493301
701 First Avenue
Sunnyvale, CA
US
Administrative Contact:
Domain Administrator domainadmin@yahoo-inc.com
+1.4083493300
+1.4083493301
Technical Contact:
Domain Administrator domainadmin@yahoo-inc.com
+1.4083493300
+1.4083493301
Record expires on 2019-07-12 (YYYY-MM-DD)
Record created on 1997-05-01 (YYYY-MM-DD)
Domain servers in listed order:
ns1.yahoo.com
ns2.yahoo.com
ns3.yahoo.com
ns4.yahoo.com
ns5.yahoo.com
Registration Service Provider: Markmonitor, Inc.
[Provided by NeuStar Registry Gateway Services]

@ -0,0 +1,63 @@
*********************************************************************
* Please note that the following result could be a subgroup of *
* the data contained in the database. *
* *
* Additional information can be visualized at: *
* http://www.nic.it/cgi-bin/Whois/whois.cgi *
*********************************************************************
Domain: yahoo.it
Status: ok
Created: 1998-05-11 00:00:00
Last Update: 2013-12-06 00:48:58
Expire Date: 2014-11-20
Registrant
Name: Yahoo! Italia S.r.l.
Organization: Yahoo! Italia S.r.l.
ContactID: DUP211874838
Address: via Spadolini 7
Milano
20141
MI
IT
Created: 2012-11-02 07:30:15
Last Update: 2012-11-02 07:30:15
Admin Contact
Name: Martini Massimo Ernesto Aldo
ContactID: DUP975799853
Address: via Spadolini 7
Milano
20141
MI
IT
Created: 2012-11-02 07:30:15
Last Update: 2012-11-02 07:30:15
Technical Contacts
Name: Yahoo Inc
ContactID: DUP285050789
Address: Domain Administrator
701 First Avenue
Sunnyvale
94089
CALIFORNIA
US
Created: 2012-11-02 07:30:16
Last Update: 2012-11-02 07:30:16
Registrar
Organization: MarkMonitor International Limited
Name: MARKMONITOR-REG
Web: https://www.markmonitor.com/
Nameservers
ns1.yahoo.com
ns5.yahoo.com
ns7.yahoo.com
ns2.yahoo.com
ns3.yahoo.com

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2013-12-25T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Bangkok", "handle": "85476", "street": "296 Phayathai Road Ratchathewi", "country": "TH", "postalcode": "10400", "organization": "Asia Hotel Public Co.,Ltd."}, "registrant": {"city": "Bangkok", "street": "296 Phayathai Road Ratchathewi", "country": "TH", "postalcode": "10400", "organization": "Asia Hotel Public Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e2d\u0e40\u0e0a\u0e35\u0e22\u0e42\u0e2e\u0e40\u0e15\u0e47\u0e25 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )"}, "billing": null}, "nameservers": ["NS1.ASIAHOTEL.CO.TH", "NS2.ASIAHOTEL.CO.TH"], "expiration_date": ["2017-01-16T00:00:00"], "creation_date": ["1999-01-17T00:00:00", "1999-01-17T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: ASIAHOTEL.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS1.ASIAHOTEL.CO.TH\nName Server: NS2.ASIAHOTEL.CO.TH\nStatus: ACTIVE\nUpdated date: 25 Dec 2013\nCreated date: 17 Jan 1999\nRenew date: 17 Jan 2014\nExp date: 16 Jan 2017\nDomain Holder: Asia Hotel Public Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e2d\u0e40\u0e0a\u0e35\u0e22\u0e42\u0e2e\u0e40\u0e15\u0e47\u0e25 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )\n296 Phayathai Road Ratchathewi, Bangkok\n10400\nTH\n\nTech Contact: 85476\nAsia Hotel Public Co.,Ltd.\n296 Phayathai Road Ratchathewi, Bangkok\n10400\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 14:54:30 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2009-07-18T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Bangkok", "handle": "74252", "street": "304 Suapha Rd.\nPomprab\nPomprab Suttruphai", "country": "TH", "postalcode": "10110", "organization": "Loxley Information Services Co., Ltd."}, "registrant": {"city": "Bangkok", "street": "BTS Building\nPhaholyothin Rd.,Lardpao\nChatujak", "country": "TH", "postalcode": "10900", "organization": "Bangkok Mass Transit System Public Company Limited (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e30\u0e1a\u0e1a\u0e02\u0e19\u0e2a\u0e48\u0e07\u0e21\u0e27\u0e25\u0e0a\u0e19\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19))"}, "billing": null}, "nameservers": ["NS.LOXINFO.CO.TH", "NS.TNET.CO.TH"], "expiration_date": ["2021-08-03T00:00:00"], "creation_date": ["1999-08-04T00:00:00", "1999-08-04T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: BTS.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.LOXINFO.CO.TH\nName Server: NS.TNET.CO.TH\nStatus: ACTIVE\nUpdated date: 18 Jul 2009\nCreated date: 4 Aug 1999\nRenew date: 4 Aug 1999\nExp date: 3 Aug 2021\nDomain Holder: Bangkok Mass Transit System Public Company Limited (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e30\u0e1a\u0e1a\u0e02\u0e19\u0e2a\u0e48\u0e07\u0e21\u0e27\u0e25\u0e0a\u0e19\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19))\nBTS Building, Phaholyothin Rd.,Lardpao, Chatujak, Bangkok\n10900\nTH\n\nTech Contact: 74252\nLoxley Information Services Co., Ltd.\n304 Suapha Rd., Pomprab, Pomprab Suttruphai, Bangkok\n10110\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:32:41 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsin-Chu", "fax": "(03)5646929", "name": "Alan Ma", "phone": "(03)5798797 ext. 8566", "street": "No. 6 Li-Hsin Rd. VI\nScience-Based Park", "organization": "\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.", "country": "Taiwan, R.O.C.", "email": "alan_ma@davicom.com.tw"}, "billing": null}, "nameservers": ["davicom.com.tw"], "expiration_date": ["2017-05-31T00:00:00", "2017-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: davicom.com.tw\nRegistrant:\n\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.\nNo. 6 Li-Hsin Rd. VI, Science-Based Park, Hsin-Chu, Taiwan, R.O.C.\n\n Contact:\n Alan Ma alan_ma@davicom.com.tw\n TEL: (03)5798797 #8566\n FAX: (03)5646929\n\n Record expires on 2017-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n davicom.com.tw 60.250.193.73 \n davicom.com.tw 202.39.11.22 \n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}

@ -0,0 +1 @@
{"updated_date": ["2011-04-09T00:00:00"], "contacts": {"admin": {"city": "Ciudad de Mexico", "state": "Distrito Federal", "name": "Alejandra Aguirre", "country": "Mexico"}, "tech": {"city": "Ciudad de Mexico", "state": "Distrito Federal", "name": "Alejandra Aguirre", "country": "Mexico"}, "registrant": {"city": "Mexico", "state": "Distrito Federal", "name": "EXPO PAK S.A. DE C.V.", "country": "Mexico"}, "billing": {"city": "Ciudad de Mexico", "state": "Distrito Federal", "name": "Alejandra Aguirre", "country": "Mexico"}}, "nameservers": ["ns1.nuestrosite.com", "ns2.nuestrosite.com"], "expiration_date": ["2015-10-06T00:00:00"], "creation_date": ["1999-10-07T00:00:00", "1999-10-07T00:00:00"], "raw": ["\nDomain Name: expopack.com.mx\n\nCreated On: 1999-10-07\nExpiration Date: 2015-10-06\nLast Updated On: 2011-04-09\nRegistrar: Akky (Una division de NIC Mexico)\nURL: http://www.akky.mx\nWhois TCP URI: whois.akky.mx\nWhois Web URL: http://www.akky.mx/jsf/whois/whois.jsf\n\nRegistrant:\n Name: EXPO PAK S.A. DE C.V.\n City: Mexico\n State: Distrito Federal\n Country: Mexico\n\nAdministrative Contact:\n Name: Alejandra Aguirre\n City: Ciudad de Mexico\n State: Distrito Federal\n Country: Mexico\n\nTechnical Contact:\n Name: Alejandra Aguirre\n City: Ciudad de Mexico\n State: Distrito Federal\n Country: Mexico\n\nBilling Contact:\n Name: Alejandra Aguirre\n City: Ciudad de Mexico\n State: Distrito Federal\n Country: Mexico\n\nName Servers:\n DNS: ns1.nuestrosite.com \n DNS: ns2.nuestrosite.com \n\n\n% NOTICE: The expiration date displayed in this record is the date the\n% registrar's sponsorship of the domain name registration in the registry is\n% currently set to expire. This date does not necessarily reflect the\n% expiration date of the domain name registrant's agreement with the sponsoring\n% registrar. Users may consult the sponsoring registrar's Whois database to\n% view the registrar's reported date of expiration for this registration.\n\n% The requested information (\"Information\") is provided only for the delegation\n% of domain names and the operation of the DNS administered by NIC Mexico.\n\n% It is absolutely prohibited to use the Information for other purposes, \n% including sending not requested emails for advertising or promoting products\n% and services purposes (SPAM) without the authorization of the owners of the\n% Information and NIC Mexico.\n\n% The database generated from the delegation system is protected by the\n% intellectual property laws and all international treaties on the matter.\n\n% If you need more information on the records displayed here, please contact us\n% by email at ayuda@nic.mx .\n\n% If you want notify the receipt of SPAM or unauthorized access, please send a\n% email to abuse@nic.mx .\n\n% NOTA: La fecha de expiracion mostrada en esta consulta es la fecha que el\n% registrar tiene contratada para el nombre de dominio en el registry. Esta\n% fecha no necesariamente refleja la fecha de expiracion del nombre de dominio\n% que el registrante tiene contratada con el registrar. Puede consultar la base\n% de datos de Whois del registrar para ver la fecha de expiracion reportada por\n% el registrar para este nombre de dominio.\n\n% La informacion que ha solicitado se provee exclusivamente para fines\n% relacionados con la delegacion de nombres de dominio y la operacion del DNS\n% administrado por NIC Mexico.\n\n% Queda absolutamente prohibido su uso para otros propositos, incluyendo el\n% envio de Correos Electronicos no solicitados con fines publicitarios o de\n% promocion de productos y servicios (SPAM) sin mediar la autorizacion de los\n% afectados y de NIC Mexico.\n\n% La base de datos generada a partir del sistema de delegacion, esta protegida\n% por las leyes de Propiedad Intelectual y todos los tratados internacionales\n% sobre la materia.\n\n% Si necesita mayor informacion sobre los registros aqui mostrados, favor de\n% comunicarse a ayuda@nic.mx.\n\n% Si desea notificar sobre correo no solicitado o accesos no autorizados, favor\n% de enviar su mensaje a abuse@nic.mx.\n\n\n"], "registrar": ["Akky (Una division de NIC Mexico)"], "emails": ["ayuda@nic.mx", "abuse@nic.mx"]}

@ -0,0 +1 @@
{"status": ["Connected (2015/03/31)"], "updated_date": ["2014-04-01T01:18:23"], "contacts": {"admin": {"handle": "DL152JP"}, "tech": {"handle": "TW124137JP"}, "registrant": {"organization": "Google Japan"}, "billing": null}, "nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"], "creation_date": ["2001-03-22T00:00:00"], "raw": ["[ JPRS database provides information on network administration. Its use is ]\n[ restricted to network administration purposes. For further information, ]\n[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]\n[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]\n[ ]\n[ Notice -------------------------------------------------------------------- ]\n[ JPRS will change JPRS WHOIS (web-based and port 43 Whois service) about the ]\n[ following two points on January 18, 2015. ]\n[ ]\n[ 1) Change of the format of response about gTLD domain name ]\n[ 2) Change of the character encoding ]\n[ ]\n[ For further information, please see the following webpage. ]\n[ http://jprs.jp/whatsnew/notice/2014/20140319-whois.html (only in Japanese) ]\n[ --------------------------------------------------------------------------- ]\n\nDomain Information:\na. [Domain Name] GOOGLE.CO.JP\ng. [Organization] Google Japan\nl. [Organization Type] corporation\nm. [Administrative Contact] DL152JP\nn. [Technical Contact] TW124137JP\np. [Name Server] ns1.google.com\np. [Name Server] ns2.google.com\np. [Name Server] ns3.google.com\np. [Name Server] ns4.google.com\ns. [Signing Key] \n[State] Connected (2015/03/31)\n[Registered Date] 2001/03/22\n[Connected Date] 2001/03/22\n[Last Update] 2014/04/01 01:18:23 (JST)\n\n\n"]}

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2014-06-19T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Boise", "handle": "491182", "state": "ID", "street": "391 N. Ancestor PL", "country": "US", "postalcode": "83704", "organization": "Markmonitor"}, "registrant": {"city": "Mountain View,", "state": "CA", "street": "1600 Amphitheatre Parkway", "country": "US", "postalcode": "94043", "organization": "Google Inc."}, "billing": null}, "nameservers": ["NS1.GOOGLE.COM", "NS2.GOOGLE.COM", "NS3.GOOGLE.COM", "NS4.GOOGLE.COM"], "expiration_date": ["2014-10-07T00:00:00"], "creation_date": ["2004-10-08T00:00:00", "2004-10-08T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: GOOGLE.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS1.GOOGLE.COM\nName Server: NS2.GOOGLE.COM\nName Server: NS3.GOOGLE.COM\nName Server: NS4.GOOGLE.COM\nStatus: ACTIVE\nUpdated date: 19 Jun 2014\nCreated date: 8 Oct 2004\nRenew date: 8 Oct 2013\nExp date: 7 Oct 2014\nDomain Holder: Google Inc.\n1600 Amphitheatre Parkway\nMountain View, CA 94043\n94043\nUS\n\nTech Contact: 491182\nMarkmonitor\n391 N. Ancestor PL \nBoise ID\n83704\nUS\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 15:46:58 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"contacts": {"admin": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "tech": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "registrant": {"city": "Mountain View", "fax": "+1.6506188571", "name": "DNS Admin", "country": "US", "phone": "+1.6502530000", "state": "CA", "street": "1600 Amphitheatre Parkway", "organization": "Google Inc.", "email": "dns-admin@google.com"}, "billing": null}, "nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"], "expiration_date": ["2014-11-09T00:00:00", "2014-11-09T00:00:00"], "creation_date": ["2000-08-29T00:00:00", "2000-08-29T00:00:00"], "raw": ["Domain Name: google.com.tw\n Registrant:\n Google Inc.\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n 1600 Amphitheatre Parkway \n Mountain View, CA\n US\n\n Administrative Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Technical Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Record expires on 2014-11-09 (YYYY-MM-DD)\n Record created on 2000-08-29 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.google.com \n ns2.google.com \n ns3.google.com \n ns4.google.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2014-05-07T00:52:45", "2013-04-21T01:05:35"], "contacts": {"admin": {"city": "Dublin", "handle": "DUP142437129", "name": "Tsao Tu", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Tu Tsao", "creationdate": "2013-04-21T01:05:35", "changedate": "2013-04-21T01:05:35"}, "tech": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21T01:05:35", "changedate": "2013-04-21T01:05:35"}, "registrant": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21T01:05:35", "changedate": "2013-04-21T01:05:35"}, "billing": null}, "nameservers": ["ns1.google.com", "ns4.google.com", "ns2.google.com", "ns3.google.com"], "expiration_date": ["2015-04-21T00:00:00"], "creation_date": ["1999-12-10T00:00:00", "2013-04-21T01:05:35"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: google.it\nStatus: ok\nCreated: 1999-12-10 00:00:00\nLast Update: 2014-05-07 00:52:45\nExpire Date: 2015-04-21\n\nRegistrant\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nAdmin Contact\n Name: Tsao Tu\n Organization: Tu Tsao\n ContactID: DUP142437129\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nTechnical Contacts\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.google.com\n ns4.google.com\n ns2.google.com\n ns3.google.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]}

@ -0,0 +1 @@
{"updated_date": ["2010-05-09T00:00:00"], "contacts": {"admin": {"fax": "+98 21 2229 5700", "handle": "ir00-irnic", "phone": "+98 21 2229 0306", "street": "Shahid Bahonar (Niavaran) Sq.", "city": "Tehran", "country": "IR", "state": "Tehran", "organization": "Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)", "email": "info@nic.ir"}, "tech": {"handle": "as51-irnic", "name": "Alireza Saleh", "email": "arsaleh@gmail.com"}, "registrant": {"fax": "+98 21 2229 5700", "handle": "ir00-irnic", "phone": "+98 21 2229 0306", "street": "Shahid Bahonar (Niavaran) Sq.", "city": "Tehran", "country": "IR", "state": "Tehran", "organization": "Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)", "email": "info@nic.ir"}, "billing": null}, "nameservers": ["ns1.nic.ir", "ns.nic.ir", "ns5.univie.ac.at", "auth51.ns.uu.net"], "expiration_date": ["2015-05-26T00:00:00"], "raw": ["% This is the IRNIC Whois server v1.6.2.\n% Available on web at http://whois.nic.ir/\n% Find the terms and conditions of use on http://www.nic.ir/\n% \n% This server uses UTF-8 as the encoding for requests and responses.\n\n% NOTE: This output has been filtered.\n\n% Information related to 'nic.ir'\n\n\ndomain:\t\tnic.ir\nascii:\t\tnic.ir\nremarks:\t(Domain Holder) Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)\nremarks:\t(Domain Holder Address) Shahid Bahonar (Niavaran) Sq., Tehran, Tehran, IR\nholder-c:\tir00-irnic\nadmin-c:\tir00-irnic\ntech-c:\t\tas51-irnic\nnserver:\tns1.nic.ir\nnserver:\tns.nic.ir\nnserver:\tns5.univie.ac.at\nnserver:\tauth51.ns.uu.net\nlast-updated:\t2010-05-09\nexpire-date:\t2015-05-26\nsource:\t\tIRNIC # Filtered\n\nnic-hdl:\tir00-irnic\norg:\t\tDot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)\ne-mail:\t\tinfo@nic.ir\naddress:\tShahid Bahonar (Niavaran) Sq., Tehran, Tehran, IR\nphone:\t\t+98 21 2229 0306\nfax-no:\t\t+98 21 2229 5700\nsource:\t\tIRNIC # Filtered\n\nnic-hdl:\tas51-irnic\nperson:\t\tAlireza Saleh\ne-mail:\t\tarsaleh@gmail.com\nsource:\t\tIRNIC # Filtered\n\ndomain:\t\tnic.ir\nascii:\t\tnic.ir\nremarks:\tThis domain is only available for registration under certain conditions\nsource:\t\tIRNIC # Filtered\n\n\n"]}

@ -0,0 +1 @@
{"status": ["Connected (2015/03/31)"], "updated_date": ["2014-04-01T01:10:41"], "nameservers": ["ns1.sphere.ad.jp", "ns2.sphere.ad.jp"], "contacts": {"admin": {"handle": "TY4708JP"}, "tech": {"handle": "YA6489JP"}, "registrant": {"organization": "NTT PC Communications Incorporated"}, "billing": null}, "raw": ["[ JPRS database provides information on network administration. Its use is ]\n[ restricted to network administration purposes. For further information, ]\n[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]\n[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]\n[ ]\n[ Notice -------------------------------------------------------------------- ]\n[ JPRS will change JPRS WHOIS (web-based and port 43 Whois service) about the ]\n[ following two points on January 18, 2015. ]\n[ ]\n[ 1) Change of the format of response about gTLD domain name ]\n[ 2) Change of the character encoding ]\n[ ]\n[ For further information, please see the following webpage. ]\n[ http://jprs.jp/whatsnew/notice/2014/20140319-whois.html (only in Japanese) ]\n[ --------------------------------------------------------------------------- ]\n\nDomain Information:\na. [Domain Name] NTTPC.CO.JP\ng. [Organization] NTT PC Communications Incorporated\nl. [Organization Type] Corporation\nm. [Administrative Contact] TY4708JP\nn. [Technical Contact] YA6489JP\np. [Name Server] ns1.sphere.ad.jp\np. [Name Server] ns2.sphere.ad.jp\ns. [Signing Key] \n[State] Connected (2015/03/31)\n[Registered Date] \n[Connected Date] \n[Last Update] 2014/04/01 01:10:41 (JST)\n\n\n"]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Taipei Hsien", "fax": "02-22251776", "name": "Amos Yu", "phone": "02-22258552 ext. 313", "street": "8F\nNo. 246\nLien Chen Road\nChung Ho City", "organization": "\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.", "country": "Taiwan ROC", "email": "market@upspowercom.com.tw"}, "billing": null}, "nameservers": ["ns.hinetserver.com", "ns2.hinetserver.com"], "expiration_date": ["2014-08-29T00:00:00", "2014-08-29T00:00:00"], "creation_date": ["2001-08-28T00:00:00", "2001-08-28T00:00:00"], "raw": ["Domain Name: pcmups.com.tw\nRegistrant:\n\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.\n8F, No. 246, Lien Chen Road, Chung Ho City, Taipei Hsien, Taiwan ROC\n\n Contact:\n Amos Yu market@upspowercom.com.tw\n TEL: 02-22258552#313\n FAX: 02-22251776\n\n Record expires on 2014-08-29 (YYYY-MM-DD)\n Record created on 2001-08-28 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns.hinetserver.com 61.63.79.1\n ns2.hinetserver.com 61.56.221.35\n\nRegistration Service Provider: SEEDNET\n\n\n"], "registrar": ["SEEDNET"]}

@ -0,0 +1 @@
{"contacts": {"admin": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "tech": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "registrant": {"city": "Lowestoft", "name": "Jeffrey Williams", "country": "GB", "phone": "+44.1502566183", "street": "95 Wavenet Crescent", "organization": "JW", "email": "faiwot@wag1.com"}, "billing": null}, "nameservers": ["ns1.parkingcrew.net", "ns2.parkingcrew.net"], "expiration_date": ["2015-02-24T00:00:00", "2015-02-24T00:00:00"], "creation_date": ["2006-02-24T00:00:00", "2006-02-24T00:00:00"], "raw": ["Domain Name: porn.com.tw\n Registrant:\n JW\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n 95 Wavenet Crescent \n Lowestoft, \n GB\n\n Administrative Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Technical Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Record expires on 2015-02-24 (YYYY-MM-DD)\n Record created on 2006-02-24 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.parkingcrew.net \n ns2.parkingcrew.net \n\nRegistration Service Provider: Key-Systems GmbH\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Key-Systems GmbH"]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsinchu", "fax": "(03) 5774713", "name": "Mengze Du", "phone": "(03) 5780211 ext. 079", "street": "No.2\nInnovation Road II\nHsinchu\nScience Park", "organization": "\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd", "country": "Taiwan", "email": "justindo@realtek.com"}, "billing": null}, "nameservers": ["ns1.realtek.com.tw", "ns2.realtek.com.tw"], "expiration_date": ["2018-05-31T00:00:00", "2018-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: realtek.com.tw\nRegistrant:\n\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd\nNo.2, Innovation Road II, Hsinchu,Science Park,Hsinchu , Taiwan\n\n Contact:\n Mengze Du justindo@realtek.com\n TEL: (03) 5780211 ext3079\n FAX: (03) 5774713\n\n Record expires on 2018-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.realtek.com.tw 60.250.210.254\n ns2.realtek.com.tw 60.248.182.29\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2013-09-22T00:52:31", "2013-09-22T00:44:16"], "contacts": {"admin": {"handle": "C4195-GANDI-EQUL", "name": "GANDI CORPORATE", "organization": "GANDI CORPORATE"}, "tech": {"handle": "R3511-GANDI-HIRR", "name": "Domain Administrator", "organization": "Reddit Inc"}, "registrant": {"city": "Paris", "handle": "DUP181111842", "name": "Corporation Service Company France", "state": "Paris", "street": "68, rue du faubourg Saint Honore", "country": "FR", "postalcode": "75008", "organization": "Corporation Service Company France", "creationdate": "2013-09-22T00:44:16", "changedate": "2013-09-22T00:44:16"}, "billing": null}, "nameservers": ["c.dns.gandi.net", "a.dns.gandi.net", "b.dns.gandi.net"], "expiration_date": ["2014-09-22T00:00:00"], "creation_date": ["2010-05-31T09:49:27", "2013-09-22T00:44:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: redd.it\nStatus: ok\nCreated: 2010-05-31 09:49:27\nLast Update: 2013-09-22 00:52:31\nExpire Date: 2014-09-22\n\nRegistrant\n Name: Corporation Service Company France\n Organization: Corporation Service Company France\n ContactID: DUP181111842\n Address: 68, rue du faubourg Saint Honore\n Paris\n 75008\n Paris\n FR\n Created: 2013-09-22 00:44:16\n Last Update: 2013-09-22 00:44:16\n\nAdmin Contact\n Name: GANDI CORPORATE\n Organization: GANDI CORPORATE\n ContactID: C4195-GANDI-EQUL\n\nTechnical Contacts\n Name: Domain Administrator\n Organization: Reddit Inc\n ContactID: R3511-GANDI-HIRR\n\nRegistrar\n Organization: Gandi SAS\n Name: GANDI-REG\n Web: http://www.gandi.net\n\nNameservers\n c.dns.gandi.net\n a.dns.gandi.net\n b.dns.gandi.net\n\n\n"], "registrar": ["Gandi SAS"]}

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2013-08-05T00:00:00"], "contacts": {"admin": null, "tech": {"city": "\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e21\u0e2b\u0e32\u0e19\u0e04\u0e23", "handle": "503400", "country": "TH", "street": "341 \u0e16\u0e19\u0e19\u0e2d\u0e48\u0e2d\u0e19\u0e19\u0e38\u0e0a\n\u0e41\u0e02\u0e27\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28 \u0e40\u0e02\u0e15\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28", "postalcode": "10250", "organization": "\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49(\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22)\u0e08\u0e33\u0e01\u0e31\u0e14"}, "registrant": {"city": "Bangkok", "district": "Prawet ,", "country": "TH", "street": "Ricoh (Thailand) Ltd.\n341 Onnuj Road,", "postalcode": "10250", "organization": "RICOH (THAILAND) CO., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49 (\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22) \u0e08\u0e33\u0e01\u0e31\u0e14)"}, "billing": null}, "nameservers": ["NS.CSCOMS.COM", "NS2.CSCOMS.COM"], "expiration_date": ["2014-11-04T00:00:00"], "creation_date": ["1999-11-05T00:00:00", "1999-11-05T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: RICOH.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.CSCOMS.COM\nName Server: NS2.CSCOMS.COM\nStatus: ACTIVE\nUpdated date: 5 Aug 2013\nCreated date: 5 Nov 1999\nRenew date: 5 Nov 2012\nExp date: 4 Nov 2014\nDomain Holder: RICOH (THAILAND) CO., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49 (\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22) \u0e08\u0e33\u0e01\u0e31\u0e14)\nRicoh (Thailand) Ltd.\n341 Onnuj Road, \nPrawet, Prawet , \nBangkok\n10250\nTH\n\nTech Contact: 503400\n\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49(\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22)\u0e08\u0e33\u0e01\u0e31\u0e14\n341 \u0e16\u0e19\u0e19\u0e2d\u0e48\u0e2d\u0e19\u0e19\u0e38\u0e0a \n\u0e41\u0e02\u0e27\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28 \u0e40\u0e02\u0e15\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28\n\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e21\u0e2b\u0e32\u0e19\u0e04\u0e23\n10250\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:34:18 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2012-02-01T00:00:00"], "contacts": {"admin": null, "tech": {"city": "bangkok", "handle": "37581", "street": "419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900", "country": "TH", "postalcode": "10900", "organization": "RS Promotion Public Co.,Ltd."}, "registrant": {"city": "BKK", "street": "419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900", "country": "TH", "postalcode": "10900", "organization": "RS. Promotion PCL. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2d\u0e32\u0e23\u0e4c.\u0e40\u0e2d\u0e2a.\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )"}, "billing": null}, "nameservers": ["CLARINET.ASIANET.CO.TH", "CONDUCTOR.ASIANET.CO.TH"], "expiration_date": ["2017-03-17T00:00:00"], "creation_date": ["2007-01-19T00:00:00", "2007-01-19T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: RS.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: CLARINET.ASIANET.CO.TH\nName Server: CONDUCTOR.ASIANET.CO.TH\nStatus: ACTIVE\nUpdated date: 1 Feb 2012\nCreated date: 19 Jan 2007\nRenew date: 18 Mar 2012\nExp date: 17 Mar 2017\nDomain Holder: RS. Promotion PCL. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2d\u0e32\u0e23\u0e4c.\u0e40\u0e2d\u0e2a.\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )\n419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900, BKK\n10900\nTH\n\nTech Contact: 37581\nRS Promotion Public Co.,Ltd.\n419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900, bangkok\n10900\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:34:24 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"updated_date": ["2011-11-11T18:48:29"], "status": ["clientTransferProhibited"], "contacts": {"admin": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "email": "domains@no-ip.com"}, "tech": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "organization": "Vitalwerks Internet Solutions, LLC", "email": "domains@no-ip.com"}, "registrant": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "organization": "Vitalwerks Internet Solutions, LLC", "email": "domains@no-ip.com"}, "billing": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "organization": "Vitalwerks Internet Solutions, LLC", "email": "domains@no-ip.com"}}, "nameservers": ["NF1.NO-IP.COM", "NF2.NO-IP.COM", "NF3.NO-IP.COM", "NF4.NO-IP.COM"], "expiration_date": ["2015-02-10T05:33:35"], "creation_date": ["2004-11-12T08:00:00", "2004-11-12T08:00:00"], "raw": ["Whois Server Version 2.0\n\nNOTICE: Access to No-IP.com WHOIS information is provided to assist persons in \ndetermining the contents of a domain name registration record in the No-IP.com\nregistrar database. The data in this record is provided by No-IP.com\nfor informational purposes only, and No-Ip.com does not guarantee its \naccuracy. This service is intended only for query-based access. You agree \nthat you will use this data only for lawful purposes and that, under no \ncircumstances will you use this data to: (a) allow, enable, or otherwise \nsupport the transmission by e-mail, telephone, or facsimile of mass \nunsolicited, commercial advertising or solicitations to entities other than \nthe data recipient's own existing customers; or (b) enable high volume, \nautomated, electronic processes that send queries or data to the systems of \nRegistry Operator or any ICANN-Accredited Registrar, except as reasonably \nnecessary to register domain names or modify existing registrations. All \nrights reserved. Public Interest Registry reserves the right to modify these terms at any \ntime. By submitting this query, you agree to abide by this policy. \n\n\nDomain Name: SERVEQUAKE.COM\nCreated On: 12-Nov-2004 08:00:00 UTC\nLast Updated On: 11-Nov-2011 18:48:29 UTC\nExpiration Date: 10-Feb-2015 05:33:35 UTC\nSponsoring Registrar: Vitalwerks Internet Solutions, LLC / No-IP.com\nRegistrant Name: No-IP.com, Domain Operations\nRegistrant Organization: Vitalwerks Internet Solutions, LLC\nRegistrant Street1: 5905 South Virginia St\nRegistrant Street2: Suite 200\nRegistrant City: Reno\nRegistrant State/Province: NV\nRegistrant Postal Code: 89502\nRegistrant Country: US\nRegistrant Phone: +1.7758531883\nRegistrant FAX: \nRegistrant Email: domains@no-ip.com\n\nAdmin Name: No-IP.com, Domain Operations\nAdmin Street1: 5905 South Virginia St\nAdmin Street2: Suite 200\nAdmin City: Reno\nAdmin State/Province: NV\nAdmin Postal Code: 89502\nAdmin Country: US\nAdmin Phone: +1.7758531883\nAdmin FAX: \nAdmin Email: domains@no-ip.com\n\nTech Name: No-IP.com, Domain Operations\nTech Organization: Vitalwerks Internet Solutions, LLC\nTech Street1: 5905 South Virginia St\nTech Street2: Suite 200\nTech City: Reno\nTech State/Province: NV\nTech Postal Code: 89502\nTech Country: US\nTech Phone: +1.7758531883\nTech FAX: \nTech Email: domains@no-ip.com\n\nBilling Name: No-IP.com, Domain Operations\nBilling Organization: Vitalwerks Internet Solutions, LLC\nBilling Street1: 5905 South Virginia St\nBilling Street2: Suite 200\nBilling City: Reno\nBilling State/Province: NV\nBilling Postal Code: 89502\nBilling Country: US\nBilling Phone: +1.7758531883\nBilling FAX: \nBilling Email: domains@no-ip.com\n\nName Server: NF1.NO-IP.COM\nName Server: NF2.NO-IP.COM\nName Server: NF3.NO-IP.COM\nName Server: NF4.NO-IP.COM\n\n", " Domain Name: SERVEQUAKE.COM\n Registrar: VITALWERKS INTERNET SOLUTIONS LLC DBA NO-IP\n Whois Server: whois.no-ip.com\n Referral URL: http://www.no-ip.com\n Name Server: NF1.NO-IP.COM\n Name Server: NF2.NO-IP.COM\n Name Server: NF3.NO-IP.COM\n Name Server: NF4.NO-IP.COM\n Status: clientTransferProhibited\n Updated Date: 11-nov-2011\n Creation Date: 10-feb-2000\n Expiration Date: 10-feb-2015\n"], "whois_server": ["whois.no-ip.com"], "registrar": ["Vitalwerks Internet Solutions, LLC / No-IP.com"]}

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2013-04-12T00:00:00"], "contacts": {"admin": null, "tech": {"city": "\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f", "handle": "15190", "country": "TH", "street": "991 \u0e28\u0e39\u0e19\u0e22\u0e4c\u0e01\u0e32\u0e23\u0e04\u0e49\u0e32 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e16.\u0e1e\u0e23\u0e30\u0e23\u0e32\u0e21 1 \u0e41\u0e02\u0e27\u0e07\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19 \u0e40\u0e02\u0e15\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19", "postalcode": "10330"}, "registrant": {"city": "BANGKOK", "street": "991 SIAM Paragon Shopping Center RAMA1 ROAD\nPATUMWAN", "country": "TH", "postalcode": "10330", "organization": "SIAM PARAGON DEVELOPMENT CO., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e14\u0e35\u0e40\u0e27\u0e25\u0e25\u0e2d\u0e1b\u0e40\u0e21\u0e49\u0e19\u0e17\u0e4c \u0e08\u0e33\u0e01\u0e31\u0e14)"}, "billing": null}, "nameservers": ["NS.BEENETS.COM", "NS2.BEENETS.COM"], "expiration_date": ["2016-03-24T00:00:00"], "creation_date": ["2002-03-25T00:00:00", "2002-03-25T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: SIAMPARAGON.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.BEENETS.COM\nName Server: NS2.BEENETS.COM\nStatus: ACTIVE\nUpdated date: 12 Apr 2013\nCreated date: 25 Mar 2002\nRenew date: 25 Mar 2013\nExp date: 24 Mar 2016\nDomain Holder: SIAM PARAGON DEVELOPMENT CO., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e14\u0e35\u0e40\u0e27\u0e25\u0e25\u0e2d\u0e1b\u0e40\u0e21\u0e49\u0e19\u0e17\u0e4c \u0e08\u0e33\u0e01\u0e31\u0e14)\n991 SIAM Paragon Shopping Center RAMA1 ROAD, PATUMWAN, BANGKOK\n10330\nTH\n\nTech Contact: 15190\n991 \u0e28\u0e39\u0e19\u0e22\u0e4c\u0e01\u0e32\u0e23\u0e04\u0e49\u0e32 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e16.\u0e1e\u0e23\u0e30\u0e23\u0e32\u0e21 1 \u0e41\u0e02\u0e27\u0e07\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19 \u0e40\u0e02\u0e15\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19 \u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f\n10330\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:32:46 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2009-09-10T00:00:00"], "contacts": {"admin": null, "tech": {"city": "\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f", "handle": "24897", "district": "\u0e41\u0e02\u0e27\u0e07\u0e17\u0e38\u0e48\u0e07\u0e2a\u0e2d\u0e07\u0e2b\u0e49\u0e2d\u0e07 \u0e40\u0e02\u0e15\u0e2b\u0e25\u0e31\u0e01\u0e2a\u0e35\u0e48", "country": "TH", "street": "2/4 \u0e2d\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c\u0e2a\u0e32\u0e21\u0e31\u0e04\u0e04\u0e35\u0e1b\u0e23\u0e30\u0e01\u0e31\u0e19\u0e20\u0e31\u0e22 \u0e0a\u0e31\u0e49\u0e19 10 \u0e16\u0e19\u0e19\u0e27\u0e34\u0e20\u0e32\u0e27\u0e14\u0e35\u0e23\u0e31\u0e07\u0e2a\u0e34\u0e15", "postalcode": "10210", "organization": "\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e04\u0e40\u0e2d\u0e2a\u0e0b\u0e35 \u0e04\u0e2d\u0e21\u0e40\u0e21\u0e2d\u0e23\u0e4c\u0e40\u0e0a\u0e35\u0e22\u0e25 \u0e2d\u0e34\u0e19\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e15 \u0e08\u0e33\u0e01\u0e31\u0e14"}, "registrant": {"city": "388 Sukhumvit Road", "district": "Klongtoey", "state": "Bangkok", "street": "12th floor,Exchange Tower", "country": "TH", "postalcode": "10110", "organization": "Starbucks Coffee ( Thailand ) Co., Ltd."}, "billing": null}, "nameservers": ["NS.KSC.CO.TH", "NS2.KSC.CO.TH"], "expiration_date": ["2014-12-16T00:00:00"], "creation_date": ["2003-06-17T00:00:00", "2003-06-17T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: STARBUCKS.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.KSC.CO.TH\nName Server: NS2.KSC.CO.TH\nStatus: ACTIVE\nUpdated date: 10 Sep 2009\nCreated date: 17 Jun 2003\nRenew date: 17 Jun 2003\nExp date: 16 Dec 2014\nDomain Holder: Starbucks Coffee ( Thailand ) Co., Ltd.\n12th floor,Exchange Tower, 388 Sukhumvit Road, Klongtoey, Bangkok\n10110\nTH\n\nTech Contact: 24897\n\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e04\u0e40\u0e2d\u0e2a\u0e0b\u0e35 \u0e04\u0e2d\u0e21\u0e40\u0e21\u0e2d\u0e23\u0e4c\u0e40\u0e0a\u0e35\u0e22\u0e25 \u0e2d\u0e34\u0e19\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e15 \u0e08\u0e33\u0e01\u0e31\u0e14\n2/4 \u0e2d\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c\u0e2a\u0e32\u0e21\u0e31\u0e04\u0e04\u0e35\u0e1b\u0e23\u0e30\u0e01\u0e31\u0e19\u0e20\u0e31\u0e22 \u0e0a\u0e31\u0e49\u0e19 10 \u0e16\u0e19\u0e19\u0e27\u0e34\u0e20\u0e32\u0e27\u0e14\u0e35\u0e23\u0e31\u0e07\u0e2a\u0e34\u0e15 \n\u0e41\u0e02\u0e27\u0e07\u0e17\u0e38\u0e48\u0e07\u0e2a\u0e2d\u0e07\u0e2b\u0e49\u0e2d\u0e07 \u0e40\u0e02\u0e15\u0e2b\u0e25\u0e31\u0e01\u0e2a\u0e35\u0e48 \u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f\n10210\nTH\n\n\n\n>>> Last update of whois data: Tue, 24 Jun 2014 04:58:54 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2013-10-16T00:43:15", "2012-04-27T15:13:45"], "contacts": {"admin": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "tech": {"city": "Bergamo", "handle": "2409-REGT", "name": "Technical Support", "state": "BG", "street": "Via Zanchi 22", "country": "IT", "postalcode": "24126", "organization": "Register.it S.p.A.", "creationdate": "2009-09-28T11:01:09", "changedate": "2012-04-27T15:13:45"}, "registrant": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "billing": null}, "nameservers": ["ns1.softlayer.com", "ns2.softlayer.com"], "expiration_date": ["2014-09-30T00:00:00"], "creation_date": ["1997-09-26T00:00:00", "2009-09-28T11:01:09"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: tip.it\nStatus: ok\nCreated: 1997-09-26 00:00:00\nLast Update: 2013-10-16 00:43:15\nExpire Date: 2014-09-30\n\nRegistrant\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nAdmin Contact\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nTechnical Contacts\n Name: Technical Support\n Organization: Register.it S.p.A.\n ContactID: 2409-REGT\n Address: Via Zanchi 22\n Bergamo\n 24126\n BG\n IT\n Created: 2009-09-28 11:01:09\n Last Update: 2012-04-27 15:13:45\n\nRegistrar\n Organization: Register.it s.p.a.\n Name: REGISTER-REG\n\nNameservers\n ns1.softlayer.com\n ns2.softlayer.com\n\n\n"], "registrar": ["Register.it s.p.a."]}

@ -0,0 +1 @@
{"status": ["ACTIVE"], "updated_date": ["2014-01-20T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Bang Bor", "handle": "92144", "state": "Samutprakarn", "street": "99 Moo 5\nBangna-Trad K.M. 29.5 Rd.\nBan-Ragad,", "country": "TH", "postalcode": "10560", "organization": "Toyota Motor Asia Pacific Engineering &amp; Manufacturing Co.,Ltd."}, "registrant": {"city": "Samrong Tai", "district": "PhraPradaeng", "state": "Samut Prakan", "street": "186/1 Mu1 Old Railway Rd.", "country": "TH", "postalcode": "10130", "organization": "Toyota Motor Thailand Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e42\u0e15\u0e42\u0e22\u0e15\u0e49\u0e32 \u0e21\u0e2d\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 \u0e08\u0e33\u0e01\u0e31\u0e14 )"}, "billing": null}, "nameservers": ["NS1.NTT.CO.TH", "NS1.TOYOTA.CO.TH", "NS2.TOYOTA.CO.TH"], "expiration_date": ["2015-01-16T00:00:00"], "creation_date": ["1999-01-17T00:00:00", "1999-01-17T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: TOYOTA.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS1.NTT.CO.TH\nName Server: NS1.TOYOTA.CO.TH\nName Server: NS2.TOYOTA.CO.TH\nStatus: ACTIVE\nUpdated date: 20 Jan 2014\nCreated date: 17 Jan 1999\nRenew date: 17 Jan 2014\nExp date: 16 Jan 2015\nDomain Holder: Toyota Motor Thailand Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e42\u0e15\u0e42\u0e22\u0e15\u0e49\u0e32 \u0e21\u0e2d\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 \u0e08\u0e33\u0e01\u0e31\u0e14 )\n186/1 Mu1 Old Railway Rd., Samrong Tai, PhraPradaeng, Samut Prakan\n10130\nTH\n\nTech Contact: 92144\nToyota Motor Asia Pacific Engineering &amp; Manufacturing Co.,Ltd.\n99 Moo 5, Bangna-Trad K.M. 29.5 Rd., Ban-Ragad, \nBang Bor, Samutprakarn\n10560\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:34:06 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["Active", "Complete"], "contacts": {"admin": {"handle": "HK3507379T", "name": "AMAZING SHREK", "firstname": "AMAZING", "country": "HK", "phone": "+852-123456", "street": "HK", "lastname": "SHREK", "organization": "UNWIRE LIMITED", "email": "mkt@bmedia.hk"}, "tech": {"name": "CHEUNG", "country": "HK", "phone": "+852-123456", "street": "HK", "lastname": "CHEUNG", "organization": "UNWIRE LIMITED", "email": "mkt@bmedia.hk"}, "registrant": {"country": "HK", "street": "HK", "organization": "UNWIRE LIMITED", "email": "mkt@bmedia.hk"}, "billing": null}, "nameservers": ["NORM.NS.CLOUDFLARE.COM", "ZOE.NS.CLOUDFLARE.COM"], "expiration_date": ["2021-06-24T00:00:00"], "creation_date": ["2009-06-24T00:00:00", "2009-06-24T00:00:00"], "raw": [" \n -------------------------------------------------------------------------------\n Whois server by HKIRC\n -------------------------------------------------------------------------------\n .hk top level Domain names can be registered via HKIRC-Accredited Registrars. \n Go to https://www.hkirc.hk/content.jsp?id=280 for details. \n -------------------------------------------------------------------------------\n\n\n\nDomain Name: UNWIRE.HK \n\nDomain Status: Active \n\nContract Version: HKDNR latest version \n\nRegistrar Name: Hong Kong Domain Name Registration Company Limited\n\nRegistrar Contact Information: Email: enquiry@hkdnr.hk Hotline: +852 2319 1313 \n\nReseller: \n\n\n\n\nRegistrant Contact Information:\n\nCompany English Name (It should be the same as the registered/corporation name on your Business Register Certificate or relevant documents): UNWIRE LIMITED\nCompany Chinese name: \nAddress: HK \nCountry: HK\nEmail: mkt@bmedia.hk \nDomain Name Commencement Date: 24-06-2009\nExpiry Date: 24-06-2021 \nRe-registration Status: Complete \n\n\n\nAdministrative Contact Information:\n\nGiven name: AMAZING \nFamily name: SHREK \nCompany name: UNWIRE LIMITED\nAddress: HK \nCountry: HK\nPhone: +852-123456\nFax: \nEmail: mkt@bmedia.hk\nAccount Name: HK3507379T\n\n\n\n\nTechnical Contact Information:\n\nFamily name: CHEUNG \nCompany name: UNWIRE LIMITED\nAddress: HK \nCountry: HK\nPhone: +852-123456\nFax: \nEmail: mkt@bmedia.hk\n\n\n\n\nName Servers Information:\n\nNORM.NS.CLOUDFLARE.COM\nZOE.NS.CLOUDFLARE.COM\n\n\n\nStatus Information:\n\nDomain Prohibit Status: \n\n\n\n -------------------------------------------------------------------------------\n The Registry contains ONLY .com.hk, .net.hk, .edu.hk, .org.hk,\n .gov.hk, idv.hk. and .hk $domains.\n -------------------------------------------------------------------------------\n\nWHOIS Terms of Use \nBy using this WHOIS search enquiry service you agree to these terms of use.\nThe data in HKDNR's WHOIS search engine is for information purposes only and HKDNR does not guarantee the accuracy of the data. The data is provided to assist people to obtain information about the registration record of domain names registered by HKDNR. You agree to use the data for lawful purposes only.\n\nYou are not authorised to use high-volume, electronic or automated processes to access, query or harvest data from this WHOIS search enquiry service.\n\nYou agree that you will not and will not allow anyone else to:\n\na. use the data for mass unsolicited commercial advertising of any sort via any medium including telephone, email or fax; or\n\nb. enable high volume, automated or electronic processes that apply to HKDNR or its computer systems including the WHOIS search enquiry service; or\n\nc. without the prior written consent of HKDNR compile, repackage, disseminate, disclose to any third party or use the data for a purpose other than obtaining information about a domain name registration record; or\n\nd. use such data to derive an economic benefit for yourself.\n\nHKDNR in its sole discretion may terminate your access to the WHOIS search enquiry service (including, without limitation, blocking your IP address) at any time including, without limitation, for excessive use of the WHOIS search enquiry service.\n\nHKDNR may modify these terms of use at any time by publishing the modified terms of use on its website.\n\n\n\n\n\n\n\n"], "registrar": ["Hong Kong Domain Name Registration Company Limited"], "emails": ["enquiry@hkdnr.hk"]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "535", "fax": "2-22188924", "name": "Ben Chen", "phone": "2-22185452 ext. 6557", "street": "8F", "organization": "\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.", "country": "Chung-Cheng Rd. Hsin-Tien", "email": "BenChen@via.com.tw"}, "billing": null}, "nameservers": ["tpns1.viatech.com.tw", "frns1.viatech.com.tw", "bjns1.viatech.com.tw"], "expiration_date": ["2024-05-31T00:00:00", "2024-05-31T00:00:00"], "creation_date": ["1985-05-20T00:00:00", "1985-05-20T00:00:00"], "raw": ["Domain Name: via.com.tw\nRegistrant:\n\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.\n8F, 535, Chung-Cheng Rd. Hsin-Tien\n\n Contact:\n Ben Chen BenChen@via.com.tw\n TEL: 2-22185452#6557\n FAX: 2-22188924\n\n Record expires on 2024-05-31 (YYYY-MM-DD)\n Record created on 1985-05-20 (YYYY-MM-DD)\n\n Domain servers in listed order:\n tpns1.viatech.com.tw 61.66.243.23\n frns1.viatech.com.tw 12.47.63.7\n bjns1.viatech.com.tw 152.104.150.2\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}

@ -0,0 +1 @@
{"updated_date": ["2014-06-01T00:00:00"], "contacts": {"admin": {"handle": "mj205-irnic", "phone": "+982623554491", "street": "Andishe\nFaz 3\nMahale 23 St.\nShahed St.\nBaharan St.\nNo. 12,", "city": "Shahraiar", "name": "Mohsen Jadidi", "country": "IR", "state": "Tehran", "email": "mnjadidi@gmail.com"}, "tech": {"handle": "mj205-irnic", "phone": "+982623554491", "street": "Andishe\nFaz 3\nMahale 23 St.\nShahed St.\nBaharan St.\nNo. 12,", "city": "Shahraiar", "name": "Mohsen Jadidi", "country": "IR", "state": "Tehran", "email": "mnjadidi@gmail.com"}, "registrant": {"handle": "mj205-irnic", "phone": "+982623554491", "street": "Andishe\nFaz 3\nMahale 23 St.\nShahed St.\nBaharan St.\nNo. 12,", "city": "Shahraiar", "name": "Mohsen Jadidi", "country": "IR", "state": "Tehran", "email": "mnjadidi@gmail.com"}, "billing": null}, "nameservers": ["ns1.webmasir.com", "ns2.webmasir.com"], "expiration_date": ["2017-03-03T00:00:00"], "raw": ["% This is the IRNIC Whois server v1.6.2.\n% Available on web at http://whois.nic.ir/\n% Find the terms and conditions of use on http://www.nic.ir/\n% \n% This server uses UTF-8 as the encoding for requests and responses.\n\n% NOTE: This output has been filtered.\n\n% Information related to 'whoiser.ir'\n\n\ndomain:\t\twhoiser.ir\nascii:\t\twhoiser.ir\nremarks:\t(Domain Holder) Mohsen Jadidi\nremarks:\t(Domain Holder Address) Andishe, Faz 3, Mahale 23 St., Shahed St., Baharan St., No. 12,, Shahraiar, Tehran, IR\nholder-c:\tmj205-irnic\nadmin-c:\tmj205-irnic\ntech-c:\t\tmj205-irnic\nnserver:\tns1.webmasir.com\nnserver:\tns2.webmasir.com\nlast-updated:\t2014-06-01\nexpire-date:\t2017-03-03\nsource:\t\tIRNIC # Filtered\n\nnic-hdl:\tmj205-irnic\nperson:\t\tMohsen Jadidi\ne-mail:\t\tmnjadidi@gmail.com\naddress:\tAndishe, Faz 3, Mahale 23 St., Shahed St., Baharan St., No. 12,, Shahraiar, Tehran, IR\nphone:\t\t+982623554491\nsource:\t\tIRNIC # Filtered\n\n\n"]}

@ -0,0 +1 @@
{"contacts": {"admin": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "tech": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "registrant": {"city": "Sunnyvale", "fax": "+1.4083493301", "name": "Domain Administrator", "country": "US", "phone": "+1.4083493300", "state": "CA", "street": "701 First Avenue", "organization": "Yahoo! Inc.", "email": "domainadmin@yahoo-inc.com"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com", "ns4.yahoo.com", "ns5.yahoo.com"], "expiration_date": ["2019-07-12T00:00:00", "2019-07-12T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: yahoo.com.tw\n Registrant:\n Yahoo! Inc.\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n 701 First Avenue \n Sunnyvale, CA\n US\n\n Administrative Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Technical Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Record expires on 2019-07-12 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.yahoo.com \n ns2.yahoo.com \n ns3.yahoo.com \n ns4.yahoo.com \n ns5.yahoo.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2013-12-06T00:48:58", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "contacts": {"admin": {"city": "Milano", "handle": "DUP975799853", "name": "Martini Massimo Ernesto Aldo", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "creationdate": "2012-11-02T07:30:15", "changedate": "2012-11-02T07:30:15"}, "tech": {"city": "Sunnyvale", "handle": "DUP285050789", "name": "Yahoo Inc", "state": "CALIFORNIA", "street": "Domain Administrator\n701 First Avenue", "country": "US", "postalcode": "94089", "creationdate": "2012-11-02T07:30:16", "changedate": "2012-11-02T07:30:16"}, "registrant": {"city": "Milano", "handle": "DUP211874838", "name": "Yahoo! Italia S.r.l.", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "organization": "Yahoo! Italia S.r.l.", "creationdate": "2012-11-02T07:30:15", "changedate": "2012-11-02T07:30:15"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns5.yahoo.com", "ns7.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com"], "expiration_date": ["2014-11-20T00:00:00"], "creation_date": ["1998-05-11T00:00:00", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: yahoo.it\nStatus: ok\nCreated: 1998-05-11 00:00:00\nLast Update: 2013-12-06 00:48:58\nExpire Date: 2014-11-20\n\nRegistrant\n Name: Yahoo! Italia S.r.l.\n Organization: Yahoo! Italia S.r.l.\n ContactID: DUP211874838\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nAdmin Contact\n Name: Martini Massimo Ernesto Aldo\n ContactID: DUP975799853\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nTechnical Contacts\n Name: Yahoo Inc\n ContactID: DUP285050789\n Address: Domain Administrator\n 701 First Avenue\n Sunnyvale\n 94089\n CALIFORNIA\n US\n Created: 2012-11-02 07:30:16\n Last Update: 2012-11-02 07:30:16\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.yahoo.com\n ns5.yahoo.com\n ns7.yahoo.com\n ns2.yahoo.com\n ns3.yahoo.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2013-12-25T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Bangkok", "handle": "85476", "street": "296 Phayathai Road Ratchathewi", "country": "TH", "postalcode": "10400", "organization": "Asia Hotel Public Co.,Ltd."}, "registrant": {"city": "Bangkok", "street": "296 Phayathai Road Ratchathewi", "country": "TH", "postalcode": "10400", "organization": "Asia Hotel Public Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e2d\u0e40\u0e0a\u0e35\u0e22\u0e42\u0e2e\u0e40\u0e15\u0e47\u0e25 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )"}, "billing": null}, "nameservers": ["ns1.asiahotel.co.th", "ns2.asiahotel.co.th"], "expiration_date": ["2017-01-16T00:00:00"], "creation_date": ["1999-01-17T00:00:00", "1999-01-17T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: ASIAHOTEL.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS1.ASIAHOTEL.CO.TH\nName Server: NS2.ASIAHOTEL.CO.TH\nStatus: ACTIVE\nUpdated date: 25 Dec 2013\nCreated date: 17 Jan 1999\nRenew date: 17 Jan 2014\nExp date: 16 Jan 2017\nDomain Holder: Asia Hotel Public Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e2d\u0e40\u0e0a\u0e35\u0e22\u0e42\u0e2e\u0e40\u0e15\u0e47\u0e25 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )\n296 Phayathai Road Ratchathewi, Bangkok\n10400\nTH\n\nTech Contact: 85476\nAsia Hotel Public Co.,Ltd.\n296 Phayathai Road Ratchathewi, Bangkok\n10400\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 14:54:30 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2009-07-18T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Bangkok", "handle": "74252", "street": "304 Suapha Rd.\nPomprab\nPomprab Suttruphai", "country": "TH", "postalcode": "10110", "organization": "Loxley Information Services Co., Ltd."}, "registrant": {"city": "Bangkok", "street": "BTS Building\nPhaholyothin Rd.,Lardpao\nChatujak", "country": "TH", "postalcode": "10900", "organization": "Bangkok Mass Transit System Public Company Limited (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e30\u0e1a\u0e1a\u0e02\u0e19\u0e2a\u0e48\u0e07\u0e21\u0e27\u0e25\u0e0a\u0e19\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19))"}, "billing": null}, "nameservers": ["ns.loxinfo.co.th", "ns.tnet.co.th"], "expiration_date": ["2021-08-03T00:00:00"], "creation_date": ["1999-08-04T00:00:00", "1999-08-04T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: BTS.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.LOXINFO.CO.TH\nName Server: NS.TNET.CO.TH\nStatus: ACTIVE\nUpdated date: 18 Jul 2009\nCreated date: 4 Aug 1999\nRenew date: 4 Aug 1999\nExp date: 3 Aug 2021\nDomain Holder: Bangkok Mass Transit System Public Company Limited (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e30\u0e1a\u0e1a\u0e02\u0e19\u0e2a\u0e48\u0e07\u0e21\u0e27\u0e25\u0e0a\u0e19\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19))\nBTS Building, Phaholyothin Rd.,Lardpao, Chatujak, Bangkok\n10900\nTH\n\nTech Contact: 74252\nLoxley Information Services Co., Ltd.\n304 Suapha Rd., Pomprab, Pomprab Suttruphai, Bangkok\n10110\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:32:41 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsin-Chu", "fax": "(03)5646929", "name": "Alan Ma", "phone": "(03)5798797 ext. 8566", "street": "No. 6 Li-Hsin Rd. VI\nScience-Based Park", "organization": "\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.", "country": "Taiwan, R.O.C.", "email": "alan_ma@davicom.com.tw"}, "billing": null}, "nameservers": ["davicom.com.tw"], "expiration_date": ["2017-05-31T00:00:00", "2017-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: davicom.com.tw\nRegistrant:\n\u806f\u5091\u570b\u969b\u80a1\u4efd\u6709\u9650\u516c\u53f8\nDavicom Semiconductor, Inc.\nNo. 6 Li-Hsin Rd. VI, Science-Based Park, Hsin-Chu, Taiwan, R.O.C.\n\n Contact:\n Alan Ma alan_ma@davicom.com.tw\n TEL: (03)5798797 #8566\n FAX: (03)5646929\n\n Record expires on 2017-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n davicom.com.tw 60.250.193.73 \n davicom.com.tw 202.39.11.22 \n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}

@ -0,0 +1 @@
{"updated_date": ["2011-04-09T00:00:00"], "contacts": {"admin": {"city": "Ciudad de Mexico", "state": "Distrito Federal", "name": "Alejandra Aguirre", "country": "Mexico"}, "tech": {"city": "Ciudad de Mexico", "state": "Distrito Federal", "name": "Alejandra Aguirre", "country": "Mexico"}, "registrant": {"city": "Mexico", "state": "Distrito Federal", "name": "Expo Pak S.A. DE C.V.", "country": "Mexico"}, "billing": {"city": "Ciudad de Mexico", "state": "Distrito Federal", "name": "Alejandra Aguirre", "country": "Mexico"}}, "nameservers": ["ns1.nuestrosite.com", "ns2.nuestrosite.com"], "expiration_date": ["2015-10-06T00:00:00"], "creation_date": ["1999-10-07T00:00:00", "1999-10-07T00:00:00"], "raw": ["\nDomain Name: expopack.com.mx\n\nCreated On: 1999-10-07\nExpiration Date: 2015-10-06\nLast Updated On: 2011-04-09\nRegistrar: Akky (Una division de NIC Mexico)\nURL: http://www.akky.mx\nWhois TCP URI: whois.akky.mx\nWhois Web URL: http://www.akky.mx/jsf/whois/whois.jsf\n\nRegistrant:\n Name: EXPO PAK S.A. DE C.V.\n City: Mexico\n State: Distrito Federal\n Country: Mexico\n\nAdministrative Contact:\n Name: Alejandra Aguirre\n City: Ciudad de Mexico\n State: Distrito Federal\n Country: Mexico\n\nTechnical Contact:\n Name: Alejandra Aguirre\n City: Ciudad de Mexico\n State: Distrito Federal\n Country: Mexico\n\nBilling Contact:\n Name: Alejandra Aguirre\n City: Ciudad de Mexico\n State: Distrito Federal\n Country: Mexico\n\nName Servers:\n DNS: ns1.nuestrosite.com \n DNS: ns2.nuestrosite.com \n\n\n% NOTICE: The expiration date displayed in this record is the date the\n% registrar's sponsorship of the domain name registration in the registry is\n% currently set to expire. This date does not necessarily reflect the\n% expiration date of the domain name registrant's agreement with the sponsoring\n% registrar. Users may consult the sponsoring registrar's Whois database to\n% view the registrar's reported date of expiration for this registration.\n\n% The requested information (\"Information\") is provided only for the delegation\n% of domain names and the operation of the DNS administered by NIC Mexico.\n\n% It is absolutely prohibited to use the Information for other purposes, \n% including sending not requested emails for advertising or promoting products\n% and services purposes (SPAM) without the authorization of the owners of the\n% Information and NIC Mexico.\n\n% The database generated from the delegation system is protected by the\n% intellectual property laws and all international treaties on the matter.\n\n% If you need more information on the records displayed here, please contact us\n% by email at ayuda@nic.mx .\n\n% If you want notify the receipt of SPAM or unauthorized access, please send a\n% email to abuse@nic.mx .\n\n% NOTA: La fecha de expiracion mostrada en esta consulta es la fecha que el\n% registrar tiene contratada para el nombre de dominio en el registry. Esta\n% fecha no necesariamente refleja la fecha de expiracion del nombre de dominio\n% que el registrante tiene contratada con el registrar. Puede consultar la base\n% de datos de Whois del registrar para ver la fecha de expiracion reportada por\n% el registrar para este nombre de dominio.\n\n% La informacion que ha solicitado se provee exclusivamente para fines\n% relacionados con la delegacion de nombres de dominio y la operacion del DNS\n% administrado por NIC Mexico.\n\n% Queda absolutamente prohibido su uso para otros propositos, incluyendo el\n% envio de Correos Electronicos no solicitados con fines publicitarios o de\n% promocion de productos y servicios (SPAM) sin mediar la autorizacion de los\n% afectados y de NIC Mexico.\n\n% La base de datos generada a partir del sistema de delegacion, esta protegida\n% por las leyes de Propiedad Intelectual y todos los tratados internacionales\n% sobre la materia.\n\n% Si necesita mayor informacion sobre los registros aqui mostrados, favor de\n% comunicarse a ayuda@nic.mx.\n\n% Si desea notificar sobre correo no solicitado o accesos no autorizados, favor\n% de enviar su mensaje a abuse@nic.mx.\n\n\n"], "registrar": ["Akky (Una division de NIC Mexico)"], "emails": ["ayuda@nic.mx", "abuse@nic.mx"]}

@ -0,0 +1 @@
{"status": ["Connected (2015/03/31)"], "updated_date": ["2014-04-01T01:18:23"], "contacts": {"admin": {"handle": "DL152JP"}, "tech": {"handle": "TW124137JP"}, "registrant": {"organization": "Google Japan"}, "billing": null}, "nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"], "creation_date": ["2001-03-22T00:00:00"], "raw": ["[ JPRS database provides information on network administration. Its use is ]\n[ restricted to network administration purposes. For further information, ]\n[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]\n[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]\n[ ]\n[ Notice -------------------------------------------------------------------- ]\n[ JPRS will change JPRS WHOIS (web-based and port 43 Whois service) about the ]\n[ following two points on January 18, 2015. ]\n[ ]\n[ 1) Change of the format of response about gTLD domain name ]\n[ 2) Change of the character encoding ]\n[ ]\n[ For further information, please see the following webpage. ]\n[ http://jprs.jp/whatsnew/notice/2014/20140319-whois.html (only in Japanese) ]\n[ --------------------------------------------------------------------------- ]\n\nDomain Information:\na. [Domain Name] GOOGLE.CO.JP\ng. [Organization] Google Japan\nl. [Organization Type] corporation\nm. [Administrative Contact] DL152JP\nn. [Technical Contact] TW124137JP\np. [Name Server] ns1.google.com\np. [Name Server] ns2.google.com\np. [Name Server] ns3.google.com\np. [Name Server] ns4.google.com\ns. [Signing Key] \n[State] Connected (2015/03/31)\n[Registered Date] 2001/03/22\n[Connected Date] 2001/03/22\n[Last Update] 2014/04/01 01:18:23 (JST)\n\n\n"]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2014-06-19T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Boise", "handle": "491182", "state": "ID", "street": "391 N. Ancestor PL", "country": "US", "postalcode": "83704", "organization": "Markmonitor"}, "registrant": {"city": "Mountain View", "state": "CA", "street": "1600 Amphitheatre Parkway", "country": "US", "postalcode": "94043", "organization": "Google Inc."}, "billing": null}, "nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"], "expiration_date": ["2014-10-07T00:00:00"], "creation_date": ["2004-10-08T00:00:00", "2004-10-08T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: GOOGLE.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS1.GOOGLE.COM\nName Server: NS2.GOOGLE.COM\nName Server: NS3.GOOGLE.COM\nName Server: NS4.GOOGLE.COM\nStatus: ACTIVE\nUpdated date: 19 Jun 2014\nCreated date: 8 Oct 2004\nRenew date: 8 Oct 2013\nExp date: 7 Oct 2014\nDomain Holder: Google Inc.\n1600 Amphitheatre Parkway\nMountain View, CA 94043\n94043\nUS\n\nTech Contact: 491182\nMarkmonitor\n391 N. Ancestor PL \nBoise ID\n83704\nUS\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 15:46:58 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"contacts": {"admin": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "tech": {"phone": "+1.6502530000", "fax": "+1.6506188571", "name": "DNS Admin", "email": "dns-admin@google.com"}, "registrant": {"city": "Mountain View", "fax": "+1.6506188571", "name": "DNS Admin", "country": "US", "phone": "+1.6502530000", "state": "CA", "street": "1600 Amphitheatre Parkway", "organization": "Google Inc.", "email": "dns-admin@google.com"}, "billing": null}, "nameservers": ["ns1.google.com", "ns2.google.com", "ns3.google.com", "ns4.google.com"], "expiration_date": ["2014-11-09T00:00:00", "2014-11-09T00:00:00"], "creation_date": ["2000-08-29T00:00:00", "2000-08-29T00:00:00"], "raw": ["Domain Name: google.com.tw\n Registrant:\n Google Inc.\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n 1600 Amphitheatre Parkway \n Mountain View, CA\n US\n\n Administrative Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Technical Contact:\n DNS Admin dns-admin@google.com\n +1.6502530000\n +1.6506188571\n\n Record expires on 2014-11-09 (YYYY-MM-DD)\n Record created on 2000-08-29 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.google.com \n ns2.google.com \n ns3.google.com \n ns4.google.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2014-05-07T00:52:45", "2013-04-21T01:05:35"], "contacts": {"admin": {"city": "Dublin", "handle": "DUP142437129", "name": "Tsao Tu", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Tu Tsao", "creationdate": "2013-04-21T01:05:35", "changedate": "2013-04-21T01:05:35"}, "tech": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21T01:05:35", "changedate": "2013-04-21T01:05:35"}, "registrant": {"city": "Dublin", "handle": "DUP430692088", "name": "Google Ireland Holdings", "state": "IE", "street": "70 Sir John Rogersons Quay", "country": "IE", "postalcode": "2", "organization": "Google Ireland Holdings", "creationdate": "2013-04-21T01:05:35", "changedate": "2013-04-21T01:05:35"}, "billing": null}, "nameservers": ["ns1.google.com", "ns4.google.com", "ns2.google.com", "ns3.google.com"], "expiration_date": ["2015-04-21T00:00:00"], "creation_date": ["1999-12-10T00:00:00", "2013-04-21T01:05:35"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: google.it\nStatus: ok\nCreated: 1999-12-10 00:00:00\nLast Update: 2014-05-07 00:52:45\nExpire Date: 2015-04-21\n\nRegistrant\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nAdmin Contact\n Name: Tsao Tu\n Organization: Tu Tsao\n ContactID: DUP142437129\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nTechnical Contacts\n Name: Google Ireland Holdings\n Organization: Google Ireland Holdings\n ContactID: DUP430692088\n Address: 70 Sir John Rogersons Quay\n Dublin\n 2\n IE\n IE\n Created: 2013-04-21 01:05:35\n Last Update: 2013-04-21 01:05:35\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.google.com\n ns4.google.com\n ns2.google.com\n ns3.google.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]}

@ -0,0 +1 @@
{"updated_date": ["2010-05-09T00:00:00"], "contacts": {"admin": {"fax": "+98 21 2229 5700", "handle": "ir00-irnic", "phone": "+98 21 2229 0306", "street": "Shahid Bahonar (Niavaran) Sq.", "city": "Tehran", "country": "IR", "state": "Tehran", "organization": "Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)", "email": "info@nic.ir"}, "tech": {"handle": "as51-irnic", "name": "Alireza Saleh", "email": "arsaleh@gmail.com"}, "registrant": {"fax": "+98 21 2229 5700", "handle": "ir00-irnic", "phone": "+98 21 2229 0306", "street": "Shahid Bahonar (Niavaran) Sq.", "city": "Tehran", "country": "IR", "state": "Tehran", "organization": "Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)", "email": "info@nic.ir"}, "billing": null}, "nameservers": ["ns1.nic.ir", "ns.nic.ir", "ns5.univie.ac.at", "auth51.ns.uu.net"], "expiration_date": ["2015-05-26T00:00:00"], "raw": ["% This is the IRNIC Whois server v1.6.2.\n% Available on web at http://whois.nic.ir/\n% Find the terms and conditions of use on http://www.nic.ir/\n% \n% This server uses UTF-8 as the encoding for requests and responses.\n\n% NOTE: This output has been filtered.\n\n% Information related to 'nic.ir'\n\n\ndomain:\t\tnic.ir\nascii:\t\tnic.ir\nremarks:\t(Domain Holder) Dot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)\nremarks:\t(Domain Holder Address) Shahid Bahonar (Niavaran) Sq., Tehran, Tehran, IR\nholder-c:\tir00-irnic\nadmin-c:\tir00-irnic\ntech-c:\t\tas51-irnic\nnserver:\tns1.nic.ir\nnserver:\tns.nic.ir\nnserver:\tns5.univie.ac.at\nnserver:\tauth51.ns.uu.net\nlast-updated:\t2010-05-09\nexpire-date:\t2015-05-26\nsource:\t\tIRNIC # Filtered\n\nnic-hdl:\tir00-irnic\norg:\t\tDot-IR (.ir) ccTLD Registry, Institute for Studies in Theoretical Physics and Mathematics (IPM)\ne-mail:\t\tinfo@nic.ir\naddress:\tShahid Bahonar (Niavaran) Sq., Tehran, Tehran, IR\nphone:\t\t+98 21 2229 0306\nfax-no:\t\t+98 21 2229 5700\nsource:\t\tIRNIC # Filtered\n\nnic-hdl:\tas51-irnic\nperson:\t\tAlireza Saleh\ne-mail:\t\tarsaleh@gmail.com\nsource:\t\tIRNIC # Filtered\n\ndomain:\t\tnic.ir\nascii:\t\tnic.ir\nremarks:\tThis domain is only available for registration under certain conditions\nsource:\t\tIRNIC # Filtered\n\n\n"]}

@ -0,0 +1 @@
{"status": ["Connected (2015/03/31)"], "updated_date": ["2014-04-01T01:10:41"], "nameservers": ["ns1.sphere.ad.jp", "ns2.sphere.ad.jp"], "contacts": {"admin": {"handle": "TY4708JP"}, "tech": {"handle": "YA6489JP"}, "registrant": {"organization": "NTT PC Communications Incorporated"}, "billing": null}, "raw": ["[ JPRS database provides information on network administration. Its use is ]\n[ restricted to network administration purposes. For further information, ]\n[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e' ]\n[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'. ]\n[ ]\n[ Notice -------------------------------------------------------------------- ]\n[ JPRS will change JPRS WHOIS (web-based and port 43 Whois service) about the ]\n[ following two points on January 18, 2015. ]\n[ ]\n[ 1) Change of the format of response about gTLD domain name ]\n[ 2) Change of the character encoding ]\n[ ]\n[ For further information, please see the following webpage. ]\n[ http://jprs.jp/whatsnew/notice/2014/20140319-whois.html (only in Japanese) ]\n[ --------------------------------------------------------------------------- ]\n\nDomain Information:\na. [Domain Name] NTTPC.CO.JP\ng. [Organization] NTT PC Communications Incorporated\nl. [Organization Type] Corporation\nm. [Administrative Contact] TY4708JP\nn. [Technical Contact] YA6489JP\np. [Name Server] ns1.sphere.ad.jp\np. [Name Server] ns2.sphere.ad.jp\ns. [Signing Key] \n[State] Connected (2015/03/31)\n[Registered Date] \n[Connected Date] \n[Last Update] 2014/04/01 01:10:41 (JST)\n\n\n"]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Taipei Hsien", "fax": "02-22251776", "name": "Amos Yu", "phone": "02-22258552 ext. 313", "street": "8F\nNo. 246\nLien Chen Road\nChung Ho City", "organization": "\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.", "country": "Taiwan ROC", "email": "market@upspowercom.com.tw"}, "billing": null}, "nameservers": ["ns.hinetserver.com", "ns2.hinetserver.com"], "expiration_date": ["2014-08-29T00:00:00", "2014-08-29T00:00:00"], "creation_date": ["2001-08-28T00:00:00", "2001-08-28T00:00:00"], "raw": ["Domain Name: pcmups.com.tw\nRegistrant:\n\u79d1\u98a8\u80a1\u4efd\u6709\u9650\u516c\u53f8\nPowercom Co., Ltd.\n8F, No. 246, Lien Chen Road, Chung Ho City, Taipei Hsien, Taiwan ROC\n\n Contact:\n Amos Yu market@upspowercom.com.tw\n TEL: 02-22258552#313\n FAX: 02-22251776\n\n Record expires on 2014-08-29 (YYYY-MM-DD)\n Record created on 2001-08-28 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns.hinetserver.com 61.63.79.1\n ns2.hinetserver.com 61.56.221.35\n\nRegistration Service Provider: SEEDNET\n\n\n"], "registrar": ["Seednet"]}

@ -0,0 +1 @@
{"contacts": {"admin": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "tech": {"phone": "+44.1502566183", "name": "Jeffrey Williams", "email": "faiwot@wag1.com"}, "registrant": {"city": "Lowestoft", "name": "Jeffrey Williams", "country": "GB", "phone": "+44.1502566183", "street": "95 Wavenet Crescent", "organization": "JW", "email": "faiwot@wag1.com"}, "billing": null}, "nameservers": ["ns1.parkingcrew.net", "ns2.parkingcrew.net"], "expiration_date": ["2015-02-24T00:00:00", "2015-02-24T00:00:00"], "creation_date": ["2006-02-24T00:00:00", "2006-02-24T00:00:00"], "raw": ["Domain Name: porn.com.tw\n Registrant:\n JW\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n 95 Wavenet Crescent \n Lowestoft, \n GB\n\n Administrative Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Technical Contact:\n Jeffrey Williams faiwot@wag1.com\n +44.1502566183\n \n\n Record expires on 2015-02-24 (YYYY-MM-DD)\n Record created on 2006-02-24 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.parkingcrew.net \n ns2.parkingcrew.net \n\nRegistration Service Provider: Key-Systems GmbH\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Key-Systems GmbH"]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "Hsinchu", "fax": "(03) 5774713", "name": "Mengze Du", "phone": "(03) 5780211 ext. 079", "street": "No.2\nInnovation Road II\nHsinchu\nScience Park", "organization": "\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd", "country": "Taiwan", "email": "justindo@realtek.com"}, "billing": null}, "nameservers": ["ns1.realtek.com.tw", "ns2.realtek.com.tw"], "expiration_date": ["2018-05-31T00:00:00", "2018-05-31T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: realtek.com.tw\nRegistrant:\n\u745e\u6631\u534a\u5c0e\u9ad4\u80a1\u4efd\u6709\u9650\u516c\u53f8\nRealtek Semoconductor Co., Ltd\nNo.2, Innovation Road II, Hsinchu,Science Park,Hsinchu , Taiwan\n\n Contact:\n Mengze Du justindo@realtek.com\n TEL: (03) 5780211 ext3079\n FAX: (03) 5774713\n\n Record expires on 2018-05-31 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.realtek.com.tw 60.250.210.254\n ns2.realtek.com.tw 60.248.182.29\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2013-09-22T00:52:31", "2013-09-22T00:44:16"], "contacts": {"admin": {"handle": "C4195-GANDI-EQUL", "name": "Gandi Corporate", "organization": "Gandi Corporate"}, "tech": {"handle": "R3511-GANDI-HIRR", "name": "Domain Administrator", "organization": "Reddit Inc"}, "registrant": {"city": "Paris", "handle": "DUP181111842", "name": "Corporation Service Company France", "state": "Paris", "street": "68, rue du faubourg Saint Honore", "country": "FR", "postalcode": "75008", "organization": "Corporation Service Company France", "creationdate": "2013-09-22T00:44:16", "changedate": "2013-09-22T00:44:16"}, "billing": null}, "nameservers": ["c.dns.gandi.net", "a.dns.gandi.net", "b.dns.gandi.net"], "expiration_date": ["2014-09-22T00:00:00"], "creation_date": ["2010-05-31T09:49:27", "2013-09-22T00:44:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: redd.it\nStatus: ok\nCreated: 2010-05-31 09:49:27\nLast Update: 2013-09-22 00:52:31\nExpire Date: 2014-09-22\n\nRegistrant\n Name: Corporation Service Company France\n Organization: Corporation Service Company France\n ContactID: DUP181111842\n Address: 68, rue du faubourg Saint Honore\n Paris\n 75008\n Paris\n FR\n Created: 2013-09-22 00:44:16\n Last Update: 2013-09-22 00:44:16\n\nAdmin Contact\n Name: GANDI CORPORATE\n Organization: GANDI CORPORATE\n ContactID: C4195-GANDI-EQUL\n\nTechnical Contacts\n Name: Domain Administrator\n Organization: Reddit Inc\n ContactID: R3511-GANDI-HIRR\n\nRegistrar\n Organization: Gandi SAS\n Name: GANDI-REG\n Web: http://www.gandi.net\n\nNameservers\n c.dns.gandi.net\n a.dns.gandi.net\n b.dns.gandi.net\n\n\n"], "registrar": ["Gandi SAS"]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2013-08-05T00:00:00"], "contacts": {"admin": null, "tech": {"city": "\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e21\u0e2b\u0e32\u0e19\u0e04\u0e23", "handle": "503400", "country": "TH", "street": "341 \u0e16\u0e19\u0e19\u0e2d\u0e48\u0e2d\u0e19\u0e19\u0e38\u0e0a\n\u0e41\u0e02\u0e27\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28 \u0e40\u0e02\u0e15\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28", "postalcode": "10250", "organization": "\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49(\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22)\u0e08\u0e33\u0e01\u0e31\u0e14"}, "registrant": {"city": "Bangkok", "district": "Prawet", "country": "TH", "street": "Ricoh (Thailand) Ltd.\n341 Onnuj Road", "postalcode": "10250", "organization": "Ricoh (thailand) co., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49 (\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22) \u0e08\u0e33\u0e01\u0e31\u0e14)"}, "billing": null}, "nameservers": ["ns.cscoms.com", "ns2.cscoms.com"], "expiration_date": ["2014-11-04T00:00:00"], "creation_date": ["1999-11-05T00:00:00", "1999-11-05T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: RICOH.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.CSCOMS.COM\nName Server: NS2.CSCOMS.COM\nStatus: ACTIVE\nUpdated date: 5 Aug 2013\nCreated date: 5 Nov 1999\nRenew date: 5 Nov 2012\nExp date: 4 Nov 2014\nDomain Holder: RICOH (THAILAND) CO., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49 (\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22) \u0e08\u0e33\u0e01\u0e31\u0e14)\nRicoh (Thailand) Ltd.\n341 Onnuj Road, \nPrawet, Prawet , \nBangkok\n10250\nTH\n\nTech Contact: 503400\n\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e23\u0e34\u0e42\u0e01\u0e49(\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22)\u0e08\u0e33\u0e01\u0e31\u0e14\n341 \u0e16\u0e19\u0e19\u0e2d\u0e48\u0e2d\u0e19\u0e19\u0e38\u0e0a \n\u0e41\u0e02\u0e27\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28 \u0e40\u0e02\u0e15\u0e1b\u0e23\u0e30\u0e40\u0e27\u0e28\n\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e21\u0e2b\u0e32\u0e19\u0e04\u0e23\n10250\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:34:18 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2012-02-01T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Bangkok", "handle": "37581", "street": "419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900", "country": "TH", "postalcode": "10900", "organization": "RS Promotion Public Co.,Ltd."}, "registrant": {"city": "Bkk", "street": "419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900", "country": "TH", "postalcode": "10900", "organization": "RS. Promotion PCL. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2d\u0e32\u0e23\u0e4c.\u0e40\u0e2d\u0e2a.\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )"}, "billing": null}, "nameservers": ["clarinet.asianet.co.th", "conductor.asianet.co.th"], "expiration_date": ["2017-03-17T00:00:00"], "creation_date": ["2007-01-19T00:00:00", "2007-01-19T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: RS.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: CLARINET.ASIANET.CO.TH\nName Server: CONDUCTOR.ASIANET.CO.TH\nStatus: ACTIVE\nUpdated date: 1 Feb 2012\nCreated date: 19 Jan 2007\nRenew date: 18 Mar 2012\nExp date: 17 Mar 2017\nDomain Holder: RS. Promotion PCL. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2d\u0e32\u0e23\u0e4c.\u0e40\u0e2d\u0e2a.\u0e42\u0e1b\u0e23\u0e42\u0e21\u0e0a\u0e31\u0e48\u0e19 \u0e08\u0e33\u0e01\u0e31\u0e14 (\u0e21\u0e2b\u0e32\u0e0a\u0e19) )\n419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900, BKK\n10900\nTH\n\nTech Contact: 37581\nRS Promotion Public Co.,Ltd.\n419/2 Chetchottisak Building JatujakLadphoa Bangkok 10900, bangkok\n10900\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:34:24 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"updated_date": ["2011-11-11T18:48:29"], "status": ["clientTransferProhibited"], "contacts": {"admin": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "email": "domains@no-ip.com"}, "tech": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "organization": "Vitalwerks Internet Solutions, LLC", "email": "domains@no-ip.com"}, "registrant": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "organization": "Vitalwerks Internet Solutions, LLC", "email": "domains@no-ip.com"}, "billing": {"city": "Reno", "name": "No-IP.com, Domain Operations", "state": "NV", "phone": "+1.7758531883", "street": "5905 South Virginia St\nSuite 200", "country": "US", "postalcode": "89502", "organization": "Vitalwerks Internet Solutions, LLC", "email": "domains@no-ip.com"}}, "nameservers": ["nf1.no-ip.com", "nf2.no-ip.com", "nf3.no-ip.com", "nf4.no-ip.com"], "expiration_date": ["2015-02-10T05:33:35"], "creation_date": ["2004-11-12T08:00:00", "2004-11-12T08:00:00"], "raw": ["Whois Server Version 2.0\n\nNOTICE: Access to No-IP.com WHOIS information is provided to assist persons in \ndetermining the contents of a domain name registration record in the No-IP.com\nregistrar database. The data in this record is provided by No-IP.com\nfor informational purposes only, and No-Ip.com does not guarantee its \naccuracy. This service is intended only for query-based access. You agree \nthat you will use this data only for lawful purposes and that, under no \ncircumstances will you use this data to: (a) allow, enable, or otherwise \nsupport the transmission by e-mail, telephone, or facsimile of mass \nunsolicited, commercial advertising or solicitations to entities other than \nthe data recipient's own existing customers; or (b) enable high volume, \nautomated, electronic processes that send queries or data to the systems of \nRegistry Operator or any ICANN-Accredited Registrar, except as reasonably \nnecessary to register domain names or modify existing registrations. All \nrights reserved. Public Interest Registry reserves the right to modify these terms at any \ntime. By submitting this query, you agree to abide by this policy. \n\n\nDomain Name: SERVEQUAKE.COM\nCreated On: 12-Nov-2004 08:00:00 UTC\nLast Updated On: 11-Nov-2011 18:48:29 UTC\nExpiration Date: 10-Feb-2015 05:33:35 UTC\nSponsoring Registrar: Vitalwerks Internet Solutions, LLC / No-IP.com\nRegistrant Name: No-IP.com, Domain Operations\nRegistrant Organization: Vitalwerks Internet Solutions, LLC\nRegistrant Street1: 5905 South Virginia St\nRegistrant Street2: Suite 200\nRegistrant City: Reno\nRegistrant State/Province: NV\nRegistrant Postal Code: 89502\nRegistrant Country: US\nRegistrant Phone: +1.7758531883\nRegistrant FAX: \nRegistrant Email: domains@no-ip.com\n\nAdmin Name: No-IP.com, Domain Operations\nAdmin Street1: 5905 South Virginia St\nAdmin Street2: Suite 200\nAdmin City: Reno\nAdmin State/Province: NV\nAdmin Postal Code: 89502\nAdmin Country: US\nAdmin Phone: +1.7758531883\nAdmin FAX: \nAdmin Email: domains@no-ip.com\n\nTech Name: No-IP.com, Domain Operations\nTech Organization: Vitalwerks Internet Solutions, LLC\nTech Street1: 5905 South Virginia St\nTech Street2: Suite 200\nTech City: Reno\nTech State/Province: NV\nTech Postal Code: 89502\nTech Country: US\nTech Phone: +1.7758531883\nTech FAX: \nTech Email: domains@no-ip.com\n\nBilling Name: No-IP.com, Domain Operations\nBilling Organization: Vitalwerks Internet Solutions, LLC\nBilling Street1: 5905 South Virginia St\nBilling Street2: Suite 200\nBilling City: Reno\nBilling State/Province: NV\nBilling Postal Code: 89502\nBilling Country: US\nBilling Phone: +1.7758531883\nBilling FAX: \nBilling Email: domains@no-ip.com\n\nName Server: NF1.NO-IP.COM\nName Server: NF2.NO-IP.COM\nName Server: NF3.NO-IP.COM\nName Server: NF4.NO-IP.COM\n\n", " Domain Name: SERVEQUAKE.COM\n Registrar: VITALWERKS INTERNET SOLUTIONS LLC DBA NO-IP\n Whois Server: whois.no-ip.com\n Referral URL: http://www.no-ip.com\n Name Server: NF1.NO-IP.COM\n Name Server: NF2.NO-IP.COM\n Name Server: NF3.NO-IP.COM\n Name Server: NF4.NO-IP.COM\n Status: clientTransferProhibited\n Updated Date: 11-nov-2011\n Creation Date: 10-feb-2000\n Expiration Date: 10-feb-2015\n"], "whois_server": ["whois.no-ip.com"], "registrar": ["Vitalwerks Internet Solutions, LLC / No-IP.com"]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2013-04-12T00:00:00"], "contacts": {"admin": null, "tech": {"city": "\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f", "handle": "15190", "country": "TH", "street": "991 \u0e28\u0e39\u0e19\u0e22\u0e4c\u0e01\u0e32\u0e23\u0e04\u0e49\u0e32 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e16.\u0e1e\u0e23\u0e30\u0e23\u0e32\u0e21 1 \u0e41\u0e02\u0e27\u0e07\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19 \u0e40\u0e02\u0e15\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19", "postalcode": "10330"}, "registrant": {"city": "Bangkok", "street": "991 SIAM Paragon Shopping Center RAMA1 ROAD\nPatumwan", "country": "TH", "postalcode": "10330", "organization": "Siam Paragon Development co., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e14\u0e35\u0e40\u0e27\u0e25\u0e25\u0e2d\u0e1b\u0e40\u0e21\u0e49\u0e19\u0e17\u0e4c \u0e08\u0e33\u0e01\u0e31\u0e14)"}, "billing": null}, "nameservers": ["ns.beenets.com", "ns2.beenets.com"], "expiration_date": ["2016-03-24T00:00:00"], "creation_date": ["2002-03-25T00:00:00", "2002-03-25T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: SIAMPARAGON.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.BEENETS.COM\nName Server: NS2.BEENETS.COM\nStatus: ACTIVE\nUpdated date: 12 Apr 2013\nCreated date: 25 Mar 2002\nRenew date: 25 Mar 2013\nExp date: 24 Mar 2016\nDomain Holder: SIAM PARAGON DEVELOPMENT CO., LTD. (\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e14\u0e35\u0e40\u0e27\u0e25\u0e25\u0e2d\u0e1b\u0e40\u0e21\u0e49\u0e19\u0e17\u0e4c \u0e08\u0e33\u0e01\u0e31\u0e14)\n991 SIAM Paragon Shopping Center RAMA1 ROAD, PATUMWAN, BANGKOK\n10330\nTH\n\nTech Contact: 15190\n991 \u0e28\u0e39\u0e19\u0e22\u0e4c\u0e01\u0e32\u0e23\u0e04\u0e49\u0e32 \u0e2a\u0e22\u0e32\u0e21\u0e1e\u0e32\u0e23\u0e32\u0e01\u0e2d\u0e19 \u0e16.\u0e1e\u0e23\u0e30\u0e23\u0e32\u0e21 1 \u0e41\u0e02\u0e27\u0e07\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19 \u0e40\u0e02\u0e15\u0e1b\u0e17\u0e38\u0e21\u0e27\u0e31\u0e19 \u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f\n10330\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:32:46 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2009-09-10T00:00:00"], "contacts": {"admin": null, "tech": {"city": "\u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f", "handle": "24897", "district": "\u0e41\u0e02\u0e27\u0e07\u0e17\u0e38\u0e48\u0e07\u0e2a\u0e2d\u0e07\u0e2b\u0e49\u0e2d\u0e07 \u0e40\u0e02\u0e15\u0e2b\u0e25\u0e31\u0e01\u0e2a\u0e35\u0e48", "country": "TH", "street": "2/4 \u0e2d\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c\u0e2a\u0e32\u0e21\u0e31\u0e04\u0e04\u0e35\u0e1b\u0e23\u0e30\u0e01\u0e31\u0e19\u0e20\u0e31\u0e22 \u0e0a\u0e31\u0e49\u0e19 10 \u0e16\u0e19\u0e19\u0e27\u0e34\u0e20\u0e32\u0e27\u0e14\u0e35\u0e23\u0e31\u0e07\u0e2a\u0e34\u0e15", "postalcode": "10210", "organization": "\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e04\u0e40\u0e2d\u0e2a\u0e0b\u0e35 \u0e04\u0e2d\u0e21\u0e40\u0e21\u0e2d\u0e23\u0e4c\u0e40\u0e0a\u0e35\u0e22\u0e25 \u0e2d\u0e34\u0e19\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e15 \u0e08\u0e33\u0e01\u0e31\u0e14"}, "registrant": {"city": "388 Sukhumvit Road", "district": "Klongtoey", "state": "Bangkok", "street": "12th floor,Exchange Tower", "country": "TH", "postalcode": "10110", "organization": "Starbucks Coffee ( Thailand ) Co., Ltd."}, "billing": null}, "nameservers": ["ns.ksc.co.th", "ns2.ksc.co.th"], "expiration_date": ["2014-12-16T00:00:00"], "creation_date": ["2003-06-17T00:00:00", "2003-06-17T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: STARBUCKS.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS.KSC.CO.TH\nName Server: NS2.KSC.CO.TH\nStatus: ACTIVE\nUpdated date: 10 Sep 2009\nCreated date: 17 Jun 2003\nRenew date: 17 Jun 2003\nExp date: 16 Dec 2014\nDomain Holder: Starbucks Coffee ( Thailand ) Co., Ltd.\n12th floor,Exchange Tower, 388 Sukhumvit Road, Klongtoey, Bangkok\n10110\nTH\n\nTech Contact: 24897\n\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e40\u0e04\u0e40\u0e2d\u0e2a\u0e0b\u0e35 \u0e04\u0e2d\u0e21\u0e40\u0e21\u0e2d\u0e23\u0e4c\u0e40\u0e0a\u0e35\u0e22\u0e25 \u0e2d\u0e34\u0e19\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e15 \u0e08\u0e33\u0e01\u0e31\u0e14\n2/4 \u0e2d\u0e32\u0e04\u0e32\u0e23\u0e44\u0e17\u0e22\u0e1e\u0e32\u0e13\u0e34\u0e0a\u0e22\u0e4c\u0e2a\u0e32\u0e21\u0e31\u0e04\u0e04\u0e35\u0e1b\u0e23\u0e30\u0e01\u0e31\u0e19\u0e20\u0e31\u0e22 \u0e0a\u0e31\u0e49\u0e19 10 \u0e16\u0e19\u0e19\u0e27\u0e34\u0e20\u0e32\u0e27\u0e14\u0e35\u0e23\u0e31\u0e07\u0e2a\u0e34\u0e15 \n\u0e41\u0e02\u0e27\u0e07\u0e17\u0e38\u0e48\u0e07\u0e2a\u0e2d\u0e07\u0e2b\u0e49\u0e2d\u0e07 \u0e40\u0e02\u0e15\u0e2b\u0e25\u0e31\u0e01\u0e2a\u0e35\u0e48 \u0e01\u0e23\u0e38\u0e07\u0e40\u0e17\u0e1e\u0e2f\n10210\nTH\n\n\n\n>>> Last update of whois data: Tue, 24 Jun 2014 04:58:54 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2013-10-16T00:43:15", "2012-04-27T15:13:45"], "contacts": {"admin": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "tech": {"city": "Bergamo", "handle": "2409-REGT", "name": "Technical Support", "state": "BG", "street": "Via Zanchi 22", "country": "IT", "postalcode": "24126", "organization": "Register.it S.p.A.", "creationdate": "2009-09-28T11:01:09", "changedate": "2012-04-27T15:13:45"}, "registrant": {"handle": "SF3221", "name": "Sandro Fanelli", "organization": "Sandro Fanelli"}, "billing": null}, "nameservers": ["ns1.softlayer.com", "ns2.softlayer.com"], "expiration_date": ["2014-09-30T00:00:00"], "creation_date": ["1997-09-26T00:00:00", "2009-09-28T11:01:09"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: tip.it\nStatus: ok\nCreated: 1997-09-26 00:00:00\nLast Update: 2013-10-16 00:43:15\nExpire Date: 2014-09-30\n\nRegistrant\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nAdmin Contact\n Name: Sandro Fanelli\n Organization: Sandro Fanelli\n ContactID: SF3221\n\nTechnical Contacts\n Name: Technical Support\n Organization: Register.it S.p.A.\n ContactID: 2409-REGT\n Address: Via Zanchi 22\n Bergamo\n 24126\n BG\n IT\n Created: 2009-09-28 11:01:09\n Last Update: 2012-04-27 15:13:45\n\nRegistrar\n Organization: Register.it s.p.a.\n Name: REGISTER-REG\n\nNameservers\n ns1.softlayer.com\n ns2.softlayer.com\n\n\n"], "registrar": ["Register.it s.p.a."]}

@ -0,0 +1 @@
{"status": ["Active"], "updated_date": ["2014-01-20T00:00:00"], "contacts": {"admin": null, "tech": {"city": "Bang Bor", "handle": "92144", "state": "Samutprakarn", "street": "99 Moo 5\nBangna-Trad K.M. 29.5 Rd.\nBan-Ragad", "country": "TH", "postalcode": "10560", "organization": "Toyota Motor Asia Pacific Engineering &amp; Manufacturing Co.,Ltd."}, "registrant": {"city": "Samrong Tai", "district": "PhraPradaeng", "state": "Samut Prakan", "street": "186/1 Mu1 Old Railway Rd.", "country": "TH", "postalcode": "10130", "organization": "Toyota Motor Thailand Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e42\u0e15\u0e42\u0e22\u0e15\u0e49\u0e32 \u0e21\u0e2d\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 \u0e08\u0e33\u0e01\u0e31\u0e14 )"}, "billing": null}, "nameservers": ["ns1.ntt.co.th", "ns1.toyota.co.th", "ns2.toyota.co.th"], "expiration_date": ["2015-01-16T00:00:00"], "creation_date": ["1999-01-17T00:00:00", "1999-01-17T00:00:00"], "raw": ["\nWhois Server Version 2.1.2\n\nDomain: TOYOTA.CO.TH\nRegistrar: T.H.NIC Co., Ltd.\nName Server: NS1.NTT.CO.TH\nName Server: NS1.TOYOTA.CO.TH\nName Server: NS2.TOYOTA.CO.TH\nStatus: ACTIVE\nUpdated date: 20 Jan 2014\nCreated date: 17 Jan 1999\nRenew date: 17 Jan 2014\nExp date: 16 Jan 2015\nDomain Holder: Toyota Motor Thailand Co., Ltd. ( \u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17 \u0e42\u0e15\u0e42\u0e22\u0e15\u0e49\u0e32 \u0e21\u0e2d\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22 \u0e08\u0e33\u0e01\u0e31\u0e14 )\n186/1 Mu1 Old Railway Rd., Samrong Tai, PhraPradaeng, Samut Prakan\n10130\nTH\n\nTech Contact: 92144\nToyota Motor Asia Pacific Engineering &amp; Manufacturing Co.,Ltd.\n99 Moo 5, Bangna-Trad K.M. 29.5 Rd., Ban-Ragad, \nBang Bor, Samutprakarn\n10560\nTH\n\n\n\n>>> Last update of whois data: Fri, 27 Jun 2014 16:34:06 UTC+7 <<<\n\nFor more information please visit: https://www.thnic.co.th/whois\n\n\n"], "registrar": ["T.H.NIC Co., Ltd."]}

@ -0,0 +1 @@
{"status": ["Active", "Complete"], "contacts": {"admin": {"handle": "HK3507379T", "name": "Amazing Shrek", "firstname": "AMAZING", "country": "HK", "phone": "+852-123456", "street": "HK", "lastname": "SHREK", "organization": "Unwire Limited", "email": "mkt@bmedia.hk"}, "tech": {"name": "CHEUNG", "country": "HK", "phone": "+852-123456", "street": "HK", "lastname": "CHEUNG", "organization": "Unwire Limited", "email": "mkt@bmedia.hk"}, "registrant": {"country": "HK", "street": "HK", "organization": "Unwire Limited", "email": "mkt@bmedia.hk"}, "billing": null}, "nameservers": ["norm.ns.cloudflare.com", "zoe.ns.cloudflare.com"], "expiration_date": ["2021-06-24T00:00:00"], "creation_date": ["2009-06-24T00:00:00", "2009-06-24T00:00:00"], "raw": [" \n -------------------------------------------------------------------------------\n Whois server by HKIRC\n -------------------------------------------------------------------------------\n .hk top level Domain names can be registered via HKIRC-Accredited Registrars. \n Go to https://www.hkirc.hk/content.jsp?id=280 for details. \n -------------------------------------------------------------------------------\n\n\n\nDomain Name: UNWIRE.HK \n\nDomain Status: Active \n\nContract Version: HKDNR latest version \n\nRegistrar Name: Hong Kong Domain Name Registration Company Limited\n\nRegistrar Contact Information: Email: enquiry@hkdnr.hk Hotline: +852 2319 1313 \n\nReseller: \n\n\n\n\nRegistrant Contact Information:\n\nCompany English Name (It should be the same as the registered/corporation name on your Business Register Certificate or relevant documents): UNWIRE LIMITED\nCompany Chinese name: \nAddress: HK \nCountry: HK\nEmail: mkt@bmedia.hk \nDomain Name Commencement Date: 24-06-2009\nExpiry Date: 24-06-2021 \nRe-registration Status: Complete \n\n\n\nAdministrative Contact Information:\n\nGiven name: AMAZING \nFamily name: SHREK \nCompany name: UNWIRE LIMITED\nAddress: HK \nCountry: HK\nPhone: +852-123456\nFax: \nEmail: mkt@bmedia.hk\nAccount Name: HK3507379T\n\n\n\n\nTechnical Contact Information:\n\nFamily name: CHEUNG \nCompany name: UNWIRE LIMITED\nAddress: HK \nCountry: HK\nPhone: +852-123456\nFax: \nEmail: mkt@bmedia.hk\n\n\n\n\nName Servers Information:\n\nNORM.NS.CLOUDFLARE.COM\nZOE.NS.CLOUDFLARE.COM\n\n\n\nStatus Information:\n\nDomain Prohibit Status: \n\n\n\n -------------------------------------------------------------------------------\n The Registry contains ONLY .com.hk, .net.hk, .edu.hk, .org.hk,\n .gov.hk, idv.hk. and .hk $domains.\n -------------------------------------------------------------------------------\n\nWHOIS Terms of Use \nBy using this WHOIS search enquiry service you agree to these terms of use.\nThe data in HKDNR's WHOIS search engine is for information purposes only and HKDNR does not guarantee the accuracy of the data. The data is provided to assist people to obtain information about the registration record of domain names registered by HKDNR. You agree to use the data for lawful purposes only.\n\nYou are not authorised to use high-volume, electronic or automated processes to access, query or harvest data from this WHOIS search enquiry service.\n\nYou agree that you will not and will not allow anyone else to:\n\na. use the data for mass unsolicited commercial advertising of any sort via any medium including telephone, email or fax; or\n\nb. enable high volume, automated or electronic processes that apply to HKDNR or its computer systems including the WHOIS search enquiry service; or\n\nc. without the prior written consent of HKDNR compile, repackage, disseminate, disclose to any third party or use the data for a purpose other than obtaining information about a domain name registration record; or\n\nd. use such data to derive an economic benefit for yourself.\n\nHKDNR in its sole discretion may terminate your access to the WHOIS search enquiry service (including, without limitation, blocking your IP address) at any time including, without limitation, for excessive use of the WHOIS search enquiry service.\n\nHKDNR may modify these terms of use at any time by publishing the modified terms of use on its website.\n\n\n\n\n\n\n\n"], "registrar": ["Hong Kong Domain Name Registration Company Limited"], "emails": ["enquiry@hkdnr.hk"]}

@ -0,0 +1 @@
{"contacts": {"admin": null, "tech": null, "registrant": {"city": "535", "fax": "2-22188924", "name": "Ben Chen", "phone": "2-22185452 ext. 6557", "street": "8F", "organization": "\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.", "country": "Chung-Cheng Rd. Hsin-Tien", "email": "benchen@via.com.tw"}, "billing": null}, "nameservers": ["tpns1.viatech.com.tw", "frns1.viatech.com.tw", "bjns1.viatech.com.tw"], "expiration_date": ["2024-05-31T00:00:00", "2024-05-31T00:00:00"], "creation_date": ["1985-05-20T00:00:00", "1985-05-20T00:00:00"], "raw": ["Domain Name: via.com.tw\nRegistrant:\n\u5a01\u76db\u96fb\u5b50\u80a1\u4efd\u6709\u9650\u516c\u53f8\nVIA Technologies, Inc.\n8F, 535, Chung-Cheng Rd. Hsin-Tien\n\n Contact:\n Ben Chen BenChen@via.com.tw\n TEL: 2-22185452#6557\n FAX: 2-22188924\n\n Record expires on 2024-05-31 (YYYY-MM-DD)\n Record created on 1985-05-20 (YYYY-MM-DD)\n\n Domain servers in listed order:\n tpns1.viatech.com.tw 61.66.243.23\n frns1.viatech.com.tw 12.47.63.7\n bjns1.viatech.com.tw 152.104.150.2\n\nRegistration Service Provider: TWNIC\n\n\n"], "registrar": ["TWNIC"]}

@ -0,0 +1 @@
{"updated_date": ["2014-06-01T00:00:00"], "contacts": {"admin": {"handle": "mj205-irnic", "phone": "+982623554491", "street": "Andishe\nFaz 3\nMahale 23 St.\nShahed St.\nBaharan St.\nNo. 12", "city": "Shahraiar", "name": "Mohsen Jadidi", "country": "IR", "state": "Tehran", "email": "mnjadidi@gmail.com"}, "tech": {"handle": "mj205-irnic", "phone": "+982623554491", "street": "Andishe\nFaz 3\nMahale 23 St.\nShahed St.\nBaharan St.\nNo. 12", "city": "Shahraiar", "name": "Mohsen Jadidi", "country": "IR", "state": "Tehran", "email": "mnjadidi@gmail.com"}, "registrant": {"handle": "mj205-irnic", "phone": "+982623554491", "street": "Andishe\nFaz 3\nMahale 23 St.\nShahed St.\nBaharan St.\nNo. 12", "city": "Shahraiar", "name": "Mohsen Jadidi", "country": "IR", "state": "Tehran", "email": "mnjadidi@gmail.com"}, "billing": null}, "nameservers": ["ns1.webmasir.com", "ns2.webmasir.com"], "expiration_date": ["2017-03-03T00:00:00"], "raw": ["% This is the IRNIC Whois server v1.6.2.\n% Available on web at http://whois.nic.ir/\n% Find the terms and conditions of use on http://www.nic.ir/\n% \n% This server uses UTF-8 as the encoding for requests and responses.\n\n% NOTE: This output has been filtered.\n\n% Information related to 'whoiser.ir'\n\n\ndomain:\t\twhoiser.ir\nascii:\t\twhoiser.ir\nremarks:\t(Domain Holder) Mohsen Jadidi\nremarks:\t(Domain Holder Address) Andishe, Faz 3, Mahale 23 St., Shahed St., Baharan St., No. 12,, Shahraiar, Tehran, IR\nholder-c:\tmj205-irnic\nadmin-c:\tmj205-irnic\ntech-c:\t\tmj205-irnic\nnserver:\tns1.webmasir.com\nnserver:\tns2.webmasir.com\nlast-updated:\t2014-06-01\nexpire-date:\t2017-03-03\nsource:\t\tIRNIC # Filtered\n\nnic-hdl:\tmj205-irnic\nperson:\t\tMohsen Jadidi\ne-mail:\t\tmnjadidi@gmail.com\naddress:\tAndishe, Faz 3, Mahale 23 St., Shahed St., Baharan St., No. 12,, Shahraiar, Tehran, IR\nphone:\t\t+982623554491\nsource:\t\tIRNIC # Filtered\n\n\n"]}

@ -0,0 +1 @@
{"contacts": {"admin": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "tech": {"phone": "+1.4083493300", "fax": "+1.4083493301", "name": "Domain Administrator", "email": "domainadmin@yahoo-inc.com"}, "registrant": {"city": "Sunnyvale", "fax": "+1.4083493301", "name": "Domain Administrator", "country": "US", "phone": "+1.4083493300", "state": "CA", "street": "701 First Avenue", "organization": "Yahoo! Inc.", "email": "domainadmin@yahoo-inc.com"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com", "ns4.yahoo.com", "ns5.yahoo.com"], "expiration_date": ["2019-07-12T00:00:00", "2019-07-12T00:00:00"], "creation_date": ["1997-05-01T00:00:00", "1997-05-01T00:00:00"], "raw": ["Domain Name: yahoo.com.tw\n Registrant:\n Yahoo! Inc.\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n 701 First Avenue \n Sunnyvale, CA\n US\n\n Administrative Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Technical Contact:\n Domain Administrator domainadmin@yahoo-inc.com\n +1.4083493300\n +1.4083493301\n\n Record expires on 2019-07-12 (YYYY-MM-DD)\n Record created on 1997-05-01 (YYYY-MM-DD)\n\n Domain servers in listed order:\n ns1.yahoo.com \n ns2.yahoo.com \n ns3.yahoo.com \n ns4.yahoo.com \n ns5.yahoo.com \n\nRegistration Service Provider: Markmonitor, Inc.\n\n[Provided by NeuStar Registry Gateway Services]\n\n"], "registrar": ["Markmonitor, Inc."]}

@ -0,0 +1 @@
{"status": ["ok"], "updated_date": ["2013-12-06T00:48:58", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "contacts": {"admin": {"city": "Milano", "handle": "DUP975799853", "name": "Martini Massimo Ernesto Aldo", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "creationdate": "2012-11-02T07:30:15", "changedate": "2012-11-02T07:30:15"}, "tech": {"city": "Sunnyvale", "handle": "DUP285050789", "name": "Yahoo Inc", "state": "California", "street": "Domain Administrator\n701 First Avenue", "country": "US", "postalcode": "94089", "creationdate": "2012-11-02T07:30:16", "changedate": "2012-11-02T07:30:16"}, "registrant": {"city": "Milano", "handle": "DUP211874838", "name": "Yahoo! Italia S.r.l.", "state": "MI", "street": "via Spadolini 7", "country": "IT", "postalcode": "20141", "organization": "Yahoo! Italia S.r.l.", "creationdate": "2012-11-02T07:30:15", "changedate": "2012-11-02T07:30:15"}, "billing": null}, "nameservers": ["ns1.yahoo.com", "ns5.yahoo.com", "ns7.yahoo.com", "ns2.yahoo.com", "ns3.yahoo.com"], "expiration_date": ["2014-11-20T00:00:00"], "creation_date": ["1998-05-11T00:00:00", "2012-11-02T07:30:15", "2012-11-02T07:30:16"], "raw": ["\n*********************************************************************\n* Please note that the following result could be a subgroup of *\n* the data contained in the database. *\n* *\n* Additional information can be visualized at: *\n* http://www.nic.it/cgi-bin/Whois/whois.cgi *\n*********************************************************************\n\nDomain: yahoo.it\nStatus: ok\nCreated: 1998-05-11 00:00:00\nLast Update: 2013-12-06 00:48:58\nExpire Date: 2014-11-20\n\nRegistrant\n Name: Yahoo! Italia S.r.l.\n Organization: Yahoo! Italia S.r.l.\n ContactID: DUP211874838\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nAdmin Contact\n Name: Martini Massimo Ernesto Aldo\n ContactID: DUP975799853\n Address: via Spadolini 7\n Milano\n 20141\n MI\n IT\n Created: 2012-11-02 07:30:15\n Last Update: 2012-11-02 07:30:15\n\nTechnical Contacts\n Name: Yahoo Inc\n ContactID: DUP285050789\n Address: Domain Administrator\n 701 First Avenue\n Sunnyvale\n 94089\n CALIFORNIA\n US\n Created: 2012-11-02 07:30:16\n Last Update: 2012-11-02 07:30:16\n\nRegistrar\n Organization: MarkMonitor International Limited\n Name: MARKMONITOR-REG\n Web: https://www.markmonitor.com/\n\nNameservers\n ns1.yahoo.com\n ns5.yahoo.com\n ns7.yahoo.com\n ns2.yahoo.com\n ns3.yahoo.com\n\n\n"], "registrar": ["MarkMonitor International Limited"]}
Loading…
Cancel
Save