Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- # edited by suprianto_clg@yahoo.com
- # https://www.facebook.com/supri.anto.353
- use LWP::Simple;
- use CGI qw/unescape/;
- #### var
- use IO::File;
- $|=1;
- $timenow="";
- STDOUT->autoflush(1);
- $debug=1; ## recommended:0
- $bypassallrules=0; ## recommended:0
- $sucks=""; ## unused
- $sucks="sucks" if ($debug>=1);
- my $logfile = '/tmp/storeid.log';
- open my $logfh, '>>', $logfile
- or die "Couldn't open $logfile for appending: $!\n" if $debug;
- $logfh->autoflush(1) if $debug;
- while (<>) {
- chop;
- my $myurl = $_;
- @X = split(" ",$myurl);
- $chan = $X[0]; ## channel id
- $url = $X[1]; ## url
- $ip = $X[2]; ## ip address
- $anbel = $url; ## url
- print $logfh "in : $_\n" if ($debug>=1);
- if ($bypassallrules){
- $out="$anbel"; ## map 1:1
- } elsif ($anbel=~ 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 = "/tmp/@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 ($anbel=~ m/^https?\:\/\/.*(youtube|google).*videoplayback.*/) {
- @cpn = m/[^\/\&]?cpn[\/|\=]([^\&\s]*)/;
- if (defined($cpn[0])) {
- $fn = "/tmp/@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.anbel.SQUID/id=" . $id . "&@itag@range@mime";
- } else {
- $z = @slices ;
- $out="OK store-id=http://video-srv.youtube.anbel.SQUID/id=" . $id . "&@itag&@range=" . $z . "\n";
- }
- }
- } else {
- $out="ERR";
- }
- #?
- } elsif ($u=~ m/^https?\:\/\/(.*\/.*\?.*)/) {
- $out="OK store-id=http://" . $1;
- } else {
- $out="ERR";
- }
- print "$chan $out\n";
- #stlog(); #menampilkan storeurl.log hanya out saja
- }
- sub stlog {
- tie @array, 'Tie::File','/tmp/storeid.log';
- push @array, "$timenow out: $chan $out\n";
- untie @array;
- }
- close $logfh if ($debug);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement