Проба пера: статья о создании зеркала для NOD32

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
tray.irk
сержант
Сообщения: 266
Зарегистрирован: 2008-10-22 8:21:36
Откуда: Иркутск
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение tray.irk » 2010-01-15 14:51:52

он работает с мускулем ... а надо что бы без него ...
Числа не управляют миром, но могут показать как управляется мир

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

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение thefree » 2010-01-15 15:06:03

Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1365
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение server801 » 2010-01-18 11:22:36

thefree писал(а):Я сразу скажу, как это работает для меня досехпор загадка но так сложилась что я уперся в то что не обнавляли нужную версию нод32 для меня. Взял палки в руки и пошел делать сам.

Что этот скрипт делает, гуглит ищет ключи проверяет сохраняет их ... качает, выводит дебаг, сам создает директории если не хватает, проверяет версии и выкачивает для 7и версий обновления.

Вот его настройка (конфиг в самом файле)

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

###
#
# debug
#
our $debug = 1;
# Config for google ajax search
# rus: http://code.google.com/intl/ru-RU/apis/ajaxsearch/documentation/reference.html#_intro_fonje
# eng: http://code.google.com/intl/en-EN/apis/ajaxsearch/documentation/reference.html#_intro_fonje
our $google_http = 'http://ajax.googleapis.com/ajax/services/search/blogs'; #Где мы ищем (описано по ссылки выши)
our $google_search = '?v=1.0&rsz=large&q=nod32+EAV-*+OR+AV-*+pass*'; #Сам запрос
our $google_referer = 'http://yandex.ru/yandsearch?text=nod32+key&lr=213'; #Гугл просит откуда приходим, подставляю что с яндекса
#
# Config Nod32
#
our @nod32_mirror = ('http://u42.eset.com/', 'http://u43.eset.com/', 'http://u43.eset.com/', 'http://u44.eset.com/', 
'http://u45.eset.com/', 'http://u46.eset.com/', 'http://u47.eset.com/', 'http://u48.eset.com/'); #список зеркал
our $nod32_test_key_file = '/download/engine3/em002_32_r0.nup'; #фаил на котором проверяем ключь
our @nod32_db = ( 'eset_upd', 'nod_upd', 'eset_upd/sky', 'eset_upd/pre', 'eset_upd/v4/pre', 'eset_upd/v4', 'eset_upd/v4/sky' ); #базы которые обнавлять
#
# Config for patch
#
our $path_nod32_auth = '/home/samba/hdd0/thefree/nod32.auth'; #где хранить ключ
our $path_nod32_base = '/home/samba/hdd0/thefree/www'; #куда кидать вся это (777 для папки)
our $path_unrar = '/usr/local/bin/unrar'; #где у нас рар
###
ВНИМАНИЕ ВСЕ ОБНАВЛЕНИЯ ВЕСЯТ 250МБ

Одним словам потестируйти плиз.

Во еще выбирает хост если не работает.

Нужны порты
_http://cvsweb.freebsd.org/ports/archivers/unrar
_http://cvsweb.freebsd.org/ports/www/p5-libwww
_http://cvsweb.freebsd.org/ports/converters/p5-JSON-Any

Запуск! Ставим права и поехали
работает на самом деле без проблем!но вот бы хотелось бы включить функцию отправки на мыло что скачалось и когда при помощи sendmail или другого агента.как можно реализовать?

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение thefree » 2010-01-18 14:55:50

Так и осталось
Я сразу скажу, как это работает для меня досехпор загадка но так сложилась что я уперся в то что не обнавляли нужную версию нод32 для меня. Взял палки в руки и пошел делать сам.

Что этот скрипт делает, гуглит ищет ключи проверяет сохраняет их ... качает, выводит дебаг, сам создает директории если не хватает, проверяет версии и выкачивает для 7и версий обновления.
Плюшки:
- Перевел скрипт в utf-8 сам формат
- Атрибуту к unrar
- Поддержка wget
- Поддержка sendmail

Вот его настройка (конфиг в самом файле)

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

###
#
# debug
#
our @debug = (1); # 0 - выкл., 1 - вкл. показ дебага
# Config for google ajax search
# rus: http://code.google.com/intl/ru-RU/apis/ajaxsearch/documentation/reference.html#_intro_fonje
# eng: http://code.google.com/intl/en-EN/apis/ajaxsearch/documentation/reference.html#_intro_fonje
our $google_http = 'http://ajax.googleapis.com/ajax/services/search/blogs'; # Где мы ищем (описано по ссылки выши)
our $google_search = '?v=1.0&rsz=large&q=nod32+EAV-*+OR+AV-*+pass*'; # строка запроса (если есть ключ гугла то можно и его поставить)
our $google_referer = 'http://yandex.ru/yandsearch?text=nod32+key&lr=213'; # Гугл просит откуда приходим, подставляю что с яндекса
#
# Config Nod32
#
our @nod32_mirror = ('http://u42.eset.com/', 'http://u43.eset.com/', 'http://u43.eset.com/', 'http://u44.eset.com/', 
'http://u45.eset.com/', 'http://u46.eset.com/', 'http://u47.eset.com/', 'http://u48.eset.com/'); # Список зеркал нода
our $nod32_test_key_file = '/download/engine3/em002_32_r0.nup'; # фаил на котором проверяем ключь
our @nod32_db = ( 'eset_upd', 'nod_upd', 'eset_upd/sky', 'eset_upd/pre', 'eset_upd/v4/pre', 'eset_upd/v4', 'eset_upd/v4/sky' ); # базы которые обнавлять
#
# Config for patch
#
our $path_nod32_auth = '/home/samba/hdd0/thefree/nod32.auth'; # где хранить ключ
our $path_nod32_base = '/home/samba/hdd0/thefree/www'; # куда кидать вся это (777 для папки)
#
# Config for unrar
#
our $path_unrar = '/usr/local/bin/unrar'; # где у нас unrar
our $unrar_opt = 'e -y %PATHFILE% %PATHBASE% 2>/dev/null > /dev/null'; # атрибуты unrar (%PATHFILE% - путь к файлу, %PATHBASE% - путь к директории)
#
# Config for wget
#
our $wget = 1; # 0 - выкл., 1 - вкл. качалку
our $path_wget = '/usr/local/bin/wget'; # где у нас wget
our $wget_opt = '-q -c -N -P %PATHBASE% --http-user=%USERNAME% --http-password=%PASSWORD%'; # атрибуты wget (%PATHBASE% - путь к директории, %USERNAME% - логин, %PASSWORD% - ключ)
#
# Config for sendmail
#
our $sendmail = 1; # 0 - выкл., 1 - вкл. почту
our $path_sendmail = '/usr/sbin/sendmail'; # где у нас почтарь
our $sendmail_opt = '-t'; # атрибуты для него
our $sendmail_from = 'noreplay@nod32.local'; # от кого почта
our $sendmail_to = 'thefree@local'; # кому почту слать
our $sendmail_subject = 'NOD32 - Update'; # заголовок письма
###
ВНИМАНИЕ ВСЕ ОБНАВЛЕНИЯ ВЕСЯТ 250МБ

Одним словам потестируйти плиз.
ОЧЕНЬ прошу и кому не жалко трафика ...
Отпишитесь по результатом


Нужны порты
_http://cvsweb.freebsd.org/ports/archivers/unrar
_http://cvsweb.freebsd.org/ports/www/p5-libwww
_http://cvsweb.freebsd.org/ports/converters/p5-JSON-Any
_http://cvsweb.freebsd.org/ports/ftp/wget/

Запуск! Ставим права и поехали

upd 18/01/2009 21:15
- заменил адрес файла для проверки ключа (файл меньшего размер)
- изменил индийский код

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

	if ($c{'HOSTS'}) {
		delete $c{'HOSTS'};
	}
	if ($c{'COMPATLIST'}) {
		delete $c{'COMPATLIST'};
	}
	if ($c{'Expire'}) {
		delete $c{'Expire'};
	}
	if ($c{'data0001'}) {
		delete $c{'data0001'};
	}
	if ($c{'SETUP'}) {
		delete $c{'SETUP'};
	}
на

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

	my @remove = ('HOSTS', 'COMPATLIST', 'Expire', 'data0001', 'SETUP');

	foreach my $elt (@remove) {
		delete($c{$elt}) if (exists($c{$elt}));
	}
upd 19/01/2009 14:45
- Версия v3 в аттачи
- Добавлен параметр к unrar our $unrar_opt = 'e -y -p- %PATHFILE% %PATHBASE% 2>/dev/null > /dev/null'; связано с тем что эти кадры стали чем то криво упаковывать базу eset_upd/v4/sky или уберите её с обновления
- еще оказался лишний трафик если качаете не wget, оказалось что размер промежуточных баз не совпадает.
===
P.s. вообще советую обновлять только базы eset_upd, nod_upd
Вложения
nod32_v3.tar
(9.5 КБ) 139 скачиваний
nod32.tar
(9.5 КБ) 77 скачиваний
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение den » 2010-01-24 19:39:57

Couldn't find a JSON Package. at ./nod32.pl line 9
BEGIN failed--compilation aborted at ./nod32.pl line 9.

почему???
ведь пакет _http://cvsweb.freebsd.org/ports/converters/p5-JSON-Any установлен !!!

как бороть?

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение thefree » 2010-01-24 23:27:59

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

find / -name JSON
Либо в папке где скрипт создать /lib/JSON и закинуть туда _http://cpansearch.perl.org/src/PERIGRIN/JSON-Any-1.22/lib/JSON/Any.pm
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение den » 2010-01-25 0:03:21

thefree писал(а):

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

find / -name JSON
Либо в папке где скрипт создать /lib/JSON и закинуть туда _http://cpansearch.perl.org/src/PERIGRIN/JSON-Any-1.22/lib/JSON/Any.pm
Неа, не хочет так тоже.
Ищу:
Nod32UPD# find / -name JSON
/usr/lib/perl5/site_perl/5.8.8/mach/auto/JSON
/usr/lib/perl5/site_perl/5.8.8/JSON
/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/JSON
/usr/local/lib/perl5/site_perl/5.8.8/JSON
/usr/local/nod32_2/lib/JSON

где, /usr/local/nod32_2 - папка со скриптом

Где ж он его ищет? Если смотреть в скрипт, то вначале выполняется use LWP::UserAgent; LWP (по аналогии) был найден в аналогичных папках:

Nod32UPD# find / -name LWP
/usr/lib/perl5/site_perl/5.8.8/mach/auto/LWP
/usr/lib/perl5/site_perl/5.8.8/LWP
/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/LWP
/usr/local/lib/perl5/site_perl/5.8.8/LWP

Тогда гдеж он ищет JSON и не находит? :-o

Аватара пользователя
tray.irk
сержант
Сообщения: 266
Зарегистрирован: 2008-10-22 8:21:36
Откуда: Иркутск
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение tray.irk » 2010-01-25 16:12:29

Так тут поступают вопросы ... для тех кто не умеет пользоваться поиском ... еще раз ...

Что необходимо для полноценной работы скрипта:
1) PERL установленный с поддержкой URI и LWP, для этого выполняем команды

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

#cpan -i URI
#cpan -if LWP
2) WGET
3) UNRAR

Далее правим файл nod.sh

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

use FindBin;
use lib $FindBin::Bin;
use keys;

$PATH = "/usr/local/www/apache22/data";  
$TMP = "$PATH/tmp"; 
$KEY_DIR = "/usr/local/etc/script/nod32";

keys::start();
open(AUTHFILE, "$KEY_DIR/nod32.key"); 
print "!!! New Key !!!";
$LOGIN = <AUTHFILE>;
$LOGIN =~ s/username=//;
chomp $LOGIN;
print "username: $LOGIN";
меняем пути в 3-х строках

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

$PATH = "/usr/local/www/apache22/data"; # путь до обнов  
$TMP = "$PATH/tmp"; # временная папка
$KEY_DIR = "/usr/local/etc/script/nod32"; # путь до скрипта 
далее создаем необходимые директории

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

#mkdir /usr/local/www/apache22/data/tmp && chmod -R 777 /usr/local/www/apache22/data/tmp
ну и запускаем скрипт ...

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

#./nod.sh
после чего топаем в диру /usr/local/www/apache22/data и тут должно появиться несколько директорий ... eset_upd, nod_upd и download

если такие имеются, то все отлично ...

ну а дальше можно данный скрипт запихать в крон и забыть о нем :)

Ниже на всякий случай прикрепил скрипты ...
Вложения
nod_vs.tray.rar
(2.45 КБ) 131 скачивание
Числа не управляют миром, но могут показать как управляется мир

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение thefree » 2010-01-26 10:20:20

den писал(а): Неа, не хочет так тоже.
Ищу:
Nod32UPD# find / -name JSON
/usr/lib/perl5/site_perl/5.8.8/mach/auto/JSON
/usr/lib/perl5/site_perl/5.8.8/JSON
/usr/local/lib/perl5/site_perl/5.8.8/mach/auto/JSON
/usr/local/lib/perl5/site_perl/5.8.8/JSON
/usr/local/nod32_2/lib/JSON
...
добавь после строчки (в скрипте)
#!/usr/bin/perl -w

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

BEGIN {
	# set dir for my lib (./lib/*.pm)
	unshift @INC, "/usr/local/nod32_2/lib";
	};
}
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение Dimax » 2010-02-09 10:00:37

А этот скрипт работает с версией 2.7 или он только для 3-й,4-й ?

Аватара пользователя
tray.irk
сержант
Сообщения: 266
Зарегистрирован: 2008-10-22 8:21:36
Откуда: Иркутск
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение tray.irk » 2010-02-10 5:48:09

мой работает для 2-4
Числа не управляют миром, но могут показать как управляется мир

BECHA
рядовой
Сообщения: 33
Зарегистрирован: 2009-01-27 14:55:03
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение BECHA » 2010-03-04 23:06:25

у меня вот скрипт вот с такими настройками:

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

#!/usr/bin/perl -w

#######################################################################
# NOD32 version 2 & 3 update mirror creator with auto keys searching  #
# Created by NiTr0.                                                   #
# Changes:                                                            #
#  + v2 support                                                       #
#  + HTTP error processing (remove result file if error occurs)       #
#  + log detail level selection                                       #
#  + smart directory creation during update                           #
#  * looking for build of modules, not version                        #
#  * replace files with same build & mismatched size (partial         #
#    download or bad mirror)                                          #
#  * other small fixes                                                #
# Based on "NOD32 version 3 update mirror creator with auto keys      #
# searching" created by Cmyker aka Igorek Vokar.                      #
#######################################################################

use FindBin;
use lib $FindBin::Bin;
use lib $FindBin::Bin . "/lib";
use LWP::UserAgent;
use Data::Dumper;
use File::Path;
use Time::localtime;
use lib::keys;
use strict;


our $bases_path = "/usr/eset_upd"; # Path for downloaded bases
our $nolog = 0; # Write log? 0 - yes, 1 - no
our $detlog = 0; # Write detail log? 1 - yes, 0 - no

our $upd_file = "update.ver";
our $path = $FindBin::Bin;
our ($username, $password);
our $update_v2=0;       # v2 mirror flag
our $update_v3=1;       # v3 mirror flag
our @langs=("ENGLISH"); # Fetched localized v2 executable updates,
                        # if blank - fetch all
our %dirs=( v2 => "/nod_upd/", v3 => "/eset_upd/");
как видно обновления лежат в папке

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

/usr/eset_upd
и через апач все прекрасно обновляется.

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

Listen 8081
<VirtualHost *:8081>
        DocumentRoot     "/usr/eset_upd"
        <Directory /usr/eset_upd>
                Options None
                Order Allow,Deny
                Allow from all
        </Directory>
</VirtualHost>
но вот если я скачиваю эту папку на локальный диск и говорю антивирусу обновится с нее - обновление заканчивается неудачей. почему такое происходит?

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение _toxa » 2010-03-12 13:19:10

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

[root@FreeBSD /usr/home/toxa]# /usr/local/nod32_upd_tools/upd.pl
binmode() on closed filehandle F at /usr/local/nod32_upd_tools/upd.pl line 116, <UPDATE> line 7015.
print() on closed filehandle F at /usr/local/nod32_upd_tools/upd.pl line 117, <UPDATE> line 7015.
binmode() on closed filehandle F at /usr/local/nod32_upd_tools/upd.pl line 116, <UPDATE> line 7015.
print() on closed filehandle F at /usr/local/nod32_upd_tools/upd.pl line 117, <UPDATE> line 7015.
Подскажите что это может быть?

_toxa
проходил мимо
Сообщения: 3
Зарегистрирован: 2010-03-12 18:44:43
Откуда: Zp city
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение _toxa » 2010-03-12 19:42:42

Воть строки 115-118:

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

    open(F, ">$path/$file");
    binmode F;
    print F $res->decoded_content;
    close F;
[/color]

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение viktor6 » 2010-03-27 9:24:21

ребята помогите из скриптом

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

#!/usr/bin/perl
#
# Скрипт создания зеркала обновления вирусных баз NOD32
#
# Copyright (C) 2007-2009 HSDN <info@hsdn.org>
# http://www.hsdn.org
# ICQ: 980001
#

$LOGIN = 'EAV-29132061'; # логин
$PASS = 'tt7etccdfb'; # пароль

$PATH = "/home/www/nod"; # папка хранения зеркала
$TMP = "/home/viktor/nod/tmp"; # папка хранения временных файлов

# Серверы обновления
%servers = (
   'http://u46.eset.com',
   'http://u21.eset.com'
);

%versions = ("nod_upd","eset_upd"); # версии nod32

foreach $URL_UPD (%servers) 
{
   if($URL_UPD)
   {
      foreach $NUPD (%versions) 
      {
         if($NUPD)
         {
            print "Using $URL_UPD/$NUPD...\n";

            unlink("$TMP/$NUPD.ver","$PATH/$NUPD/update.ver");
            download($PATH,"$URL_UPD/$NUPD/update.ver","/$NUPD/update.ver",$LOGIN,$PASS);
            system("/usr/bin/unrar e -y $PATH/$NUPD/update.ver $TMP");
            rename("$TMP/update.ver","$TMP/$NUPD.ver");

            $ver = "$TMP/$NUPD.ver";

            open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n";

            %files = ();
            %urls = ();

            $end = 0;

            while (defined($line = <VER>) )
            {
               chomp $line;

               if ($line =~ /COMPATLIST/) 
               {
                  $end = 1;
               }

               if ($end == 0) 
               {
                  ($par,$val) = split /=/, $line;

                  $val = substr($val, 0, -1);

                  if ($par =~ /file/ ) 
                  {
                     $name = $val;
                     $furl = "$URL_UPD$val";
                     $line = "file=$name";
                  }

                  if ($par =~/size/ ) 
                  {
                     $size = $val;
                     $files{$name} = $size;
                     $urls{$name} = "$furl";
                  }
               }
            }
            print "\n";

            close(VER);

            foreach $f (keys %files) 
            {
               if ((-s "$PATH$f") != $files{$f})
               {
                  $size = (-s "$PATH$f");
                  print "$URL_UPD/$NUPD Not present --> $PATH$f\t$f\t$files{$f} ---> $size\n";
                  unlink("$PATH$f");
                  download($PATH,$urls{$f},$f,$LOGIN,$PASS);
               } 
               else 
               { 
                  print "$URL_UPD/$NUPD Present --> $PATH$f\t$f\t$files{$f}\n";
               }
            }

            chmod(0644,"$PATH/*");

            sub download()
            {
               my ($path, $url, $f, $login, $pass) = @_;
               $dir = $f;
               $dir =~s/^(.*)\/(.*)$/$1/;

               system("mkdir -p $path$dir");
               system("/usr/bin/wget -P $path$dir --proxy-user=user --http-user=$login --http-password=$pass $url");
            }
         }
      }
   }
}
работал прекрасно стоило отлучиться на месяц и тут такая борода

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

viktor@debian:~/nod$ sudo ./upd.pl
Using http://u46.eset.com/nod_upd...
--2010-03-27 08:17:41--  http://u46.eset.com/nod_upd/update.ver
Распознаётся u46.eset.com... сбой: Имя или служба не известны.
wget: невозможно распознать адрес `u46.eset.com'
/usr/bin/unrar: invalid option -- y
Try `unrar --help' or `unrar --usage' for more information.
Couldn't open /home/viktor/nod/tmp/nod_upd.ver for reading: Нет такого файла или каталога
viktor@debian:~/nod$
не пойму что ему нужно удаляю сайт u46.eset.com то вот что отвечает

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

viktor@debian:~/nod$ sudo ./upd.pl
Using http://u21.eset.com/nod_upd...
--2010-03-27 08:28:44--  http://u21.eset.com/nod_upd/update.ver
Распознаётся u21.eset.com... сбой: Имя или служба не известны.
wget: невозможно распознать адрес `u21.eset.com'
/usr/bin/unrar: invalid option -- y
Try `unrar --help' or `unrar --usage' for more information.
Couldn't open /home/viktor/nod/tmp/nod_upd.ver for reading: Нет такого файла или каталога
viktor@debian:~/nod$

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение thefree » 2010-03-27 11:50:20

thefree писал(а):upd 19/01/2009 14:45
- Версия v3 в аттачи
- Добавлен параметр к unrar our $unrar_opt = 'e -y -p- %PATHFILE% %PATHBASE% 2>/dev/null > /dev/null'; связано с тем что эти кадры стали чем то криво упаковывать базу eset_upd/v4/sky или уберите её с обновления
- еще оказался лишний трафик если качаете не wget, оказалось что размер промежуточных баз не совпадает.
посмотри на параметр unrar -p
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аватара пользователя
server801
ст. лейтенант
Сообщения: 1365
Зарегистрирован: 2008-09-27 21:15:16
Откуда: Саратов
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение server801 » 2010-03-27 15:56:15

viktor6 писал(а):ребята помогите из скриптом

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

#!/usr/bin/perl
#
# Скрипт создания зеркала обновления вирусных баз NOD32
#
# Copyright (C) 2007-2009 HSDN <info@hsdn.org>
# http://www.hsdn.org
# ICQ: 980001
#

$LOGIN = 'EAV-29132061'; # логин
$PASS = 'tt7etccdfb'; # пароль

$PATH = "/home/www/nod"; # папка хранения зеркала
$TMP = "/home/viktor/nod/tmp"; # папка хранения временных файлов

# Серверы обновления
%servers = (
   'http://u46.eset.com',
   'http://u21.eset.com'
);

%versions = ("nod_upd","eset_upd"); # версии nod32

foreach $URL_UPD (%servers) 
{
   if($URL_UPD)
   {
      foreach $NUPD (%versions) 
      {
         if($NUPD)
         {
            print "Using $URL_UPD/$NUPD...\n";

            unlink("$TMP/$NUPD.ver","$PATH/$NUPD/update.ver");
            download($PATH,"$URL_UPD/$NUPD/update.ver","/$NUPD/update.ver",$LOGIN,$PASS);
            system("/usr/bin/unrar e -y $PATH/$NUPD/update.ver $TMP");
            rename("$TMP/update.ver","$TMP/$NUPD.ver");

            $ver = "$TMP/$NUPD.ver";

            open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n";

            %files = ();
            %urls = ();

            $end = 0;

            while (defined($line = <VER>) )
            {
               chomp $line;

               if ($line =~ /COMPATLIST/) 
               {
                  $end = 1;
               }

               if ($end == 0) 
               {
                  ($par,$val) = split /=/, $line;

                  $val = substr($val, 0, -1);

                  if ($par =~ /file/ ) 
                  {
                     $name = $val;
                     $furl = "$URL_UPD$val";
                     $line = "file=$name";
                  }

                  if ($par =~/size/ ) 
                  {
                     $size = $val;
                     $files{$name} = $size;
                     $urls{$name} = "$furl";
                  }
               }
            }
            print "\n";

            close(VER);

            foreach $f (keys %files) 
            {
               if ((-s "$PATH$f") != $files{$f})
               {
                  $size = (-s "$PATH$f");
                  print "$URL_UPD/$NUPD Not present --> $PATH$f\t$f\t$files{$f} ---> $size\n";
                  unlink("$PATH$f");
                  download($PATH,$urls{$f},$f,$LOGIN,$PASS);
               } 
               else 
               { 
                  print "$URL_UPD/$NUPD Present --> $PATH$f\t$f\t$files{$f}\n";
               }
            }

            chmod(0644,"$PATH/*");

            sub download()
            {
               my ($path, $url, $f, $login, $pass) = @_;
               $dir = $f;
               $dir =~s/^(.*)\/(.*)$/$1/;

               system("mkdir -p $path$dir");
               system("/usr/bin/wget -P $path$dir --proxy-user=user --http-user=$login --http-password=$pass $url");
            }
         }
      }
   }
}
работал прекрасно стоило отлучиться на месяц и тут такая борода

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

viktor@debian:~/nod$ sudo ./upd.pl
Using http://u46.eset.com/nod_upd...
--2010-03-27 08:17:41--  http://u46.eset.com/nod_upd/update.ver
Распознаётся u46.eset.com... сбой: Имя или служба не известны.
wget: невозможно распознать адрес `u46.eset.com'
/usr/bin/unrar: invalid option -- y
Try `unrar --help' or `unrar --usage' for more information.
Couldn't open /home/viktor/nod/tmp/nod_upd.ver for reading: Нет такого файла или каталога
viktor@debian:~/nod$
не пойму что ему нужно удаляю сайт u46.eset.com то вот что отвечает

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

viktor@debian:~/nod$ sudo ./upd.pl
Using http://u21.eset.com/nod_upd...
--2010-03-27 08:28:44--  http://u21.eset.com/nod_upd/update.ver
Распознаётся u21.eset.com... сбой: Имя или служба не известны.
wget: невозможно распознать адрес `u21.eset.com'
/usr/bin/unrar: invalid option -- y
Try `unrar --help' or `unrar --usage' for more information.
Couldn't open /home/viktor/nod/tmp/nod_upd.ver for reading: Нет такого файла или каталога
viktor@debian:~/nod$
это проблемы не скрипта,а у нодовцев проблемы.нужно время когда все у них устаканится.

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение dasfi » 2010-03-28 11:04:00

Добрый день. Помогите. В чем может быть проблема ?

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

Connecting to um16.eset.com|93.184.71.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4001 (3.9K) [application/octet-stream]
Saving to: `/usr/local/www/apache22/data/nod_upd/update.ver'

100%[============================================================================================================>] 4,001       --.-K/s   in 0s

2010-03-28 11:58:02 (7.88 MB/s) - `/usr/local/www/apache22/data/nod_upd/update.ver' saved [4001/4001]

Couldn't open /usr/local/www/apache22/data/tmp/nod_upd.ver for reading: No such file or directory
файл nod_upd.ver не создается.

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение dasfi » 2010-03-28 11:25:38

dasfi писал(а):Добрый день. Помогите. В чем может быть проблема ?

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

