Очередной скрипт зеркала NOD32

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2014-08-20 16:25:04

OttoFix писал(а):
to-03 писал(а):Доброй ночи!
Можете подсказать веб сервер lighttpd это правило правильно написано для разграничений

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

$HTTP["useragent"] =~ "^ESS.*BPC.4" {
    url.rewrite = ( "^update.ver$" => "/eset_upd/v4/update.ver" )
}
$HTTP["useragent"] =~ "^ESS.*BPC.5" {
    url.rewrite = ( "^update.ver$" => "/eset_upd/v5/update.ver" )
}
$HTTP["useragent"] =~ "^ESS.*BPC.7" {
    url.rewrite = ( "^update.ver$" => "/eset_upd/v5/update.ver" )
}
При выполнение wget пишет файла нет.
Вот понять не могу mod_rewrite и mod_Redirect подключен, а качать не качает
Спасибо
Да я хочу чтобы определеную версию из брал из своей папки
Все равно не хочет, правило вроде перенаправляет только при авторизации сейчас запрашивает логин и пароль. Без авторизации не находит.


Я конечно не силен в lighttpd, но правила вроде правильные, а wget'у юзерагент (ESS.*BPC.4) присваиваете, чтоб он попадал под правила?

Как вариант еще так можно, проверить не могу (могут быть небольшие ошибки).

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

$HTTP["useragent"] =~ "^ESS.*BPC.4" {
    url.rewrite = ( "^/([a-zA-Z]+)" => "/eset_upd/v4/$1" )
}

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

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

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение booldezir » 2014-08-20 18:23:10

Вопрос: У всех скрипт тормозит перед стартом где то час? судя по логам. :st:

KVAn
рядовой
Сообщения: 10
Зарегистрирован: 2013-09-26 17:24:11

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение KVAn » 2014-08-20 21:29:32

booldezir писал(а):Вопрос: У всех скрипт тормозит перед стартом где то час? судя по логам. :st:
Да вроде нет:

[2014-08-20] [12:02:40] [ver. 3] Текущая база данных успешно обновлена с версии 10283 (20140820) до 10284 (20140820)!
[2014-08-20] [12:03:18] [ver. 4] Текущая база данных успешно обновлена с версии 10283 (20140820) до 10284 (20140820)!
[2014-08-20] [12:04:00] [ver. 5] Текущая база данных успешно обновлена с версии 10283 (20140820) до 10284 (20140820)!
[2014-08-20] [12:04:36] [ver. 6] Текущая база данных успешно обновлена с версии 10283 (20140820) до 10284 (20140820)!
---------------------
[2014-08-20] [16:01:09] [ver. 3] Текущая база данных успешно обновлена с версии 10284 (20140820) до 10285 (20140820)!
[2014-08-20] [16:01:55] [ver. 4] Текущая база данных успешно обновлена с версии 10284 (20140820) до 10285 (20140820)!
[2014-08-20] [16:16:58] [ver. 5] Текущая база данных успешно обновлена с версии 10284 (20140820) до 10285 (20140820)!
[2014-08-20] [16:17:41] [ver. 6] Текущая база данных успешно обновлена с версии 10284 (20140820) до 10285 (20140820)!
---------------------
[2014-08-20] [18:00:47] [ver. 3] Текущая база данных успешно обновлена с версии 10285 (20140820) до 10286 (20140820)!
[2014-08-20] [18:01:22] [ver. 4] Текущая база данных успешно обновлена с версии 10285 (20140820) до 10286 (20140820)!
[2014-08-20] [18:02:05] [ver. 5] Текущая база данных успешно обновлена с версии 10285 (20140820) до 10286 (20140820)!
[2014-08-20] [18:04:28] [ver. 6] Текущая база данных успешно обновлена с версии 10285 (20140820) до 10286 (20140820)!

Ключ купленный.

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

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение booldezir » 2014-08-20 22:15:33

[2014-08-20] [21:10:20] Run script 1.0.140704^M
[2014-08-20] [22:00:36] Use valid key [EAV-0111023088:4j4pfjabed]^M
[2014-08-20] [22:00:37] Search DB Ver on 91.228.166.15 server^M
[2014-08-20] [22:00:37] [ver. 3] The latest db was found on 91.228.166.15^M
[2014-08-20] [22:00:39] [ver. 3] Downloading update.ver [10,569 Bytes]^M
[2014-08-20] [22:00:39] [ver. 3] Server 91.228.166.15 is down!^M
.................................................................................
[2014-08-20] [22:04:36] [ver. 7] Your db was successfully updated from 10286 (20140820) to 1028
[2014-08-20] [22:04:36] Total working time: 3256 seconds^M
[2014-08-20] [22:04:36] Stop script^M

OttoFix
рядовой
Сообщения: 31
Зарегистрирован: 2014-04-17 7:00:36

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение OttoFix » 2014-08-21 7:48:24

Посмотрел уже в нескольких скриптах, как люди парсят update.ver регулярками и немного ужаснулся.
Предлагаю свой метод разбора update.ver, код сразу говорю не идеален (это можно сказать набросок).

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

function Parse_update($file, $platform, $lang)
{ 
	$start = microtime(true);
	if (!is_dir("tmp")) mkdir("tmp", 0777);
//	$updateOrig = fopen($file, "r");
//	$updateTemp = fopen('tmp//update_temp.ver', "w");
	$updateOrig = file_get_contents($file);

	$pattern = '/(\(\d+\))/';
	$replace   = '"$1"';
//	$o = fread($updateOrig, filesize('update2.ver'));
//	$r = preg_replace($pattern, $replace, $o);
	if (file_exists("tmp//update.ver")) {
		unlink("tmp//update.ver");
	}
	file_put_contents("tmp//update.ver", preg_replace($pattern, $replace,$updateOrig));
//	fwrite($updateTemp, $r);
//	fclose($updateOrig);
//	fclose($updateTemp);

	$UpdateArray = parse_ini_file('tmp//update.ver', true);
	// print_r($UpdateArray);

	$urls = array();
	$i=0;
	foreach ($UpdateArray as $sec){
	if (array_key_exists('file', $sec)) {
		if (array_key_exists('platform', $sec)) {
//			echo $sec['platform']."\n";
			$flag = false;
			$flag2 = false;
			if (is_array($platform)) {
				$flag = in_array($sec['platform'], $platform); 
				} else $flag = ($sec['platform'] == $platform);
				if ($flag) {
					if (array_key_exists('language', $sec)){
						if (is_array($lang)) {
							$flag2 = in_array($sec['language'], $lang);
						} else $flag2 = strcmp((string)$sec['language'], $lang);
						if ($flag2) {
							$urls[$i] = $sec['file'];
							++$i;
						}
					} else {
					$urls[$i] = $sec['file'];
					++$i;
					}
				
				}
		}
	}
	}

$end = microtime(true);
$runtime = $end - $start;
echo "Время выполнения скрипта: ". $runtime ." микросекунд.\n";
return $urls;
}
Оформил в виде функции, в функцию мы передаем:
  • файл - указатель на update.ver
    тип платформы (x86, x64, winnt32 и winnt64) - может принимать строку, если нужно только одну платформу, либо массив.
    язык - точно так же строка или массив, передается десятичный код языкового пакета
Все основано на том, что update.ver - это почти .ini файл, и для его разбора функцией parse_ini_file нужно экранировать символы скобок () в кавычки.
При желании можно таким образом легко изменить под свои нужды и сохранить update.ver, так же можно легко брать список серверов с обновлениями да и много, что еще.

Пример использования:

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

$lang = 1049;
$platform = 'x86';
$file = "update.ver";
$lang_array = array('1049', '1033');
$platform_array = array('winnt32','winnt64','x86','x64');

$DownloadUrl = Parse_update($file, $platform, $lang);
$DownloadUrl2 = Parse_update($file, $platform_array, $lang_array);
print_r($DownloadUrl);
print_r($DownloadUrl2);
echo("Finish !!! \n");
Думаю в примере должно быть все понятно, в переменные $DownloadUrl и $DownloadUrl2 мы получаем массивы с путями до файлов обновления из update.ver
Извиняюсь за сумбур в посте, просто времени очень не хватает. :crazy:

Kingston-kms
мл. сержант
Сообщения: 105
Зарегистрирован: 2012-11-27 10:32:04

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение Kingston-kms » 2014-08-23 4:10:12

Размер обновлений с каждым днем растет, раньше такого не было. Может это быть связано с последними изменениями на серверах nod32 ?

OttoFix
рядовой
Сообщения: 31
Зарегистрирован: 2014-04-17 7:00:36

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение OttoFix » 2014-08-25 5:20:29

Kingston-kms писал(а):Размер обновлений с каждым днем растет, раньше такого не было. Может это быть связано с последними изменениями на серверах nod32 ?
Размер обновлений не растет, просто после последних обновлений на серверах нода папки с обновлениями получили в названии еще номер билда, то есть имя папок постоянно меняется, а скрипт каждый раз качает полное обновление и в результате в папке локального обновления получается срач из кучи папок разных билдов.
Где-то в теме уже выкладывали фикс.

iamhawk
проходил мимо
Сообщения: 5
Зарегистрирован: 2014-05-12 7:19:03

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение iamhawk » 2014-08-25 7:43:25

OttoFix писал(а):
Kingston-kms писал(а):Размер обновлений с каждым днем растет, раньше такого не было. Может это быть связано с последними изменениями на серверах nod32 ?
Размер обновлений не растет, просто после последних обновлений на серверах нода папки с обновлениями получили в названии еще номер билда, то есть имя папок постоянно меняется, а скрипт каждый раз качает полное обновление и в результате в папке локального обновления получается срач из кучи папок разных билдов.
Где-то в теме уже выкладывали фикс.
Пожалуйста, дайте ссылку на этот фикс, или расскажите как именно устранить эту проблему.

OttoFix
рядовой
Сообщения: 31
Зарегистрирован: 2014-04-17 7:00:36

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение OttoFix » 2014-08-25 7:52:27

iamhawk писал(а): Пожалуйста, дайте ссылку на этот фикс, или расскажите как именно устранить эту проблему.
Вот решение
zvirus писал(а):Народ, я тут случайно запостил в соседнюю ветку исправленную версию скрипта.
Напишу и здесь.

1) Автоматически ищется валидный путь для прверки ключиков из фала update.ver
2) В локальном хранилище все хранится по путям без цифрового индекса.
3) итоговые файлы update.ver преобразуются под локальное хранилище.

Архив папки inc прилагаю. Местами ставились костыли. :) Автор, при желании приведет все в норму.
https://yadi.sk/d/GxZ94-szZGvsN

Изменениям подверглись:
inc/init.php
inc/classes/Nod32ms.class.php
inc/classes/Mirror.class.php

Подробнее читайте тут.
http://forum.lissyara.su/viewtopic.php? ... 50#p363523

Аватара пользователя
Cherepovets
ефрейтор
Сообщения: 56
Зарегистрирован: 2009-01-19 22:20:14
Откуда: где-то с Северо-Запада
Контактная информация:

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение Cherepovets » 2014-08-27 11:30:58

Есть косяк я про решение, не верный путь выходит для записи pcu/update.ver

depositaire
сержант
Сообщения: 158
Зарегистрирован: 2011-10-14 14:04:17

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2014-08-29 10:17:59

Косяк на самом деле какой то есть. После замены файлов, стали очень часто вылетать ошибка в обновлении антивирий на компах. Порой исправляется повторным перезапуском скрипта обновления. Есть конечно вариант что беда в том что использую симлинки, попробую перекачать без них.

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

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-08-31 2:54:06

Моя "подправленная" версия, взята за основу с первой страницы. Подправил функцию поиска ключей, теперь выбираются ключи за последних три дня + запрос поиска упростил, теперь поиск ключей должен быть бронепробиваемым. Изменил функцию проверки ключа (теперь ничего не страшно:).

Ничего не правил на счёт "размера папок", так как не интересовался вопросом. Если кто нашел в чём проблема с папками - скажите мне)

Может кому пригодится ...
nod32ms_31.08.14.zip
(506.27 КБ) 90 скачиваний

NicromanseR
ефрейтор
Сообщения: 51
Зарегистрирован: 2014-03-23 19:36:20

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение NicromanseR » 2014-08-31 8:35:19

Бубунту 14
PHP Fatal error: Call to undefined function curl_init() in /etc/las/inc/nod32ms_v3.class.php on line 311

Plague
рядовой
Сообщения: 28
Зарегистрирован: 2008-03-11 11:43:30

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение Plague » 2014-08-31 9:29:23

NicromanseR писал(а):Бубунту 14
PHP Fatal error: Call to undefined function curl_init() in /etc/las/inc/nod32ms_v3.class.php on line 311
дык поставьте php-модуль curl

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

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-08-31 10:01:41

NicromanseR писал(а):Бубунту 14
PHP Fatal error: Call to undefined function curl_init() in /etc/las/inc/nod32ms_v3.class.php on line 311
У вас не установлен CURL - http://php.net/manual/en/curl.setup.php
Вызов этой функции был ещё с первых версий скрипта. Вы наверное первый раз скрипт юзаете?

depositaire
сержант
Сообщения: 158
Зарегистрирован: 2011-10-14 14:04:17

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2014-08-31 16:09:38

TITANius писал(а):Моя "подправленная" версия, взята за основу с первой страницы. Подправил функцию поиска ключей, теперь выбираются ключи за последних три дня + запрос поиска упростил, теперь поиск ключей должен быть бронепробиваемым. Изменил функцию проверки ключа (теперь ничего не страшно:).

Ничего не правил на счёт "размера папок", так как не интересовался вопросом. Если кто нашел в чём проблема с папками - скажите мне)

Может кому пригодится ...
nod32ms_31.08.14.zip
А вопрос такой, что из файлов правилось? А то в скрипте уже идёт исправления по размеру папок и не хочется его убивать..

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

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-08-31 18:55:41

В новой версии заменил:
- перелапатил функцию поиска полностью. Теперь ведётся поиск так: запрос в гугл по "nod32+username+password" с выдачей списка сайтов за последние 3 дня, потом сканируются сайты которые выдал гугл, и там проверяются ключи которые есть на странице. Раньше делался запрос в гугл, и проверялись ключи выданные непосредственно гуглом по одному ключу на блок данных. Т.е. сейчас ключ находится с первой попытки.
- выбирается только один валидный ключ, экономя ресурсы на поиск целого списка ключей.
- проверка ключа имитирует работу самого антивируса, т.е. со стороны ESET блокировать проверку ключа не возможно.
- работа с фалами и папками, теперь не должно плодить папки (взял у zvirus)
- выводится дата истечения ключа (взял у OttoFix)

Сам скрипт основан на старом 3.0.0 beta5 (3013). Скрипт в процессе тестирования =)
nod32ms_01.09.14.zip
(507.58 КБ) 294 скачивания
depositaire писал(а):А вопрос такой, что из файлов правилось? А то в скрипте уже идёт исправления по размеру папок и не хочется его убивать..
Изменялись файлы: inc/nod32ms_v3.class.php и inc/classes/files.class.php

NicromanseR
ефрейтор
Сообщения: 51
Зарегистрирован: 2014-03-23 19:36:20

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение NicromanseR » 2014-08-31 20:13:33

Странно.. Со старой версией работало, с вашей перестало...
Курилку поставил в первую очередь)

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

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение TITANius » 2014-08-31 20:36:02

NicromanseR писал(а):Странно.. Со старой версией работало, с вашей перестало...
Курилку поставил в первую очередь)
На каком этапе не работает?
Курилка - curl ?

РПГ32
проходил мимо

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение РПГ32 » 2014-09-01 4:16:45

TITANius писал(а):В новой версии заменил:
- перелапатил функцию поиска полностью.
Сам скрипт основан на старом 3.0.0 beta5 (3013). Скрипт в процессе тестирования =)
p
..ключи находит и качает на ура, но папки так и плодит, и клиент видит только update.ver и размер но не качает.. проверю на другой версии нода..

NicromanseR
ефрейтор
Сообщения: 51
Зарегистрирован: 2014-03-23 19:36:20

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение NicromanseR » 2014-09-01 7:14:26

TITANius писал(а):
NicromanseR писал(а):Странно.. Со старой версией работало, с вашей перестало...
Курилку поставил в первую очередь)
На каком этапе не работает?
Курилка - curl ?
Да

РПГ32
проходил мимо

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение РПГ32 » 2014-09-01 14:10:58

РПГ32 писал(а):
TITANius писал(а):...видит только update.ver и размер но не качает...
всё нормально, проблемма была в реврайтах на v5-rel-sta, папки вроде не плодит, но размер баз растёт быстро..

depositaire
сержант
Сообщения: 158
Зарегистрирован: 2011-10-14 14:04:17

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2014-09-02 20:58:07

Интересно работает, но уже слабо похоже на то что было сделано в скрипте от GRooVE. Как я понял основа там взята со скрипта от alexco. Всё таки и генерация веб страницы не помешала бы и icq информер.

Аватара пользователя
alexco
старшина
Сообщения: 428
Зарегистрирован: 2008-09-27 18:43:49
Откуда: Россия, Москва
Контактная информация:

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение alexco » 2014-09-04 19:21:34

depositaire писал(а):Интересно работает, но уже слабо похоже на то что было сделано в скрипте от GRooVE. Как я понял основа там взята со скрипта от alexco. Всё таки и генерация веб страницы не помешала бы и icq информер.
любобытно что вообще получилось, скачать чтоле глянуть? под винду интересно работает?
Электромонтажная Организация -> elemonorg.ru

depositaire
сержант
Сообщения: 158
Зарегистрирован: 2011-10-14 14:04:17

Re: Очередной скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2014-09-05 6:53:09

Попробуйте. Под виндой не пробовал.