The Extensible Provisioning Protocol (EPP) is a flexible protocol designed for allocating objects within registries over the Internet. The motivation for the creation of EPP was to create a robust and flexible protocol that could provide communication between domain name registries and domain name registrars.
The go-epp-rest
is a RESTful API written in Go for managing domain registrations and interactions using the EPP (Extensible Provisioning Protocol) standard. This project focuses on leveraging Go's performance and concurrency features to provide a robust solution for domain registrars and resellers.
- EPP Protocol Support: Implements the EPP protocol for domain registration, transfer, renewal, and management.
- RESTful API: Provides a modern REST API interface for interacting with domain operations.
- Performance: Utilizes Go's concurrency model and efficiency for handling high loads.
- Scalability: Designed to scale horizontally to accommodate increasing demands.
-
Prerequisites: Ensure you have Go installed on your system. You can download it from golang.org.
-
Clone the Repository:
git clone https://github.com/reinhardjs/go-epp-rest.git cd go-epp-rest
-
Build and Run:
go build -o domain-epp-rest ./domain-epp-rest
-
Configuration: Use the .env.example file to set up database connections, EPP server settings, and any other configuration specific to your environment.
- Check Domain Availability: GET
/domain/check
- Register Domain: POST
/domain/create
- Renew Domain: POST
/domain/renew
- Get Contacts Info: GET
/contact/info
For detailed API endpoints list, go to internal/delivery/http/router/router.go
.
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
Fork the repository and create your branch from main. Make your changes and test thoroughly. Ensure your code follows the Go coding style guidelines. Submit a pull request describing your changes.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please contact me at [email protected]