Скрипт зеркала nod32 mirror script

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Bugaev
мл. сержант
Сообщения: 129
Зарегистрирован: 2011-08-11 23:10:32

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение Bugaev » 2012-02-20 7:52:25

замечен косяк, при поиске ключей добавляет ^m в конце каждой строке, из-за чего не может качать обновы. пс стоит фря 8.2 скрипт nod32ms_3.0.0_beta4

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

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

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение alexco » 2012-02-20 16:04:48

Bugaev писал(а):замечен косяк, при поиске ключей добавляет ^m в конце каждой строке, из-за чего не может качать обновы. пс стоит фря 8.2 скрипт nod32ms_3.0.0_beta4
твой редактор добавляет тебе эти символы в конце, это не имеет отношение к работе скрипта, такая же версия у меня работает ! И прежде чем писать стоит дважды проверить, мне уже надоело читать этот бред
Электромонтажная Организация -> elemonorg.ru

Bugaev
мл. сержант
Сообщения: 129
Зарегистрирован: 2011-08-11 23:10:32

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение Bugaev » 2012-02-20 18:01:02

насчёт прокси подскажи, как заставить работать скрипт через прокси ?

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

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-02-21 4:10:03

RTFM писал(а):-e, --execute=COMMAND execute a `.wgetrc'-style command.

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

wget -e http_proxy=IP:Port --proxy-user=UserName --proxy-passwd=Password URL
Тоесть в tools.class.php добавть проверку на проксю и в случае True

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

"wget -P "
заменить

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

"wget -e http_proxy=IP:Port --proxy-user=UserName --proxy-passwd=Password -P "
На деле еще проверить не успел, но wget'ом на винде так регулярно таскаю файлы на работе :oops:

Bugaev
мл. сержант
Сообщения: 129
Зарегистрирован: 2011-08-11 23:10:32

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение Bugaev » 2012-02-21 6:42:26

почему бы не добавить в основной конфиг такую возможность?
всёравно из кронтаба не обновляет(((

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-02-21 8:34:52

Да, чуть не забыл. Для того чтобы работал автопоиск ключей надо в функции FindKeys() добавить

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

curl_setopt($ch, CURLOPT_PROXY, "http://IP:PORT");
curl_setopt($ch, CURLOPT_PROXYPORT,PORT);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "UserName:Password");

Bugaev
мл. сержант
Сообщения: 129
Зарегистрирован: 2011-08-11 23:10:32

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение Bugaev » 2012-02-21 11:55:16

если прокси без авторизации то 3 строки ненужно?

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-02-21 12:34:56

Bugaev писал(а):если прокси без авторизации то 3 строки ненужно?
Тогда не нужна походу только 3-я строка, а вот IP и порт нужны

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-02-22 2:06:29

Bugaev писал(а):...всёравно из кронтаба не обновляет(((
почему это не обновляет. Поставьте все нужные разрешения на файлы, включая фал лога и tmp.
далее manual_start.sh проствте флаг исполняемого, и пропишите

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

cd путь к папке manual_start.sh && путь к ПХП -q update.php    
тоесть, допустим manual_start.sh у Вас лежит в /home/nod, а пхп /usr/local/bin/php, тогда вот такое вот

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

cd /home/nod/ && /usr/local/bin/php -q update.php  
после этого, от пользователя, допустим nod, делаем обновление через крон
в /var/cron/tabs должен появится файл nod в котором прописано

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

@hourly /home/nod/manual_start.sh
Да, вот еще что
в update.php прописал

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

$nod32ms->DownloadUpdateVer('nod_upd');
$nod32ms->ParseUpdateVer('nod_upd');

$nod32ms->DownloadUpdateVer('eset_upd');
$nod32ms->ParseUpdateVer('eset_upd');

$nod32ms->DownloadUpdateVer('eset_upd/v4');
$nod32ms->ParseUpdateVer('eset_upd/v4');

$nod32ms->DownloadUpdateVer('eset_upd/v5');
$nod32ms->ParseUpdateVer('eset_upd/v5');

$nod32ms->DownloadUpdateVer('eset_upd/v5/pre');
$nod32ms->ParseUpdateVer('eset_upd/v5/pre');

$nod32ms->DownloadUpdateVer('eset_upd/v5/beta');
$nod32ms->ParseUpdateVer('eset_upd/v5/beta');
какие есть еще версии обновлений?

Bugaev
мл. сержант
Сообщения: 129
Зарегистрирован: 2011-08-11 23:10:32

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение Bugaev » 2012-02-22 6:54:15

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

xxx# cat crontab
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.33.2.1.6.1 2010/12/21 17:09:25 kensmith Exp $
#
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
#
#minute hour    mday    month   wday    who     command
#
*/5     *       *       *       *       root    /usr/libexec/atrun
#
# Save some entropy so that /dev/random can re-seed on boot.
*/11    *       *       *       *       operator /usr/libexec/save-entropy
#
# Rotate log files every hour, if necessary.
0       *       *       *       *       root    newsyslog
#
# Perform daily/weekly/monthly maintenance.
1       3       *       *       *       root    periodic daily
15      4       *       *       6       root    periodic weekly
30      5       1       *       *       root    periodic monthly
#
# Adjust the time zone if the CMOS clock keeps local time, as opposed to
# UTC time.  See adjkerntz(8) for details.
1,31    0-5     *       *       *       root    adjkerntz -a
#1      *       *       *       *       root    /etc/rc.nodzip
#1      *       *       *       *       root    /etc/rc.nodupd
0       */2     *       *       *       root    cd /usr/local/etc/nod32ms/ && /usr/local/bin/php -q update.ver

после того что прописал /v4 /v5 стал качать оч много всего, в том числе и беты и латесты
я скрипт запускаю от рута, в /var/cron/tabs ничиво не появилось, наверное от польователя должно чтото появица

Bugaev
мл. сержант
Сообщения: 129
Зарегистрирован: 2011-08-11 23:10:32

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение Bugaev » 2012-02-22 7:02:03

и почему стоит лимит на редактирование сообщения? -> неважно

хотелось бы чтобы добавился скрипт который делает парсинг обновлений в одну папку + сжимает обновления с разделением для нод2 и нод345 в отдельный zip файл.

PavelK
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-09-28 9:48:41

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение PavelK » 2012-02-22 19:04:33

Доброго времени суток.
Необходим сервер обновлений NOD закрытый логином и паролем.
Первая мысль, закрыть средствами http сервера (в моем случае ligthttpd),
результатов не дала. Через браузеры все отлично (все запрашивается и видится), а сам NOD,
говорит, что логин и пароль не правильный и обновляться не хочет.
Может кто решал подобную задачу, укажите в какую сторону копать?

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

Re: Скрипт зеркала nod32 mirror script

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

PavelK писал(а):Доброго времени суток.
Необходим сервер обновлений NOD закрытый логином и паролем.
Первая мысль, закрыть средствами http сервера (в моем случае ligthttpd),
результатов не дала. Через браузеры все отлично (все запрашивается и видится), а сам NOD,
говорит, что логин и пароль не правильный и обновляться не хочет.
Может кто решал подобную задачу, укажите в какую сторону копать?
+1
Тоже как то пытался пароль прилепить - апач не помог ...

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-02-22 20:54:18

PavelK, kharkov_max
А в чем проблема? Все довольно просто. На примере апача.
В папку с зеркалом(там где update.ver) ложим .htaccess

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

AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile путь к файлу паролей/.htpasswd
require valid-user
Далее

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

htpasswd -сb .htpasswd Login Password
Все... Если апач правильно настроен, то правила .htaccess будут распространяться на подкаталоги.
Если надо закрыть несколько зеркал(как у меня есть папка nod, а есть eset, и папка с сигнатурами) то в корень каждого из них кинуть .htaccess, а
.htpasswd рекомендую кинуть выше корня сайта :bn:

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

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение kharkov_max » 2012-02-22 21:17:02

tages писал(а):PavelK, kharkov_max
А в чем проблема? Все довольно просто. На примере апача.
В папку с зеркалом(там где update.ver) ложим .htaccess

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

AuthType Basic
AuthName "Private zone. Only for administrator!"
AuthUserFile путь к файлу паролей/.htpasswd
require valid-user
Далее

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

htpasswd -сb .htpasswd Login Password
Все... Если апач правильно настроен, то правила .htaccess будут распространяться на подкаталоги.
Если надо закрыть несколько зеркал(как у меня есть папка nod, а есть eset, и папка с сигнатурами) то в корень каждого из них кинуть .htaccess, а
.htpasswd рекомендую кинуть выше корня сайта :bn:
Мля ...
На медне как-то попробую, но вроде так и делал и получил болт ...
Но спс за рабочий вариант ...

А вообще, стоит поднять era сервер ну а там хоть конем гуляй, один хер nod только винда юзает ...
А зеркало это так, как мертвому припарка.. (лишь бы ключи руками не искать и данный процесс автоматизировать)
Но ска работает ... пока ...

Сервер era и кряку можно в инете найти, если что в личку - выложу ...

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-02-22 22:00:08

Bugaev писал(а):и почему стоит лимит на редактирование сообщения? -> неважно

хотелось бы чтобы добавился скрипт который делает парсинг обновлений в одну папку + сжимает обновления с разделением для нод2 и нод345 в отдельный zip файл.

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

#!/bin/sh

#ARHDIR - путь к папке для архивации
ARHDIR="/rar"
cp `awk 'gsub("file=","Путь к сигнатурам")' update.ver | col -bx` $ARHDIR/v2
cp update.ver $ARHDIR/v2
awk '{gsub(/^(file=\/)+([a-z0-9]+[\/]+)+/,"file="); print > FILENAME}' $ARHDIR/v2/update.ver
cd $ARHDIR
tar -czf v2.tar.gz v2
Путь к сигнатурам прописывается от корня до папки download
допустим сайт лежит относительно корня так
/apache/sites/nod/htdocs
а папка download в корне сайта
тогда путь к сигнатурам будет /apache/sites/nod/htdocs
В скрипте не учтено проверка на создание/существование папки да и руками надо прописывать имя архива и что в него ложить. Но думаю методика ясна. :pardon:

PavelK
проходил мимо
Сообщения: 4
Зарегистрирован: 2010-09-28 9:48:41

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение PavelK » 2012-02-22 23:00:58

PavelK писал(а):Доброго времени суток.
Необходим сервер обновлений NOD закрытый логином и паролем.
Первая мысль, закрыть средствами http сервера (в моем случае ligthttpd),
результатов не дала. Через браузеры все отлично (все запрашивается и видится), а сам NOD,
говорит, что логин и пароль не правильный и обновляться не хочет.
Может кто решал подобную задачу, укажите в какую сторону копать?
Решил проблему для lighttpd с mod-auth.
Nod не работал при указании метода аутентификации
"method" => "digest",
а если указать
"method" => "basic", то все работает.
Может кому поможет.

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

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение prolog » 2012-02-23 12:44:50

вторая бета срипта работала на ура, поставил четвертую и ошибка:

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

$ ./manual_start.sh
 PHP Fatal error:  Call to undefined function curl_init() in /usr/local/etc/nod32ms/inc/nod32ms_v3.class.php on line 325

Fatal error: Call to undefined function curl_init() in /usr/local/etc/nod32ms/inc/nod32ms_v3.class.php on line 325
в чем косяк?

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-02-23 12:57:06

prolog
Надо Curl доустановить. Если апач + пхп, то вроде php-curl надо раскоментить в конфигах php. Должно помочь, так как в предыдущих версиях скрипта, по тому что я читал, курла небыло


Bugaev
мл. сержант
Сообщения: 129
Зарегистрирован: 2011-08-11 23:10:32

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение Bugaev » 2012-02-29 9:43:18

через прокси неработает поиск на винде((, прописывал curl

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-03-02 5:12:58

Bugaev писал(а):через прокси неработает поиск на винде((, прописывал curl
Что и где прописывал. Выложи код и название функции где прописывал.
Я дописал код и у меня даже на работе, где прокся режит все, заработало. А там я пользуюсь виндой.

uorobey
проходил мимо
Сообщения: 3
Зарегистрирован: 2012-03-02 20:37:06

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение uorobey » 2012-03-02 20:44:05

всем привет! у меня при запуске вручную заканчивается тем что требует авторизации

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

...
Extracting  /var/nod32ms/eset_upd/update.ver                          OK
All OK
Authentication required for <http://update.eset.com:80/>!
Login:
подскажите в чем может быть дело?

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

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение alexco » 2012-03-03 10:00:58

Для начала удостоверьтесь, что у вас имеется весь нужный софт и подключены все нужные модули
Электромонтажная Организация -> elemonorg.ru

tages
рядовой
Сообщения: 13
Зарегистрирован: 2012-02-21 4:42:10

Re: Скрипт зеркала nod32 mirror script

Непрочитанное сообщение tages » 2012-03-07 15:11:07

alexco писал(а):
Bugaev писал(а):замечен косяк, при поиске ключей добавляет ^m в конце каждой строке, из-за чего не может качать обновы. пс стоит фря 8.2 скрипт nod32ms_3.0.0_beta4
твой редактор добавляет тебе эти символы в конце, это не имеет отношение к работе скрипта, такая же версия у меня работает ! И прежде чем писать стоит дважды проверить, мне уже надоело читать этот бред
Таки да. Косяк замечен в FreeBSD 8.2, PHP 5.3.8
В nod32ms_v3.class.php в

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

    private function WriteKey($login, $password) //Запись ключа в файл
    {
        $this->files->CreateFile(SYSTEM.'keys.txt', $login.":".$password."\r\n");
    }
убрал \r

Получилось

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

    private function WriteKey($login, $password) //Запись ключа в файл
    {
        $this->files->CreateFile(SYSTEM.'keys.txt', $login.":".$password."\n");
    }
До этого делал трим, при проверке в CheckKey логину и паролю, а также в функции ReadKeys

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

                for($i=0; $i < count($array[1]); $i++)
                {
                    $array[2][$i] = substr($array[2][$i] ,0, -1);

                    if($this->CheckKey($array[1][$i], $array[2][$i]) == True)
                    {
                        $this->KEYS['login'][$i]    = trim($array[1][$i]);
                        $this->KEYS['password'][$i] = trim($array[2][$i]);
                    }
                    else
                    {
                        $this->files->DeleteFileLine($this_file, $array[1][$i].":".$array[2][$i]);
                        $this->WriteToLog("REMOVE INVALID KEY [".$array[1][$i].":".$array[2][$i]."]");
                    }
                }
и при поиске ключей, когда их запихиваю в массив.
В кратце
"\n" для unix
"\r\n" для windows
Вот что говорит Гугл при запросе Только на русском freebsd ^M
Первый же сайт

^M – является символом перевода строки в ОС Windows. Что бы удалить данный символ из строки с данными, существует несколько способов!
Имеем исходный файл proxy.list, с таким содержанием

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

69.246.18.216:34385^M
114.143.106.154:1080^M
68.109.178.52:27977^M
24.191.68.219:27977^M
69.105.233.201:40867^M
Способ №1.
cat proxy.list | col -bx > proxy_new.list
Способ №2.
cat proxy.list | tr -d '\r' > proxy_new.list