Проба пера: статья о создании зеркала для NOD32
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
меняйте ключ,и перекачивайте
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
блин че то я уже ничего понять не могу ... киньте ссылку на 10000% рабочий скрипт ...
Числа не управляют миром, но могут показать как управляется мир
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
у вас какая ОС? ну логи происходящего дайте!хрен знает что вы там творите!скрипт от HSDN написан только под фрю и работает не на одном зеркале без сбоев!на лине мне не удалось его завести...
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Я так понял скрипт от HSDN без поиска ключей (( а хотелось бы с поиском )
Числа не управляют миром, но могут показать как управляется мир
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
зато работает без проблем.да и нарыть ключи -вообще не проблема.у мея софтина есть под винду,которая сама ключи таскает.если хочешь с ключами то вот http://forum.lissyara.su/viewtopic.php? ... 64&start=0
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
ссылку которую вы дали .... там надо сверху наворотить мускуль и еще что то .... изначально скрипт в статье ведь ищет автоматом ключи .... почему тут нет ((((
Числа не управляют миром, но могут показать как управляется мир
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
если вы тему бы почитали -то поняли что надо почистить старые нерабочие ключи за пару баксов легко могу настроить
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Народ короче решил я написать собственный ... точнее собрать из частей ....
в статье на сайте лежит архив ... там в архиже есть папка lib и в ней дежит keys.pm следующего содержания:
так вот вопрос, как переделать этот файлик ... что бы он работал самостоятельна? тоесть выполняем например
./keys.pm
и он в текстовый файл ложит ключик ...
в статье на сайте лежит архив ... там в архиже есть папка lib и в ней дежит keys.pm следующего содержания:
Код: Выделить всё
package keys;
use FindBin;
use lib $FindBin::Bin . "";
use strict;
use LWP::UserAgent;
use Data::Dumper;
use HTTP::Cookies;
our $page;
our $start = "";
our $advanced = 0;
if (defined($ARGV[0]) && defined($ARGV[1])) {
chomp $ARGV[0];
chomp $ARGV[1];
robot("http://www.google.com/search?q=something");
sleep 5;
robot("http://google.com/sorry/Captcha?id=$ARGV[0]&captcha=$ARGV[1]&continue=http://www.google.com/search%3Fq%3Dnod32%2BEAV-*%2BOR%2BAV-*%26hl%3Den%26safe%3Doff%26as_qdr%3Dw");
}
sub start {
if (!init()) {
$advanced = 1;
$page = 0;
$start = "";
init();
}
}
sub init {
my $status;
my $google = "http://www.google.com/search?q=nod32+EAV-*+OR+AV-*&hl=en&safe=off&as_qdr=w";
if (!$advanced) {
$status = google($google.$start);
} else {
$status = google_advanced($google.$start);
}
$page += 10;
$start = "&start=".$page;
if ($page > 400) {return 0;}
#Pause needed cause google is detecting bot
sleep 2;
if (!$status) {
init();
} else {
return 1;
}
}
sub google {
my $google = shift(@_);
if (!$google) {return 0};
my ($content, @username, @part1, @part2, $success);
my $ua = LWP::UserAgent->new(agent => 'Opera/9.25 (Windows NT 5.1; U; isp; ru)' ,
'cookie_jar' => {file => "$FindBin::Bin/lib/lwpcookies.txt", autosave => 1, ignore_discard => 1});
my $req = HTTP::Request->new(GET => $google);
$req->header('Accept' => 'text/html');
my $res = $ua->request($req);
if ($res->is_success) {
$content = $res->decoded_content;
}
else {
main::logging ("Error: $res->status_line");
}
if ($content =~ /<title>403 Forbidden<\/title>/) {robot();}
while ($content =~ /(eav-|av-)[<\/b>]*(\d+)/gi) {
push(@username, $1.$2);
push(@part2, $2);
}
for (my $i = 0; $i <= $#username; $i++) {
if ($content =~ /$part2[$i].{0,10} *password:* *([a-z0-9]{10})/igs) {
$success = test_key($username[$i], $1);
if ($success) {return 1;}
}
}
if (!$success) {
return 0;
}
}
sub test_key {
my ($username, $password) = @_;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
my $req = HTTP::Request->new(GET => "http://update.eset.com/download/engine3/em002_32_r0.nup");
$req->authorization_basic($username, $password);
my $res=$ua->request($req);
my $status=$res->status_line;
if ($status eq "200 OK") {
open (AUTHFILE, ">$FindBin::Bin/lib/nod32.auth");
print AUTHFILE "username=$username\npassword=$password";
close AUTHFILE;
main::logging("New key found! $username $password");
return 1;
} else {
return 0;
}
}
sub google_advanced {
my $google = shift(@_);
my ($content, $success);
my $ua = LWP::UserAgent->new(agent => "Opera/9.25 (Windows NT 5.1; U; isp; ru)" ,
'cookie_jar' => {file => "$FindBin::Bin/lib/lwpcookies.txt", autosave => 1, ignore_discard => 1});
my $req = HTTP::Request->new(GET => $google);
$req->header('Accept' => 'text/html');
my $res = $ua->request($req);
if ($res->is_success) {
$content = $res->decoded_content;
}
else {
main::logging("Error: $res->status_line");
}
if ($content =~ /<title>403 Forbidden<\/title>/) {robot()};
my @pages = split("<div class=(?:g |g>)|<div id=navbar class=n>", $content);
shift(@pages);pop(@pages);
for (my $i = 0; $i <= $#pages; $i++) {
if ($pages[$i] =~ /(?:eav-|av-)[<\/b>]*\d+/gi) {
$pages[$i] =~ /\G.+<a class=fl href=\"(.+)\">Cached<\/a> -/;
#Pause needed cause google is detecting bot
sleep 2;
google($1);
}
}
}
sub robot {
my $google = "http://www.google.com/search?q=nod32+EAV-*+OR+AV-*&hl=en&safe=off&as_qdr=w";
if (defined($_[0])) {$google = $_[0];}
my ($content, $success);
my $cookie_jar = HTTP::Cookies->new;
my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461)' ,
'cookie_jar' => {file => "$FindBin::Bin/lib/lwpcookies.txt", autosave => 1, ignore_discard => 1});
my $req = HTTP::Request->new(GET => $google);
$cookie_jar->add_cookie_header($req);
my $res = $ua->request($req);
if ($res->is_success) {
$content = $res->decoded_content;
}
else {
main::logging ("Error: $res->status_line");
}
if (!defined($_[0])) {
$content =~ /<img src=\"(\/sorry\/image\?id=)(\d+)\" border="1"/s;
my $err = "Google detected robot. Open this link in browser: http://google.com$1$2 \nRun script with this parameters: perl upd.pl $2 letters_from_captcha_image";
main::logging($err);
}
return;
}
1;
./keys.pm
и он в текстовый файл ложит ключик ...
Числа не управляют миром, но могут показать как управляется мир
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
совет-не зная перла,лучше не лезьте.чем скрипты то не угодили?что не получается?
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Народ ну разве никто ни переделывал скрипт? что бы работал без мускуля, но с поиском ключей
Числа не управляют миром, но могут показать как управляется мир
- Alex Keda
- стреляли...
- Сообщения: 35456
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
лень
из 22 ключей что были в комплекте, работают ещё два последних
как тока перестанут - можно подумать и напилить своё.
из 22 ключей что были в комплекте, работают ещё два последних
как тока перестанут - можно подумать и напилить своё.
Убей их всех! Бог потом рассортирует...
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Проба пера: статья о создании зеркала для NOD32
_http://forum.ru-board.com/topic.cgi?forum=35&topic=45154&start=20#15
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- Alex Keda
- стреляли...
- Сообщения: 35456
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
> Извините, гости не могут заходить в этот форум. Пожалуйста зарегистрируйтесь!.
зачем давать такие ссылки?
зачем давать такие ссылки?
Убей их всех! Бог потом рассортирует...
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Проба пера: статья о создании зеркала для NOD32
да кто знал что там такая вещь?
Там предлагают rsync, просят не афишировать логин и пароль поэтому наверное и закрыли.
Там предлагают rsync, просят не афишировать логин и пароль поэтому наверное и закрыли.
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Что есть rsyns ? вопрос сейчас другого плана ... переделать малость конфиг ...
Числа не управляют миром, но могут показать как управляется мир
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Проба пера: статья о создании зеркала для NOD32
Проще переписать полностью скриптtray.irk писал(а):Что есть rsyns ? вопрос сейчас другого плана ... переделать малость конфиг ...
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
да зачем же ... есть ведь готовая часть скрипта ... как раз та часть которая ищет ключ и складывает в файл .... только его надо переделать в самостаятельный скрипт
Числа не управляют миром, но могут показать как управляется мир
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
ребята!не надо изобретать велосипед!ключей нет?Nod_Gen_v.1.4 вам в помощь.не получится склеить несколько скриптов в один.почему я использую скрипт от HSDN-он единственный точно копирует содержание баз для нода,включая update.ver,весящий всего 3.5 килобайта,а не 40 как у других скриптов.по сути это архив.да и сделать так что б поставил и забыл-тоже не получится,нодовцы иногода прикалываются-пустой update.ver выкидывают.а вот чего не хватает -так это логирования и отправки на мыло,что неудобно.я вот сейчас работаю над тем чтоб после обновления -мне приходили на почту данные о том что происходило,что качало...но пока безуспешно.поставил ssmtp - вручную отправляет через гугловский ящик данные,все нормально.но вот в кроне не хочет почему то.
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Ну почему же не получится то? еси изначально в статье все работает, и он ищет ключи ... а отправка почты (логирование) сделать что нить типа того
создать файлик например upd.sh в него вписать
или же сделать вывод в perl фале ... что нить типа ... (на примере готового)
а в том месте где надо выводить лог ... пишем main:logging "text" ..... кажись как то так, на 40% уверен ...
создать файлик например upd.sh в него вписать
Код: Выделить всё
#!/bin/sh
perl /путь до скрипта
echo "Прошло обновление!" | mail -s "NOD32" test@mail.ru
Код: Выделить всё
sub logging {
if ($nolog) {return};
open (LOGFILE, ">>$path/nod32.log");
my $datetime = localtime (time);
my $log = sprintf("%02d-%02d-%02d", $datetime->mday(), ($datetime->mon()+1), ($datetime->year()+1900))
. sprintf(" %02d:%02d:%02d", $datetime->hour(), $datetime->min(), $datetime->sec()) . " " . $_[0] . "\n";
print LOGFILE $log;
}
close LOGFILE;
Числа не управляют миром, но могут показать как управляется мир
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
вот и нужны спецы по перлу!Proftp надо припречь,он у нас гуру
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Сайчас сижу переделываю скрипт ... уже почти близок ...
1) сделал поиск ключа
2) загрузка файлов
но блин ключ попадается дохлый ... и он его почему то пропускает (((
1) сделал поиск ключа
2) загрузка файлов
но блин ключ попадается дохлый ... и он его почему то пропускает (((
Числа не управляют миром, но могут показать как управляется мир
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Всё!!!!!!!!! сделал пользуйтесь на здоровье ... ложим 2 скрипта такого содержания в какую нить диру ... и запускаем ))) только не забываем дать права скриптам при помощи chmod
Создавать диры не надо!!!! Он сам создаст!!!!!
Если есть вопросы, пишите ... ОТВЕЧУ
Создавать диры не надо!!!! Он сам создаст!!!!!
Если есть вопросы, пишите ... ОТВЕЧУ
Код: Выделить всё
freebsd# cat keys.pm
package keys;
use FindBin;
use lib $FindBin::Bin . "";
use strict;
use LWP::UserAgent;
use Data::Dumper;
use HTTP::Cookies;
our $page;
our $start = "";
our $advanced = 0;
if (defined($ARGV[0]) && defined($ARGV[1])) {
chomp $ARGV[0];
chomp $ARGV[1];
robot("http://www.google.com/search?q=something");
sleep 5;
robot("http://google.com/sorry/Captcha?id=$ARGV[0]&captcha=$ARGV[1]&continue=http://www.google.com/search%3Fq%3Dnod32%2BEAV-*%2BOR%2BAV-*%26hl%3Den%26safe%3Doff%26as_qdr%3Dw");
}
sub start {
if (!init()) {
$advanced = 1;
$page = 0;
$start = "";
init();
}
}
sub init {
my $status;
my $google = "http://www.google.com/search?q=nod32+EAV-*+OR+AV-*&hl=en&safe=off&as_qdr=w";
if (!$advanced) {
$status = google($google.$start);
} else {
$status = google_advanced($google.$start);
}
$page += 10;
$start = "&start=".$page;
if ($page > 400) {return 0;}
#Pause needed cause google is detecting bot
sleep 2;
if (!$status) {
init();
} else {
return 1;
}
}
sub google {
my $google = shift(@_);
if (!$google) {return 0};
my ($content, @username, @part1, @part2, $success);
my $ua = LWP::UserAgent->new(agent => 'Opera/9.25 (Windows NT 5.1; U; isp; ru)' ,
'cookie_jar' => {file => "$FindBin::Bin/lwpcookies.txt", autosave => 1, ignore_discard => 1});
my $req = HTTP::Request->new(GET => $google);
$req->header('Accept' => 'text/html');
my $res = $ua->request($req);
if ($res->is_success) {
$content = $res->decoded_content;
}
else {
print "Error: $res->status_line\n";
}
if ($content =~ /<title>403 Forbidden<\/title>/) {robot();}
while ($content =~ /(eav-|av-)[<\/b>]*(\d+)/gi) {
push(@username, $1.$2);
push(@part2, $2);
}
for (my $i = 0; $i <= $#username; $i++) {
if ($content =~ /$part2[$i].{0,10} *password:* *([a-z0-9]{10})/igs) {
$success = test_key($username[$i], $1);
if ($success) {return 1;}
}
}
if (!$success) {
return 0;
}
}
sub test_key {
my ($username, $password) = @_;
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
my $req = HTTP::Request->new(GET => "http://update.eset.com/download/engine3/em002_32_r0.nup");
$req->authorization_basic($username, $password);
my $res=$ua->request($req);
my $status=$res->status_line;
if ($status eq "200 OK") {
open (AUTHFILE, ">$FindBin::Bin/nod32.key");
print AUTHFILE "username=$username\npassword=$password";
close AUTHFILE;
print "New key found!\n $username\n $password\n";
return 1;
} else {
return 0;
}
}
sub google_advanced {
my $google = shift(@_);
my ($content, $success);
my $ua = LWP::UserAgent->new(agent => "Opera/9.25 (Windows NT 5.1; U; isp; ru)" ,
'cookie_jar' => {file => "$FindBin::Bin/lwpcookies.txt", autosave => 1, ignore_discard => 1});
my $req = HTTP::Request->new(GET => $google);
$req->header('Accept' => 'text/html');
my $res = $ua->request($req);
if ($res->is_success) {
$content = $res->decoded_content;
}
else {
print "Error: $res->status_line\n";
}
if ($content =~ /<title>403 Forbidden<\/title>/) {robot()};
my @pages = split("<div class=(?:g |g>)|<div id=navbar class=n>", $content);
shift(@pages);pop(@pages);
for (my $i = 0; $i <= $#pages; $i++) {
if ($pages[$i] =~ /(?:eav-|av-)[<\/b>]*\d+/gi) {
$pages[$i] =~ /\G.+<a class=fl href=\"(.+)\">Cached<\/a> -/;
#Pause needed cause google is detecting bot
sleep 2;
google($1);
}
}
}
sub robot {
my $google = "http://www.google.com/search?q=nod32+EAV-*+OR+AV-*&hl=en&safe=off&as_qdr=w";
if (defined($_[0])) {$google = $_[0];}
my ($content, $success);
my $cookie_jar = HTTP::Cookies->new;
my $ua = LWP::UserAgent->new(agent => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; T312461)' ,
'cookie_jar' => {file => "$FindBin::Bin/lwpcookies.txt", autosave => 1, ignore_discard => 1});
my $req = HTTP::Request->new(GET => $google);
$cookie_jar->add_cookie_header($req);
my $res = $ua->request($req);
if ($res->is_success) {
$content = $res->decoded_content;
}
else {
print "Error: $res->status_line\n";
}
if (!defined($_[0])) {
$content =~ /<img src=\"(\/sorry\/image\?id=)(\d+)\" border="1"/s;
my $err = "Google detected robot. Open this link in browser: http://google.com$1$2 \nRun script with this parameters: perl upd.pl $2 letters_from_captcha_image";
print "$err\n";
}
return;
}
1;
Код: Выделить всё
freebsd# cat nod32.sh
#!/usr/bin/perl
use FindBin;
use lib $FindBin::Bin;
use keys;
#use lib::keys;
keys::start();
open(AUTHFILE, "/home/tray/1/nod32.key"); # тут меняем на /дира_где_лежит_скрипт/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";
$PATH = "/home/tray/1"; # тут меняем на /дира_где_лежит_скрипт
$TMP = "/home/tray/1/tmp"; # тут меняем на /дира_где_лежит_скрипт/tmp
system("mkdir -p $TMP");
%servers = (
'http://u46.eset.com',
'http://u21.eset.com'
);
%versions = ("nod_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");
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);
Числа не управляют миром, но могут показать как управляется мир
- server801
- ст. лейтенант
- Сообщения: 1421
- Зарегистрирован: 2008-09-27 21:15:16
- Откуда: Саратов
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Код: Выделить всё
./nod32.sh
Can't locate keys.pm in @INC (@INC contains: /usr/home/raven/test /usr/local/lib/perl5/5.8.9/BSDPAN /usr/local/lib/perl5/site_perl/5.8.9/mach /usr/local/lib/perl5/site_perl/5.8.9 /usr/local/lib/perl5/5.8.9/mach /usr/local/lib/perl5/5.8.9 .) at ./nod32.sh line 5.
BEGIN failed--compilation aborted at ./nod32.sh line 5.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
путь к keys.pm
не может найти
use lib $FindBin::Bin . "";
напиши тут
use lib '///';
не может найти
use lib $FindBin::Bin . "";
напиши тут
use lib '///';
- tray.irk
- сержант
- Сообщения: 266
- Зарегистрирован: 2008-10-22 8:21:36
- Откуда: Иркутск
- Контактная информация:
Re: Проба пера: статья о создании зеркала для NOD32
Ни чего добавлять не надо .... все работает! Сегодня проверю на другой машине ... и отпишусь
Числа не управляют миром, но могут показать как управляется мир