# 📁 Структура проекта configure_nginx_manager ## Основные скрипты ### Python (Рекомендуется) - **letsencrypt_regru_api.py** (1,411 строк) - Полнофункциональный Python скрипт - Прямая работа с API reg.ru - Интеграция с Nginx Proxy Manager - Автоматическая проверка и обновление сертификатов - Генерация тестовых самоподписанных сертификатов - Поддержка wildcard доменов ### Bash - **letsencrypt_regru_dns.sh** - Bash скрипт с certbot-dns-regru плагином - Простота использования - Минимальные зависимости ### PowerShell - **letsencrypt_regru.ps1** - Windows версия - Аналогична Bash скрипту ### Тестирование - **test_certificate.sh** - Быстрое создание тестовых сертификатов через OpenSSL - Автономная работа без Python - Поддержка wildcard доменов ## Автоматизация ### Makefile - **Makefile** (415 строк) - `make install` - Полная установка и настройка - `make uninstall` - Чистое удаление - `make status` - Проверка состояния - `make test-cert` - Создание тестового сертификата - `make obtain` - Получение Let's Encrypt сертификата - `make renew` - Обновление сертификата - `make logs` - Просмотр логов - `make check-config` - Валидация конфигурации ## Конфигурация ### config.json.example Пример конфигурации со всеми параметрами: - Учетные данные reg.ru API - Настройки домена и email - Параметры обновления (renewal_days) - Настройки Nginx Proxy Manager - Пути к директориям и логам ## Документация ### README.md (1,420+ строк) Основная документация: - Введение и возможности - Быстрый старт - Установка через Makefile - Создание тестовых сертификатов - Требования и установка зависимостей - Настройка и использование - Интеграция с NPM - Автоматическая проверка и обновление - Автоматизация через cron/systemd - Устранение неполадок ### TESTING_GUIDE.md (370+ строк) Руководство по тестированию: - Зачем нужны тестовые сертификаты - Обход лимитов Let's Encrypt (5 в неделю) - Быстрый старт с тестовыми сертификатами - Сравнение методов создания - Использование в разработке - Автоматизация тестирования - Переход с тестовых на production - Частые вопросы - Примеры для CI/CD и Docker ### PROJECT_STRUCTURE.md (этот файл) - Описание всех файлов проекта - Краткая характеристика каждого компонента ## Вспомогательные файлы ### Markdown документы - **Add Let's Encrypt Certificate для провайдера reg.ru.md** - Первоначальные инструкции - **Создание и продление SSL сертификата.md** - Дополнительная информация о процессе ## Возможности ### ✅ Основные - [x] Создание Let's Encrypt сертификатов через reg.ru DNS API - [x] Wildcard сертификаты (*.domain.com) - [x] Автоматическое обновление сертификатов - [x] DNS-01 валидация - [x] Интеграция с Nginx Proxy Manager - [x] Автоматическая загрузка/обновление в NPM ### ✅ Продвинутые - [x] Автоматическая проверка срока действия - [x] Настраиваемый порог обновления (renewal_days) - [x] Systemd service + timer - [x] Cron автоматизация - [x] Подробное логирование - [x] Валидация конфигурации ### 🆕 Тестирование - [x] Генерация самоподписанных тестовых сертификатов - [x] Обход лимитов Let's Encrypt (5/неделю) - [x] Мгновенное создание без DNS - [x] Интеграция тестовых сертификатов с NPM - [x] Полная совместимость структуры с Let's Encrypt ## Установка ### Быстрая установка ```bash sudo make install sudo nano /etc/letsencrypt/regru_config.json sudo make test-cert # Для тестирования sudo make obtain # Для production ``` ### Структура после установки ``` /opt/letsencrypt-regru/ ├── letsencrypt_regru_api.py /etc/letsencrypt/ ├── regru_config.json └── live/ └── example.com/ ├── privkey.pem ├── cert.pem ├── fullchain.pem └── chain.pem /etc/systemd/system/ ├── letsencrypt-regru.service └── letsencrypt-regru.timer /var/log/letsencrypt/ └── letsencrypt_regru.log ``` ## Использование ### Тестирование (без лимитов) ```bash sudo make test-cert # Создать тестовый сертификат sudo make status # Проверить статус ``` ### Production ```bash sudo make obtain # Получить Let's Encrypt сертификат sudo make renew # Обновить сертификат sudo make run # Автоматический режим ``` ### Мониторинг ```bash sudo make logs # Просмотр логов sudo make status # Статус служб sudo make check-config # Проверка конфигурации ``` ## Технологии - **Python 3.6+** - Основной язык - **Certbot** - Let's Encrypt клиент - **requests** - HTTP запросы к API - **cryptography** - Генерация тестовых сертификатов - **systemd** - Автоматизация запуска - **cron** - Альтернативная автоматизация - **Make** - Управление установкой - **OpenSSL** - Альтернативная генерация сертификатов ## Лицензия Open Source - свободное использование ## Автор Фофанов Дмитрий @ 2025 ## Поддержка См. документацию: - [README.md](README.md) - Основное руководство - [TESTING_GUIDE.md](TESTING_GUIDE.md) - Руководство по тестированию --- **Версия**: 2.1 **Дата**: 27 октября 2025 **Статус**: ✅ Production Ready