144 lines
4.2 KiB
Markdown
144 lines
4.2 KiB
Markdown
# 🔒 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
|
|
|
|
```bash
|
|
# 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](../en/BUILD_GUIDE_EN.md) - Complete build guide
|
|
- [QUICKSTART_BUILD_EN.md](../en/QUICKSTART_BUILD_EN.md) - Quick build start
|
|
- [RELEASE_GUIDE_EN.md](../en/RELEASE_GUIDE_EN.md) - Release creation guide
|
|
- [MAKEFILE_COMMANDS_EN.md](../en/MAKEFILE_COMMANDS_EN.md) - Makefile commands reference
|
|
- [TESTING_GUIDE_EN.md](../en/TESTING_GUIDE_EN.md) - Testing guide
|
|
- [CHEATSHEET_EN.md](../en/CHEATSHEET_EN.md) - Quick reference
|
|
- [GITEA_SYNC_EN.md](../en/GITEA_SYNC_EN.md) - Gitea → GitHub sync
|
|
- [PROJECT_STRUCTURE_EN.md](../en/PROJECT_STRUCTURE_EN.md) - Project structure
|
|
|
|
#### Russian Documentation / Русская документация
|
|
- [BUILD_GUIDE.md](../ru/BUILD_GUIDE.md) - Полное руководство по сборке
|
|
- [QUICKSTART_BUILD.md](../ru/QUICKSTART_BUILD.md) - Быстрый старт сборки
|
|
- [RELEASE_GUIDE.md](../ru/RELEASE_GUIDE.md) - Руководство по созданию релизов
|
|
- [MAKEFILE_COMMANDS.md](../ru/MAKEFILE_COMMANDS.md) - Справочник команд Makefile
|
|
- [TESTING_GUIDE.md](../ru/TESTING_GUIDE.md) - Руководство по тестированию
|
|
- [CHEATSHEET.md](../ru/CHEATSHEET.md) - Быстрая шпаргалка
|
|
- [GITEA_SYNC.md](../ru/GITEA_SYNC.md) - Синхронизация Gitea → GitHub
|
|
- [PROJECT_STRUCTURE.md](../ru/PROJECT_STRUCTURE.md) - Структура проекта
|
|
|
|
---
|
|
|
|
## 🔨 Building Executables
|
|
|
|
The project supports building standalone executables for Linux and Windows:
|
|
|
|
```bash
|
|
# 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](../en/BUILD_GUIDE_EN.md) for details.
|
|
|
|
---
|
|
|
|
## 🎯 Automated Releases
|
|
|
|
### GitHub Actions
|
|
|
|
Create a tag to trigger automatic build and release:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
git tag -a v1.0.0 -m "Release 1.0.0"
|
|
git push origin v1.0.0
|
|
```
|
|
|
|
See [RELEASE_GUIDE_EN.md](../en/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
|