Страница 26 из 27

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

Добавлено: 2013-10-19 18:23:22
server801
Вообщем изменения произошли для введения 7 версии антивируса. полет нормальный :)

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

Добавлено: 2013-10-19 20:53:18
RAGNAR
что за изменения, можно по подробнее что и где

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

Добавлено: 2013-10-24 11:13:38
PathFounder
кто-нить уже разрулил? а то у меня не качает базы... :(

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

Добавлено: 2013-10-25 9:07:27
PathFounder
кто-нить подскажите с каких сереров ща брать обновления...
у просто не отвечают те сервера которые раньше работали....

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

Добавлено: 2013-10-25 19:44:53
RAGNAR
да все тот же есет что и раньше не чего не изменилось у тебя со скриптом проблемы! ты используешь офф ключ или поиском пользуешься?

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

Добавлено: 2013-10-28 9:02:57
PathFounder
RAGNAR писал(а):да все тот же есет что и раньше не чего не изменилось у тебя со скриптом проблемы! ты используешь офф ключ или поиском пользуешься?

вручную вписываю ключи - чтобы не засветиться...
оказалось просто у них пара серверов ушла в даун :(

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

Добавлено: 2013-10-29 8:41:09
RAGNAR
основной всегда работает я с него качаю. у тебя нет проблемы с обновлением 5 версии?

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

Добавлено: 2013-11-06 6:40:53
k0matoznik
Подскажите, на торентах скачал ключи для нода, нашел рабочий, нашел рабочий сервер
91.228.167.26
. Запустил с указанием логина и пароля, без поиска инных. Запустил скрипт, он залогинился, начала чтото качать.
Чуть раньше была проблема что он update.ver ложил в разные папки с сигнатурами, потом написали решение что надо в апаче алиасы нарезать для v3-ler-чтото там, прописал, но в последствии скрипт авторизоваться снова неможет, скажите как это обойти? там может какие-то куки на есет серверах указываются, и я еще раз уже немогу обновиться при помощи скрипта в wget'ом?
Поможет, если я в скрипте поправлю информацию с авторизацией, то мне снова позволено будет лить сигнатуры? я когда 1ый раз запускал скрипт, я не заметил что там было написано, авторизовался 401, или не 401,незапомнил сообщение,и логи затер.
Пробовал разные сервера с которых качать надо, все не работают. По гуглу шарить тоже не помогает.
Подскажите что делать?

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

Подпапка или файл C:\Update\nod\v3-rel-sta\mod_002_engine уже существует.
--2013-11-06 11:39:57--  http://EAV-0089336572:*password*@91.228.167.26/v3-rel-sta/mod_002_engine/em002_32_l2.nup
Connecting to 91.228.167.26:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Reusing existing connection to 91.228.167.26:80.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.
Подпапка или файл C:\Update\nod\v3-rel-sta\mod_002_engine уже существует.
--2013-11-06 11:39:59--  http://EAV-0089336572:*password*@91.228.167.26/v3-rel-sta/mod_002_engine/em002_32_n1.nup
Connecting to 91.228.167.26:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Reusing existing connection to 91.228.167.26:80.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.
Подпапка или файл C:\Update\nod\v3-rel-sta\mod_002_engine уже существует.
--2013-11-06 11:40:01--  http://EAV-0089336572:*password*@91.228.167.26/v3-rel-sta/mod_002_engine/em002_32_n2.nup
Connecting to 91.228.167.26:80... 
И так далее...

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

Добавлено: 2013-11-06 8:26:13
RAGNAR
вот рабочий конфиг берет ключ из файла ключ куплиный в твоем случае пойдет если он актуальный

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

#!/usr/bin/perl

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

$PATH = "/usr/local/www/apache22/data/nod_update";
$TMP = "$PATH/v3-rel-sta/";
$KEY_DIR = "/usr/local/etc/nodnew/";

#keys::start();
open(AUTHFILE, "$KEY_DIR/nod32.key");
print "!!! New Key !!!";
$LOGIN = <AUTHFILE>;
$LOGIN =~ s/username=//;
chomp $LOGIN;
print "username: $LOGIN";
$PASS = <AUTHFILE>;
$PASS =~ s/password=//;
chomp $PASS;
print "password: $PASS";




%servers = (
   'http://update.eset.com',
   'http://um10.eset.com',
#   'http://um11.eset.com',
   'http://um23.eset.com',
   'http://um04.eset.com',
   'http://um16.eset.com'
#   'http://update.eset.com'
);


%versions =("eset_upd");
#("eset_upd");

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/local/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");
                if (mylang($f) != 1){
                 system("/usr/local/bin/wget -P $path$dir --proxy-user=user --http-user=$LOGIN --http-password=$PASS $url");
                                    }

            }
         }
      }
   }
}
#print "Script NSDN + Andy2k and Tray.irk\n";
#print "ICQ: 5861008\n";
#print "email: tray.irk@gmail.com\n";

close(AUTHFILE);

sub mylang()
{
  my ($filename) = @_;
  if (index($filename,"ukr") != -1) {return 1;}
  if (index($filename,"bgr") != -1) {return 1;}
  if (index($filename,"chs") != -1) {return 1;}
  if (index($filename,"cht") != -1) {return 1;}
  if (index($filename,"csy") != -1) {return 1;}
  if (index($filename,"dan") != -1) {return 1;}
  if (index($filename,"deu") != -1) {return 1;}
  if (index($filename,"esn") != -1) {return 1;}
  if (index($filename,"fin") != -1) {return 1;}
  if (index($filename,"fra") != -1) {return 1;}
  if (index($filename,"hrv") != -1) {return 1;}
  if (index($filename,"hun") != -1) {return 1;}
  if (index($filename,"ita") != -1) {return 1;}
  if (index($filename,"nld") != -1) {return 1;}
  if (index($filename,"nor") != -1) {return 1;}
  if (index($filename,"plk") != -1) {return 1;}
  if (index($filename,"ptb") != -1) {return 1;}
  if (index($filename,"rom") != -1) {return 1;}
  if (index($filename,"sky") != -1) {return 1;}
  if (index($filename,"slv") != -1) {return 1;}
  if (index($filename,"sve") != -1) {return 1;}
  if (index($filename,"trk") != -1) {return 1;}
  if (index($filename,"ch.nup") != -1) {return 1;}
 if (index($filename,"cz.nup") != -1) {return 1;}
  if (index($filename,"pt.nup") != -1) {return 1;}
  if (index($filename,"fr.nup") != -1) {return 1;}
  if (index($filename,"ge.nup") != -1) {return 1;}
  if (index($filename,"hr.nup") != -1) {return 1;}
  if (index($filename,"hu.nup") != -1) {return 1;}
  if (index($filename,"jp.nup") != -1) {return 1;}
  if (index($filename,"nl.nup") != -1) {return 1;}
  if (index($filename,"pl.nup") != -1) {return 1;}
  if (index($filename,"sk.nup") != -1) {return 1;}
  if (index($filename,"sp.nup") != -1) {return 1;}
 if (index($filename,"it.nup") != -1) {return 1;}
  if (index($filename,"98") != -1) {return 1;}
  if (index($filename,"_nt64_") != -1) {return 1;}
  if (index($filename,"_64_") != -1) {return 1;}

  return 0;
}

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

Добавлено: 2013-11-06 15:34:17
k0matoznik
Спасибо конечно за скрипт, но у меня не файл.ключ, а ключ - логин+пароль, как быть?

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

Добавлено: 2013-11-06 19:51:12
RAGNAR
ну впиши их в скрипт
или сделай файл он же по русски указан в скрипте

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

open(AUTHFILE, "$KEY_DIR/nod32.key");
файл обычный. как хош назави и тут пропиши.

в файле две строки
логин
пороль

все просто.

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

Добавлено: 2013-11-07 6:22:22
k0matoznik
Я так понимаю весь скрипт написан на perl, запуск должен производиться на win2008. Установил activeperl64, ругается что модуля не хвататет или файл разобрать неможет? непонимаю обьясните на что он ругается?

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

c:\Perl64\bin>perl.exe c:\script.pl
Can't locate keys.pm in @INC (@INC contains: c:/ c:/Perl64/site/lib c:/Perl64/li
b .) at c:\script.pl line 5.
BEGIN failed--compilation aborted at c:\script.pl line 5.

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

Добавлено: 2013-11-07 19:26:33
RAGNAR
на винде незнаю у меня сервак на BSD 7.2
перепиши скрипт на дроугой язык

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

Добавлено: 2014-01-14 13:24:53
server801
недокументированная серьезная ошибка 1106, кто сталкивался ? Сегодня весь день пишет

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

Добавлено: 2014-01-14 19:40:53
Alex Keda
кто пишет

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

Добавлено: 2014-01-14 19:48:19
RAGNAR
это да телепатия offline

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

Добавлено: 2014-01-15 0:17:33
server801
Нод отказывался обновляться, ввели в строй директорию v7

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

Добавлено: 2014-01-15 0:26:15
RAGNAR
у меня обновляеться Update 9290

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

Добавлено: 2014-01-15 0:43:17
RAGNAR
ну незанаю что там у вас V7 затер всю базу и начал кочать занова. все тянеться

у меня офф ключ

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

Добавлено: 2014-01-15 0:53:26
server801
Эта ошибка говорит о том, что сырцы битые, значит они файлы поменяли

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

Добавлено: 2014-01-15 1:03:06
RAGNAR
куда ломиться у тебя нод? tail -F /var/log/www/

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

Добавлено: 2014-01-15 1:10:42
server801
Утром предоставлю логи, поправил у себя скрипт, все работает

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

Добавлено: 2014-01-15 1:16:38
RAGNAR
что правил покажи

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

Добавлено: 2014-01-15 8:27:16
server801
Скрипт для обновления

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

#!/usr/bin/perl

$LOGIN = 'login'; # логин
$PASS = 'password'; # пароль

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

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

%versions = ("eset_upd","eset_upd/v6","eset_upd/v7" ); # версии 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/local/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/local/bin/wget -P $path$dir --proxy-user=user --http-user=$login --http-password=$pass $url");
            }
         }
      }
   }
}
конфиг nginx

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

server {
        listen       80;
        server_name  domain.ru;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/local/www/nod;
	 index  index.php;
	 auth_basic "Private zone. Only for administrator";
        auth_basic_user_file /usr/local/www/nod/eset_upd/.htpasswd;

	 location /v6-rel-bat/ {
    	     alias /usr/local/www/nod/v6-rel-bat/;
	 }
	 location /v6-rel-sta/ {
    	     alias /usr/local/www/nod/v6-rel-sta/;
	 }
	 location /v6-rel-stop/ {
    	     alias /usr/local/www/nod/v6-rel-stop/;
	 }
	 if ($http_user_agent ~* '^ESS.*BPC.3') {
            rewrite ^/update.ver$ /eset_upd/update.ver;
        }
        if ($http_user_agent ~* '^ESS.*BPC.4') {
            rewrite ^/update.ver$ /eset_upd/v4/update.ver;
        }
        if ($http_user_agent ~* '^ESS.*BPC.5') {
            rewrite ^/update.ver$ /eset_upd/v5/update.ver;
        }
	 if ($http_user_agent ~* '^ESS.*BPC.6') {
            rewrite ^/update.ver$ /eset_upd/update.ver;
        }
	 if ($http_user_agent ~* '^ESS.*BPC.7') {
            rewrite ^/update.ver$ /eset_upd/v7/update.ver;
        }

        	
	     autoindex on;
	}
	
	location /eset_upd {
	     root   /usr/local/www/nod;
            auth_basic "Private zone. Only for administrator";
            auth_basic_user_file /usr/local/www/nod/eset_upd/.htpasswd;
            autoindex off;
	}
	location ~ \.php$ {
	     root /usr/local/www/nod;
            fastcgi_pass unix:/var/run/php-fpm.sock;
	     fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/www/nod$fastcgi_script_name;
            include        fastcgi_params;

	}
}
P.S алиас можно убрать

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

Добавлено: 2014-01-15 8:34:19
server801
Вот такой должен быть лог

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

 - nod [15/Jan/2014:09:32:13 +0400] "GET /v7-rel-sta/mod_002_engine/em002_32_n2.nup HTTP/1.1" 200 23490 "-" "ESS Update (Windows; U; 32bit; PVT F; BPC 7.0.302.8; OS: 6.1.7601 SP 1.0 NT; TDB 16647; CL 0.0.0; x32c; APP eav; BEO 1; ASP 0.10; FW 0.0; PX 0; PUA 1; RA 0; HWF: 01004458-A14F-3323-8C7B-71C64F03B3E2; PLOC ru; PCODE 106.25.0; PAR -1; ATH -1; DC 0)"
- - [15/Jan/2014:09:32:14 +0400] "GET /v7-rel-sta/mod_023_pegasus/em023_32_n2.nup HTTP/1.1" 401 194 "-" "ESS Update (Windows; U; 32bit; PVT F; BPC 7.0.302.8; OS: 6.1.7601 SP 1.0 NT; TDB 16647; CL 0.0.0; x32c; APP eav; BEO 1; ASP 0.10; FW 0.0; PX 0; PUA 1; RA 0; HWF: 01004458-A14F-3323-8C7B-71C64F03B3E2; PLOC ru; PCODE 106.25.0; PAR -1; ATH -1; DC 0)"