# Address for the server to listen on. Defaults to ":700".
listen: ""

# Secure TLS connection configuration.
# If no certificates are provided, the TLS is disabled. Defaults to no certificates.
secure:
  # List of "key" and "crt" certificate pairs.
  certificates:
    - crt: "foo.crt"
      key: "foo.key"
  # Optionally specify the root certificate authority chain in PEM format.
  # Defaults to the system-specific file location. On *NIX this is usually "/etc/ssl/cert.pem".
  # You can get the latest version from here: https://curl.haxx.se/ca/cacert.pem
  root: "/etc/ssl/ca-bundle.pem"

# Server name to send in the greeting. Defaults to "EPP server".
server_name: EPP server

# Path to the log file to use instead of standard output. Defaults to "".
# This setting is for application level logs.
log_file: "epp.log"

# Log format, only "text" and "json" are supported. Invalid or empty value will result to "text".
# This setting is for application level logs.
log_format: "json"

# Boolean that will enable or disable buffering of logs to local file
# before they are pushed into the main database. Defaults to false.
# Setting this to true is highly recommended.
# This setting is for request/response logs.
traffic_log_buffer: false

# The limit of allowed active connections. Defaults to "2147483647".
max_connections: 10000

# The message size limit the server can accept in bytes. Defaults to "2048".
max_size: 10000

# The maximum number of failed login attempts per single connection before
# dropping the connection. Defaults to "3".
max_logins: 3

# The inactivity time limit after which the client will be disconnected.
# Each request prolongs the session by this limit. Defaults to "10m".
timeout: 30s

# List of available server services.
# Defaults to:
#  urn:ietf:params:xml:ns:domain-1.0
#  urn:ietf:params:xml:ns:contact-1.0
#  urn:ietf:params:xml:ns:registrar-info-1.0
#  urn:ietf:params:xml:ns:host-1.0
#  urn:ietf:params:xml:ns:rgp-1.0
#  urn:ietf:params:xml:ns:secDNS-1.1
services: []

# List of custom services - "extensions".
# Defaults to:
#  http://www.subreg.cz/epp/gransy-domain-0.1
#  http://www.subreg.cz/epp/gransy-document-0.1
#  http://www.subreg.cz/epp/gransy-contact-0.1
# Disabled by default:
#  http://regtonsregistry.cz/extobj
#  http://regtonsregistry.cz/commandCheck
extensions: []

# Database connection information. Note that the database name must be always provided.
# The host name defaults to "localhost".
# The port defaults to "3306".
db:
  host: 127.0.0.1
  port: 3306
  user: root
  password: ""
  database: epp
  socket: ""

# CRON task configuration. This setting only allows to configure the period.
# Missing tasks will be run with default periods. For list of available tasks
# see the cron.go file.
# CRON pattern is: Seconds Minutes Hours DayOfMonth Month DayOfWeek
# You can use shortcuts: @yearly/@annually, @monthly, @weekly, @daily/@midnight, @hourly.
# Additionally you can use @every <duration>, for example: @every 1h30m10s
# Non-existing task or invalid period will result in panic upon start.
# Using the same values does not guarantee order of execution, use more granular settings.
cron:
  cronCheckExpiringDomains: "@midnight"
  cronClearAutoRenewedDomains: "@midnight"
  cronCheckExpiredRGPs: "@every 10m"
  cronApproveExpiredTransfers: "@midnight"
  cronClearExpiredTransferBlockers: "@every 10m"
  cronRevertUnrestoredRGPs: "@every 5m"

# Runs listed CRON task upon server start.
# The key is the CRON task name and the value is the duration
# of the delay after start before the task is executed.
# Non-existing task or invalid delay will result in panic upon start.
cron_init:
  cronCheckExpiringDomains: "10s"

# Optional API server configuration.
# Note: JWTs are valid for one hour, there are no account+session tokens in place, only simple JWT.
api_server:
  # Address for the API server to listen on.
  # If empty, API server will not be started.
  listen: ""

  # Optional server name. This will be used for JWT so changing this
  # can invalidate existing JWTs. If no value is provided, the EPP server name will be used.
  name: ""

  # File to serve by the API server when GET request is made to "/" path.
  index_file: "frontend/dist/index.html"

  # Directory holding assets that will be served when GET request is made to "/static/*" path.
  assets_directory: "frontend/dist/static"

  # Secure TLS connection configuration.
  # If no certificates are provided, the TLS is disabled. Defaults to no certificates.
  secure:
    # List of "key" and "crt" certificate pairs.
    certificates:
    - crt: "foo.crt"
      key: "foo.key"
    # Optionally specify the root certificate authority chain in PEM format.
    # Defaults to the system-specific file location. On *NIX this is usually "/etc/ssl/cert.pem".
    # You can get the latest version from here: https://curl.haxx.se/ca/cacert.pem
    root: "/etc/ssl/ca-bundle.pem"

  # JWT secret for validating tokens.
  # Empty value means random one will be generated after each time the server is started.
  # Changing this value or leaving it empty will result in logged in users having invalid
  # session and will be required to log in again.
  secret: "foo"

# WHOIS server configuration.
whois:
  # The whois server address to listen on. If no value is provided, the server will not be started.
  # Note: according to the whois standard, port 43 is expected to be used in production.
  listen: ":43"

  # Optional server name to be used in the response body.
  # This is required for RDAP server and is expected to be in form
  # reachable for clients to perform whois requests.
  name: "whois.foo.com"

  # Optionally limit the number of requests per second. Value less than 1 disables this setting.
  # Defaults to 500.
  rate_limit: 500

  # Optional footnote to append into each response.
  footnote: |


    Lorem Ipsum is simply dummy text of the printing and typesetting industry.
    Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
    when an unknown printer took a galley of type and scrambled it to make a type specimen book.
    It has survived not only five centuries, but also the leap into electronic typesetting,
    remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets
    containing Lorem Ipsum passages, and more recently with desktop publishing software
    like Aldus PageMaker including versions of Lorem Ipsum.


# Optional RDAP server configuration.
rdap:
  # Address for the RDAP server to listen on.
  # If empty, API server will not be started.
  listen: ":80"

  # The FQDN of the RDAP server. This will be used to construct links in responses.
  address: "http://foo.registrar"

  # Secure TLS connection configuration.
  # If no certificates are provided, the TLS is disabled. Defaults to no certificates.
  secure:
    # List of "key" and "crt" certificate pairs.
    certificates:
    - crt: "foo.crt"
      key: "foo.key"
    # Optionally specify the root certificate authority chain in PEM format.
    # Defaults to the system-specific file location. On *NIX this is usually "/etc/ssl/cert.pem".
    # You can get the latest version from here: https://curl.haxx.se/ca/cacert.pem
    root: "/etc/ssl/ca-bundle.pem"

# IDN Tables - allows definition of unicode character sets for domain names in puny code format.
# Each TLD can use multiple tables(sets), configurable via administration UI.
# These will then be used to validate the domain name during registration process.
# There are no other rules applied, beside character match.
# Two unicode representations of a character are allowed: U+017E or \u017E
# See https://unicode-table.com for character codes and information.
# Each file in the provided directory has to be a ".txt" file with each line holding one unicode character.
# The name of the file, without the ".txt" suffix, in lower case form will be the idn table name.
# For example "latin.txt" will become "latin" idn table name.
idn_tables_directory: "tables"

Requirements

 

  • Any 64-bit Linux distribution (Debian or Centos recommended)

  • MySQL Server

  • Bind9 Nameserver

 

      If you want use integrated GUI Webserver and RDAP Server directly, please do not run any other service on port 80/443.

 

Configure Regtons Registry

Create a example config file

Rename created file example.config.yaml to config.yaml and update neccessary fields:

Download and Install Software

# ./rreg -ce
2019/08/16 13:18:40 example configuration file has been created as 'example.config.yaml'

KB - Install and Configure

 

For download our software, you must register your email for receive a magic link. 

# wget <your_magic_link> -O regtonsregistry.tar.gz
# tar xfvz regtonsregistry.tar.gz

# cd regtonsregistry

# ./rreg -c config.yaml -i
2019/08/16 15:32:36 Listening on insecure [::]:700
2019/08/16 15:32:36 Installing SQL schema...
2019/08/16 15:32:36 ...SQL schema has been installed.

Install Database

Run Regtons Registry in Background

# ./rreg -c config.yaml -b
2019/08/16 15:32:36 Listening on insecure [::]:700

At this moment, you can go to Regtons registry GUI: http://<your-server-ip> or https://<your-server-ip> if you configured SSL. 

 

Default login: root

Default password: root