шустрый скрипт скрипт зеркала NOD32

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-14 23:05:58

Выкладываю на ваша обозрение кросс-платформенный скрипт основанный на скрипте от GRooVE. Постепенно было переделано 80% его кода.

По большей части адресован пользователям использовавших ранее скрипт от GRooVE, и знакомых с его настройкой. Но и новым пользователям будет легко настроить данный скрипт.

Основные отличия от остальных скриптов в теме:
- составление списка самых быстрых зеркал, и загрузка с самого быстрого зеркала (по возможности) файлов, если нет возможности загрузки файла с этого зеркала будет произведена загрузка с следующего по списку зеркала;
- усовершенствованный поиск ключей (практически безотказный);
- умная проверка ключей;
- перед загрузкой файла производится поиск данного файла во всех возможных каталогов всех версий баз, если есть файл - делается желткая ссылка (возможность создания жестких ссылок экономит 56% места на сервере), если нет возможности создания ссылки - копируется файл (экономя время на закачку);
- при наличии curl ведётся проверка зеркал и загрузка файлов мультипотоково сразу в файл (не тратя место в оперативной памяти), если нет - ведётся загрузка стандартными функциями пофайлово с буфером в 1Мб;
- жесткий контроль файлов. Не будет ни одного лишнего файла или папки;
- усовершенствованная отображение данных HTML страницы;
- и много других изменений =)

... используя всё это скрипт создаёт зеркало экономя время и место на сервере.

Не работает:
- обновление скрипта, запрос будет производиться на сервер GRooVE'а, который да данное время не обновляется.

Требования:
Для OS Windows: Установленный PHP
Для Unix систем: Установленный PHP, unrar

Сам скрипт -
nod32ms_14.10.14.zip
(457.37 КБ) 3219 скачиваний
Отдельное спасибо OttoFix за консультации. faraday и ak42 за тесты скрипта.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-14 23:13:26

Модераторов прошу откорректировать топик, и удалить дублирующее слово ... был напуган (с) =)

hexbear
рядовой
Сообщения: 19
Зарегистрирован: 2012-07-16 12:19:44
Откуда: Донецк, Украина

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение hexbear » 2014-10-17 8:45:23

Спасибо за скрипт!
первый раз скрипт отработал с ошибкой:
PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 7680 bytes) in /var/www/user/data/www/xxx/inc/classes/Mirror.class.php(171) : runtime-created function on line 1

при этом часть папок недосоздал.
Второй раз обновился нормально.
Что это могло быть и как избежать такого в дальнейшем?
Арендую впс с 512 памяти, может из-за этого, конечно...

P.S.
Freedom for Ukraine - повеселил ))) :drinks:

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-17 10:09:13

hexbear писал(а):Спасибо за скрипт!
первый раз скрипт отработал с ошибкой:
PHP Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 7680 bytes) in /var/www/user/data/www/xxx/inc/classes/Mirror.class.php(171) : runtime-created function on line 1

при этом часть папок недосоздал.
Второй раз обновился нормально.
Что это могло быть и как избежать такого в дальнейшем?
Арендую впс с 512 памяти, может из-за этого, конечно...
Для работы скрипта нужно максимум 16Мб, возможно не хватило во время запуска этих Мб. У меня так же на серваке 512Мб, фунциклирует нормально. Но тот блок, на который выдало ошибку я переделаю.
hexbear писал(а):Freedom for Ukraine - повеселил ))) :drinks:
:drinks:

ogursoft
рядовой
Сообщения: 11
Зарегистрирован: 2014-10-17 9:20:46

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение ogursoft » 2014-10-17 13:35:54

Хороший скрипт, пока перехожу на него с alexco. Пожелание автору - сделать нотификацию через jabber и возможность использования своего шаблона страницы html

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-17 13:43:54

ogursoft писал(а):Хороший скрипт, пока перехожу на него с alexco. Пожелание автору - сделать нотификацию через jabber...
Спасибо. Уже скопилось куча доработок к срипту, которые буду вносить как только появится свободное время (не скоро).
ogursoft писал(а):... и возможность использования своего шаблона страницы html
сейчас есть возможность генерирования одной таблицы без стилей, которую можно подгружать в свою страницу. (смотрите настройки конфига).

ogursoft
рядовой
Сообщения: 11
Зарегистрирован: 2014-10-17 9:20:46

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение ogursoft » 2014-10-17 15:12:59

Ну вот только я обрадовался как возникла какая-то проблема
После обновления скрипт запускается и тишина...
В консоли и логе:
[2014-10-17] [16:07:14] На сервере доступна новая версия [1.0.140704]!
[2014-10-17] [16:07:14] Запуск скрипта 1.0.140704

И так висит. Пробовал скачать latesversion.tgz то же самое
Где копать? И так и не понял как свою html страницу подставить. Нашел функцию генерации html но там жестко весь текст страницы и стили прописаны.

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-17 22:22:33

ogursoft писал(а):Ну вот только я обрадовался как возникла какая-то проблема
После обновления скрипт запускается и тишина...
В консоли и логе:
[2014-10-17] [16:07:14] На сервере доступна новая версия [1.0.140704]!
[2014-10-17] [16:07:14] Запуск скрипта 1.0.140704

И так висит. Пробовал скачать latesversion.tgz то же самое
Где копать?
Не работает:
- обновление скрипта, запрос будет производиться на сервер GRooVE'а, который да данное время не обновляется.
отключите обновление скрипта ... покаместь обновлять придётся вручную.
ogursoft писал(а):И так и не понял как свою html страницу подставить. Нашел функцию генерации html но там жестко весь текст страницы и стили прописаны.

Код: Выделить всё

# Generate only table for injection this in other html page. Defaul 0.
generate_only_table = 1
скрипт сгенерирует таблицу, её вы подтянете в свою страницу средствами php/perl/python...

Аватара пользователя
xXxSPYxXx
ефрейтор
Сообщения: 60
Зарегистрирован: 2012-11-29 17:11:54
Контактная информация:

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение xXxSPYxXx » 2014-10-22 18:18:02

- усовершенствованная отображение данных HTML страницы;
Можно скрин страницы?

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-22 18:24:02

xXxSPYxXx писал(а):Можно скрин страницы?
NOD.png
Тут с опцией "не отображать ключ".

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-23 20:30:43

В новой версии скрипта поиск и проверка 100 ключей заняло 1 минута =) ... и это без мультикурла ... сколько займёт с мультикурлом?) ... делаем ставки)

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-23 20:45:54

150 ключей уже заняло 6 минут ...

viktor6
мл. сержант
Сообщения: 99
Зарегистрирован: 2009-12-16 22:49:28

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение viktor6 » 2014-10-23 22:06:09

чтото он не очень
вот для примера http://nod.vik.ua-biz.info/
и ваш http://nod1.vik.ua-biz.info/
обратите внимания на версии баз
первый скрипт от GRooVE
и еще если отредактировать эту строку

Код: Выделить всё

default_pattern = ((EAV)-[0-9]{10}).+?([a-z0-9]{10})
то не фига не ищет ключь

Код: Выделить всё

# uname -a
Linux localnet 3.2.0-4-amd64 #1 SMP Debian 3.2.60-1+deb7u3 x86_64 GNU/Linux

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-23 22:22:29

viktor6 писал(а):чтото он не очень
вот для примера http://nod.vik.ua-biz.info/
и ваш http://nod1.vik.ua-biz.info/
обратите внимания на версии баз
первый скрипт от GRooVE
что логи пишут? базы то загружаются? ... выложите логи.
viktor6 писал(а):и еще если отредактировать эту строку

Код: Выделить всё

default_pattern = ((EAV)-[0-9]{10}).+?([a-z0-9]{10})
то не фига не ищет ключь
смотря как править ... если регулярка не правильная, то ничего и не найдёт.
В будущей версии (что сейчас пишу) будет регулярка бронепробиваемая ... текущий вариант (от Грува) выбирает ключи из специфических вариантов написания ключей на странице.

viktor6
мл. сержант
Сообщения: 99
Зарегистрирован: 2009-12-16 22:49:28

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение viktor6 » 2014-10-23 23:10:46

Код: Выделить всё

[2014-10-23, 21:40:02] Запущен скрипт 1.0.141014 [Freedom for Ukraine]
[2014-10-23, 21:40:04] [ver. 3] Ваша база актуальна 10604 (20141022)
[2014-10-23, 21:40:04] [ver. 4] Ваша база актуальна 10604 (20141022)
[2014-10-23, 21:40:05] [ver. 5] Ваша база актуальна 10604 (20141022)
[2014-10-23, 21:40:05] [ver. 6] Ваша база актуальна 10604 (20141022)
[2014-10-23, 21:40:05] [ver. 7] Ваша база актуальна 10604 (20141022)
[2014-10-23, 21:40:05] Создаётся index.html...
[2014-10-23, 21:40:05] Общее время выполнения: 00:03
[2014-10-23, 21:40:05] Скрипт остановлен.
[2014-10-23, 22:10:02] Запущен скрипт 1.0.141014 [Freedom for Ukraine]
[2014-10-23, 22:10:04] [ver. 3] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:10:04] [ver. 4] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:10:05] [ver. 5] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:10:05] [ver. 6] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:10:05] [ver. 7] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:10:05] Создаётся index.html...
[2014-10-23, 22:10:05] Общее время выполнения: 00:03
[2014-10-23, 22:10:05] Скрипт остановлен.
[2014-10-23, 22:40:04] Запущен скрипт 1.0.141014 [Freedom for Ukraine]
[2014-10-23, 22:40:06] [ver. 3] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:40:06] [ver. 4] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:40:07] [ver. 5] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:40:07] [ver. 6] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:40:07] [ver. 7] Ваша база актуальна 10604 (20141022)
[2014-10-23, 22:40:07] Создаётся index.html...
[2014-10-23, 22:40:07] Общее время выполнения: 00:03
[2014-10-23, 22:40:07] Скрипт остановлен.
[2014-10-23, 23:10:04] Запущен скрипт 1.0.141014 [Freedom for Ukraine]
[2014-10-23, 23:10:06] [ver. 3] Ваша база актуальна 10604 (20141022)
[2014-10-23, 23:10:07] [ver. 4] Ваша база актуальна 10604 (20141022)
[2014-10-23, 23:10:07] [ver. 5] Ваша база актуальна 10604 (20141022)
[2014-10-23, 23:10:08] [ver. 6] Ваша база актуальна 10604 (20141022)
[2014-10-23, 23:10:08] [ver. 7] Ваша база актуальна 10604 (20141022)
[2014-10-23, 23:10:08] Создаётся index.html...
[2014-10-23, 23:10:08] Общее время выполнения: 00:04
[2014-10-23, 23:10:08] Скрипт остановлен.

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-23 23:17:05

viktor6, а конфиг? ... список зеркал пробовали одинаковый с другим конфигом поставить?

viktor6
мл. сержант
Сообщения: 99
Зарегистрирован: 2009-12-16 22:49:28

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение viktor6 » 2014-10-23 23:47:53

Вот конфиг
nod32ms.zip
(3.46 КБ) 175 скачиваний
Пробовал

Код: Выделить всё

mirror = update.eset.com, um10.eset.com, um11.eset.com, um12.eset.com, um13.eset.com
все тоже самое
конфиг от другого
nod32ms1.zip
(3.49 КБ) 142 скачивания

viktor6
мл. сержант
Сообщения: 99
Зарегистрирован: 2009-12-16 22:49:28

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение viktor6 » 2014-10-24 9:35:25

не пойму почему не ищет кючик

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-24 10:37:03

viktor6, проверил эту версию скрипта, всё работает как надо. Смотрю и у вас базы обновились. Есть варианты в чём была причина?
не пойму почему не ищет кючик
попробуйте эту регулярку

Код: Выделить всё

