Skip to content

hiqdev/heppy

Repository files navigation

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/)