Page 9 of 54 FirstFirst ... 789101119 ... LastLast
Results 121 to 135 of 796

Thread: NOD32 update server

  1. #121
    Я имел ввиду не один сервер из списка, а один сервер, следующий по списку. Тоесть обновление проводим с одного сервера, если нет обновлений - запоминаем этот сервер, и в следующий раз обновляемся уже с другого.

    Ну я бы приложил усилия в основном для маскировки скрипта. И даже можно выставить нужный User-Agent в wget , а такая активность - опрос всех серверов и всех файлов на серверах сразу - несколько подозрительна, я считаю

  2. #122

    Question

    Quote Originally Posted by YAG View Post
    После проверки всех серверов остановицца. Все нормально.
    оч. долго можно как-нибудь оптимизировать? чтобы не бегал по всем серверам?
    p.s. вопрос: не нашел в топике, вроде где-то вначале было, но ответа не увидел :-/
    если нужно зеркало и 2й версии и 3й - просто сделать два скрипта разных? вроде писали , что расскоментировать нельзя в одном скрипте и ту и другую версию
    p.s.s. а разница между зеркалами для 2й и 3й версии есть? нод 2й версии нормально обновился с зеркала для 3й
    Last edited by Kolandr; 07-08-2008 at 23:17.

  3. #123
    Join Date
    Dec 2007
    Location
    Санкт-Петербург
    Posts
    125
    Nebulosa, подумаю на досуге и над тем и над другим.

    Kolandr, первое переделаем, как я сказал на досуге Второе. Разница между версиями есть.
    Катящиеся камни не обрастают мхом...

  4. #124
    кто-то там про касперского говорил. у касперского ключи нужны только для клиента, сервер обновлений открыт просто так, забирает примерно таким скриптом (вроде как все версии забирает):
    Code:
    #!/bin/sh -e
    WORKDIR=/указать_путь
    HOST=ftp://dnl-ru5.kaspersky-labs.com
    OPTS="-m -nH -x -nv --cut-dirs=0 nv -P"
    cd $WORKDIR
    wget $OPTS $WORKDIR $HOST/index -a upkav.log
    wget $OPTS $WORKDIR $HOST/bases -X /bases/av/avc/xscale_le/,/bases/av/avc/xscale_be/,/bases/av/avc/sparc32/,/bases/av/avc/ppc32/ -a upkav.log
    wget $OPTS $WORKDIR $HOST/AutoPatches -a upkav.log
    echo Обновлено `date` >> upkav.log
    т.к. на кол-во трафика в моем случае все равно, то оптимизировать было лень..

    обновы для нода, 2го и 3го, собирал простыми скриптами с левых зеркал

  5. #125
    У кого нить зеркало для 3 версии обновляется ??
    для 2 у меня все нормально обновляется а для 3 пишет
    ./nod32Update
    cannot stat `/opt/tmp/nod3/update.ver': No such file or directory
    Неверные ключики
    ./nod32Update: ./nod32Update: 1: nc: not found

    Ключики 100% рабочие , при этом скрипм минут 5 качает обновления а потом прерывается с этой ошибкой.

  6. #126
    у меня обновляется для всех версий, но уведомление о неверных ключах по email не работает

  7. #127
    Quote Originally Posted by Kolandr View Post
    у меня обновляется для всех версий, но уведомление о неверных ключах по email не работает
    Может у вас просто netcat не стоит?

  8. #128
    Quote Originally Posted by oxygen121 View Post
    Может у вас просто netcat не стоит?
    стоит . все равно уведомлений нет.

  9. #129
    Скрипт от YAG можно использовать с неофициальными серверами обновлений?
    Если нет, то что надо поменять, чтобы можно было?

  10. #130
    Написал свой скрипт, правда не на sh, но с большей функциональностью Запрос на обновления происходит с одного сервера за раз, выбор сервера случайный. При устаревании ключиков, скрипт сам их обновляет.

    Для работы нужны пакеты wget, unrar и php. Перед началом работы создать подпапку temp - mkdir temp и выставить права на выполнение скрипта chmod +x nod32upd.php, теперь можно запускать его напрямую - ./nod32upd.php. В cron сделать сначала переход в папку со скриптом, затем уже выполнение, т.е. cd /opt/.../nod32updates && ./nod32upd.php
    PHP Code:
    #!/opt/bin/php
    <?php
    $server
    ="http://update.eset.com";
    $v2="nod_upd";
    $v3="eset_upd";

    function 
    check()
    {
     
    $kkeys 14// количество проверяемых ключей
     
    $site "";  // здесь впишите сайт с ключами или локальный файл с ключами.
     
    $file file_get_contents($site);

     
    $eav="http://download.eset.com/download/win/eav/eav_nt32_enu.msi";
     
    $ess="http://download.eset.com/download/win/ess/ess_nt32_enu.msi";

     
    preg_match_all("/(EAV-[0-9]{8}).*?([a-z0-9]{10})/",$file,$match);

     
    $fk=fopen("temp/keys","w");
     for (
    $i=0$i<$kkeys$i++)
        {
         
    $f=exec ('/opt/bin/wget -q --spider --http-user='.$match[1][$i].' --password='.$match[2][$i].' '.$eav.'&&echo 1||echo 0');
         if (
    $f$f=exec ('/opt/bin/wget -q --spider --http-user='.$match[1][$i].' --password='.$match[2][$i].' '.$ess.'&&echo 1||echo 0');
         if (
    $ffwrite ($fk,$match[1][$i]." ".$match[2][$i]."\n");
        }
     
    fclose($fk);
    }

    function 
    parce ($update)
    {
        
    $vp=explode("[",$update);
        foreach (
    $vp as $f=>$k
        {
            list(
    $name,$data)=explode("]",$k);
            if (
    ereg("(Expire|SETUP|REVERSE_ENGINE0|COMPATLIST|CONTINUOUS|NOD32MOD_WINNT_[^E]+|NOD32MOD_WIN98_[^E]+)",$name)) continue;
            
    preg_match_all('/([a-zA-Z-]+)=(.*)/',$data,$match);
            foreach (
    $match[1] as $ff=>$kk$M[$name][$kk]=trim($match[2][$ff]);
        }
        return 
    $M;
    }

    function 
    downloader($urls$domain)
    {
        
    $keyf="temp/keys";
        
    preg_match_all("/,? ?[1|2]0@([^,]+)\/(nod|eset)_upd/",$domain,$servers);
        
    $domain=$servers[1][rand(0,count($servers[1]))];
        
    $flag=2;
        
    $keys=file($keyf);
        foreach (
    $keys as $f=>$k)
            {
                list(
    $user,$pass)=explode(" ",$k);
                foreach (
    $urls as $ff=>$kk)
                 { 
                      
    $flag=exec("/opt/bin/wget -q -cPtemp --http-user=".trim($user)." --http-password=".trim($pass)." ".$domain.$kk."&&echo 0||echo 1");
                       if (
    $flag) break;
                 }
                if (!
    $flag) return 0
                else 
                    {    
                        
    $oostr=str_replace($keys[$f],"",file_get_contents($keyf));
                        
    $oo=fopen($keyf,"w");
                        
    fwrite($oo,$oostr);
                        
    fclose($oo);
                    }
            }
        return 
    $flag;
    }

    function 
    compare ($old,$new)
    {
        foreach (
    $new as $f=>$k) if ($new[$f]["build"]!=$old[$f]["build"]) $urls[]=$new[$f]["file"];
        if (
    count($urls)!=0) return $urls; else return 0;
    }

    function 
    generate ($urls$new$dir)
    {
        if (
    $urls)
        {    
            
    $zz=0;
            if (!
    file_exists("temp/keys")) check();
            
    $zz=downloader($urls,$new["HOSTS"]["Other"]);
            if (
    $zz) {check(); $zz=downloader($urls,$new["HOSTS"]["Other"]);}
            if (!
    $zz)
                {
                     
    $r=fopen("temp/update.ver","w+");
                     foreach (
    $new as $f=>$k)
                    {
                          if (
    $f=="HOSTS") continue;
                          
    fwrite($r,"[".$f."]\r\n");
                          foreach (
    $k as $ff=>$kk)
                            { 
                                if (
    $ff=="file"$kk=basename($kk);
                                
    fwrite($r$ff."=".$kk."\r\n");
                            }
                    }
                    
    fclose($r);
                    
    exec("cd temp&&mv -f *.nup update.ver ../".$dir);
                }
             return 
    $zz;
        }
        return 
    0;
    }

    //Версия 2
    exec ("/opt/bin/wget -q -Otemp/update2.rar \"".$server."/".$v2."/update.ver\"&&cd temp&&unrar e -o+ -inul update2.rar&&mv -f update.ver update2new.ver");
    $M2new parce (file_get_contents("temp/update2new.ver"));
    generate(compare (parce (@file_get_contents($v2."/update.ver")), $M2new), $M2new$v2); 

    //Версия 3
    exec ("/opt/bin/wget -q -Otemp/update3.rar \"".$server."/".$v3."/update.ver\"&&cd temp&&unrar e -o+ -inul update3.rar&&mv -f update.ver update3new.ver");
    $M3new parce (file_get_contents("temp/update3new.ver"));
    generate(compare (parce (@file_get_contents($v3."/update.ver")), $M3new), $M3new$v3);
    ?>
    Логику работы взял из NОD32viеw.
    Last edited by Nebulosa; 17-10-2008 at 08:20.
    WL-500GPremium v.1 default CPU&memory 1.9.2.7-10
    (HP1018, EZ-setup on/off wi-fi, FDD 1Gb Corsair: nginx+phpfcgi, cron+phpNOD32Updater, squid+ADredirector, swapon)

  11. #131
    Задумка отличная! Вот только у меня не работает:

    Code:
    temp/update2.rar: No such file or directory
    PHP Warning:  file_get_contents(temp/update2new.ver): failed to open stream: No such file or directory in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 107
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 35
    PHP Notice:  Undefined variable: M in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 40
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 35
    PHP Notice:  Undefined variable: M in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 40
    PHP Warning:  Invalid argument supplied for foreach() in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 72
    PHP Notice:  Undefined variable: urls in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 73
    temp/update3.rar: No such file or directory
    PHP Warning:  file_get_contents(temp/update3new.ver): failed to open stream: No such file or directory in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 112
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 35
    PHP Notice:  Undefined variable: M in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 40
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 35
    PHP Notice:  Undefined variable: M in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 40
    PHP Warning:  Invalid argument supplied for foreach() in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 72
    PHP Notice:  Undefined variable: urls in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 73

  12. #132
    Полезность: если провадер блокирует отправку почты через 25й порт (типа борьба со спамом), поправьте строчку (где-то в районе 33-35й)
    с "echo -e "$start$header$text\n.\nQUIT\n"|nc $SMTP 25"
    на " echo -e "$start$header$text\n.\nQUIT\n"|nc $SMTP 587"
    Это для яндекса, в остальных случаях - посмотрите в помощи - есть ли у сервера альтернативный SMTP порт.
    ЗЫ Через smtp провайдера и mail.ru почта не уходила, ругаясь
    "554 SMTP synchronization error" - слишком быстро через nc кидались сообщения.
    WL-500gPv2 (1.9.2.7-10) + Seagate 80G IDE (Jou Jye UB-102B2) + hp1022
    lighttpd vhosts, auth + logrotate + rtorrent + ADOS + rTorrent WebUI + rrdtool + vsftpd + nodupdate +openvpn

  13. #133
    Quote Originally Posted by Protei View Post
    Задумка отличная! Вот только у меня не работает:

    Code:
    temp/update2.rar: No such file or directory
    ...
    Надо папку temp создать. Описание поправил.
    Last edited by Nebulosa; 17-10-2008 at 08:15.
    WL-500GPremium v.1 default CPU&memory 1.9.2.7-10
    (HP1018, EZ-setup on/off wi-fi, FDD 1Gb Corsair: nginx+phpfcgi, cron+phpNOD32Updater, squid+ADredirector, swapon)

  14. #134
    Nebulosa
    С папкой temp та же ошибка. Поменял скрипт, теперь вот это:
    Code:
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 35
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 35
    PHP Notice:  Undefined variable: M in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 40
    PHP Notice:  Undefined index:  build in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 72
    PHP Notice:  Undefined offset:  0 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  0 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  2 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  2 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  3 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  3 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  4 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  4 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  5 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  5 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  6 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  6 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  7 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  7 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  8 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  8 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  9 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  9 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  10 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  10 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  11 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  11 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  12 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  12 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  13 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  13 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  0 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  0 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  1 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  2 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  2 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  3 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  3 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  4 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  4 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  5 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  5 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  6 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  6 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  7 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  7 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  8 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  8 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  9 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  9 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  10 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  10 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  11 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  11 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  12 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  12 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  13 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    PHP Notice:  Undefined offset:  13 in /tmp/mnt/disc0_1/nod_new/nod_new.php on line 23
    Окончания работы скрипта не дождался.
    В домашней директории появились пустой файл null и папка temp/ c файлами keys (пустой), update2.rar, update2new.ver, update3.rar (пустой).

  15. #135
    Хм, у меня все проблемы решились с помощью добрых людей, альтернативного сервера, rsync и одной строчки в crontab

Page 9 of 54 FirstFirst ... 789101119 ... LastLast

Similar Threads

  1. [HowTo] Install and configure Oleg's firmware
    By wengi in forum WL-500gP Tutorials
    Replies: 957
    Last Post: 22-02-2013, 22:24
  2. Прошивка Олега на роутере DIR-320
    By sorine in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 4359
    Last Post: 07-08-2011, 22:25
  3. Простая настройка роутера до торрентов
    By gostest in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 1402
    Last Post: 21-05-2010, 18:58
  4. HowTo install a lightweight blog server
    By Tamadite in forum WL-500g/WL-500gx Tutorials
    Replies: 0
    Last Post: 03-12-2006, 01:46
  5. Gameserver
    By blingbling in forum WL-500gP Q&A
    Replies: 2
    Last Post: 17-07-2006, 15:37

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •