heppy icon indicating copy to clipboard operation
heppy copied to clipboard

Python EPP client and library

hEPPy

EPP client and library in Python

GitHub version Scrutinizer Code Coverage Scrutinizer Code Quality

EPP is Extensible Provisioning Protocol used for registrar-registry communication to register and manage domains.

This package provides:

  • library for building and parsing EPP requests and responses
  • EPP client implemented as a UNIX daemon
  • whole infrastructure for implementing domain name registrar

For the moment it is in early stage of development.

Configuration

etc/epp.verisign-grs.com.json

{
    "epp": {
        "host":         "epp.verisign-grs.com",
        "port":         700,
        "login":        "LOGIN",
        "password":     "PASSWORD",
        "certfile":     "ssl/my.cert",
        "keyfile":      "ssl/my.key",
        "ca_certs":     "ssl/my.intermediate"
    },
    "RabbitMQ": {
        "queue":        "epp.verisign-grs.com",
        "host":         "localhost"
    },
    "local": {
        "address":      "/tmp/epp/epp.verisign-grs.com:NN"
    },
    "zones" : [
        ".com",
        ".net"
    ]
}

Usage

Start EPP client daemon:

./bin/heppyd etc/verisign/epp.json start

Configure and start EPP client daemon with systemd:

./bin/heppyd etc/verisign/epp.json systemd up

Register domain:

./bin/heppyc etc/verisign/epp.json domain:create '-name=xn----0tbbnc0a.com' -pw=23_sA:d34 -period=1 -extensions.1=idnLang:tag -idnLang.tag=RUS -extensions.0=namestoreExt:subProduct -namestoreExt.subProduct=COM

TODO

  • Send hello command every X minutes.
  • Kill client every X hours.

License

This project is released under the terms of the BSD-3-Clause license. Read more here.

Copyright © 2015-2017, HiQDev (http://hiqdev.com/)