Проба пера: статья о создании зеркала для NOD32
Добавлено: 2008-05-30 17:46:53
Примерно с год назад ковырял я нодовский updater под фрю тщась заставить его тягать обновления и создавать локальное зеркало. Вроде как что-то у меня получилось, но скорее всего не так как надо, потому что до прошлой недели никакого локального зеркала у меня не было, тягал я обновы через виндовый сервак откуда придется, самим виндовым нодом создавал зеркало и раздавал в локалке. Однако, последнее время халявные сервера стали косячить, то пароли меняются, то адреса, а поскольку серверов у меня с десяток в разных конторах стоит, пользователи стали доставать звонками "...а у меня в трее красный щит!" (гы, англичанина бы удар хватил). Короче, решил я разобраться с нодом и его обновлениями раз и навсегда - чтоб качал автоматом, только то, что нужно (а не по 8 метров в час), а главное - сам искал ключи для получения обновлений.
Почему не воспользовался уже имеющимся ( в частности и на этом форуме) скриптами?
Объясняю:
Бесплатные серваки просто достали. То они прихлопываются нодовцами, то отстают от офф сереверов, то меняют логины-пароли, то вообще переезжают на другое доменное имя... И когда очередной бесплатный сервер дохнет у меня телефон раскаляется от звонков. надо опять лезть в самописные скрипты и править, править, править.... Д-О-С-Т-А-Л-О!!!!!!!!!
В итоге нарыл скрипт от Cmyker aka Igorek Vokar. Скрипт предназначен для АВТОМАТИЧЕСКОГО поиска ключей и создания зеркал обновлений для ESET NOD32 v 3.x и ESET Smart Security (антивирь, антиспам и файервол в одном флаконе)
Главное преимущество скрипта от cmyker в том, что он САМ НАХОДИТ ДЕЙСТВУЮЩУЮ ПАРУ ЛОГИН-ПАСС. И затем, с ее помощью обновляется с офф серверов, причем после моих модификаций тянет обновления ДЛЯ ВСЕХ ПРОДУКТОВ ESET - от нода 2.7 до Eset Smart Security... То есть можно на все продукты иметь один единый сервер обновления.
Разумеется, без небольшого напильника нам не обойтись, ну да ладно - не впервой!
Итак, приступаем:
1. Скачиваем скрипт тут http://www.mediafire.com/?znjb5btlpjl
2. Скачанный nod.tar.gz распаковываем куда-нибудь, ну например
3. Удаляем файл
Это линуховая версия, во фре она не работает.
4. Если unrar еще не установлен, ставим его из портов или пакетов и копируем фревый unrar в папку lib
5. Теперь правим сам скрипт upd.pl, а именно в параметр
прописываем, куда мы будем складывать обновления. Тут есть одна тонкость, связанная со структурой зеркала обновлений третьего нода - у него теперь update.ver лежит отдельно от самих файлов обновлений, поэтому если хотим раздавать получившееся зеркало по http надо либо сразу складывать все в корень web-сервера или потом делать туда симлинки.
6. Пробуем запустить
и бежим смотреть в лог (nod32.log, появится в той же папке, где лежит upd.pl).
Если все до этого сделали правильно, в логе увидим, что скрипт не нашел ключей для обновления, смотался за ними в гугль, сложил в файл /lib/nod32.auth а затем с их помощью закачал обновления с оффсайта нода. Ура!
7. Но это еще не все, имеем мы только обновления для "тройки", а для полноты картины хочется еще и для "двойки". Тоже не проблема. Ищем на сайте уважаемого Лиссяры статью про установку и настроку nod32, в конце статьи есть ссылки на скачивание самого нода и (САМОЕ ГЛАВНОЕ!) файла лицензии.
Устанавливаем скачанное (можно подсматривать одним глазом в статью), не забываем кинуть в папку /usr/local/ets/esets/license скачанную лицензию. Если не планируется использовать самого фришного нода, можно выкинуть скрипт его автозапуска из /usr/local/etc/rc.d/. Лично я использую только его фирменный updater, лежит тут -
8. Проверяем работу обновлялки для "двойки". Перед этим загляем в nod32.auth и посмотрим там текущий рабочий ключ (они одинаковы для "тройки" и "двойки"). Запускаем
и видим, что обновления благополучно скачались. Далее можно подрихтовать файл
на предмет расположения скачанных обновлений и прочих доступных опций, но лично я предпочитаю все перечислять в командной строке самого updater-а, благо по нему есть подробнейший man.
9. Теперь собираем все до кучи. Правим upd.pl, вставляя после строки
свою строчку
параметр --add-mod заставляет нод помимо обновления антивирусной базы скачивать еще и обновления программных модулей для двух языков - русского и английского.
10. Снова запускаем upd.pl и убеждаемся, что в этот раз обновились оба зеркала, и вдобавок появился еще один лог - nod27.log
Вот собственно и все.
Почему не воспользовался уже имеющимся ( в частности и на этом форуме) скриптами?
Объясняю:
Бесплатные серваки просто достали. То они прихлопываются нодовцами, то отстают от офф сереверов, то меняют логины-пароли, то вообще переезжают на другое доменное имя... И когда очередной бесплатный сервер дохнет у меня телефон раскаляется от звонков. надо опять лезть в самописные скрипты и править, править, править.... Д-О-С-Т-А-Л-О!!!!!!!!!
В итоге нарыл скрипт от Cmyker aka Igorek Vokar. Скрипт предназначен для АВТОМАТИЧЕСКОГО поиска ключей и создания зеркал обновлений для ESET NOD32 v 3.x и ESET Smart Security (антивирь, антиспам и файервол в одном флаконе)
Главное преимущество скрипта от cmyker в том, что он САМ НАХОДИТ ДЕЙСТВУЮЩУЮ ПАРУ ЛОГИН-ПАСС. И затем, с ее помощью обновляется с офф серверов, причем после моих модификаций тянет обновления ДЛЯ ВСЕХ ПРОДУКТОВ ESET - от нода 2.7 до Eset Smart Security... То есть можно на все продукты иметь один единый сервер обновления.
Разумеется, без небольшого напильника нам не обойтись, ну да ладно - не впервой!
Итак, приступаем:
1. Скачиваем скрипт тут http://www.mediafire.com/?znjb5btlpjl
2. Скачанный nod.tar.gz распаковываем куда-нибудь, ну например
Код: Выделить всё
/usr/local/nod32_upd_tools
Код: Выделить всё
/usr/local/nod32_upd_tools/lib/unrar
4. Если unrar еще не установлен, ставим его из портов или пакетов и копируем фревый unrar в папку lib
Код: Выделить всё
cp /usr/local/bin/unrar /usr/local/nod32_upd_tools/lib/
Код: Выделить всё
$bases_path
6. Пробуем запустить
Код: Выделить всё
#/usr/local/nod32_upd_tools/upd.pl
Код: Выделить всё
26-05-2008 18:27:48 Can't open authfile nod32.auth
26-05-2008 18:27:49 New key found! EAV-03404037 sp3j8wx5ut
26-05-2008 18:27:52 Checking http://u21.eset.com/eset_upd/
26-05-2008 18:27:53 Local bases copy is up to date
26-05-2008 18:27:53 Checking http://u23.eset.com/eset_upd/
26-05-2008 18:28:03 Local bases copy is up to date
26-05-2008 18:28:03 Checking http://u24.eset.com/eset_upd/
26-05-2008 18:28:03 Local bases copy is up to date
26-05-2008 18:28:03 Checking http://89.202.157.135/eset_upd/
26-05-2008 18:28:13 Downloading /download/engine3/em008_64_n2.nup(1038) old version (1038) from http://89.202.157.135
26-05-2008 18:28:14 Downloading /download/engine3/em003_32_n6.nup(1079) old version (1079) from http://89.202.157.135
26-05-2008 18:28:15 Downloading /download/engine3/em004_32_l1.nup(1070) old version (1070) from http://89.202.157.135
26-05-2008 18:28:15 Downloading /download/engine3/em002_32_n2.nup(3132) old version (3132) from http://89.202.157.135
26-05-2008 18:28:16 Downloading /download/engine3/em008_64_n6.nup(1038) old version (1038) from http://89.202.157.135
...
7. Но это еще не все, имеем мы только обновления для "тройки", а для полноты картины хочется еще и для "двойки". Тоже не проблема. Ищем на сайте уважаемого Лиссяры статью про установку и настроку nod32, в конце статьи есть ссылки на скачивание самого нода и (САМОЕ ГЛАВНОЕ!) файла лицензии.
Устанавливаем скачанное (можно подсматривать одним глазом в статью), не забываем кинуть в папку /usr/local/ets/esets/license скачанную лицензию. Если не планируется использовать самого фришного нода, можно выкинуть скрипт его автозапуска из /usr/local/etc/rc.d/. Лично я использую только его фирменный updater, лежит тут -
Код: Выделить всё
/usr/local/sbin/esets_update
Код: Выделить всё
#/usr/local/sbin/esets_update --username "имя" --password "пароль"
Код: Выделить всё
/usr/local/etc/esets/esets.cfg
9. Теперь собираем все до кучи. Правим upd.pl, вставляя после строки
Код: Выделить всё
chomp $password;
Код: Выделить всё
system("/usr/local/sbin/esets_update --base-dir "наш путь" --mirror-dir "наш путь" --username $username --password $password --add-mod "ENGLISH:RUSSIAN">> $path/nod27.log");
10. Снова запускаем upd.pl и убеждаемся, что в этот раз обновились оба зеркала, и вдобавок появился еще один лог - nod27.log
Вот собственно и все.