mirror of
https://github.com/google/nomulus.git
synced 2025-05-15 08:57:12 +02:00
Make WHOIS domain query return conform to ICANN CL&D policy
ICANN's policy can be found here: https://www.icann.org/resources/pages/rdds-labeling-policy-2017-02-01-en ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=155375811
This commit is contained in:
parent
2846f9c6b9
commit
8892656722
21 changed files with 175 additions and 138 deletions
|
@ -24,6 +24,7 @@ import com.google.common.base.Function;
|
||||||
import com.google.common.base.Optional;
|
import com.google.common.base.Optional;
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.collect.ImmutableSet;
|
import com.google.common.collect.ImmutableSet;
|
||||||
|
import com.google.common.collect.Iterables;
|
||||||
import com.googlecode.objectify.Key;
|
import com.googlecode.objectify.Key;
|
||||||
import google.registry.model.contact.ContactPhoneNumber;
|
import google.registry.model.contact.ContactPhoneNumber;
|
||||||
import google.registry.model.contact.ContactResource;
|
import google.registry.model.contact.ContactResource;
|
||||||
|
@ -34,8 +35,10 @@ import google.registry.model.domain.DomainResource;
|
||||||
import google.registry.model.domain.GracePeriod;
|
import google.registry.model.domain.GracePeriod;
|
||||||
import google.registry.model.eppcommon.StatusValue;
|
import google.registry.model.eppcommon.StatusValue;
|
||||||
import google.registry.model.registrar.Registrar;
|
import google.registry.model.registrar.Registrar;
|
||||||
|
import google.registry.model.registrar.RegistrarContact;
|
||||||
import google.registry.model.translators.EnumToAttributeAdapter.EppEnum;
|
import google.registry.model.translators.EnumToAttributeAdapter.EppEnum;
|
||||||
import google.registry.util.FormattingLogger;
|
import google.registry.util.FormattingLogger;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
|
@ -64,20 +67,39 @@ final class DomainWhoisResponse extends WhoisResponseImpl {
|
||||||
@Override
|
@Override
|
||||||
public WhoisResponseResults getResponse(final boolean preferUnicode, String disclaimer) {
|
public WhoisResponseResults getResponse(final boolean preferUnicode, String disclaimer) {
|
||||||
Registrar registrar = getRegistrar(domain.getCurrentSponsorClientId());
|
Registrar registrar = getRegistrar(domain.getCurrentSponsorClientId());
|
||||||
String plaintext = new DomainEmitter()
|
Optional<RegistrarContact> abuseContact =
|
||||||
|
Iterables.tryFind(
|
||||||
|
registrar.getContacts(),
|
||||||
|
new Predicate<RegistrarContact>() {
|
||||||
|
@Override
|
||||||
|
public boolean apply(@Nullable RegistrarContact contact) {
|
||||||
|
return contact.getVisibleInDomainWhoisAsAbuse();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
String plaintext =
|
||||||
|
new DomainEmitter()
|
||||||
.emitField(
|
.emitField(
|
||||||
"Domain Name", maybeFormatHostname(domain.getFullyQualifiedDomainName(), preferUnicode))
|
"Domain Name",
|
||||||
.emitField("Domain ID", domain.getRepoId())
|
maybeFormatHostname(domain.getFullyQualifiedDomainName(), preferUnicode))
|
||||||
.emitField("WHOIS Server", registrar.getWhoisServer())
|
.emitField("Registry Domain ID", domain.getRepoId())
|
||||||
.emitField("Referral URL", registrar.getReferralUrl())
|
.emitField("Registrar WHOIS Server", registrar.getWhoisServer())
|
||||||
|
.emitField("Registrar URL", registrar.getReferralUrl())
|
||||||
.emitField("Updated Date", getFormattedString(domain.getLastEppUpdateTime()))
|
.emitField("Updated Date", getFormattedString(domain.getLastEppUpdateTime()))
|
||||||
.emitField("Creation Date", getFormattedString(domain.getCreationTime()))
|
.emitField("Creation Date", getFormattedString(domain.getCreationTime()))
|
||||||
.emitField(
|
.emitField(
|
||||||
"Registry Expiry Date", getFormattedString(domain.getRegistrationExpirationTime()))
|
"Registry Expiry Date", getFormattedString(domain.getRegistrationExpirationTime()))
|
||||||
.emitField("Sponsoring Registrar", registrar.getRegistrarName())
|
.emitField("Registrar", registrar.getRegistrarName())
|
||||||
.emitField(
|
.emitField(
|
||||||
"Sponsoring Registrar IANA ID",
|
"Registrar IANA ID",
|
||||||
registrar.getIanaIdentifier() == null ? null : registrar.getIanaIdentifier().toString())
|
Objects.toString(registrar.getIanaIdentifier(), ""))
|
||||||
|
// Email address is a required field for registrar contacts. Therefore as long as there
|
||||||
|
// is an abuse contact, we can get an email address from it.
|
||||||
|
.emitField(
|
||||||
|
"Registrar Abuse Contact Email",
|
||||||
|
abuseContact.isPresent() ? abuseContact.get().getEmailAddress() : null)
|
||||||
|
.emitField(
|
||||||
|
"Registrar Abuse Contact Phone",
|
||||||
|
abuseContact.isPresent() ? abuseContact.get().getPhoneNumber() : null)
|
||||||
.emitStatusValues(domain.getStatusValues(), domain.getGracePeriods())
|
.emitStatusValues(domain.getStatusValues(), domain.getGracePeriods())
|
||||||
.emitContact("Registrant", domain.getRegistrant(), preferUnicode)
|
.emitContact("Registrant", domain.getRegistrant(), preferUnicode)
|
||||||
.emitContact("Admin", getContactReference(Type.ADMIN), preferUnicode)
|
.emitContact("Admin", getContactReference(Type.ADMIN), preferUnicode)
|
||||||
|
@ -92,7 +114,9 @@ final class DomainWhoisResponse extends WhoisResponseImpl {
|
||||||
return maybeFormatHostname(hostName, preferUnicode);
|
return maybeFormatHostname(hostName, preferUnicode);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.emitField("DNSSEC", isNullOrEmpty(domain.getDsData()) ? "unsigned" : "signedDelegation")
|
.emitField(
|
||||||
|
"DNSSEC", isNullOrEmpty(domain.getDsData()) ? "unsigned" : "signedDelegation")
|
||||||
|
.emitWicfLink()
|
||||||
.emitLastUpdated(getTimestamp())
|
.emitLastUpdated(getTimestamp())
|
||||||
.emitAwipMessage()
|
.emitAwipMessage()
|
||||||
.emitFooter(disclaimer)
|
.emitFooter(disclaimer)
|
||||||
|
@ -139,7 +163,7 @@ final class DomainWhoisResponse extends WhoisResponseImpl {
|
||||||
domain.getFullyQualifiedDomainName(), contact);
|
domain.getFullyQualifiedDomainName(), contact);
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
emitField(contactType, "ID", contactResource.getContactId());
|
emitField("Registry", contactType, "ID", contactResource.getContactId());
|
||||||
PostalInfo postalInfo = chooseByUnicodePreference(
|
PostalInfo postalInfo = chooseByUnicodePreference(
|
||||||
preferUnicode,
|
preferUnicode,
|
||||||
contactResource.getLocalizedPostalInfo(),
|
contactResource.getLocalizedPostalInfo(),
|
||||||
|
|
|
@ -55,17 +55,20 @@ final class NameserverWhoisResponse extends WhoisResponseImpl {
|
||||||
: host.getPersistedCurrentSponsorClientId();
|
: host.getPersistedCurrentSponsorClientId();
|
||||||
Registrar registrar = getRegistrar(clientId);
|
Registrar registrar = getRegistrar(clientId);
|
||||||
emitter
|
emitter
|
||||||
.emitField("Server Name", maybeFormatHostname(
|
.emitField(
|
||||||
host.getFullyQualifiedHostName(), preferUnicode))
|
"Server Name", maybeFormatHostname(host.getFullyQualifiedHostName(), preferUnicode))
|
||||||
.emitSet("IP Address", host.getInetAddresses(),
|
.emitSet(
|
||||||
|
"IP Address",
|
||||||
|
host.getInetAddresses(),
|
||||||
new Function<InetAddress, String>() {
|
new Function<InetAddress, String>() {
|
||||||
@Override
|
@Override
|
||||||
public String apply(InetAddress addr) {
|
public String apply(InetAddress addr) {
|
||||||
return InetAddresses.toAddrString(addr);
|
return InetAddresses.toAddrString(addr);
|
||||||
}})
|
}
|
||||||
|
})
|
||||||
.emitField("Registrar", registrar.getRegistrarName())
|
.emitField("Registrar", registrar.getRegistrarName())
|
||||||
.emitField("WHOIS Server", registrar.getWhoisServer())
|
.emitField("Registrar WHOIS Server", registrar.getWhoisServer())
|
||||||
.emitField("Referral URL", registrar.getReferralUrl());
|
.emitField("Registrar URL", registrar.getReferralUrl());
|
||||||
if (i < hosts.size() - 1) {
|
if (i < hosts.size() - 1) {
|
||||||
emitter.emitNewline();
|
emitter.emitNewline();
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,8 +45,9 @@ class RegistrarWhoisResponse extends WhoisResponseImpl {
|
||||||
@Override
|
@Override
|
||||||
public WhoisResponseResults getResponse(boolean preferUnicode, String disclaimer) {
|
public WhoisResponseResults getResponse(boolean preferUnicode, String disclaimer) {
|
||||||
Set<RegistrarContact> contacts = registrar.getContacts();
|
Set<RegistrarContact> contacts = registrar.getContacts();
|
||||||
String plaintext = new RegistrarEmitter()
|
String plaintext =
|
||||||
.emitField("Registrar Name", registrar.getRegistrarName())
|
new RegistrarEmitter()
|
||||||
|
.emitField("Registrar", registrar.getRegistrarName())
|
||||||
.emitAddress(
|
.emitAddress(
|
||||||
null,
|
null,
|
||||||
chooseByUnicodePreference(
|
chooseByUnicodePreference(
|
||||||
|
@ -55,8 +56,8 @@ class RegistrarWhoisResponse extends WhoisResponseImpl {
|
||||||
registrar.getInternationalizedAddress()))
|
registrar.getInternationalizedAddress()))
|
||||||
.emitPhonesAndEmail(
|
.emitPhonesAndEmail(
|
||||||
registrar.getPhoneNumber(), registrar.getFaxNumber(), registrar.getEmailAddress())
|
registrar.getPhoneNumber(), registrar.getFaxNumber(), registrar.getEmailAddress())
|
||||||
.emitField("WHOIS Server", registrar.getWhoisServer())
|
.emitField("Registrar WHOIS Server", registrar.getWhoisServer())
|
||||||
.emitField("Referral URL", registrar.getReferralUrl())
|
.emitField("Registrar URL", registrar.getReferralUrl())
|
||||||
.emitRegistrarContacts("Admin", contacts, AdminOrTech.ADMIN)
|
.emitRegistrarContacts("Admin", contacts, AdminOrTech.ADMIN)
|
||||||
.emitRegistrarContacts("Technical", contacts, AdminOrTech.TECH)
|
.emitRegistrarContacts("Technical", contacts, AdminOrTech.TECH)
|
||||||
.emitLastUpdated(getTimestamp())
|
.emitLastUpdated(getTimestamp())
|
||||||
|
|
|
@ -40,10 +40,10 @@ abstract class WhoisResponseImpl implements WhoisResponse {
|
||||||
|
|
||||||
/** Field name for ICANN problem reporting URL appended to all WHOIS responses. */
|
/** Field name for ICANN problem reporting URL appended to all WHOIS responses. */
|
||||||
private static final String ICANN_REPORTING_URL_FIELD =
|
private static final String ICANN_REPORTING_URL_FIELD =
|
||||||
"URL of the ICANN WHOIS Data Problem Reporting System";
|
"URL of the ICANN Whois Inaccuracy Complaint Form";
|
||||||
|
|
||||||
/** ICANN problem reporting URL appended to all WHOIS responses. */
|
/** ICANN problem reporting URL appended to all WHOIS responses. */
|
||||||
private static final String ICANN_REPORTING_URL = "http://wdprs.internic.net/";
|
private static final String ICANN_REPORTING_URL = "https://www.icann.org/wicf/";
|
||||||
|
|
||||||
private static final Registrar EMPTY_REGISTRAR = new Supplier<Registrar>() {
|
private static final Registrar EMPTY_REGISTRAR = new Supplier<Registrar>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -147,6 +147,12 @@ abstract class WhoisResponseImpl implements WhoisResponse {
|
||||||
return thisCastToDerived();
|
return thisCastToDerived();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Emit Whois Inaccuracy Complaint Form link. Only used for domain queries. */
|
||||||
|
E emitWicfLink() {
|
||||||
|
emitField(ICANN_REPORTING_URL_FIELD, ICANN_REPORTING_URL);
|
||||||
|
return thisCastToDerived();
|
||||||
|
}
|
||||||
|
|
||||||
/** Returns raw text that should be appended to the end of ALL WHOIS responses. */
|
/** Returns raw text that should be appended to the end of ALL WHOIS responses. */
|
||||||
E emitLastUpdated(DateTime timestamp) {
|
E emitLastUpdated(DateTime timestamp) {
|
||||||
// We are assuming that our WHOIS database is always completely up to date, since it's
|
// We are assuming that our WHOIS database is always completely up to date, since it's
|
||||||
|
@ -160,8 +166,7 @@ abstract class WhoisResponseImpl implements WhoisResponse {
|
||||||
|
|
||||||
/** Returns raw text that should be appended to the end of ALL WHOIS responses. */
|
/** Returns raw text that should be appended to the end of ALL WHOIS responses. */
|
||||||
E emitFooter(String disclaimer) {
|
E emitFooter(String disclaimer) {
|
||||||
emitField(ICANN_REPORTING_URL_FIELD, ICANN_REPORTING_URL);
|
stringBuilder.append(disclaimer).append("\r\n");
|
||||||
stringBuilder.append("\r\n").append(disclaimer).append("\r\n");
|
|
||||||
return thisCastToDerived();
|
return thisCastToDerived();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,14 @@ public final class FullFieldsTestEntityHelper {
|
||||||
// distinction to make sure we're not relying on it. Sigh.
|
// distinction to make sure we're not relying on it. Sigh.
|
||||||
.setVisibleInWhoisAsAdmin(true)
|
.setVisibleInWhoisAsAdmin(true)
|
||||||
.setVisibleInWhoisAsTech(false)
|
.setVisibleInWhoisAsTech(false)
|
||||||
|
.build(),
|
||||||
|
new RegistrarContact.Builder()
|
||||||
|
.setParent(registrar)
|
||||||
|
.setName("Jake Doe")
|
||||||
|
.setEmailAddress("jakedoe@example.com")
|
||||||
|
.setPhoneNumber("+1.2125551216")
|
||||||
|
.setFaxNumber("+1.2125551216")
|
||||||
|
.setVisibleInDomainWhoisAsAbuse(true)
|
||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ import google.registry.model.domain.secdns.DelegationSignerData;
|
||||||
import google.registry.model.eppcommon.StatusValue;
|
import google.registry.model.eppcommon.StatusValue;
|
||||||
import google.registry.model.host.HostResource;
|
import google.registry.model.host.HostResource;
|
||||||
import google.registry.model.registrar.Registrar;
|
import google.registry.model.registrar.Registrar;
|
||||||
|
import google.registry.model.registrar.RegistrarContact;
|
||||||
import google.registry.testing.AppEngineRule;
|
import google.registry.testing.AppEngineRule;
|
||||||
import google.registry.testing.FakeClock;
|
import google.registry.testing.FakeClock;
|
||||||
import google.registry.whois.WhoisResponse.WhoisResponseResults;
|
import google.registry.whois.WhoisResponse.WhoisResponseResults;
|
||||||
|
@ -66,8 +67,21 @@ public class DomainWhoisResponseTest {
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
// Update the registrar to have an IANA ID.
|
// Update the registrar to have an IANA ID.
|
||||||
|
Registrar registrar =
|
||||||
persistResource(
|
persistResource(
|
||||||
Registrar.loadByClientId("NewRegistrar").asBuilder().setIanaIdentifier(5555555L).build());
|
Registrar.loadByClientId("NewRegistrar")
|
||||||
|
.asBuilder()
|
||||||
|
.setIanaIdentifier(5555555L)
|
||||||
|
.build());
|
||||||
|
|
||||||
|
persistResource(
|
||||||
|
new RegistrarContact.Builder()
|
||||||
|
.setParent(registrar)
|
||||||
|
.setName("Jake Doe")
|
||||||
|
.setEmailAddress("jakedoe@theregistrar.com")
|
||||||
|
.setPhoneNumber("+1.2125551216")
|
||||||
|
.setVisibleInDomainWhoisAsAbuse(true)
|
||||||
|
.build());
|
||||||
|
|
||||||
createTld("tld");
|
createTld("tld");
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,21 @@
|
||||||
Domain Name: example.tld
|
Domain Name: example.tld
|
||||||
Domain ID: 3-TLD
|
Registry Domain ID: 3-TLD
|
||||||
WHOIS Server: whois.nic.fakewhois.example
|
Registrar WHOIS Server: whois.nic.fakewhois.example
|
||||||
Referral URL: http://www.referral.example/path
|
Registrar URL: http://www.referral.example/path
|
||||||
Updated Date: 2009-05-29T20:13:00Z
|
Updated Date: 2009-05-29T20:13:00Z
|
||||||
Creation Date: 2000-10-08T00:45:00Z
|
Creation Date: 2000-10-08T00:45:00Z
|
||||||
Registry Expiry Date: 2010-10-08T00:44:59Z
|
Registry Expiry Date: 2010-10-08T00:44:59Z
|
||||||
Sponsoring Registrar: New Registrar
|
Registrar: New Registrar
|
||||||
Sponsoring Registrar IANA ID: 5555555
|
Registrar IANA ID: 5555555
|
||||||
|
Registrar Abuse Contact Email: jakedoe@theregistrar.com
|
||||||
|
Registrar Abuse Contact Phone: +1.2125551216
|
||||||
Domain Status: addPeriod https://icann.org/epp#addPeriod
|
Domain Status: addPeriod https://icann.org/epp#addPeriod
|
||||||
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
||||||
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
||||||
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
||||||
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
||||||
Domain Status: transferPeriod https://icann.org/epp#transferPeriod
|
Domain Status: transferPeriod https://icann.org/epp#transferPeriod
|
||||||
Registrant ID: 5372808-ERL
|
Registry Registrant ID: 5372808-ERL
|
||||||
Registrant Name: EXAMPLE REGISTRANT
|
Registrant Name: EXAMPLE REGISTRANT
|
||||||
Registrant Organization: EXAMPLE ORGANIZATION
|
Registrant Organization: EXAMPLE ORGANIZATION
|
||||||
Registrant Street: 123 EXAMPLE STREET
|
Registrant Street: 123 EXAMPLE STREET
|
||||||
|
@ -26,7 +28,7 @@ Registrant Phone Ext: 1234
|
||||||
Registrant Fax: +1.5555551213
|
Registrant Fax: +1.5555551213
|
||||||
Registrant Fax Ext: 4321
|
Registrant Fax Ext: 4321
|
||||||
Registrant Email: EMAIL@EXAMPLE.tld
|
Registrant Email: EMAIL@EXAMPLE.tld
|
||||||
Admin ID: 5372809-ERL
|
Registry Admin ID: 5372809-ERL
|
||||||
Admin Name: EXAMPLE REGISTRANT ADMINISTRATIVE
|
Admin Name: EXAMPLE REGISTRANT ADMINISTRATIVE
|
||||||
Admin Organization: EXAMPLE REGISTRANT ORGANIZATION
|
Admin Organization: EXAMPLE REGISTRANT ORGANIZATION
|
||||||
Admin Street: 123 EXAMPLE STREET
|
Admin Street: 123 EXAMPLE STREET
|
||||||
|
@ -39,7 +41,7 @@ Admin Phone Ext: 1234
|
||||||
Admin Fax: +1.5555551213
|
Admin Fax: +1.5555551213
|
||||||
Admin Fax Ext:
|
Admin Fax Ext:
|
||||||
Admin Email: EMAIL@EXAMPLE.tld
|
Admin Email: EMAIL@EXAMPLE.tld
|
||||||
Tech ID: 5372811-ERL
|
Registry Tech ID: 5372811-ERL
|
||||||
Tech Name: EXAMPLE REGISTRAR TECHNICAL
|
Tech Name: EXAMPLE REGISTRAR TECHNICAL
|
||||||
Tech Organization: EXAMPLE REGISTRAR LLC
|
Tech Organization: EXAMPLE REGISTRAR LLC
|
||||||
Tech Street: 123 EXAMPLE STREET
|
Tech Street: 123 EXAMPLE STREET
|
||||||
|
@ -55,10 +57,9 @@ Tech Email: EMAIL@EXAMPLE.tld
|
||||||
Name Server: ns01.exampleregistrar.tld
|
Name Server: ns01.exampleregistrar.tld
|
||||||
Name Server: ns02.exampleregistrar.tld
|
Name Server: ns02.exampleregistrar.tld
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
|
||||||
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
||||||
|
|
||||||
For more information on Whois status codes, please visit https://icann.org/epp
|
For more information on Whois status codes, please visit https://icann.org/epp
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -2,17 +2,15 @@ Server Name: ns1.example.tld
|
||||||
IP Address: 192.0.2.123
|
IP Address: 192.0.2.123
|
||||||
IP Address: 2001:db8::1
|
IP Address: 2001:db8::1
|
||||||
Registrar: Example Registrar, Inc.
|
Registrar: Example Registrar, Inc.
|
||||||
WHOIS Server: whois.nic.fakewhois.example
|
Registrar WHOIS Server: whois.nic.fakewhois.example
|
||||||
Referral URL: http://www.referral.example/path
|
Registrar URL: http://www.referral.example/path
|
||||||
|
|
||||||
Server Name: ns2.example.tld
|
Server Name: ns2.example.tld
|
||||||
IP Address: 192.0.2.123
|
IP Address: 192.0.2.123
|
||||||
IP Address: 2001:db8::1
|
IP Address: 2001:db8::1
|
||||||
Registrar: Example Registrar, Inc.
|
Registrar: Example Registrar, Inc.
|
||||||
WHOIS Server: whois.nic.fakewhois.example
|
Registrar WHOIS Server: whois.nic.fakewhois.example
|
||||||
Referral URL: http://www.referral.example/path
|
Registrar URL: http://www.referral.example/path
|
||||||
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -2,10 +2,8 @@ Server Name: ns1.example.tld
|
||||||
IP Address: 192.0.2.123
|
IP Address: 192.0.2.123
|
||||||
IP Address: 2001:db8::1
|
IP Address: 2001:db8::1
|
||||||
Registrar: Example Registrar, Inc.
|
Registrar: Example Registrar, Inc.
|
||||||
WHOIS Server: whois.nic.fakewhois.example
|
Registrar WHOIS Server: whois.nic.fakewhois.example
|
||||||
Referral URL: http://www.referral.example/path
|
Registrar URL: http://www.referral.example/path
|
||||||
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Registrar Name: Example Registrar, Inc.
|
Registrar: Example Registrar, Inc.
|
||||||
Street: 1234 Admiralty Way
|
Street: 1234 Admiralty Way
|
||||||
City: Marina del Rey
|
City: Marina del Rey
|
||||||
State/Province: CA
|
State/Province: CA
|
||||||
|
@ -7,8 +7,8 @@ Country: US
|
||||||
Phone Number: +1.3105551212
|
Phone Number: +1.3105551212
|
||||||
Fax Number: +1.3105551213
|
Fax Number: +1.3105551213
|
||||||
Email: registrar@example.tld
|
Email: registrar@example.tld
|
||||||
WHOIS Server: whois.example-registrar.tld
|
Registrar WHOIS Server: whois.example-registrar.tld
|
||||||
Referral URL: http://www.example-registrar.tld
|
Registrar URL: http://www.example-registrar.tld
|
||||||
Admin Contact: Jane Registrar
|
Admin Contact: Jane Registrar
|
||||||
Phone Number: +1.3105551214
|
Phone Number: +1.3105551214
|
||||||
Fax Number: +1.3105551213
|
Fax Number: +1.3105551213
|
||||||
|
@ -23,6 +23,4 @@ Fax Number: +1.3105551216
|
||||||
Email: johngeek@example-registrar.tld
|
Email: johngeek@example-registrar.tld
|
||||||
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
>>> Last update of WHOIS database: 2009-05-29T20:15:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
Domain Name: cat.lol
|
Domain Name: cat.lol
|
||||||
Domain ID: 9-LOL
|
Registry Domain ID: 9-LOL
|
||||||
WHOIS Server: whois.example.com
|
Registrar WHOIS Server: whois.example.com
|
||||||
Referral URL: http://www.example.com
|
Registrar URL: http://www.example.com
|
||||||
Updated Date: 2009-05-29T20:13:00Z
|
Updated Date: 2009-05-29T20:13:00Z
|
||||||
Creation Date: 2000-10-08T00:45:00Z
|
Creation Date: 2000-10-08T00:45:00Z
|
||||||
Registry Expiry Date: 2110-10-08T00:44:59Z
|
Registry Expiry Date: 2110-10-08T00:44:59Z
|
||||||
Sponsoring Registrar: Yes Virginia <script>
|
Registrar: Yes Virginia <script>
|
||||||
Sponsoring Registrar IANA ID: 1
|
Registrar IANA ID: 1
|
||||||
|
Registrar Abuse Contact Email: jakedoe@example.com
|
||||||
|
Registrar Abuse Contact Phone: +1.2125551216
|
||||||
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
||||||
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
||||||
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
||||||
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
||||||
Registrant ID: 5372808-ERL
|
Registry Registrant ID: 5372808-ERL
|
||||||
Registrant Name: Goblin Market
|
Registrant Name: Goblin Market
|
||||||
Registrant Organization: GOOGLE INCORPORATED <script>
|
Registrant Organization: GOOGLE INCORPORATED <script>
|
||||||
Registrant Street: 123 Example Boulevard <script>
|
Registrant Street: 123 Example Boulevard <script>
|
||||||
|
@ -24,7 +26,7 @@ Registrant Phone Ext:
|
||||||
Registrant Fax: +1.2126660420
|
Registrant Fax: +1.2126660420
|
||||||
Registrant Fax Ext:
|
Registrant Fax Ext:
|
||||||
Registrant Email: lol@cat.lol
|
Registrant Email: lol@cat.lol
|
||||||
Admin ID: 5372808-IRL
|
Registry Admin ID: 5372808-IRL
|
||||||
Admin Name: Santa Claus
|
Admin Name: Santa Claus
|
||||||
Admin Organization: GOOGLE INCORPORATED <script>
|
Admin Organization: GOOGLE INCORPORATED <script>
|
||||||
Admin Street: 123 Example Boulevard <script>
|
Admin Street: 123 Example Boulevard <script>
|
||||||
|
@ -37,7 +39,7 @@ Admin Phone Ext:
|
||||||
Admin Fax: +1.2126660420
|
Admin Fax: +1.2126660420
|
||||||
Admin Fax Ext:
|
Admin Fax Ext:
|
||||||
Admin Email: BOFH@cat.lol
|
Admin Email: BOFH@cat.lol
|
||||||
Tech ID: 5372808-TRL
|
Registry Tech ID: 5372808-TRL
|
||||||
Tech Name: The Raven
|
Tech Name: The Raven
|
||||||
Tech Organization: GOOGLE INCORPORATED <script>
|
Tech Organization: GOOGLE INCORPORATED <script>
|
||||||
Tech Street: 123 Example Boulevard <script>
|
Tech Street: 123 Example Boulevard <script>
|
||||||
|
@ -53,10 +55,9 @@ Tech Email: bog@cat.lol
|
||||||
Name Server: ns1.cat.lol
|
Name Server: ns1.cat.lol
|
||||||
Name Server: ns2.cat.lol
|
Name Server: ns2.cat.lol
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
For more information on Whois status codes, please visit https://icann.org/epp
|
For more information on Whois status codes, please visit https://icann.org/epp
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
Domain not found.
|
Domain not found.
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
Domain Name: cat.xn--q9jyb4c
|
Domain Name: cat.xn--q9jyb4c
|
||||||
Domain ID: 9-Q9JYB4C
|
Registry Domain ID: 9-Q9JYB4C
|
||||||
WHOIS Server: whois.example.com
|
Registrar WHOIS Server: whois.example.com
|
||||||
Referral URL: http://www.example.com
|
Registrar URL: http://www.example.com
|
||||||
Updated Date: 2009-05-29T20:13:00Z
|
Updated Date: 2009-05-29T20:13:00Z
|
||||||
Creation Date: 2000-10-08T00:45:00Z
|
Creation Date: 2000-10-08T00:45:00Z
|
||||||
Registry Expiry Date: 2110-10-08T00:44:59Z
|
Registry Expiry Date: 2110-10-08T00:44:59Z
|
||||||
Sponsoring Registrar: Yes Virginia <script>
|
Registrar: Yes Virginia <script>
|
||||||
Sponsoring Registrar IANA ID: 1
|
Registrar IANA ID: 1
|
||||||
|
Registrar Abuse Contact Email: jakedoe@example.com
|
||||||
|
Registrar Abuse Contact Phone: +1.2125551216
|
||||||
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
||||||
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
||||||
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
||||||
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
||||||
Registrant ID: 5372808-ERL
|
Registry Registrant ID: 5372808-ERL
|
||||||
Registrant Name: (◕‿◕)
|
Registrant Name: (◕‿◕)
|
||||||
Registrant Organization: GOOGLE INCORPORATED <script>
|
Registrant Organization: GOOGLE INCORPORATED <script>
|
||||||
Registrant Street: 123 Example Boulevard <script>
|
Registrant Street: 123 Example Boulevard <script>
|
||||||
|
@ -24,7 +26,7 @@ Registrant Phone Ext:
|
||||||
Registrant Fax: +1.2126660420
|
Registrant Fax: +1.2126660420
|
||||||
Registrant Fax Ext:
|
Registrant Fax Ext:
|
||||||
Registrant Email: lol@cat.みんな
|
Registrant Email: lol@cat.みんな
|
||||||
Admin ID: 5372808-IRL
|
Registry Admin ID: 5372808-IRL
|
||||||
Admin Name: Santa Claus
|
Admin Name: Santa Claus
|
||||||
Admin Organization: GOOGLE INCORPORATED <script>
|
Admin Organization: GOOGLE INCORPORATED <script>
|
||||||
Admin Street: 123 Example Boulevard <script>
|
Admin Street: 123 Example Boulevard <script>
|
||||||
|
@ -37,7 +39,7 @@ Admin Phone Ext:
|
||||||
Admin Fax: +1.2126660420
|
Admin Fax: +1.2126660420
|
||||||
Admin Fax Ext:
|
Admin Fax Ext:
|
||||||
Admin Email: BOFH@cat.みんな
|
Admin Email: BOFH@cat.みんな
|
||||||
Tech ID: 5372808-TRL
|
Registry Tech ID: 5372808-TRL
|
||||||
Tech Name: The Raven
|
Tech Name: The Raven
|
||||||
Tech Organization: GOOGLE INCORPORATED <script>
|
Tech Organization: GOOGLE INCORPORATED <script>
|
||||||
Tech Street: 123 Example Boulevard <script>
|
Tech Street: 123 Example Boulevard <script>
|
||||||
|
@ -53,10 +55,9 @@ Tech Email: bog@cat.みんな
|
||||||
Name Server: ns1.cat.xn--q9jyb4c
|
Name Server: ns1.cat.xn--q9jyb4c
|
||||||
Name Server: ns2.cat.xn--q9jyb4c
|
Name Server: ns2.cat.xn--q9jyb4c
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
For more information on Whois status codes, please visit https://icann.org/epp
|
For more information on Whois status codes, please visit https://icann.org/epp
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
Domain Name: cat.みんな
|
Domain Name: cat.みんな
|
||||||
Domain ID: 9-Q9JYB4C
|
Registry Domain ID: 9-Q9JYB4C
|
||||||
WHOIS Server: whois.example.com
|
Registrar WHOIS Server: whois.example.com
|
||||||
Referral URL: http://www.example.com
|
Registrar URL: http://www.example.com
|
||||||
Updated Date: 2009-05-29T20:13:00Z
|
Updated Date: 2009-05-29T20:13:00Z
|
||||||
Creation Date: 2000-10-08T00:45:00Z
|
Creation Date: 2000-10-08T00:45:00Z
|
||||||
Registry Expiry Date: 2110-10-08T00:44:59Z
|
Registry Expiry Date: 2110-10-08T00:44:59Z
|
||||||
Sponsoring Registrar: Yes Virginia <script>
|
Registrar: Yes Virginia <script>
|
||||||
Sponsoring Registrar IANA ID: 1
|
Registrar IANA ID: 1
|
||||||
|
Registrar Abuse Contact Email: jakedoe@example.com
|
||||||
|
Registrar Abuse Contact Phone: +1.2125551216
|
||||||
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
|
||||||
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
|
||||||
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
|
||||||
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
|
||||||
Registrant ID: 5372808-ERL
|
Registry Registrant ID: 5372808-ERL
|
||||||
Registrant Name: (◕‿◕)
|
Registrant Name: (◕‿◕)
|
||||||
Registrant Organization: GOOGLE INCORPORATED <script>
|
Registrant Organization: GOOGLE INCORPORATED <script>
|
||||||
Registrant Street: 123 Example Boulevard <script>
|
Registrant Street: 123 Example Boulevard <script>
|
||||||
|
@ -24,7 +26,7 @@ Registrant Phone Ext:
|
||||||
Registrant Fax: +1.2126660420
|
Registrant Fax: +1.2126660420
|
||||||
Registrant Fax Ext:
|
Registrant Fax Ext:
|
||||||
Registrant Email: lol@cat.みんな
|
Registrant Email: lol@cat.みんな
|
||||||
Admin ID: 5372808-IRL
|
Registry Admin ID: 5372808-IRL
|
||||||
Admin Name: Santa Claus
|
Admin Name: Santa Claus
|
||||||
Admin Organization: GOOGLE INCORPORATED <script>
|
Admin Organization: GOOGLE INCORPORATED <script>
|
||||||
Admin Street: 123 Example Boulevard <script>
|
Admin Street: 123 Example Boulevard <script>
|
||||||
|
@ -37,7 +39,7 @@ Admin Phone Ext:
|
||||||
Admin Fax: +1.2126660420
|
Admin Fax: +1.2126660420
|
||||||
Admin Fax Ext:
|
Admin Fax Ext:
|
||||||
Admin Email: BOFH@cat.みんな
|
Admin Email: BOFH@cat.みんな
|
||||||
Tech ID: 5372808-TRL
|
Registry Tech ID: 5372808-TRL
|
||||||
Tech Name: The Raven
|
Tech Name: The Raven
|
||||||
Tech Organization: GOOGLE INCORPORATED <script>
|
Tech Organization: GOOGLE INCORPORATED <script>
|
||||||
Tech Street: 123 Example Boulevard <script>
|
Tech Street: 123 Example Boulevard <script>
|
||||||
|
@ -53,10 +55,9 @@ Tech Email: bog@cat.みんな
|
||||||
Name Server: ns1.cat.みんな
|
Name Server: ns1.cat.みんな
|
||||||
Name Server: ns2.cat.みんな
|
Name Server: ns2.cat.みんな
|
||||||
DNSSEC: signedDelegation
|
DNSSEC: signedDelegation
|
||||||
|
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
For more information on Whois status codes, please visit https://icann.org/epp
|
For more information on Whois status codes, please visit https://icann.org/epp
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
No nameservers found.
|
No nameservers found.
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
Malformed path query.
|
Malformed path query.
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
Server Name: ns1.cat.lol
|
Server Name: ns1.cat.lol
|
||||||
IP Address: 1.2.3.4
|
IP Address: 1.2.3.4
|
||||||
Registrar:
|
Registrar:
|
||||||
WHOIS Server: whois.nic.fakewhois.example
|
Registrar WHOIS Server: whois.nic.fakewhois.example
|
||||||
Referral URL: http://www.referral.example/path
|
Registrar URL: http://www.referral.example/path
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
Nameserver not found.
|
Nameserver not found.
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
No WHOIS command specified.
|
No WHOIS command specified.
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Registrar Name: Example Registrar, Inc.
|
Registrar: Example Registrar, Inc.
|
||||||
Street: 123 Example Boulevard <script>
|
Street: 123 Example Boulevard <script>
|
||||||
City: Williamsburg <script>
|
City: Williamsburg <script>
|
||||||
State/Province: NY
|
State/Province: NY
|
||||||
|
@ -7,8 +7,8 @@ Country: US
|
||||||
Phone Number: +1.2125551212
|
Phone Number: +1.2125551212
|
||||||
Fax Number: +1.2125551213
|
Fax Number: +1.2125551213
|
||||||
Email: contact-us@example.com
|
Email: contact-us@example.com
|
||||||
WHOIS Server: whois.example.com
|
Registrar WHOIS Server: whois.example.com
|
||||||
Referral URL: http://www.example.com
|
Registrar URL: http://www.example.com
|
||||||
Admin Contact: Jane Doe
|
Admin Contact: Jane Doe
|
||||||
Phone Number: +1.2125551215
|
Phone Number: +1.2125551215
|
||||||
Fax Number: +1.2125551216
|
Fax Number: +1.2125551216
|
||||||
|
@ -19,6 +19,4 @@ Fax Number: +1.2125551213
|
||||||
Email: johndoe@example.com
|
Email: johndoe@example.com
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
No registrar found.
|
No registrar found.
|
||||||
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
>>> Last update of WHOIS database: 2009-06-29T20:13:00Z <<<
|
||||||
|
|
||||||
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
|
|
||||||
|
|
||||||
Doodle Disclaimer
|
Doodle Disclaimer
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue