Клиент будет искать в корне web сервера.depositaire писал(а):А как с путями быть? в файле там идёт file=ees_nt64_***.nup а в update.ver там обычно /v5-rel-sta/pcu_win_***_home/
Очередной скрипт зеркала NOD32
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- ефрейтор
- Сообщения: 69
- Зарегистрирован: 2012-03-15 7:20:22
Re: Очередной скрипт зеркала NOD32
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2014-07-09 9:39:16
- Откуда: Королёв, Россия
Re: Очередной скрипт зеркала NOD32
Не факт. Он будет искать по тому пути, который у него прописан в качестве источника обновлений,arez1978 писал(а):Клиент будет искать в корне web сервера.depositaire писал(а):А как с путями быть? в файле там идёт file=ees_nt64_***.nup а в update.ver там обычно /v5-rel-sta/pcu_win_***_home/
а он задаётся на место, где лежит update.ver, например http://site.example.com/eset_upd/v5. И оттуда же он и будет брать файлы.
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2011-10-14 14:04:17
Re: Очередной скрипт зеркала NOD32
В итоге просто сделал файлик с описанием того где лежат обновления и добавил строчку в manual_start что бы дописывал в /eset_upd/update.ver После обновления ничего не удаляется и Nup'ы лежат на своих местах. Клиентские компы сразу увидели обновы.
-
- рядовой
- Сообщения: 19
- Зарегистрирован: 2012-07-16 12:19:44
- Откуда: Донецк, Украина
Re: Очередной скрипт зеркала NOD32
Код: Выделить всё
[2014-07-31] [15:05:57] Run script 1.0.140704
[2014-07-31] [15:06:07] Unhandled exception [HTTP/1.1 404 Not Found]
[2014-07-31] [15:06:07] No working keys were found!
[2014-07-31] [15:06:11] Unhandled exception [HTTP/1.1 404 Not Found]
[2014-07-31] [15:06:11] No working keys were found!
[2014-07-31] [15:06:11] No working keys were found! The script has been stopped!
[2014-07-31] [15:06:11] Total working time: 14 seconds
[2014-07-31] [15:06:11] Stop script
сорри, пока писал, решил проверить на старом, тоже не обновляется. Это у всех так?
-
- ефрейтор
- Сообщения: 55
- Зарегистрирован: 2011-08-19 11:40:32
Re: Очередной скрипт зеркала NOD32
Да, у меня тоже самое.
-
- рядовой
- Сообщения: 19
- Зарегистрирован: 2012-07-16 12:19:44
- Откуда: Донецк, Украина
Re: Очередной скрипт зеркала NOD32
с антивирусника обновляется нормально, похоже, палят юзерагент.
-
- ефрейтор
- Сообщения: 55
- Зарегистрирован: 2011-08-19 11:40:32
Re: Очередной скрипт зеркала NOD32
Надо подставить нужный юзер-агент или отключить проверку ключа на валидность
- raven428
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2013-03-18 10:25:04
- Откуда: Челябинск
Re: Очередной скрипт зеркала NOD32
в файлик Mirror.class.php последобавляем и всё работает, хотя это и неправильное решение. по идее надо get_headers заменить на что-то, но я не особо разбираюсь в php. если кто знает, подскажите.
Код: Выделить всё
if(strstr($header[0],"200") !== false) {
return true;
}
Код: Выделить всё
if(strstr($header[0],"404") !== false) {
return true;
}
too much raVen over paradise...
-
- рядовой
- Сообщения: 19
- Зарегистрирован: 2012-07-16 12:19:44
- Откуда: Донецк, Украина
Re: Очередной скрипт зеркала NOD32
Чудеса, на старом работает, на новом - нет:
Было бы неплохо, выводить, на каком шаге споткнулся...
Код: Выделить всё
[2014-07-31] [20:37:15] Run script 1.0.140704
[2014-07-31] [20:37:21] Use valid key [EAV****:****]
[2014-07-31] [20:37:28] [ver. 3] No actual update servers were found!
[2014-07-31] [20:37:36] [ver. 4] No actual update servers were found!
[2014-07-31] [20:37:43] [ver. 5] No actual update servers were found!
[2014-07-31] [20:37:51] [ver. 6] No actual update servers were found!
[2014-07-31] [20:37:58] [ver. 7] No actual update servers were found!
[2014-07-31] [20:37:58] Generating index.html...
[2014-07-31] [20:37:58] Total working time: 43 seconds
[2014-07-31] [20:37:58] Stop script
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2011-10-14 14:04:17
Re: Очередной скрипт зеркала NOD32
А если поднять log_level? Обычно скрипт довольно капитально ругается если что то не работает.
-
- рядовой
- Сообщения: 19
- Зарегистрирован: 2012-07-16 12:19:44
- Откуда: Донецк, Украина
Re: Очередной скрипт зеркала NOD32
Спасибо, разобрался, я накуевертил в php файлах, вернул все как было - заработало ))
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2012-11-29 17:05:08
Re: Очередной скрипт зеркала NOD32
Проблема, по-видимому, в том, что тестирование валидности ключа в скрипте проводится по анализу ответа на запрос загрузки файлов, определенных как тестовые в \Nod32MS\inc\init.php:hexbear писал(а):переехал на новый впс, все перенес, не пойму в чем проблема, ключ рабочий. Как понять где проблема??Код: Выделить всё
[2014-07-31] [15:05:57] Run script 1.0.140704 [2014-07-31] [15:06:07] Unhandled exception [HTTP/1.1 404 Not Found] [2014-07-31] [15:06:07] No working keys were found! [2014-07-31] [15:06:11] Unhandled exception [HTTP/1.1 404 Not Found] [2014-07-31] [15:06:11] No working keys were found! [2014-07-31] [15:06:11] No working keys were found! The script has been stopped! [2014-07-31] [15:06:11] Total working time: 14 seconds [2014-07-31] [15:06:11] Stop script
...
define('TESTKEY_PATH_NOD', "/v3-rel-sta/mod_000_loader/em000_32_l0.nup");
define('TESTKEY_PATH_ESS', "/v3-rel-sta/mod_010_smon/em010_32_l1.nup");
...
Функция get_headers() возвращает ошибку 404 - файл не найден, так как такого(их) файлов действительно теперь с 29.07.2014 - 30.07.2014 на северах Eset в этой(этих) папках действительно нет! Зато в этих же числах прошедшего месяца появились новые папки в файловой структуре, где находятся подобные файлы, а именно и соответственно:
/v3-rel-sta/mod_000_loader_1072/em000_32_l0.nup и
/v3-rel-sta/mod_010_smon_1034/em010_32_l1.nup
Таким образом, ИМХО, для решения проблемы достаточно скорректировать TESTKEY_PATH_NOD и TESTKEY_PATH_ESS в \Nod32MS\inc\init.php следующим образом:
...
define('TESTKEY_PATH_NOD', "/v3-rel-sta/mod_000_loader_1072/em000_32_l0.nup");
define('TESTKEY_PATH_ESS', "/v3-rel-sta/mod_010_smon_1034/em010_32_l1.nup");
...
и все будет хорошо

З.Ы.
Юзерагент абсолютно ни при чем в чем легко убедиться с помощью wget.
Сорри за многабуков.
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2011-10-14 14:04:17
Re: Очередной скрипт зеркала NOD32
Букофки полезные)
-
- проходил мимо
Re: Очередной скрипт зеркала NOD32
а можно данный скрипт приспособить под openwrt, c fakeroot-ом?
-
- проходил мимо
- Сообщения: 9
- Зарегистрирован: 2012-12-01 11:05:47
Re: Очередной скрипт зеркала NOD32
Заведомо правильные ключи не работают, есть решение?
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2013-09-26 17:24:11
Re: Очередной скрипт зеркала NOD32
Решение в предыдущих последних постах.SPSPaWn писал(а):Заведомо правильные ключи не работают, есть решение?
сначала испробовал вот это:
http://forum.lissyara.su/viewtopic.php? ... 50#p363227
а потом вот это:
http://forum.lissyara.su/viewtopic.php? ... 50#p363243
Спасибо пофиксившим - все работает!

-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2014-01-25 10:23:06
Re: Очередной скрипт зеркала NOD32
Работает то работает! но это не выход придётся вносить изменения в пару класов так как ESET сменил архитектуру хранения файлов у себя на сервере и теперь при перезапуске скрипта он выкачивает опять обновления и плодит лишние папки вида mod_002_engine_ХХХХХ и etc.
Выход внести изменения в класс Mirror а именно в приватную функцию parse_update_ver что бы на выходе получить имена каталогов без последних цифр, ну и конечно внести изменения в файлы update.ver
Выход внести изменения в класс Mirror а именно в приватную функцию parse_update_ver что бы на выходе получить имена каталогов без последних цифр, ну и конечно внести изменения в файлы update.ver
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2013-02-06 9:33:17
Re: Очередной скрипт зеркала NOD32
Скиньте скрипт, у автора опять недоступен сервер.
-
- рядовой
- Сообщения: 44
- Зарегистрирован: 2011-10-14 14:04:17
Re: Очередной скрипт зеркала NOD32
Потерпите, обычно это не долго.
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2014-01-25 10:23:06
Re: Очередной скрипт зеркала NOD32
!!!МНОГО БУКВ!!!!
Частично переделал Mirror.class.php
и так по порядку с PHP давно не работал так что за код не пинайте может кто то возьмется его оптимизировать
в static private function parse_update_ver($file, $server, $ver = null) после
вписываем
на выходе имеем перезаписанный фаил update.ver с по правлеными ссылками типа file=/v5-rel-sta/mod_000_loader/em000_32_l0.nup без лишнего мусора (Номера билда который постоянно меняется) который передаётся клиенту.
в download_signature
Вместо пишем
Не будут плодится папки с номером билда.
Дальшеменяем на
Чтобы находил файлы по изменённым путям
заменяем на
заменяется на
ну и последняя замена
меняем на
что бы правельно загруженные файлы сохранял
Что получилось на выходе: Старая архитектура хранения папок без всяких приписок номеров Билда к имени папки. Поправленный update.ver согласно новой (старой) архитектуре папок
Всё было протестировано на Centos 6.5 x86_64 и 30 рабочих станциях. Клиенты обновления получают.
P.S Хотелось бы увидеть ответ автора скрипта
Частично переделал Mirror.class.php
и так по порядку с PHP давно не работал так что за код не пинайте может кто то возьмется его оптимизировать
в static private function parse_update_ver($file, $server, $ver = null) после
Код: Выделить всё
$tmp = array('size','file','version');
foreach($tmp as $varible) {
if(substr($row, 0, strlen($varible)) == $varible) {
$res[$varible][$pos] = trim(substr($row, strlen($varible)+1));
}
}
}
вписываем
Код: Выделить всё
$fileupdate = $file;
$f = fopen($fileupdate, 'w');
for ($i=0; $i < count($update); $i++){
if (preg_match("/file/",$update[$i])){
$rebuild_update[$i] = str_replace("/", DS, substr(dirname($update[$i]),0,strripos(dirname($update[$i]),"_"))) . DS . basename($update[$i]);
fwrite($f, $rebuild_update[$i]);
}
else {
$rebuild_update[$i] = $update[$i];
fwrite($f, $rebuild_update[$i]);
}
}
fclose($f);
в download_signature
Вместо
Код: Выделить всё
$res = str_replace("/", DS, dirname($name)) . DS;
Код: Выделить всё
$res = str_replace("/", DS, substr(dirname($name),0,strripos(dirname($name),"_"))) . DS;
Дальше
Код: Выделить всё
$local_fs = file_exists($dir.$file[$key]) ? filesize($dir.$file[$key]) : -1;
Код: Выделить всё
$local_fs = file_exists(substr(dirname($dir.$file[$key]),0,strripos(dirname($dir.$file[$key]),"_")).DS.basename($dir.$file[$key])) ? filesize(substr(dirname($dir.$file[$key]),0,strripos(dirname($dir.$file[$key]),"_")).DS.basename($dir.$file[$key])) : -1;
Код: Выделить всё
@unlink($dir.$file[$key]);
Код: Выделить всё
@unlink(substr(dirname($dir.$file[$key]),0,strripos(dirname($dir.$file[$key]),"_")).DS.basename($dir.$file[$key]));
Код: Выделить всё
if(!file_exists($dir.$file[$key])) {
Код: Выделить всё
if(!file_exists(substr(dirname($dir.$file[$key]),0,strripos(dirname($dir.$file[$key]),"_")).DS.basename($dir.$file[$key]))) {
Код: Выделить всё
Tools::download_file(sprintf("http://%s:%s@%s", $pair_key[0], $pair_key[1], $mirror . $name), $dir.$name);
Код: Выделить всё
Tools::download_file(sprintf("http://%s:%s@%s", $pair_key[0], $pair_key[1], $mirror . $name), substr(dirname($dir.$file[$key]),0,strripos(dirname($dir.$file[$key]),"_")).DS.basename($name));
Что получилось на выходе: Старая архитектура хранения папок без всяких приписок номеров Билда к имени папки. Поправленный update.ver согласно новой (старой) архитектуре папок
Всё было протестировано на Centos 6.5 x86_64 и 30 рабочих станциях. Клиенты обновления получают.
P.S Хотелось бы увидеть ответ автора скрипта
-
- ефрейтор
- Сообщения: 55
- Зарегистрирован: 2011-08-19 11:40:32
Re: Очередной скрипт зеркала NOD32
Мог бы просто выложить свой mirror.class.php
в логе есть штук 20 строчек вида "Пропускаем em011_32_n6.nup [HTTP/1.1 404 Not Found]!"
это ошибка скрипта или просто нет таких файлов на сервере нода ?
в логе есть штук 20 строчек вида "Пропускаем em011_32_n6.nup [HTTP/1.1 404 Not Found]!"
это ошибка скрипта или просто нет таких файлов на сервере нода ?
-
- проходил мимо
- Сообщения: 8
- Зарегистрирован: 2014-01-25 10:23:06
Re: Очередной скрипт зеркала NOD32
он у меня дописан под свои нужды из-за этого и не стал выкладывать а просто расписал то что менял!Мог бы просто выложить свой mirror.class.php
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2013-02-06 9:33:17
Re: Очередной скрипт зеркала NOD32
Ребята подскажите какая структура должна получиться в папке www?
Сейчас у меня вот такая схема и не хочет отдавать обновления пользователям.
Сейчас у меня вот такая схема и не хочет отдавать обновления пользователям.
-
- рядовой
- Сообщения: 31
- Зарегистрирован: 2013-02-06 9:33:17
Re: Очередной скрипт зеркала NOD32
И еще такой вопрос,если у меня Web сервер висит на порту 8888, нод сможет обновиться? Какие то трудности у меня с этим. Или через ftp реально сделать обновление?
-
- проходил мимо
- Сообщения: 6
- Зарегистрирован: 2014-08-01 22:36:13
Re: Очередной скрипт зеркала NOD32
В адресе сервера обновления нужно будет явно указать порт (http://<domain>:8888/eset_upd/), обновляться будет нормально.evsey писал(а):И еще такой вопрос,если у меня Web сервер висит на порту 8888, нод сможет обновиться? Какие то трудности у меня с этим. Или через ftp реально сделать обновление?