Advertisement
Guest User

Untitled

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