Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- # this config created & modif by anonymouse_squidunix beta-1 on andofujikinzoku@yahoo.com
- # https://www.facebook.com/ando.fujikinzoku
- #### var
- use IO::File;
- $|=1;
- STDOUT->autoflush(1);
- $debug=1; ## recommended:0
- $bypassallrules=0; ## recommended:0
- $sucks=""; ## unused
- $sucks="sucks" if ($debug>=1);
- $timenow="";
- $printtimenow=1; ## print timenow: 0|1
- my $logfile = '/var/log/squid/store-id.log';
- open my $logfh, '>>', $logfile
- or die "Couldn't open $logfile for appending: $!\n" if $debug;
- $logfh->autoflush(1) if $debug;
- while (<>) {
- $timenow=time()." " if ($printtimenow);
- print $logfh "$timenow"."in : $_" if ($debug>=1);
- ##print $logfh "in : $_\n" if ($debug>=1);
- chop; ## strip eol
- my $urlku = $_;
- @X = split(" ",$urlku);
- $a = $X[0]; ## url
- $b = $X[1]; ##
- #$c = $X[2]; ##
- $u = $a; ## url
- if ($bypassallrules) {
- $out="$u"; ## map 1:1
- # send link from youtube contain >> (ptracking|stream_204|player_204|gen_204) to store-id
- # youtube config created by ucok_karnadi(at)yahoo.com or https://twitter.com/syaifuddin_jw <== modif by me ==> anonymouse_squidunix
- # spesial thankz to ucok_karnadi a.k.a syaifuddin_jw
- #
- #} elsif ($X[1] =~ m/^http(|s)\:\/\/.*youtube.*(ptracking|stream_204|player_204|gen_204).*(video_id|docid|v)\=([^\&\s]*).*/) {
- } 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]*).*/) {
- $vid = $5 ;
- @cpn = m/[&?]cpn\=([^\&\s]*)/;
- if (defined($vid )) {
- $fn = "/var/log/squid/youtube/@cpn";
- unless (-e $fn ) {
- open FH,">".$fn ;
- print FH "$vid\n";
- close FH;
- }
- }
- $out = "ERR\n" ;
- # youtube on iphone(apple-devices) and Black-Berry(BB) beta-1
- # youtube on browser
- } elsif ($u =~ m/^https?\:\/\/.*(youtube|google).*videoplayback.*/) {
- @cpn = m/[^\/\&]?cpn[\/|\=]([^\&\s]*)/;
- if (defined($cpn[0])) {
- $fn = "/var/log/squid/youtube/@cpn";
- if (-e $fn ) {
- open FH,"<".$fn ;
- $id = <FH>;
- chomp $id ;
- close FH;
- @itag = m/[&?\/](itag[=\/]\d*)/;
- $itag[0] =~ s/\//\=/g;
- #@ids = m/[\/\&]?id[\/|\=]([^\/\&\s]*)/;
- #@mime = m/[\/\&]?(mime[\/|\=][^\/\&\s\%]*)/;
- @slices = m/[\/?]slices\%3D\d\-\d+,([\d-\d]*)/;
- #@cver = m/[^\/\&]?(cver[\/|\=][^\&\s]*)/;
- #@clen = m/[^\/\=\&]?(clen[\/|\=][^\s\&\;]*)/;
- @range = m/[&?](range=[^\&\s]*)/;
- if (defined($range[0]))/) {
- $out="OK store-id=http://video-srv.youtube.squidunix.internal/id=" . $id . "&@itag@range";
- } else {
- $z = @slices ;
- $out="OK store-id=http://video-srv.youtube.squidunix.internal/id=" . $id . "&@itag&@range=" . $z . "\n";
- }
- }
- } else {
- $out="ERR";
- }
- } else {
- $out="ERR";
- }
- print $logfh "$timenow"."out: $out\n" if ($debug>=1);
- print "$out\n";
- }
- close $logfh if ($debug);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement