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

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
OttoFix
рядовой
Сообщения: 31
Зарегистрирован: 2014-04-17 7:00:36

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

Непрочитанное сообщение OttoFix » 2014-08-15 12:34:03

evsey писал(а): http://lackystrike.servehttp.com:8081/ чет фигня какая то.
Я только что обновил базы с твоего сервера по ИП в ноде так прописал (в конце слеша не надо).
http://5.142.39.11:8081

Походу с днс проблема.
Кто-нибудь еще проверьте, сначала долго думает, а потом обновляет.

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

evsey
рядовой
Сообщения: 31
Зарегистрирован: 2013-02-06 9:33:17

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

Непрочитанное сообщение evsey » 2014-08-15 12:37:33

OttoFix писал(а):
evsey писал(а): http://lackystrike.servehttp.com:8081/ чет фигня какая то.
Я только что обновил базы с твоего сервера по ИП в ноде так прописал (в конце слеша не надо).
http://5.142.39.11:8081

Походу с днс проблема.
Кто-нибудь еще проверьте, сначала долго думает, а потом обновляет.
И я сейчас обновился, причем по имени lackystrike.no-ip.info:8081

hell.lamer
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-08-01 22:36:13

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

Непрочитанное сообщение hell.lamer » 2014-08-15 15:22:48

evsey писал(а):
hell.lamer писал(а):
evsey писал(а):
OttoFix писал(а):А в логах апача что-нибудь есть?
я вообще в логах не нашел обращение от моего рабочего ПК, может проблема в порте? 8081? Локальный порт 80 у сервера.
Потому что антивирус даже не обращается к твоему серверу, а сразу выдает ошибку обновления - проверил это пустив обновление через прокси. Ранее я тебе советовал попробовать другой домен второго уровня (например servehttp.com)
http://lackystrike.servehttp.com:8081/ чет фигня какая то.
Почему фигня, теперь он хотя бы скачивает update.ver

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

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

Непрочитанное сообщение NicromanseR » 2014-08-17 0:25:15

Доброго времени суток уважаемые. с 31.07.2014 скрипт перестал работать.
Подскажите, когда будет фикс?

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

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

Непрочитанное сообщение OttoFix » 2014-08-18 4:56:03

NicromanseR писал(а):Доброго времени суток уважаемые. с 31.07.2014 скрипт перестал работать.
Подскажите, когда будет фикс?
Уже есть, обсуждалось страницы 3-5 назад

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

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

Непрочитанное сообщение OttoFix » 2014-08-18 12:46:34

Как и обещал публикую функции для проверки срока действия лицензии (имя / пароль) нода.
Вложения
Nod_fun.php.zip
Это обычный php файл, для открытия стереть второе расширение (zip)
(4.18 КБ) 106 скачиваний

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

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

Непрочитанное сообщение viktor6 » 2014-08-18 20:06:16

OttoFix писал(а):Как и обещал публикую функции для проверки срока действия лицензии (имя / пароль) нода.
Архив поврежден


to-03
рядовой
Сообщения: 20
Зарегистрирован: 2014-08-20 2:41:55

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

Непрочитанное сообщение to-03 » 2014-08-20 2:48:23

Доброй ночи!
Можете подсказать веб сервер 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 подключен, а качать не качает
Спасибо

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

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

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

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" )
}

to-03
рядовой
Сообщения: 20
Зарегистрирован: 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" )
}

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
ефрейтор
Сообщения: 60
Зарегистрирован: 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 КБ) 87 скачиваний

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
Вызов этой функции был ещё с первых версий скрипта. Вы наверное первый раз скрипт юзаете?