4.2 KiB
🔒 SSL Certificate Manager for Let's Encrypt + reg.ru
Automated Let's Encrypt SSL certificate management with DNS validation via reg.ru API and Nginx Proxy Manager integration
📖 Description
Comprehensive solution for automating the creation, renewal, and management of Let's Encrypt SSL certificates for domains registered with reg.ru. Supports DNS-01 validation, wildcard certificates, automatic upload to Nginx Proxy Manager, and test certificate generation for development.
✨ Key Features
- 🔐 Automatic SSL certificate issuance via Let's Encrypt
- 🌐 DNS-01 validation via reg.ru API (wildcard domain support)
- 🔄 Automatic renewal with configurable threshold
- 📦 Nginx Proxy Manager integration - automatic upload and update
- 🧪 Test certificates - bypass Let's Encrypt rate limits (5 per week)
- ⚙️ Full automation via systemd/cron
- 🔀 Repository synchronization - automatic Gitea → GitHub sync
🚀 Quick Start
# Install via Makefile
sudo make install
# Configure
sudo nano /etc/letsencrypt/regru_config.json
# Create test certificate (no rate limits)
sudo make test-cert
# Get production certificate
sudo make obtain
📋 Requirements
- OS: Linux (Ubuntu/Debian/CentOS)
- Python: 3.6+
- Dependencies: certbot, requests, cryptography
- API: reg.ru (DNS management access)
- Optional: Nginx Proxy Manager
🎯 Use Cases
- ✅ SSL certificate automation for web servers
- ✅ Centralized management via Nginx Proxy Manager
- ✅ Development and testing with self-signed certificates
- ✅ CI/CD integration
- ✅ Multi-domain configurations with wildcards
📚 Documentation
English Documentation
- BUILD_GUIDE_EN.md - Complete build guide
- QUICKSTART_BUILD_EN.md - Quick build start
- RELEASE_GUIDE_EN.md - Release creation guide
- MAKEFILE_COMMANDS_EN.md - Makefile commands reference
- TESTING_GUIDE_EN.md - Testing guide
- CHEATSHEET_EN.md - Quick reference
- GITEA_SYNC_EN.md - Gitea → GitHub sync
- PROJECT_STRUCTURE_EN.md - Project structure
Russian Documentation / Русская документация
- BUILD_GUIDE.md - Полное руководство по сборке
- QUICKSTART_BUILD.md - Быстрый старт сборки
- RELEASE_GUIDE.md - Руководство по созданию релизов
- MAKEFILE_COMMANDS.md - Справочник команд Makefile
- TESTING_GUIDE.md - Руководство по тестированию
- CHEATSHEET.md - Быстрая шпаргалка
- GITEA_SYNC.md - Синхронизация Gitea → GitHub
- PROJECT_STRUCTURE.md - Структура проекта
🔨 Building Executables
The project supports building standalone executables for Linux and Windows:
# Build for current OS
make build
# Build for all platforms
make build-all
# Create full release
make release
Result:
- Linux:
letsencrypt-regru(~45-55 MB) - Windows:
letsencrypt-regru.exe(~40-50 MB)
See BUILD_GUIDE_EN.md for details.
🎯 Automated Releases
GitHub Actions
Create a tag to trigger automatic build and release:
git tag -a v1.0.0 -m "Release 1.0.0"
git push origin v1.0.0
Gitea Actions
Same workflow available for self-hosted Gitea:
git tag -a v1.0.0 -m "Release 1.0.0"
git push origin v1.0.0
See RELEASE_GUIDE_EN.md for details.
👤 Author
Dmitry Fofanov @ 2025
📄 License
Open Source - Free to use
🤝 Contributing
Pull requests are welcome!
🔗 Links
- reg.ru API Documentation: https://www.reg.ru/support/api
- Let's Encrypt: https://letsencrypt.org/
- Nginx Proxy Manager: https://nginxproxymanager.com/
- PyInstaller: https://pyinstaller.org/
Last Updated: October 28, 2025