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

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
evsey
рядовой
Сообщения: 31
Зарегистрирован: 2013-02-06 9:33:17

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

Непрочитанное сообщение evsey » 2014-08-08 7:16:02

OttoFix писал(а):
evsey писал(а): Я сделал обновления в корень и поставил lighhtpd в его конфиге прописал алиас (alias.url = ( "/v5-rel-sta" => "/var/www/v5-rel-sta"))
В ESS прописал : http://lackystrike.no-ip.info:8881/eset_upd/ так же пробовал http://lackystrike.no-ip.info:8881/eset_upd/v5 не заработало.
Прошу заметить порт сменился на 8881, локально нет пока возможности попробовать.
Так, давайте по порядку.
1. Что хотите получить в итоге? (зеркало с обновлениями для определенной версии V5 или для нескольких версий нода v4, v5, v6 и т.д.)
2. зря отказались от апача
3. если обновления лежат в корне сайта, то алисы не нужны.
1) Хочу обновление всех версий
2) Вернуть не проблема.
3) Не работает,даже если в корне.

На выходных поковыряю локально.

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

2. зря отказались от апача

apache вернул порт 8888

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

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

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

evsey писал(а):2. зря отказались от апача

apache вернул порт 8888
Проблема в том, что нод при обновлении запрашивает фаил update.ver (для каждой версии нода он свой) в нем указано расположение файлов обновления от корня сайта.
Надо что бы апач определял по user-agent версию нода и отдавал нужный update.ver
Для этого нужно сделать реврайт, в корне сайта создаем фаил .htaccess со следующим содержанием

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

    RewriteEngine on
    Options +FollowSymlinks
    RewriteCond %{HTTP_USER_AGENT} ^NOD32.*BPC.2
    RewriteRule ^update.ver$ /nod_upd/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.3
    RewriteRule ^update.ver$ /eset_upd/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.4
    RewriteRule ^update.ver$ /eset_upd/v4/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.5
    RewriteRule ^update.ver$ /eset_upd/v5/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.6
    RewriteRule ^update.ver$ /eset_upd/v6/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.7
    RewriteRule ^update.ver$ /eset_upd/v7/update.ver
    <files .htaccess="">
    order allow,deny
    deny from all
    </files>
Главное нужно проверить чтоб апач был с поддержкой модуля rewrite

Аватара пользователя
kharkov_max
капитан
Сообщения: 1862
Зарегистрирован: 2008-10-03 14:56:40

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

Непрочитанное сообщение kharkov_max » 2014-08-08 8:32:14

Чего то у меня перестал валидные ключи искать, у всех так ?
Уже несколько дней прошло ...

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

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

Непрочитанное сообщение OttoFix » 2014-08-08 8:49:00

kharkov_max писал(а):Чего то у меня перестал валидные ключи искать, у всех так ?
Уже несколько дней прошло ...
Проблема, по-видимому, в том, что тестирование валидности ключа в скрипте проводится по анализу ответа на запрос загрузки файлов, определенных как тестовые в \Nod32MS\inc\init.php:
...
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");
...
и все будет хорошо :smil
Это одна из причин, еще сейчас многие сайты ключи прячут за скриптами, что бы компания нод не внесла сайт в черный список.

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

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

Непрочитанное сообщение evsey » 2014-08-08 9:22:43

OttoFix писал(а):
evsey писал(а):2. зря отказались от апача

apache вернул порт 8888
Проблема в том, что нод при обновлении запрашивает фаил update.ver (для каждой версии нода он свой) в нем указано расположение файлов обновления от корня сайта.
Надо что бы апач определял по user-agent версию нода и отдавал нужный update.ver
Для этого нужно сделать реврайт, в корне сайта создаем фаил .htaccess со следующим содержанием

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

    RewriteEngine on
    Options +FollowSymlinks
    RewriteCond %{HTTP_USER_AGENT} ^NOD32.*BPC.2
    RewriteRule ^update.ver$ /nod_upd/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.3
    RewriteRule ^update.ver$ /eset_upd/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.4
    RewriteRule ^update.ver$ /eset_upd/v4/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.5
    RewriteRule ^update.ver$ /eset_upd/v5/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.6
    RewriteRule ^update.ver$ /eset_upd/v6/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.7
    RewriteRule ^update.ver$ /eset_upd/v7/update.ver
    <files .htaccess="">
    order allow,deny
    deny from all
    </files>
Главное нужно проверить чтоб апач был с поддержкой модуля rewrite
В Апаче активировал модуль rewrite и добавил в /var/www файл .htaccess с содержанием

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

RewriteEngine on
    Options +FollowSymlinks
    RewriteCond %{HTTP_USER_AGENT} ^NOD32.*BPC.2
    RewriteRule ^update.ver$ /nod_upd/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.3
    RewriteRule ^update.ver$ /eset_upd/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.4
    RewriteRule ^update.ver$ /eset_upd/v4/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.5
    RewriteRule ^update.ver$ /eset_upd/v5/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.6
    RewriteRule ^update.ver$ /eset_upd/v6/update.ver
    RewriteCond %{HTTP_USER_AGENT} ^ESS.*BPC.7
    RewriteRule ^update.ver$ /eset_upd/v7/update.ver
    <files .htaccess="">
    order allow,deny
 deny from all
    </files>
перезапустил апач

В ESS 5 прописал сервер http://lackystrike.no-ip.info:8888/
Нет работает.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1862
Зарегистрирован: 2008-10-03 14:56:40

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

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

Так что, теперь хана скрипту ?

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

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

Непрочитанное сообщение OttoFix » 2014-08-08 9:43:35

evsey писал(а): В ESS 5 прописал сервер http://lackystrike.no-ip.info:8888/
Нет работает.
Все работает, похоже проблема с портом 8888.

Вот сам проверь, в терминале выполни команду
wget -U "ESS BPC 5" http://lackystrike.no-ip.info:8888/update.ver

Это скачается update.ver для 5й версии
kharkov_max писал(а):Так что, теперь хана скрипту ?
Почему хана?
Сделай вот эти изменения и скрипт будет работать
Таким образом, ИМХО, для решения проблемы достаточно скорректировать 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");

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

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

Непрочитанное сообщение OttoFix » 2014-08-08 9:58:01

OttoFix писал(а):
evsey писал(а): В ESS 5 прописал сервер http://lackystrike.no-ip.info:8888/
Нет работает.
Попробуй пробросить порт согласно этой инструкции
И в ноде прописать просто адрес без порта.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1862
Зарегистрирован: 2008-10-03 14:56:40

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

Непрочитанное сообщение kharkov_max » 2014-08-08 10:02:19

kharkov_max писал(а):Так что, теперь хана скрипту ?
Почему хана?
Сделай вот эти изменения и скрипт будет работать
Таким образом, ИМХО, для решения проблемы достаточно скорректировать 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");
[/quote]

Спс получилось, нужно бы в исходники включить изменения ...

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

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

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

kharkov_max писал(а):Спс получилось, нужно бы в исходники включить изменения ...
В исходниках нужно сделать, что бы эти строки скрипт брал из update.ver, а лучше сделать правильно и проверять ключи по дате действия.
Если будет время сделаю такой фикс.

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

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

Непрочитанное сообщение evsey » 2014-08-08 17:31:21

OttoFix писал(а):
OttoFix писал(а):
evsey писал(а): В ESS 5 прописал сервер http://lackystrike.no-ip.info:8888/
Нет работает.
Попробуй пробросить порт согласно этой инструкции
И в ноде прописать просто адрес без порта.
Локально тоже не работает http://172.16.30.100/ порт 80!

zvirus
рядовой
Сообщения: 18
Зарегистрирован: 2014-08-08 9:16:52

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

Непрочитанное сообщение zvirus » 2014-08-09 10:05:35

Народ, я тут случайно запостил в соседнюю ветку исправленную версию скрипта.
Напишу и здесь.

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

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

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

Непрочитанное сообщение viktor6 » 2014-08-09 17:12:03

Ребята помогите нормально настроить генерацию странички index.html
Вот что у меня получилось но все както криво

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

	private function generate_index_html($key) {
		Log::write_log(Language::t("Generating index.html..."), 0);
		$html = '<html>
				<head>
				<meta http-equiv="Content-Type" content="text/html; charset=' . (Config::get('default_codepage') != "default" ? Config::get('default_codepage') : SCRIPT_CODEPAGE) . '" />
				<title>Зеркало обновления NOD32</title>				
				<style type="text/css">
				body {width:800px; 							
				background-image:url(nod32.jpg); 
				background-position: right center;
				background-repeat: no-repeat; 
				}
                div {
				width:600px; 
				margin: 200px ;
				}
				td {width:300px;}
				.left {
				color: #A90BF2;
				font-weight:bold;
				}
				.right {
				text-align:center;
				color: green;
				font-weight:bold;
				}
				.date {
				text-align:center;
				color: purple;
				font-weight:bold;
				}
				</style>
				</head>
				' . Language::t("content", $i) . '
				<body>
					<div>
						<table width="600" border="1">';
				
				$html .= '<? echo "<p>' . Language::t("update address") . ': <b>http://".$_SERVER["SERVER_NAME"]."/eset_upd/</b><br /><br />"; ?>';
		global $DIRECTORIES;
		foreach($DIRECTORIES as $i => $dir) {
			if(Config::upd_version_is_set($i) == '1') {
				$update_ver = sprintf("%s%s%s%supdate.ver", Config::get('web_dir'), DS, $dir, DS);
				$version = Mirror::get_DB_version($update_ver);
				$timestamp = $this->check_time_stamp($i, true);
				$html .= '<tr><td class="left">' . Language::t("Current database version [ver. %d]", $i) . '</td>';
				$html .= '<td class="right">' . $version . '</td></tr>';
				$html .= '<tr><td class="left">' . Language::t("Last successful update [ver. %d]", $i) . '</td>';
				$html .= '<td class="right">' . ($timestamp ? date("H:i:s",$timestamp) . ', ' . date("d-m-Y",$timestamp) : Language::t("n/a")) . '</td></tr>';
			}
		}
		$html .= '<tr><td class="left">' . Language::t("Last execution of the script") . '</td>';
		$html .= '<td class="date">' . date("H:i:s",Nod32ms::$start_time) . ', ' . date("d-m-Y",Nod32ms::$start_time) . '</td></tr>';
		$html .= '<tr><td class="left">' . Language::t("Used login") . '</td>';
		$html .= '<td class="right">' . $key[0] . '</td></tr>';
		$html .= '<tr><td class="left">' . Language::t("Used password") . '</td>';
		$html .= '<td class="right">' . $key[1] . '</td></tr>';
		$html .= '</table></div></body></html>';
		$index_file = Config::get('web_dir') . DS . "index.php";
		if(file_exists($index_file)) @unlink($index_file);
		Log::write_to_file($index_file, $html, true);
	}

SerzhAntz
рядовой
Сообщения: 13
Зарегистрирован: 2012-11-21 17:14:54

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

Непрочитанное сообщение SerzhAntz » 2014-08-11 10:51:48

zvirus писал(а):Народ, я тут случайно запостил в соседнюю ветку исправленную версию скрипта.
Спасибо, всё отлично работает.

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

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

Непрочитанное сообщение OttoF » 2014-08-11 12:54:14

evsey писал(а):Локально тоже не работает http://172.16.30.100/ порт 80!
Странно, а что в логах апача?

Mad Max
рядовой
Сообщения: 12
Зарегистрирован: 2014-08-13 13:12:17

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

Непрочитанное сообщение Mad Max » 2014-08-13 13:15:14

Чет в корень не ложит update.ver

Mad Max
рядовой
Сообщения: 12
Зарегистрирован: 2014-08-13 13:12:17

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

Непрочитанное сообщение Mad Max » 2014-08-13 15:56:42

и html не генериться

eset_upd
pcu
pcu-v5-sta
tmp
v3-rel-sta
v4-rel-sta
v5-rel-sta

от такая структура каталога получаеться....

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

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

Непрочитанное сообщение evsey » 2014-08-13 18:01:02

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
Вот такая ошибка при обновлении.

PHP Fatal error: Out of memory (allocated 33292288) (tried to allocate 31209410 bytes) in /etc/nod32/inc/classes/Tools.class.php on line 43

zvirus
рядовой
Сообщения: 18
Зарегистрирован: 2014-08-08 9:16:52

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

Непрочитанное сообщение zvirus » 2014-08-13 22:35:24

просто скрипту маловато 32 метра памяти. Учитывая, что обновы он качает в память. Поставь боше мемори лимит.

SerzhAntz
рядовой
Сообщения: 13
Зарегистрирован: 2012-11-21 17:14:54

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

Непрочитанное сообщение SerzhAntz » 2014-08-13 23:24:09

Единственное что нужно - это удаление заархивированного update.ver из папки www. Иначе скрипт при каждом запуске перекачивает базы.

SerzhAntz
рядовой
Сообщения: 13
Зарегистрирован: 2012-11-21 17:14:54

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

Непрочитанное сообщение SerzhAntz » 2014-08-13 23:40:41

Пока решил это с помощью rm -R в скрипте запуска.

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

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

Непрочитанное сообщение OttoFix » 2014-08-14 5:31:16

Mad Max писал(а):Чет в корень не ложит update.ver
В корень и не должен класть т.к. для каждой версии нода идет свой update.ver

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

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

Непрочитанное сообщение evsey » 2014-08-14 7:37:24

zvirus писал(а):просто скрипту маловато 32 метра памяти. Учитывая, что обновы он качает в память. Поставь боше мемори лимит.
128 стоит :(

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

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

Непрочитанное сообщение OttoFix » 2014-08-14 8:13:27

evsey писал(а):
zvirus писал(а):просто скрипту маловато 32 метра памяти. Учитывая, что обновы он качает в память. Поставь боше мемори лимит.
128 стоит :(
Имелось в виду лимит выделяемой памяти процессу (скрипту).

в php.ini вот такие строчки

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

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 64M ; Maximum amount of memory a script may consume (8MB)
Но мне кажется, это поможет не надолго, скорее всего в скрипте не предусмотрели освобождение памяти.

Обновления заработали?