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

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-14 22:43:09

Хочу предложить на подумать такую вещь: при создании зеркала обновлений для нескольких версий создаются соответствующие каталоги с необходимым содержимым. А при отмене (в конфиг.файле) эти каталоги не удаляются. Может можно внести в скрипт такую возможность чтобы при отмене создания зеркала для таких то версий которые раннее обновлялись (существуют на диске) ненужные каталоги также удалялись ?

Хостинговая компания 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/

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-14 22:46:47

Идея - не имеет смысла.
Ещё скажите если поменять путь к файлам зеркала то чтоб скрипт шёл по старому пути и там все чистил.

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-24 11:22:51

Добавьте пожалуйста возможность скачивания баз с зеркала при наличии логина:пароля
Я думаю это в конфиг для nginx добавлять надо ? (не очень хорошо знаком с nginx)

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-24 15:17:43

mucigal писал(а):Добавьте пожалуйста возможность скачивания баз с зеркала при наличии логина:пароля
Я думаю это в конфиг для nginx добавлять надо ? (не очень хорошо знаком с nginx)
nginx auth basic -> google

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-26 22:37:45

спасибо за направление (не в гугл конечно :ROFL:)
А скажите, скрипт создает зеркало только из баз или если на сервере обновлений есть модули обновленные то он и модули закачивает ?
и насколько я понимаю на триальных серверах модулей обновлений никогда нет ?

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-26 23:04:11

mucigal писал(а):спасибо за направление (не в гугл конечно :ROFL:)
А скажите, скрипт создает зеркало только из баз или если на сервере обновлений есть модули обновленные то он и модули закачивает ?
и насколько я понимаю на триальных серверах модулей обновлений никогда нет ?
А заглянуть в папку слабо?!

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-26 23:41:50

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

и еще, если у меня в сети используется только endpoint security 64-х разрядные как мне выставить правильно вот эти параметры:
# update_version_x64 = 1
# update_version_ess = 1
Нужно ли включать первый или достаточно только второго ?

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-26 23:41:50

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

и еще, если у меня в сети используется только endpoint security 64-х разрядные как мне выставить правильно вот эти параметры:
# update_version_x64 = 1
# update_version_ess = 1
Нужно ли включать первый или достаточно только второго ?

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-27 0:45:58

Первый параметр - модули для 64- х битных систем, второй - для смарт секьюрити и ендпоинта

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-27 1:30:58

Спасибо; вроде разобрался.
если у меня ОС х32, то я включаю update_version_x32 = 1, а update_version_x64 = 0 и наоборот, но если еще используется EEV или EES, то подключаю еще и update_version_ess = 1, а если просто домашний антивирус, то update_version_ess = 0

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-27 1:33:23

Да

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-27 11:28:40

А у вас пока сервер обновлений не работает ?
сегодня заметил, по крайней мере с 22.06 в логах каждый час пишется что "сервер обновлений не отвечает".

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-27 11:28:40

А у вас пока сервер обновлений не работает ?
сегодня заметил, по крайней мере с 22.06 в логах каждый час пишется что "сервер обновлений не отвечает".

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-27 11:35:06

mucigal писал(а):А у вас пока сервер обновлений не работает ?
сегодня заметил, по крайней мере с 22.06 в логах каждый час пишется что "сервер обновлений не отвечает".
Какой у вас айпи?

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-27 12:24:24

Да мне вообще провайдер выдает адрес из диапазона 10.х.х.х
а через www.2ip.ru показывает провайдерский адрес из диапазона 213.27.х.х

mucigal
проходил мимо

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

Непрочитанное сообщение mucigal » 2017-06-28 11:37:35

harmless писал(а):
mucigal писал(а):А у вас пока сервер обновлений не работает ?
сегодня заметил, по крайней мере с 22.06 в логах каждый час пишется что "сервер обновлений не отвечает".
Какой у вас айпи?
Приветствую. Не смотрели еще ошибку ?

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-29 15:50:34

mucigal писал(а):
harmless писал(а):
mucigal писал(а):А у вас пока сервер обновлений не работает ?
сегодня заметил, по крайней мере с 22.06 в логах каждый час пишется что "сервер обновлений не отвечает".
Какой у вас айпи?
Приветствую. Не смотрели еще ошибку ?
Должно все работать!

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-06-30 0:27:06

Доступ к серверу обновлений - исправлен

TYAX
проходил мимо
Сообщения: 4
Зарегистрирован: 2017-07-07 5:22:58

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

Непрочитанное сообщение TYAX » 2017-07-07 5:41:02

Здравствуйте, коллеги!

Посмотрел на скрипт, хотя и плоховата в PHP ориентируюсь.
Никак не уловлю каким образом определяется номер версии.

В самопале делаю сравнение двух крайних результатов через регулярку файла info:

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

grep "/en/update/info/" info | sed -e :a -e "s/<[^>]*>//g;/</N;//ba" | grep "[0-9]\{5\}" | sed "s/^[ t]*//;s/[ t]*$//" | sed q > ver.txt
Скорее всего соглашусь с предыдущим вопрошающим, т.к. имеется вaлидный ключик.
Видимо придется причесать скрипт, т.к. в нем не очевидно использование своих ключeй.

з.ы.Просто надо закрыть локалку от внешнего доступа наглухо.

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-07-07 9:45:36

TYAX писал(а):Здравствуйте, коллеги!

Посмотрел на скрипт, хотя и плоховата в PHP ориентируюсь.
Никак не уловлю каким образом определяется номер версии.

В самопале делаю сравнение двух крайних результатов через регулярку файла info:

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

grep "/en/update/info/" info | sed -e :a -e "s/<[^>]*>//g;/</N;//ba" | grep "[0-9]\{5\}" | sed "s/^[ t]*//;s/[ t]*$//" | sed q > ver.txt
Скорее всего соглашусь с предыдущим вопрошающим, т.к. имеется вaлидный ключик.
Видимо придется причесать скрипт, т.к. в нем не очевидно использование своих ключeй.

з.ы.Просто надо закрыть локалку от внешнего доступа наглухо.
Номер версии чего? Базы? Если её, то поиском всех строк version в файлах update.ver для каждой ветки и возвращает самое большое значение.
По поводу ключей - если у вас купленный ключ, то пропишите его в файл с ключами и отключите автопоиск ключей в конфигурационном файле nod32ms.conf.
По поводу закрыть локалку от внешнего мира - это при чем тут в этой теме!?

Отправлено спустя 4 минуты 47 секунд:
TYAX писал(а):Здравствуйте, коллеги!

Посмотрел на скрипт, хотя и плоховата в PHP ориентируюсь.
Никак не уловлю каким образом определяется номер версии.

В самопале делаю сравнение двух крайних результатов через регулярку файла info:

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

grep "/en/update/info/" info | sed -e :a -e "s/<[^>]*>//g;/</N;//ba" | grep "[0-9]\{5\}" | sed "s/^[ t]*//;s/[ t]*$//" | sed q > ver.txt
Скорее всего соглашусь с предыдущим вопрошающим, т.к. имеется вaлидный ключик.
Видимо придется причесать скрипт, т.к. в нем не очевидно использование своих ключeй.

з.ы.Просто надо закрыть локалку от внешнего доступа наглухо.
Номер версии чего? Базы? Если её, то поиском всех строк version в файлах update.ver для каждой ветки и возвращает самое большое значение.
По поводу ключей - если у вас купленный ключ, то пропишите его в файл с ключами и отключите автопоиск ключей в конфигурационном файле nod32ms.conf.
Причесывать скрипт - не вариант. Есть предложение - ПОЧИТАЙТЕ КОНФИГУРАЦИОННЫЙ ФАЙЛ nod32ms.conf ХОТЯБЫ!
По поводу закрыть локалку от внешнего мира - это при чем тут в этой теме!?

TYAX
проходил мимо
Сообщения: 4
Зарегистрирован: 2017-07-07 5:22:58

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

Непрочитанное сообщение TYAX » 2017-07-07 10:43:11

harmless писал(а):Номер версии чего? Базы? Если её, то поиском всех строк version в файлах update.ver для каждой ветки и возвращает самое большое значение.
По поводу ключей - если у вас купленный ключ, то пропишите его в файл с ключами и отключите автопоиск ключей в конфигурационном файле nod32ms.conf.
Причесывать скрипт - не вариант. Есть предложение - ПОЧИТАЙТЕ КОНФИГУРАЦИОННЫЙ ФАЙЛ nod32ms.conf ХОТЯБЫ!
По поводу закрыть локалку от внешнего мира - это при чем тут в этой теме!?
Естественно версии, которая выкладывается в сводобный доступ, а та конструкция берет и создаёт файлик с самым большим цифровым значением. Далее сравниваю предыдущий с текущим, если значение больше, то запускается обновление.
А каков синтаксис прописывания ключа в файл? Не, ну понятно, если скрипт начнет работать с внешними, он сформирует, а там по аналогии, однако.. Конфиг читал, вдоль и поперек. Примерно тоже с кодом, хотя в php искал, как мне думалось, локаничную регулярку для формирования списка файлов из .vеr, ну да ладно, это я о баше размечтался, вместо .php.

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-07-07 10:59:07

TYAX писал(а):
harmless писал(а):Номер версии чего? Базы? Если её, то поиском всех строк version в файлах update.ver для каждой ветки и возвращает самое большое значение.
По поводу ключей - если у вас купленный ключ, то пропишите его в файл с ключами и отключите автопоиск ключей в конфигурационном файле nod32ms.conf.
Причесывать скрипт - не вариант. Есть предложение - ПОЧИТАЙТЕ КОНФИГУРАЦИОННЫЙ ФАЙЛ nod32ms.conf ХОТЯБЫ!
По поводу закрыть локалку от внешнего мира - это при чем тут в этой теме!?
Естественно версии, которая выкладывается в сводобный доступ, а та конструкция берет и создаёт файлик с самым большим цифровым значением. Далее сравниваю предыдущий с текущим, если значение больше, то запускается, что должно обновить.
А каков синтаксис прописывания ключа в файл? Не, ну понятно, если скрипт начнет работать с внешними, он сформирует, а там по аналогии, однако.. Конфиг читал, вдоль и поперек. Примерно тоже с кодом, хотя в php искал, как мне думалось, локаничную регулярку для формирования списка файлов из .vеr, ну да ладно, это я о баше размечтался, вместо .php.
Синтаксис файла ключей log/nod_keys.valid таков:

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

Логин:пароль:дата действия ключа(число.месяц.год):версия ветки(3,4..10
)
Поиск версии:

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

static public function get_DB_version($file)
    {
        if (!file_exists($file))
            return null;

        $content = file_get_contents($file);
        $upd = parser::parse_line($content, "version");
        $max = 0;

        if (isset($upd)) {
            foreach ($upd as $key) {
                $tmp = explode(' ', $key);
                $max = $max < intval($tmp[0]) ? $key : $max;
            }
        }

        return $max;
    }
    
    static public function parse_line($handle, $tag, $pattern = false)
    {
        $arr = array();
        if (preg_match_all(($pattern ? $pattern : "/$tag *=(.+)/"), $handle, $result, PREG_PATTERN_ORDER)) {
            foreach ($result[1] as $key) {
                $arr[] = trim($key);
            }
        }
        return $arr;
    }
    
Создание списка файлов:

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

static public function download_signature($mirror, $pair_key)
    {
        global $DIRECTORIES;
        $dir = Config::get('web_dir');
        $cur_update_ver = Tools::ds($dir, $DIRECTORIES[static::$version], 'update.ver');
        $tmp_update_ver = Tools::ds($dir, TMP_PATH, $DIRECTORIES[static::$version], 'update.ver');
        $content = @file_get_contents($tmp_update_ver);
        $start_time = microtime(true);
        preg_match_all('#\[\w+\][^\[]+#', $content, $matches);
....
            Tools::create_dir(dirname($cur_update_ver));
            @file_put_contents($cur_update_ver, $new_content);
.....
    }
А вот функция, которая парсит файл update.ver и выбирает файлы согласно настроек в nod32ms.conf

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

    static protected function parse_update_file($matches)
    {
        $new_content = '';
        $new_files = array();
        $total_size = 0;

        foreach ($matches as $container) {
            parse_str((str_replace("\r\n", "&", $container)), $output);

            if (intval(static::$version) != 10) {
                if (empty($output['file']) or empty($output['size']) or empty($output['date']) or
                    (!empty($output['language']) and !in_array($output['language'], Config::get('update_version_lang'))) or
                    (Config::get('update_version_x32') != 1 and preg_match("/32|86/", $output['platform'])) or
                    (Config::get('update_version_x64') != 1 and preg_match("/64/", $output['platform'])) or
                    (Config::get('update_version_ess') != 1 and preg_match("/ess/", $output['type']))
                )
                    continue;
            } else {
                if (empty($output['file']) or empty($output['size']) or
                    (Config::get('update_version_x32') != 1 and preg_match("/32|86/", $output['platform'])) or
                    (Config::get('update_version_x64') != 1 and preg_match("/64/", $output['platform']))
                )
                    continue;
            }

            $new_files[] = array($output['file'], $output['size']);
            $total_size += $output['size'];
            $new_content .= $container;
        }

        return array($new_files, $total_size, $new_content);
    }
Отправлено спустя 1 минуту 1 секунду:
harmless писал(а): Естественно версии, которая выкладывается в сводобный доступ
А это вообще похоже на бред. Изъясняйтесь внятнее

TYAX
проходил мимо
Сообщения: 4
Зарегистрирован: 2017-07-07 5:22:58

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

Непрочитанное сообщение TYAX » 2017-07-07 12:15:25

harmless писал(а):Синтаксис файла ключей log/nod_keys.valid таков:

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

Логин:пароль:дата действия ключа(число.месяц.год):версия ветки(3,4..10
)
Поиск версии:
Спасибо, harmless, за лаконичный ответ!
Получается нечто похожее на:

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

ЕАV-xxxxxxxx:password:12.12.2018:7,8
Верно?
harmless писал(а):
Естественно версии, которая выкладывается в сводобный доступ
А это вообще похоже на бред. Изъясняйтесь внятнее
Во вкладке "Обнoвлeниe/Вeрсия бaзы дaнных сигнaтур вирусoв:" имеется ссылка на файлик http://www.virusradar.com/en/update/info, который прежде всякой скачки смотрит мой скрипт, ну, и если условия описанные выше соответствуют появлению новой версии, то начинается докачка новых файлов через другую конструкцию сравнения предыдущего списка файлов и нового, извлеченного из свежего .vеr. Скрипт ведет себя примерно так же, как и реальная программа, скачивая только новые файлы. Да, речь изначально шла о другом подходе и соотв. другом скрипте, который пытаюсь изобразить сам. Попался ваш, как показалось более продвинутый, т.к. его в любом случае придется адаптировать под железяку на которой всё будет крутиться. Вот и думаю, допилить свой, или ну его, т.е. вкарячить из топика.

harmless
лейтенант
Сообщения: 719
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

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

Непрочитанное сообщение harmless » 2017-07-07 12:29:52

TYAX писал(а): Получается нечто похожее на:
ЕАV-xxxxxxxx:password:12.12.2018:7,8
Верно?
Нет

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

ЕАV-xxxxxxxx:password:12.12.2018:7
ЕАV-xxxxxxxx:password:12.12.2018:8
TYAX писал(а): Попался ваш, как показалось более продвинутый, т.к. его в любом случае придется адаптировать под железяку на которой всё будет крутиться.
Адаптировать придется разве что лимит по памяти да сами настройки - скрипт тестировался и реальных железках, и на виртуальных с памятью в 128Мб, версии FreeBSD 10-11 php 5.4-7.1, на Linux не проверял, но думаю смысла нет так как *NIX)

TYAX
проходил мимо
Сообщения: 4
Зарегистрирован: 2017-07-07 5:22:58

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

Непрочитанное сообщение TYAX » 2017-07-07 12:54:07

harmless писал(а):Адаптировать придется разве что лимит по памяти да сами настройки - скрипт тестировался и реальных железках, и на виртуальных с памятью в 128Мб, версии FreeBSD 10-11 php 5.4-7.1, на Linux не проверял, но думаю смысла нет так как *NIX)
Ну, в любом случае теперь понятно, что именно нужно для парсинга. У меня один тестовый крутится на ПК, другой на ZyXEL Keenetic.
Дело в том, что сравнил файлы по содержимому с оффлайн паками и тем что качает через скрипт, получил расхождение, которое нужно устранить исправив регулярку парсинка списка файлой.