Docker-образ со скриптом для создания зеркала баз обновлений антивируса "Eset Nod32". Для его полноценного функционирования потребуется установленные:
- Запускается в docker-контейнере, довольно экономично относится к ресурсам системы;
- Успешно работает с различными версиями антивирусов Eset Nod32 (для определения "рабочих" директорий различных версий Eset Nod32 используется проверки
User-Agent
и редиректы средствамиnginx
); - Умеет автоматически искать и использовать (поддерживая их список в актуальном состоянии) бесплатные ключи обновлений (ВНИМАНИЕ! ДАННЫЙ ФУНКЦИОНАЛ ТОЛЬКО ДЛЯ ОЗНАКОМЛЕНИЯ И ТЕСТИРОВАНИЯ РАБОТЫ! ИСПОЛЬЗУЙТЕ ТОЛЬКО ЛЕГАЛЬНО КУПЛЕННЫЕ КЛЮЧИ!)
- Возможно размещение базы обновлений как в корневой директории домена, так и в произвольной под-директории (не тестировал, но функционал заложил);
- При указании не официальных серверов обновлений (их можно указывать до 10 шт.) и возникновении ошибки в процессе с первого указанного сервера - обновление произойдет со второго, иначе - с третьего, и так далее;
- Реализована возможность скачивать обновления только для определенных программных продуктов, платформ, языков и версий Eset Nod32;
- Поддерживается отладочный режим работы для быстрого выявления источников возможных проблем;
- Пишет подробный лог;
- Возможно указание лимитов скорости и задержек при скачивании файлов обновлений;
- При завершении обновления пишет в отдельные файлы версию базы обновлений и дату обновления (имена файлов настраиваются);
- Скачивает только обновленные файлы.
Ранее (до использования docker) приходилось довольно много всего ставить и настраивать, теперь же - достаточно иметь установленный docker
и docker-compose
. При необходимости - вы можете разобрать Dockerfile
и entrypoint*
-скрипты, запустив данный скрипт на вашем busybox
(базовый docker-браз как раз основан на alpine
).
Для запуска приложения достаточно выполнить:
$ docker run --rm tarampampam/nod32-update-mirror:latest --help
Или для запуска контейнера авто-обновления с nginx
для "раздачи" фалов обновления:
$ curl https://raw.githubusercontent.com/tarampampam/nod32-update-mirror/master/docker-compose.live.yml --output ./docker-compose.yml
$ docker-compose up -d
После чего можно окрыть в браузере 127.0.0.1:8080 и увидеть веб-интерфейс приложения. В "фоновом" режиме (в отдельном контейнере) уже началось скачивание файлов обновления для зеркала.
Перед запуском рекомендую ознакомиться с доступными параметрами кофигурации (базовые параметры описаны в самом файле
docker-compose.yml
, за деталями - поиск по исходникам).
Для остановки контейнеров достаточно в директории с файлом docker-compose.yml
выполнить:
$ docker-compose down -v
Флаг
-v
необходим для удаления всехvolume
, что были созданы внутри контейнеров. Если вы хотите оставить все скаченные файли и логи - не используйте флаг-v
.
Так же следует уделить особое внимание переменным окружения контейнера nginx
- NGINX_SERVER_SCHEME
и NGINX_SERVER_NAME
- их необходимо установить исходя из настроек домена, "на котором крутится" зеркало обновлений для корректных редиректов - это важно.
Доступна по этой ссылке.
MIT. Use anywhere for your pleasure.