((EAV|TRIAL)-\d{6,10}).*?((?=[\da-z]*?[a-z])(?=[\da-z]*?[0-9])[\da-z]{10})
Но это регулярное выражение тоже не идеальное (на страницах гугл и бинг находит, на других сайтах - не всегда). Я в альфа версии не смог решить этот вопрос только регулярными выражениями. Решил вопрос поиска ключей перебором с парсингом. В будущем релизе будет искать все возможные ключи на странице.

viktor6
мл. сержант
Сообщения: 99
Зарегистрирован: 2009-12-16 22:49:28

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение viktor6 » 2014-10-24 15:07:29

TITANius писал(а):viktor6, проверил эту версию скрипта, всё работает как надо. Смотрю и у вас базы обновились. Есть варианты в чём была причина?
не пойму почему не ищет кючик
попробуйте эту регулярку

Код: Выделить всё

((EAV|TRIAL)-\d{6,10}).*?((?=[\da-z]*?[a-z])(?=[\da-z]*?[0-9])[\da-z]{10})
Но это регулярное выражение тоже не идеальное (на страницах гугл и бинг находит, на других сайтах - не всегда). Я в альфа версии не смог решить этот вопрос только регулярными выражениями. Решил вопрос поиска ключей перебором с парсингом. В будущем релизе будет искать все возможные ключи на странице.
Смотри я взял удалил файл nod_keys.valid чтобы скрипт нашол новый ключ. и после этого все перестало работать. удалил все из папки лог и www скрипт зарботал.

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-24 20:05:05

viktor6 писал(а):
TITANius писал(а):Смотри я взял удалил файл nod_keys.valid чтобы скрипт нашол новый ключ. и после этого все перестало работать. удалил все из папки лог и www скрипт зарботал.
Я посмотрю в чём может быть дело, если что-то найду - подправлю к следующему релизу.

С мутикурлом поиск 150 ключей заняло 40 секунд =)

viktor6
мл. сержант
Сообщения: 99
Зарегистрирован: 2009-12-16 22:49:28

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение viktor6 » 2014-10-24 23:35:21

TITANius писал(а):
viktor6 писал(а):
TITANius писал(а):Смотри я взял удалил файл nod_keys.valid чтобы скрипт нашол новый ключ. и после этого все перестало работать. удалил все из папки лог и www скрипт зарботал.
Я посмотрю в чём может быть дело, если что-то найду - подправлю к следующему релизу.

С мутикурлом поиск 150 ключей заняло 40 секунд =)
Посмотри че заново файлы не создаются и ошибки не какой не выводят

ak42
ефрейтор
Сообщения: 69
Зарегистрирован: 2011-08-19 11:40:32

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение ak42 » 2014-10-26 18:54:43

TITANius, будет ли поддержка 8-й версии НОДа ?

Аватара пользователя
TITANius
сержант
Сообщения: 197
Зарегистрирован: 2009-10-27 11:33:10

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-10-27 12:38:59

ak42 писал(а):TITANius, будет ли поддержка 8-й версии НОДа ?
обязательно, в следующем релизе будет.

уже сделано:
- увеличил скорость асинхронной загрузки;
- усовершенствовал поиск ключей;
- интеллектуальное определение быстрых зеркал (в процессе его работы);
- асинхронная проверка ключей.

в планах:
- асинхронная проверка наличия новых обновлений;
- доработка асинхронной загрузки файлов;
- самообновление скрипта с зеркала для скрипта;
- (возможно) файлы обновления без поддиректорий (опция, после которой всё файлы будут в одной папке ... удобно для переноса их и следующего пункта).
- (возможно) создание офлайн баз для всех версий нода;
- (возможно) все операции через прокси;
- (возможно) поиск прокси серверов, проверка их на скорость и анонимность;
- (возможно) ещё что-то.

ogursoft
рядовой
Сообщения: 11
Зарегистрирован: 2014-10-17 9:20:46

Re: шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение ogursoft » 2014-10-28 16:24:57

Письма приходят с Content-Type: text/plain; charset=iso-8859-1 но фактически кодировка utf-8, поэтому определяется неверно, при выборе вручную символы отображаются правильно, не подскажете. где копать?