php-epp-client
==============
Object-oriented PHP EPP Client
Welcome to the "object-oriented EPP client in PHP" project.
This project supports the following:
------------------------------------
- Full EPP 57xx RFC standard
- Extensible PHP objects to add registry-specific additions
- Rock-solid object-oriented programming, object inheritance and exception handling
- Interface tested and in use with a registrar that handles 600.000+ domain names
- Public/private key client certificates for connecting to EPP service (for example see Registries/IIS)
- Connection to EPP via HTTP/SSL (for example see Registries/Openprovider)
- DNSSEC transactions
- Registry sunrise, landrush and claims periods (draft-ietf-eppext-launchphase)
- TMCH/TMDB CNIS retrieval examples with standard ICANN registrar message
This code will provide you with a fully functional EPP client to connect to any registry world-wide that supports EPP.
All code is organized in objects, so connecting to a new registry is just a matter of object re-use and extension.
Sample registry connections are provided in the Registries directory.
Currently supported registries:
- SIDN (.nl)
- dotAmsterdam
- Donuts
- EurID (.eu)
- dotFRL
- CarDNS (.hr)
- IIS (.se and .nu)
- Metaregistrar
- Nic.AT (.at)
- Key Systems RRPPROXY
- Openprovider
- Ficora (.fi)
- DNS.PT (.pt)
- Norid (.no)
All code changes are tested automatically with the phpunit tests in the Tests directory
Example scipts in the main directory:
-------------------------------------
checkdomain.php - check one domain name
timeddomaincheck.php - check multiple domain names and check how fast the registry is
registerdomain.php - register a domain name
changepassword.php - change EPP password
infodomain.php - get information on a domain name
modifydomain.php - update a domain name with new info
createcontact.php - create a contact object
updatecontact.php - update contact details of a created contact object
registerdomain.php - register a domain name in general availability phase
signdomain.php - DNSSEC sign a domain name
poll.php - list registry poll messages and confirm a message
checklaunchdomain.php - check domain name in 'claims' phase of draft-ietf-eppext-launchphase and check if the domain is free
createlaunchdomain.php - register domain name in 'claims' phase of draft-ietf-eppext-launchphase
checktmchdomain.php - check domain name in the 'claims' phase and check if the domain has a claim and retrieve the cnis info from the TMCH
test-claim.php - connect to the TMCH test service and retrieve the list of domain names, query cnis info and display icann std warning msg
createclaimeddomain.php - create domain name that has a tmch claim in the claims phase of the launch
How to use this repository
--------------------------
- Check out the latest version from github
- Use the Examples/checkdomain.php and create a connection to your favorite registry (for example new Metaregistrar\EPP\metaregEppConnection())
- Create a settings.ini in with the following contents:
interface=eppConnection
hostname=ssl://eppltest1.metaregistrar.com
port=7000
userid=xxxxxxxx
password=xxxxxxxxx
- Now, checkdomain.php should be functioning and checking domains.
If you do not want to use settings.ini files in the Registries directory, you can create a connection as follows:
$conn = Metaregistrar\EPP\eppConnection::create('path-to-settings.ini');
Or set all parameters individually:
$conn = Metaregistrar\EPP\eppConnection();
$conn->setHostname('ssl://eppltest1.metaregistrar.com'); // Hostname may vary depending on the registry selected
$conn->setPort(7000); // Port may vary depending on the registry selected
$conn->setUsername('xxxxxxxx');
$conn->setPassword('xxxxxxxxx');