4. Source code

Source code is divided into several subprojects.

The subprojects belong to one of the following groups depending on which tools are used to build/install them:

  • “A” stands for autotools (used with C++ code),
  • “D” stands for FRED distutils (used with Python code).

Each subproject has its own GitHub repository.

List of the subprojects and repositories

  • A fred-akm – a CLI CORBA client for automated keyset management
  • A fred-cdnskey-scanner – a CLI tool to scan a set of domains for CDNSKEY records
  • D fred-client – a Python EPP client – a CLI application and an API library
  • A fred-db – a collection of SQL scripts to set up the database in PostgreSQL
  • D fred-doc2pdf – a Python wrapper over rml2pdf used for generation of PDF documents
  • A fred-idl – IDL interface definitions for CORBA inter-process communication
  • A fred-mod-corba – an Apache module serving other two modules (EPP, WHOIS) the common functionality of CORBA communication
  • A fred-mod-eppd – an Apache module for parsing EPP commands and transforming them into CORBA calls to a back-end server (and vice versa)
  • A fred-mod-whoisd – an Apache module for processing WHOIS commands and transforming them into CORBA calls to a back-end server (and vice versa)
  • D fred-pyfred – a Python CORBA server and clients for zone-file generation, email communication, technical checks and file-manager components
  • D fred-rdap – an RDAP server (front end) prototype implemented with Django
  • A fred-server – C++ CORBA servers (back end) for the core registry functionality and a CLI administration tool
  • D fred-transproc – a Python script for querying various sources of bank transactions and processing them with FRED (tied to Czech environment)
  • D fred-webadmin – the Daphne web administration server (front end) for registry customer support (mainly registrar creation and activity inspection)
  • D fred-webwhois – the web WHOIS server (front end) implemented with Django
  • D fred-utils-distutils – a Python wrapper over python-setuptools (necessary for installation of some FRED subprojects in Python)
  • D fred-utils-pyfco – a Python wrapper over CORBA
  • D fred-utils-pylogger – a Python wrapper over logging infrastructure for all Python clients
  • D logger-maintenance – Python scripts for logger database maintenance
  • django-pain – Django PAIN application
  • fred-pain – FRED plugin for PAIN also based on Django