Giter VIP home page Giter VIP logo

php-epp-client's Introduction

PHP EPP Client

Latest Stable Version Total Downloads Latest Unstable Version

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)
  • DNS Belgium (.be .vlaanderen .brussels)
  • .CO.NL
  • dotFRL
  • IIS (.nu and .se)
  • CarDNS (.hr)
  • Metaregistrar
  • Nic.AT (.at)
  • Key Systems RRPPROXY
  • .PT
  • Switch (.ch)
  • Openprovider
  • Ficora (.fi)
  • DNS.PT (.pt)
  • Norid (.no)
  • Arnes (.si)

All code changes are tested automatically with the phpunit tests in the Tests directory

Example scipts in the main directory:

File Description
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.
createdomain.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

  1. Check out the latest version from github. (Or composer require metaregistrar/php-epp-client)
  2. Use the Examples/checkdomain.php and create a connection to your favorite registry (for example new Metaregistrar\EPP\metaregEppConnection()).
  3. Create a settings.ini in with the following contents:
        interface=eppConnection
        hostname=ssl://eppltest1.metaregistrar.com
        port=7000
        userid=xxxxxxxx
        password=xxxxxxxxx
        certificatefile=/home/xxxxxx/xxxxxxx.pem
        certificatepassword=xxxxxxx
  1. 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');

php-epp-client's People

Contributors

8kb avatar aksl avatar alexrsagen avatar hiqsol avatar ikulis avatar metaregistrar avatar pkaz avatar sabinejansen avatar sfenne avatar spacecodeit avatar thomasmeike avatar webdevvie avatar wevothere120 avatar

Watchers

 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.