Проблемы с установкой, настройкой и работой системных и сетевых программ.
Модераторы: GRooVE, alexco
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
OttoFix
- рядовой
- Сообщения: 31
- Зарегистрирован: 2014-04-17 7:00:36
Непрочитанное сообщение
OttoFix » 2014-08-08 10:24:38
kharkov_max писал(а):Спс получилось, нужно бы в исходники включить изменения ...
В исходниках нужно сделать, что бы эти строки скрипт брал из update.ver, а лучше сделать правильно и проверять ключи по дате действия.
Если будет время сделаю такой фикс.
OttoFix
-
Хостинг HostFood.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/
-
zvirus
- рядовой
- Сообщения: 18
- Зарегистрирован: 2014-08-08 9:16:52
Непрочитанное сообщение
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
zvirus
-
viktor6
- мл. сержант
- Сообщения: 99
- Зарегистрирован: 2009-12-16 22:49:28
Непрочитанное сообщение
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);
}
viktor6
-
SerzhAntz
- рядовой
- Сообщения: 13
- Зарегистрирован: 2012-11-21 17:14:54
Непрочитанное сообщение
SerzhAntz » 2014-08-11 10:51:48
zvirus писал(а):Народ, я тут случайно запостил в соседнюю ветку исправленную версию скрипта.
Спасибо, всё отлично работает.
SerzhAntz
-
Mad Max
- рядовой
- Сообщения: 12
- Зарегистрирован: 2014-08-13 13:12:17
Непрочитанное сообщение
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
от такая структура каталога получаеться....
Mad Max
-
evsey
- рядовой
- Сообщения: 31
- Зарегистрирован: 2013-02-06 9:33:17
Непрочитанное сообщение
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
evsey
-
zvirus
- рядовой
- Сообщения: 18
- Зарегистрирован: 2014-08-08 9:16:52
Непрочитанное сообщение
zvirus » 2014-08-13 22:35:24
просто скрипту маловато 32 метра памяти. Учитывая, что обновы он качает в память. Поставь боше мемори лимит.
zvirus
-
SerzhAntz
- рядовой
- Сообщения: 13
- Зарегистрирован: 2012-11-21 17:14:54
Непрочитанное сообщение
SerzhAntz » 2014-08-13 23:24:09
Единственное что нужно - это удаление заархивированного update.ver из папки www. Иначе скрипт при каждом запуске перекачивает базы.
SerzhAntz
-
OttoFix
- рядовой
- Сообщения: 31
- Зарегистрирован: 2014-04-17 7:00:36
Непрочитанное сообщение
OttoFix » 2014-08-14 5:31:16
Mad Max писал(а):Чет в корень не ложит update.ver
В корень и не должен класть т.к. для каждой версии нода идет свой update.ver
OttoFix
-
evsey
- рядовой
- Сообщения: 31
- Зарегистрирован: 2013-02-06 9:33:17
Непрочитанное сообщение
evsey » 2014-08-14 7:37:24
zvirus писал(а):просто скрипту маловато 32 метра памяти. Учитывая, что обновы он качает в память. Поставь боше мемори лимит.
128 стоит

evsey
-
OttoFix
- рядовой
- Сообщения: 31
- Зарегистрирован: 2014-04-17 7:00:36
Непрочитанное сообщение
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)
Но мне кажется, это поможет не надолго, скорее всего в скрипте не предусмотрели освобождение памяти.
Обновления заработали?
OttoFix
-
evsey
- рядовой
- Сообщения: 31
- Зарегистрирован: 2013-02-06 9:33:17
Непрочитанное сообщение
evsey » 2014-08-14 8:36:05
OttoFix писал(а):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)
Но мне кажется, это поможет не надолго, скорее всего в скрипте не предусмотрели освобождение памяти.
Обновления заработали?
http://lackystrike.no-ip.info:8081/index.php limit = 128М
Переустановил все, пытаюсь настроить скрипт))
evsey
-
OttoFix
- рядовой
- Сообщения: 31
- Зарегистрирован: 2014-04-17 7:00:36
Непрочитанное сообщение
OttoFix » 2014-08-14 8:44:28
А как поведение с оригинальным скриптом?
Посмотри сколько памяти съедает скрипт при обновлении.
Код: Выделить всё
post_max_size integer
Устанавливает максимально допустимый размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов. Для загрузки больших файлов это значение должно быть больше значения директивы upload_max_filesize. Если дополнительно используется ограничение памяти, memory_limit также влияет на загрузку файлов. В сущности, memory_limit должна быть больше чем post_max_size. Если используется integer, значение измеряется байтами. Вы также можете использовать сокращенную запись, которая описана в этом разделе FAQ. Если размер POST-данных больше чем post_max_size, суперглобальные переменные $_POST и $_FILES будут пустыми. Это можно отследить различными способами, например передав $_GET переменную в скрипт, обрабатывающий данные, т.е. <form action="edit.php?processed=1">, а затем проверить, установлена ли переменная $_GET['processed'].
OttoFix
-
evsey
- рядовой
- Сообщения: 31
- Зарегистрирован: 2013-02-06 9:33:17
Непрочитанное сообщение
evsey » 2014-08-14 10:16:34
OttoFix писал(а):Это как вариант, хотя у меня все поумолчанию.
Вроде решил, оказывается редактировал не тот php.ini?, почему то их 2 в системе. Пробую обновиться.
evsey
-
OttoFix
- рядовой
- Сообщения: 31
- Зарегистрирован: 2014-04-17 7:00:36
Непрочитанное сообщение
OttoFix » 2014-08-14 10:28:57
evsey писал(а):OttoFix писал(а):Это как вариант, хотя у меня все поумолчанию.
Вроде решил, оказывается редактировал не тот php.ini?, почему то их 2 в системе. Пробую обновиться.
Какое расположение их в системе?
Возможно один включен в другой.
OttoFix
-
zvirus
- рядовой
- Сообщения: 18
- Зарегистрирован: 2014-08-08 9:16:52
Непрочитанное сообщение
zvirus » 2014-08-14 12:05:12
Дело даже не в освобождении памяти, а в принципе загрузки самого обновления. Используется $content = @file_get_contents($source); - т.е. загрузка идет в память. И если какой-то из файлов больше, чем выделяемая для скрипта память - то тут и наступает караул.
Попробуйте просто при инициализации скрипта, например в update.php прописать ini_set("memory_limit", "512M");
512 - это конечно дохрена, так что варьируйте по своему усмотрению. Например ini_set("memory_limit", "128M");
как-то так:
Код: Выделить всё
#!/usr/local/bin/php -q
<?php
ini_set("memory_limit", "128M");
require_once "inc/init.php";
...
zvirus
-
OttoFix
- рядовой
- Сообщения: 31
- Зарегистрирован: 2014-04-17 7:00:36
Непрочитанное сообщение
OttoFix » 2014-08-14 13:25:27
zvirus писал(а):Дело даже не в освобождении памяти, а в принципе загрузки самого обновления. Используется $content = @file_get_contents($source); - т.е. загрузка идет в память. И если какой-то из файлов больше, чем выделяемая для скрипта память - то тут и наступает караул.
Вообще скрипт надо перекраивать и делать закачку с использованием curl (лучше с его якобы многопотоком) загружать все равно быстрее будет чем по одному файлику в один поток, я вот уже почти функцию определения срока действия ключа написал теперь можно будет узнать до какого числа действует ключ. Я сюда по возможности буду забрасывать всевозможные вкусности, надо только найти человека, который эти вкусности будет объединять со скриптом (мне лень в чужом коде копаться

)
OttoFix
-
SerzhAntz
- рядовой
- Сообщения: 13
- Зарегистрирован: 2012-11-21 17:14:54
Непрочитанное сообщение
SerzhAntz » 2014-08-14 23:27:10
OttoFix писал(а):Mad Max писал(а):Чет в корень не ложит update.ver
В корень и не должен класть т.к. для каждой версии нода идет свой update.ver
Использую для веб-сайта nginx. Лёгкий, простой и легко настаиваемый HTTP-сервер. Обновления складываются в ../www/nginx-dist/сайт. В www создаётся папка nginx-distpcu и туда кладётся заархивированный update.ver (какой не знаю). Если его не удалить, то обновлений баз не происходит.
SerzhAntz
-
OttoFix
- рядовой
- Сообщения: 31
- Зарегистрирован: 2014-04-17 7:00:36
Непрочитанное сообщение
OttoFix » 2014-08-15 5:30:42
SerzhAntz писал(а): Обновления складываются в ../www/nginx-dist/сайт. В www создаётся папка nginx-distpcu и туда кладётся заархивированный update.ver (какой не знаю). Если его не удалить, то обновлений баз не происходит.
Какой скрипт используем? оригинальный или правленный
zvirus
Проверь в папке
www/tmp/pcu/ есть
update.ver в распакованном виде?
OttoFix
-
Mad Max
- рядовой
- Сообщения: 12
- Зарегистрирован: 2014-08-13 13:12:17
Непрочитанное сообщение
Mad Max » 2014-08-15 8:00:13
SerzhAntz писал(а):OttoFix писал(а):Mad Max писал(а):Чет в корень не ложит update.ver
В корень и не должен класть т.к. для каждой версии нода идет свой update.ver
Использую для веб-сайта nginx. Лёгкий, простой и легко настаиваемый HTTP-сервер. Обновления складываются в ../www/nginx-dist/сайт. В www создаётся папка nginx-distpcu и туда кладётся заархивированный 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>
wget -U "ESS BPC 5"
http://127.0.0.1/update.ver
--2014-08-15 08:02:11--
http://127.0.0.1/update.ver
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-08-15 08:02:11 ERROR 404: Not Found.
собственно обновы не проходят
Mad Max