Giter VIP home page Giter VIP logo

php-epp-client's Introduction

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


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');

php-epp-client's People

Contributors

metaregistrar avatar webdevvie avatar pkaz avatar ikulis avatar thomasmeike avatar sabinejansen avatar

Watchers

James Cloos avatar MikkoL avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.