Advertisement
Guest User

Untitled

a guest
May 31st, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 2.45 KB | None | 0 0
  1. use News::NNTPClient;
  2. use Digest::MD5 (md5_hex);
  3. use Time::Local;
  4. use Data::Dumper;
  5. use DBI;
  6.  
  7. $db_handle = DBI->connect("DBI:mysql:database=nzbtest;user=nzbtest;password=zzzz;host=localhost", {AutoCommit => 1}) or die $DBI::errstr;
  8.  
  9. my %server = (
  10.         host => "zzzz",
  11.         port => 8888,
  12.         user => "zzz",
  13.         pass => "zzz",
  14.         );
  15.  
  16. $test = 0;
  17. $c = new News::NNTPClient($server{host}, $server{port});
  18. $c->authinfo($server{user}, $server{pass}) or die $!;
  19. $c->mode_reader;
  20.  
  21. ($first, $last) = $c->group("alt.binaries.boneless");
  22.  
  23. $start = $last-50000;
  24. $finish = $last;
  25.  
  26. $sth = $db_handle->prepare("INSERT ignore INTO `segments` (`msg-id`,`part`,`md5`,`date`,`size`) VALUES (?, ?, ?, ?, ?)");
  27. $sthz = $db_handle->prepare("INSERT IGNORE INTO `files` (`ArticleID`,`md5`,`subject`,`startdate`,`from`,`total`) VALUES (?, ?, ?, ?, ?, ?)");
  28.  
  29. my @shit = $c->xover($start,$finish);
  30.         my $i=0;
  31.         while($i<=50000) {
  32.                 $shit[$i] =~ /^(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)/;
  33.                 my $articleid = $1;
  34.                 my $subject = $2;
  35.                 my $from = $3;
  36.                 my $date = $4;
  37.                 my $size = $7;
  38.                 my $msgid = substr $5,1,-1;
  39.                 if ($subject =~ /^(.*)\"(.*)\"(.*)yEnc\s?\((\d{1,6})\/(\d{1,6})\)/i) {
  40.                         my $md5 = md5_hex($1,$2.$3.$5.$from);
  41.                         my $part = $4;
  42.                         my $total = $5;
  43.                         $date =~ /(\d{1,2})\s(\S{1,3})\s(\d{4})\s(\d{2}):(\d{2}):(\d{2})/;
  44.                         $date = timegm($6,$5,$4,$1,$months{$2},$3);
  45.                         $subject = $db_handle->quote($subject);
  46.                         ##$db_handle->do("INSERT ignore INTO `segments` (`msg-id`,`part`,`md5`,`date`,`size`) VALUES ('$msgid',$part,'$md5','$date','$size')");
  47.                         $sth->execute($msgid,$part,$md5,$date,$size);
  48.                         if ($part =~ /^0*1$/) {
  49.                                 ##$db_handle->do("INSERT IGNORE INTO `files` (`ArticleID`,`md5`,`subject`,`startdate`,`from`,`total`) VALUES ('$articleid','$md5',$subject,'$date','$from','$total')");
  50.                                 $sthz->execute($articleid,$md5,$subject,$date,$from,$total);
  51.                         }
  52.                 }
  53.                 else{
  54.                         print "Non yEnc\n";
  55.                         $test++;
  56.                 }
  57.         $i++;
  58.         }
  59.  
  60. print $test;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement