Advertisement
suprianto

StoreUnix

Feb 19th, 2015
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. #!/usr/bin/perl
  2. # this config created & modif by anonymouse_squidunix beta-1 on andofujikinzoku@yahoo.com
  3. # https://www.facebook.com/ando.fujikinzoku
  4.  
  5. #### var
  6. use IO::File;
  7. $|=1;
  8. STDOUT->autoflush(1);
  9. $debug=1; ## recommended:0
  10. $bypassallrules=0; ## recommended:0
  11. $sucks=""; ## unused
  12. $sucks="sucks" if ($debug>=1);
  13. $timenow="";
  14. $printtimenow=1; ## print timenow: 0|1
  15. my $logfile = '/var/log/squid/store-id.log';
  16. open my $logfh, '>>', $logfile
  17. or die "Couldn't open $logfile for appending: $!\n" if $debug;
  18. $logfh->autoflush(1) if $debug;
  19.  
  20. while (<>) {
  21. $timenow=time()." " if ($printtimenow);
  22. print $logfh "$timenow"."in : $_" if ($debug>=1);
  23. ##print $logfh "in : $_\n" if ($debug>=1);
  24. chop; ## strip eol
  25. my $urlku = $_;
  26. @X = split(" ",$urlku);
  27. $a = $X[0]; ## url
  28. $b = $X[1]; ##
  29. #$c = $X[2]; ##
  30. $u = $a; ## url
  31.  
  32. if ($bypassallrules) {
  33. $out="$u"; ## map 1:1
  34.  
  35. # send link from youtube contain >> (ptracking|stream_204|player_204|gen_204) to store-id
  36. # youtube config created by ucok_karnadi(at)yahoo.com or https://twitter.com/syaifuddin_jw <== modif by me ==> anonymouse_squidunix
  37. # spesial thankz to ucok_karnadi a.k.a syaifuddin_jw
  38. #
  39. #} elsif ($X[1] =~ m/^http(|s)\:\/\/.*youtube.*(ptracking|stream_204|player_204|gen_204).*(video_id|docid|v)\=([^\&\s]*).*/) {
  40. } elsif ($u =~ m/^http(|s)\:\/\/.*(youtube|google).*(ptracking|stream_204|playback|player_204|gen_204|watchtime|set_awesome|get_video|s\?|ads|qoe|csi).*(video_id|docid|\&v|content_v)\=([^\&\s]*).*/) {
  41. $vid = $5 ;
  42. @cpn = m/[&?]cpn\=([^\&\s]*)/;
  43. if (defined($vid )) {
  44. $fn = "/var/log/squid/youtube/@cpn";
  45. unless (-e $fn ) {
  46. open FH,">".$fn ;
  47. print FH "$vid\n";
  48. close FH;
  49. }
  50. }
  51. $out = "ERR\n" ;
  52.  
  53. # youtube on iphone(apple-devices) and Black-Berry(BB) beta-1
  54. # youtube on browser
  55. } elsif ($u =~ m/^https?\:\/\/.*(youtube|google).*videoplayback.*/) {
  56. @cpn = m/[^\/\&]?cpn[\/|\=]([^\&\s]*)/;
  57. if (defined($cpn[0])) {
  58. $fn = "/var/log/squid/youtube/@cpn";
  59. if (-e $fn ) {
  60. open FH,"<".$fn ;
  61. $id = <FH>;
  62. chomp $id ;
  63. close FH;
  64.  
  65. @itag = m/[&?\/](itag[=\/]\d*)/;
  66. $itag[0] =~ s/\//\=/g;
  67. #@ids = m/[\/\&]?id[\/|\=]([^\/\&\s]*)/;
  68. #@mime = m/[\/\&]?(mime[\/|\=][^\/\&\s\%]*)/;
  69. @slices = m/[\/?]slices\%3D\d\-\d+,([\d-\d]*)/;
  70. #@cver = m/[^\/\&]?(cver[\/|\=][^\&\s]*)/;
  71. #@clen = m/[^\/\=\&]?(clen[\/|\=][^\s\&\;]*)/;
  72. @range = m/[&?](range=[^\&\s]*)/;
  73. if (defined($range[0]))/) {
  74. $out="OK store-id=http://video-srv.youtube.squidunix.internal/id=" . $id . "&@itag@range";
  75. } else {
  76. $z = @slices ;
  77. $out="OK store-id=http://video-srv.youtube.squidunix.internal/id=" . $id . "&@itag&@range=" . $z . "\n";
  78. }
  79. }
  80. } else {
  81. $out="ERR";
  82. }
  83. } else {
  84. $out="ERR";
  85. }
  86. print $logfh "$timenow"."out: $out\n" if ($debug>=1);
  87. print "$out\n";
  88. }
  89. close $logfh if ($debug);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement