The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Разное / Linux)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Локальное зеркало сервера обновлений NOD32, lamka (ok), 12-Мрт-07, (0) [смотреть все] –1

Сообщения [Сортировка по времени | RSS]


3. "Локальное зеркало сервера обновлений NOD32"  +/
Сообщение от lamka (ok), 15-Ноя-07, 18:03 
>для ворования обнов в версии 3.0 есть какие мысли?
>
>подскажите, откуда они качаются и по какому принципу, пожалуйста...

#!/usr/bin/perl  
  
use LWP;  

# path to store updates  
$PATH="/var/www/nod32/eset_upd";  
# username/password for updates registered users  
$LOGIN="AV-7009043";
$PASS="vu34kgnc4a";
# URL for updates  
$URL_UPD="http://u30.eset.com/eset_upd/";

$URL_UPD =~ s/\/$//;  
$URL_UPD =~ m/(.*:\/\/)(.*?)(\/.*)/;  
$site = "$1$2";  
if ($site =~ m//) {  
    print "Enter correct URL\n";  
    return;  
}  
  
unlink("$PATH/update.ver","$PATH/update.tmp");  
download($PATH,"$URL_UPD/update.ver",$LOGIN,$PASS);  
`/usr/bin/unrar e -y $PATH/update.ver $PATH 2> /dev/null`;  
rename("$PATH/update.ver","$PATH/update.tmp");  
  
$ver = "$PATH/update.tmp";  
$vers = "$PATH/update.ver";  
  
open(VER, "< $ver") or die "Couldn't open $ver for reading: $!\n";  
open(VERS, "> $vers") or die "Couldn't open $vers for writing: $!\n";  
  
%files = ();  
%urls = ();  
  
while (defined($line = <VER>) )  
{  
    chomp $line;  
    $line =~ s/^\s+//;  
    $line =~ s/\s+$//;  
    ($par,$val)=split /=/, $line;  
      
    if ($par =~ /file/ )  
    {  
    $name = $val;  
    $name =~ s/\/.*\///;  
      
    if ($name=~m/$val/) {$furl="$URL_UPD/$val";}  
    else {$furl="$site$val";}  
    $line="file=$name";  
    }  
    if ($par =~ /size/ )  
    {  
    $size = $val;  
    $files{$name} = $size;  
    $urls{$name} = "$furl";  
    }  
    print VERS "$line\r\n";  
}  
print "\n";  
  
close(VER);  
close(VERS);  
  
foreach $f (keys %files) {  
    if ( (-s ("$PATH/$f")) != $files{$f}){  
    download($PATH,$urls{$f},$LOGIN,$PASS);  
    }  
}  
  
chmod(0644,"$PATH/*");  
  
sub download()  
{  
    my ($path, $url, $login, $pass) = @_;  
  
# use external downloader  
    system("/usr/bin/lftp -c \"get -cO $path $url\"");  
    return;  
# PERL downloader  
    $url =~ m/(.*:\/\/)(.*)\/(.*)/;  
    my $filename = $3;  
      
    my $ua=LWP::UserAgent->new();  
    $ua->agent("PerlUA/0.1");  
  
    my $ua=LWP::UserAgent->new();  
    $ua->agent("PerlUA/0.1");  
    my $req = HTTP::Request->new(HEAD => "$url");  
    $req->authorization_basic($login, $pass);  
    my $document=$ua->request($req);  
    if($document->is_success) {  
        if (!($document->content_length== -s("$path/$filename"))) {  
  
            my $req = HTTP::Request->new(GET => "$url");  
            $req->authorization_basic('login', 'password');  
            my $document=$ua->request($req);  
        if($document->is_success) {  
                    open(OUT, "> $path/$filename");  
                print OUT $document->content;  
                close(OUT);  
            print "Downloading $url ";  
            print "- ok\n";  
        }  
        else {  
            print "$url ",$document->status_line,"\n";  
        }  
        }  
        else {  
#        print "$filename - exist\n";  
        }  
    }  
    else {  
        print "$url ",$document->status_line,"\n";  
    }  
}


Почему-то не работает:
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em002_32_n3.nup)
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em004_32_l1.nup)
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em004_32_n7.nup)
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em003_32_n4.nup)
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em011_32_l1.nup)
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em008_32_n7.nup)
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em002_32_n1.nup)
get: Ошибка доступа: 401 Authorization Required (/download/engine3/em002_32_l2.nup)

Что не так с авторизацией в этом скрипте? Логин и пароль подходят к сайту, если например из браузера качать http://u30.eset.com/download/engine3/em011_32_n1.nup

Ответить | Правка | Наверх | Cообщить модератору

4. "Локальное зеркало сервера обновлений NOD32"  +/
Сообщение от PbIXTOP (?), 20-Ноя-07, 18:30 
            my $req = HTTP::Request->new(GET => "$url");  
            $req->authorization_basic('login', 'password');  
Эти строчки тебе не кажутся подозрительными ?
Кажется надо вот так, а потом креститься
            $req->authorization_basic($login, $password);  

Ответить | Правка | Наверх | Cообщить модератору

5. "Локальное зеркало сервера обновлений NOD32"  +/
Сообщение от Acid_Scorpionemail (?), 18-Дек-07, 10:07 
Ребята, ну что вы ерундой занимаетесь. Eset уже все за вас придумала. Устанавливаем esets.i386.tgz.bin (ищите сами или обращайтесь, вышлю). Там есть утилитка esets_update и подробный ман с конфигами.
Ответить | Правка | Наверх | Cообщить модератору

6. "Локальное зеркало сервера обновлений NOD32"  +/
Сообщение от Acid_Scorpionemail (?), 18-Дек-07, 10:10 
Sorry, в верхнем посте был неправильный мыльник.
Ответить | Правка | Наверх | Cообщить модератору

7. "Локальное зеркало сервера обновлений NOD32"  +/
Сообщение от lamka (ok), 20-Май-08, 23:27 
# PERL downloader  
    $url =~ m/(.*:\/\/)(.*)\/(.*)/;
    my $filename = $3;
    my $ua=LWP::UserAgent->new();
    $ua->agent("NOD32/0.1");
    my $req = HTTP::Request->new(HEAD => "$url");
    $req->authorization_basic($login, $pass);
    my $document=$ua->request($req);
    if($document->is_success) {
        if (!($document->content_length== -s("$path/$filename"))) {
            my $req = HTTP::Request->new(GET => "$url");
            $req->authorization_basic('login', 'password');
            my $document=$ua->request($req);
        if($document->is_success) {
                    open(OUT, "> $path/$filename");
                print OUT $document->content;  
                close(OUT);
            print "Downloading $url ";
            print "- ok\n";
        }
        else {
            print "$url ",$document->status_line,"\n";
        }
        }
        else {
        print "$filename - exist\n";
        }
    }
    else {
        print "$url ",$document->status_line,"\n";
    }


А как тут сделать, чтобы в случае, если файл уже существует, он перезаписывался на новоскаченный?
В NOD32 3.0 у файлов баз одинаковые имена сделали.

Ответить | Правка | Наверх | Cообщить модератору

8. "Локальное зеркало сервера обновлений NOD32"  +/
Сообщение от Ikaemail (?), 23-Май-08, 10:04 
Пришлите пожалуйста esets.i386.tgz.bin. Очень надо!
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

9. "Локальное зеркало сервера обновлений NOD32"  +/
Сообщение от Hideaki (?), 09-Июн-08, 08:25 
>Пришлите пожалуйста esets.i386.tgz.bin. Очень надо!

http://download1.eset.com/special/esetsbeta/esets.i386.tgz.bin

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру