- Локальное зеркало сервера обновлений NOD32, Agressor, 20:53 , 12-Мрт-07 (1)
- Локальное зеркало сервера обновлений NOD32, lamka, 21:17 , 13-Ноя-07 (2)
для ворования обнов в версии 3.0 есть какие мысли?подскажите, откуда они качаются и по какому принципу, пожалуйста...
- Локальное зеркало сервера обновлений NOD32, lamka, 18:03 , 15-Ноя-07 (3)
>для ворования обнов в версии 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
- Локальное зеркало сервера обновлений NOD32, PbIXTOP, 18:30 , 20-Ноя-07 (4)
- Локальное зеркало сервера обновлений NOD32, Acid_Scorpion, 10:07 , 18-Дек-07 (5)
- Локальное зеркало сервера обновлений NOD32, Acid_Scorpion, 10:10 , 18-Дек-07 (6)
- Локальное зеркало сервера обновлений NOD32, lamka, 23:27 , 20-Май-08 (7)
# 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 у файлов баз одинаковые имена сделали.
- Локальное зеркало сервера обновлений NOD32, Ika, 10:04 , 23-Май-08 (8)
- Локальное зеркало сервера обновлений NOD32, Ralf, 11:17 , 28-Июн-10 (16)
|