HRPAuth is designed to provide high-performance and high-security authentication and skin management for Minecraft and its related ecosystem.
- Yggdrasil API Support
- Fully implements the official Minecraft authentication protocol (Authenticate, Refresh, Validate, Invalidate).
- Supports binding local accounts with official Mojang UUIDs and handling name conflicts.
- Skin and Texture Management
- Supports uploading, deleting, and retrieving skins and capes.
- Strict texture validation logic with RSA digital signatures to ensure the legitimacy of texture data.
- Language: Go (Golang) 1.26+
- Framework: Gin (Web Framework)
- Database: MySQL (Main Storage), Redis (Caching & Rate Limiting)
- ORM: GORM
- Migrations: golang-migrate
- Encryption: bcrypt (Password Hashing), RSA (Digital Signatures)
- Go 1.26 or higher
- MySQL 5.7+
- Redis 6.0+
# Clone the repository
git clone https://github.com/CoreMatch/HRPAuth.git`
cd HRPAuth
# First attempt to run (automatically generates configuration and RSA keys)
go run main.goBuild and run the application:
go build -o HRPAuth
./HRPAuthAfter the first run, the following files will be generated in the project root:
config.yaml: Main configuration file.public_key.pem: RSA public key (used for Yggdrasil signatures).private_key.pem: RSA private key.
Please modify the database, redis, and smtp settings in config.yaml according to your environment, then restart the application.
├── config/ # Configuration loading and migration logic
├── controllers/ # API controllers (handling HTTP requests)
├── database/ # Database initialization and SQL migration files
├── models/ # GORM data model definitions
├── redis/ # Redis client initialization
├── services/ # Core business logic (Auth, Email, Texture processing)
├── utils/ # Common utility functions
├── main.go # Application entry point
└── go.mod # Dependency management
All API documentation and development specifications are centralized in the HA-Contract root directory:
- HRPAuth-WebUI: The official webUI repository for HRPAuth.
- WinnerProxy: It provides a proxy service for HRPAuth, supporting both HRPAuth and Mojang official authentication protocols for users to join the server.
- HASkinLib: Skin and texture sharing library for HRPAuth.
- HASkinProxy: Make HRPAuth skin and texture API endpoint available for CustomSkinLoader.
- BS2HA: A tool to convert Blessing-Skin database to HRPAuth database.
- HRPAuth-Wiki: The official wiki repository for HRPAuth.
- HA-Contract: The official contract repository for HRPAuth.
This project is licensed under the MIT License.