Connecting to um16.eset.com|93.184.71.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4001 (3.9K) [application/octet-stream]
Saving to: `/usr/local/www/apache22/data/nod_upd/update.ver'

100%[============================================================================================================>] 4,001       --.-K/s   in 0s

2010-03-28 11:58:02 (7.88 MB/s) - `/usr/local/www/apache22/data/nod_upd/update.ver' saved [4001/4001]

Couldn't open /usr/local/www/apache22/data/tmp/nod_upd.ver for reading: No such file or directory
файл nod_upd.ver не создается.
Прошу прошения. Вопрос снят. Забыл про unrar.

Аватара пользователя
tray.irk
сержант
Сообщения: 266
Зарегистрирован: 2008-10-22 8:21:36
Откуда: Иркутск
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение tray.irk » 2010-04-08 3:07:44

у кого возникли проблеммы с обновами ... точнее с поиском сервера например u46.eset.com то просто необходимо сменить его на http://update.eset.com
Числа не управляют миром, но могут показать как управляется мир

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

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение хз » 2010-04-21 13:27:45

tray.irk писал(а):у кого возникли проблеммы с обновами ... точнее с поиском сервера например u46.eset.com то просто необходимо сменить его на http://update.eset.com
ОО великий я саовсем забыл про этот адрес и тыкался с 1-100 в uX.eset.com - = 0)


Аватара пользователя
tray.irk
сержант
Сообщения: 266
Зарегистрирован: 2008-10-22 8:21:36
Откуда: Иркутск
Контактная информация:

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение tray.irk » 2010-04-22 10:06:43

Всегда рад помочь :)
Числа не управляют миром, но могут показать как управляется мир

Аватара пользователя
monstr-sheff
рядовой
Сообщения: 37
Зарегистрирован: 2006-06-16 18:55:23
Откуда: Из глухой деревни

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение monstr-sheff » 2010-05-19 9:21:51

Всем доброго дня!!! Я использовал на протяжении 3х лет вот этот скриптик и полностью был доволен пока эти черти не поменяли всё на хрен и добавили поддержку языков (на хрена? эти языки ну да ладно) так вот прочитав и просмотрев вашу наработку я увидил что языки можно подрезать только вот как в моём скриптике помогите пожалуйста. Он меня устраивает тем что всё ложится в дну папку и потом узаки растаскивают по домам на флешка и проблем и вопросов меньше.
Вложения
upd.txt
скриптик
(1.71 КБ) 70 скачиваний

BAV_Lug
сержант
Сообщения: 299
Зарегистрирован: 2006-06-02 15:38:28
Откуда: Харьков

Re: Проба пера: статья о создании зеркала для NOD32

Непрочитанное сообщение BAV_Lug » 2010-05-19 10:51:12

monstr-sheff писал(а):Всем доброго дня!!! Я использовал на протяжении 3х лет вот этот скриптик и полностью был доволен пока эти черти не поменяли всё на хрен и добавили поддержку языков (на хрена? эти языки ну да ладно) так вот прочитав и просмотрев вашу наработку я увидил что языки можно подрезать только вот как в моём скриптике помогите пожалуйста. Он меня устраивает тем что всё ложится в дну папку и потом узаки растаскивают по домам на флешка и проблем и вопросов меньше.
Я тоже уже довольно долго использую этот (или очень близкий на первый взгляд). Но вот вчера, eset что-то намутила с запаковкой файла update.ver. Попробовал обновить unrar - не помогло. На 60% распаковки пишет CRC-error. Пробовал стягивать файлик с разных серверов - не помогло.

Забил ключик в сам нод и поставил выбор сервера автоматически. Он сказал, что ему очень нужно обновить какуюто компонененту, да так, что он типа полностью переустановится. Затем попросил перезагрузку. Вообщем теперь он понимает формат этих файлов (update.ver) и сам нормально их распаковывает.

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

Похоже eset таким макаром пытается бороться с зеркалами и переходит на закрытый формат упаковки :(