Skip to content

pkaz/php-epp-client

 
 

Repository files navigation

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
- Fully extensible PHP objects to add registry-specific extensions
- 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 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.

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=metaregEppConnection
        hostname=ssl://epp.test2.metaregistrar.com
        port=7443
        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\metaregEppConnection();
$conn->setHostname('ssl://epp.test2.metaregistrar.com'); // Hostname may vary depending on the registry selected
$conn->setPort(7443); // Port may vary depending on the registry selected
$conn->setUsername('xxxxxxxx');
$conn->setPassword('xxxxxxxxx');

Packages

No packages published

Languages

  • PHP 100.0%