Clone
Table of Contents
- Структура проекта
- Автоматизация
- Appendix (migrated from docs/PROJECT_STRUCTURE.md)
- 📁 Структура проекта configure_nginx_manager
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Структура проекта
Ключевые файлы:
letsencrypt_regru_api.py— основной Python скрипт (API reg.ru + certbot + NPM)letsencrypt_regru.sh— установщик и менеджер установкиMakefile— команды установки/обслуживания/сборкиconfig.json.example— пример конфигурацииsystemd/— unit файлы для автозапуска/таймераwiki/— актуальная документация (страницы Wiki)
Скрипты:
letsencrypt_regru_dns.sh— bash вариант через плагин certbot-dns-regruletsencrypt_regru.ps1— PowerShell версияtest_certificate.sh— автономная генерация тестовых сертификатов через OpenSSL
Документация:
README.md— основное руководствоwiki/*— дополнительные гайды (тестирование, сборка, синхронизация и т.д.)
Автоматизация
- systemd timer обычно запускает
--autoпо расписанию (по умолчанию каждые 12 часов) - после успешного обновления может выполняться reload веб-сервиса
Appendix (migrated from docs/PROJECT_STRUCTURE.md)
📁 Структура проекта 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
GITEA_SYNC.md
Синхронизация Gitea → GitHub:
- 4 метода синхронизации (Git Hooks, GitHub Actions, Gitea Mirror, Double Remote)
- Пошаговые инструкции установки
- Настройка SSH и токенов
- Webhook интеграция
- Устранение проблем
- Сравнение методов
CHEATSHEET.md
Быстрая шпаргалка:
- Основные команды
- Workflow разработки
- Сценарии использования
- Частые ошибки и решения
- Проверка и отладка
PROJECT_STRUCTURE.md (этот файл)
- Описание всех файлов проекта
- Краткая характеристика каждого компонента
CHANGELOG.md
История изменений:
- Версии и обновления
- Новые возможности
- Исправления
- Roadmap
Интеграция с Git
.github/workflows/sync-from-gitea.yml
GitHub Actions для синхронизации:
- Автоматическая проверка каждый час
- Webhook триггер от Gitea
- Ручной запуск
- Merge изменений из Gitea
- Push в GitHub
gitea-hooks/
Git hooks для Gitea сервера:
post-receive
- Автоматический push в GitHub после commit
- Мгновенная синхронизация (< 1 секунды)
- Логирование операций
- Синхронизация тегов
- Поддержка SSH и HTTPS
README.md
- Инструкции по установке hook
- Настройка аутентификации
- Устранение проблем
Вспомогательные файлы
Markdown документы
-
Add Let's Encrypt Certificate для провайдера reg.ru.md
- Первоначальные инструкции
-
Создание и продление SSL сертификата (md)
- Дополнительная информация о процессе
Возможности
✅ Основные
- Создание Let's Encrypt сертификатов через reg.ru DNS API
- Wildcard сертификаты (*.domain.com)
- Автоматическое обновление сертификатов
- DNS-01 валидация
- Интеграция с Nginx Proxy Manager
- Автоматическая загрузка/обновление в NPM
✅ Продвинутые
- Автоматическая проверка срока действия
- Настраиваемый порог обновления (renewal_days)
- Systemd service + timer
- Cron автоматизация
- Подробное логирование
- Валидация конфигурации
🆕 Тестирование
- Генерация самоподписанных тестовых сертификатов
- Обход лимитов Let's Encrypt (5/неделю)
- Мгновенное создание без DNS
- Интеграция тестовых сертификатов с NPM
- Полная совместимость структуры с Let's Encrypt
🔄 Синхронизация репозиториев
- Автоматическая синхронизация Gitea → GitHub
- Git Hooks (мгновенная синхронизация)
- GitHub Actions (проверка каждый час)
- Webhook интеграция
- SSH и HTTPS аутентификация
Установка
Быстрая установка
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
Использование
Тестирование (без лимитов)
sudo make test-cert # Создать тестовый сертификат
sudo make status # Проверить статус
Production
sudo make obtain # Получить Let's Encrypt сертификат
sudo make renew # Обновить сертификат
sudo make run # Автоматический режим
Мониторинг
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 - Основное руководство
- TESTING_GUIDE.md - Руководство по тестированию
Версия: 2.1
Дата: 27 октября 2025
Статус: ✅ Production Ready