Table of Contents
- SSL Certificate Manager (Let's Encrypt + reg.ru) — Wiki (RU)
- Что умеет проект
- Быстрый старт
- Навигация
- Примечания по лимитам Let's Encrypt
- Appendix (migrated from docs/DESCRIPTION.md)
- 🔒 SSL Certificate Manager для Let's Encrypt + reg.ru
- 📖 Описание
- 📖 Description (English)
- 👤 Автор / Author
- 📄 Лицензия / License
- 🤝 Вклад / Contributing
- 🔗 Ссылки / Links
- Appendix (migrated from docs/SSL_SCRIPTS_README.md)
- Автоматизация SSL сертификатов Let's Encrypt для reg.ru
SSL Certificate Manager (Let's Encrypt + reg.ru) — Wiki (RU)
Это Wiki проекта configure_nginx_manager: автоматическое получение и продление SSL сертификатов Let's Encrypt через DNS-01 (API reg.ru) с опциональной синхронизацией сертификатов в Nginx Proxy Manager (NPM).
Что умеет проект
- Получение production сертификатов Let's Encrypt (DNS-01) для доменов reg.ru
- Поддержка wildcard (например,
*.example.com) - Автопроверка и автопродление (cron/systemd)
- Диагностика:
--test-api,--test-dns - Тестовые самоподписанные сертификаты для разработки:
--test-cert(без лимитов LE) - (Опционально) Автозагрузка/обновление сертификатов в NPM по API
- Мультидоменный режим: один конфиг → несколько доменов (
domains[])
Быстрый старт
- Установка
- См. страницу: Installation
- Конфигурация
- См. страницу: Configuration
- Проверка доступа к API и DNS
letsencrypt-regru --test-api -vletsencrypt-regru --test-dns -v
- Тестирование без лимитов
letsencrypt-regru --test-cert
- Production сертификат
letsencrypt-regru --obtain
- Автопродление
letsencrypt-regru --auto(обычно запускается systemd timer'ом)
Навигация
- Installation
- Configuration
- Commands
- LetsEncrypt Workflow
- Nginx Proxy Manager
- Testing
- Reg.ru API Troubleshooting
- Build & Release
- Deploy и Secrets
- Project Structure
- Gitea → GitHub Sync
- Changelog
Примечания по лимитам Let's Encrypt
- Production: обычно до 5 сертификатов/неделю на домен
- Для отладки автоматизации используйте:
--staging(LE staging, без лимитов)--test-cert(самоподписанный, мгновенно)
Источник: страницы Wiki этого репозитория и актуальное поведение CLI.
Appendix (migrated from docs/DESCRIPTION.md)
🔒 SSL Certificate Manager для Let's Encrypt + reg.ru
Автоматическое управление SSL сертификатами Let's Encrypt с DNS валидацией через API reg.ru и интеграцией с Nginx Proxy Manager
📖 Описание
Комплексное решение для автоматизации создания, обновления и управления SSL сертификатами Let's Encrypt для доменов, зарегистрированных на reg.ru. Поддерживает DNS-01 валидацию, wildcard сертификаты, автоматическую загрузку в Nginx Proxy Manager и генерацию тестовых сертификатов для разработки.
✨ Основные возможности
- 🔐 Автоматическое получение SSL сертификатов через Let's Encrypt
- 🌐 DNS-01 валидация через API reg.ru (поддержка wildcard доменов)
- 🔄 Автоматическое обновление сертификатов с настраиваемым порогом
- 📦 Интеграция с Nginx Proxy Manager - автоматическая загрузка и обновление
- 🧪 Тестовые сертификаты - обход лимитов Let's Encrypt (5 в неделю)
- ⚙️ Полная автоматизация через systemd/cron
- 🔀 Синхронизация репозиториев - автоматическая синхронизация Gitea → GitHub
🚀 Быстрый старт
## Установка через Makefile
sudo make install
## Настройка конфигурации
sudo nano /etc/letsencrypt/regru_config.json
## Создание тестового сертификата (без лимитов)
sudo make test-cert
## Получение production сертификата
sudo make obtain
📋 Требования
- ОС: Linux (Ubuntu/Debian/CentOS)
- Python: 3.6+
- Зависимости: certbot, requests, cryptography
- API: reg.ru (доступ к DNS управлению)
- Опционально: Nginx Proxy Manager
🎯 Сценарии использования
- ✅ Автоматизация SSL сертификатов для web серверов
- ✅ Централизованное управление через Nginx Proxy Manager
- ✅ Тестирование и разработка с самоподписанными сертификатами
- ✅ CI/CD интеграция
- ✅ Мультидоменные конфигурации с wildcard
📚 Документация
- README.md - Полное руководство (1400+ строк)
- TESTING_GUIDE.md - Руководство по тестированию
- GITEA_SYNC.md - Синхронизация Gitea → GitHub
- CHEATSHEET.md - Быстрая шпаргалка
📖 Description (English)
Automated Let's Encrypt SSL Certificate Manager with DNS validation via reg.ru API and Nginx Proxy Manager integration
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 sync - automatic Gitea → GitHub synchronization
🚀 Quick Start
## Install via Makefile
sudo make install
## Configure
sudo nano /etc/letsencrypt/regru_config.json
## Create test certificate (no 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
- README.md - Complete guide (1400+ lines)
- TESTING_GUIDE.md - Testing guide
- GITEA_SYNC.md - Gitea → GitHub sync
- CHEATSHEET.md - Quick reference
👤 Автор / Author
Фофанов Дмитрий @ 2025
📄 Лицензия / License
Open Source - Free to use
🤝 Вклад / Contributing
Pull requests приветствуются / Pull requests are welcome!
🔗 Ссылки / Links
- Документация reg.ru API: https://www.reg.ru/support/api
- Let's Encrypt: https://letsencrypt.org/
- Nginx Proxy Manager: https://nginxproxymanager.com/
Appendix (migrated from docs/SSL_SCRIPTS_README.md)
Автоматизация SSL сертификатов Let's Encrypt для reg.ru
Набор скриптов для автоматического создания и обновления SSL сертификатов Let's Encrypt с использованием DNS валидации через API reg.ru.
📁 Содержимое проекта
- letsencrypt_regru_dns.sh - Bash скрипт (Linux) с certbot-dns-regru
- letsencrypt_regru_api.py - Python скрипт с прямым API интеграцией
- letsencrypt_regru.ps1 - PowerShell скрипт (Windows)
- config.json.example - Пример файла конфигурации
- USAGE.md - Подробная инструкция по использованию
🚀 Быстрый старт
Linux (Bash)
## 1. Отредактируйте конфигурацию в скрипте
nano letsencrypt_regru_dns.sh
## 2. Установите права
chmod +x letsencrypt_regru_dns.sh
## 3. Запустите
sudo ./letsencrypt_regru_dns.sh
Linux (Python)
## 1. Создайте конфигурацию
sudo python3 letsencrypt_regru_api.py --create-config /etc/letsencrypt/regru_config.json
## 2. Отредактируйте конфигурацию
sudo nano /etc/letsencrypt/regru_config.json
## 3. Получите сертификат
sudo python3 letsencrypt_regru_api.py -c /etc/letsencrypt/regru_config.json --obtain
Windows (PowerShell)
## 1. Создайте файл конфигурации config.json на основе config.json.example
## 2. Запустите скрипт
.\letsencrypt_regru.ps1 -ConfigFile .\config.json
⚙️ Конфигурация
Отредактируйте config.json:
{
"regru_username": "ваш_логин",
"regru_password": "ваш_пароль",
"domain": "example.com",
"wildcard": true,
"email": "admin@example.com"
}
📋 Требования
Linux
- certbot
- Python 3.6+
- pip3
- requests, cryptography (Python модули)
- certbot-dns-regru (опционально)
Windows
- certbot
- PowerShell 5.1+
- openssl (для проверки сертификатов)
🔄 Автоматическое обновление
Через cron (Linux)
## Добавьте в crontab
sudo crontab -e
## Проверка каждый день в 3:00
0 3 * * * /usr/bin/python3 /path/to/letsencrypt_regru_api.py -c /etc/letsencrypt/regru_config.json
Через Task Scheduler (Windows)
- Откройте Task Scheduler
- Создайте новую задачу
- Триггер: Ежедневно в 3:00
- Действие: Запуск PowerShell скрипта
📖 Функции
✅ Создание wildcard сертификатов (*.domain.com)
✅ Автоматическая DNS валидация через API reg.ru
✅ Проверка срока действия сертификата
✅ Автоматическое обновление перед истечением
✅ Перезагрузка веб-сервера после обновления
✅ Подробное логирование всех операций
🔧 Использование с Nginx Proxy Manager
После получения сертификата:
- Войдите в NPM: http://192.0.2.1:81/
- SSL Certificates → Add SSL Certificate → Custom
- Вставьте содержимое:
- Certificate Key:
/etc/letsencrypt/live/domain.com/privkey.pem - Certificate:
/etc/letsencrypt/live/domain.com/fullchain.pem
- Certificate Key:
📝 Логи
- Bash:
/var/log/letsencrypt_regru.log - Python:
/var/log/letsencrypt_regru.log - PowerShell:
.\letsencrypt_regru.log - Certbot:
/var/log/letsencrypt/letsencrypt.log
🆘 Устранение неполадок
Ошибка аутентификации API
- Проверьте учетные данные reg.ru
- Убедитесь, что домен под вашим управлением
DNS запись не распространяется
- Увеличьте
dns_propagation_waitдо 120 секунд - Проверьте DNS:
nslookup -type=TXT _acme-challenge.domain.com
Certbot не найден
## Ubuntu/Debian
sudo apt-get install certbot
## Или через snap
sudo snap install --classic certbot
📚 Документация
Подробная документация в файле USAGE.md
🔐 Безопасность
- Храните учетные данные в безопасности
- Используйте
chmod 600для конфигурационных файлов - Регулярно обновляйте пароли
⚠️ Важно
- Let's Encrypt сертификаты действительны 90 дней
- Рекомендуется настроить автоматическое обновление
- Для wildcard сертификатов требуется DNS валидация
📞 Поддержка
📄 Лицензия
Скрипты предоставляются "как есть" для свободного использования.
Успешной автоматизации! 🔒