#!/usr/bin/perl $|=1; while (<>) { @X = split; if ($X[0] =~ m/^https?\:\/\/.*/) { $x = $X[0]; $_ = $X[0]; $u = $X[0]; } else { $x = $X[1]; $_ = $X[1]; $u = $X[1]; } #ads youtube if ($x=~ m/^https?\:\/\/.*youtube.*api.*stats.*ads.*/){ @content_v = m/[&?]content_v\=([^\&\s]*)/; @cpn = m/[%&?\/](cpn[%&=\/][^\&\s\/]*)/; unless (-e "/tmp/@cpn"){ open FILE, ">/tmp/@cpn"; print FILE "id=@content_v"; close FILE; } $out="ERR"; #tracking youtube } elsif ($x=~ m/^https?\:\/\/.*youtube.*(ptracking|set_awesome).*/){ @video_id = m/[&?]video_id\=([^\&\s]*)/; @cpn = m/[%&?\/](cpn[%&=\/][^\&\s\/]*)/; unless (-e "/tmp/@cpn"){ open FILE, ">/tmp/@cpn"; print FILE "id=@video_id"; close FILE; } $out="ERR"; #stream_204 youtube } elsif ($x=~ m/^https?\:\/\/.*youtube.*(stream_204|watchtime|qoe|atr).*/){ @docid = m/[&?]docid\=([^\&\s]*)/; @cpn = m/[%&?\/](cpn[%&=\/][^\&\s\/]*)/; unless (-e "/tmp/@cpn"){ open FILE, ">/tmp/@cpn"; print FILE "id=@docid"; close FILE; } $out="ERR"; #player_204 youtube } elsif ($x=~ m/^https?\:\/\/.*youtube.*player_204.*/){ @v = m/[&?]v\=([^\&\s]*)/; @cpn = m/[%&?\/](cpn[%&=\/][^\&\s\/]*)/; unless (-e "/tmp/@cpn"){ open FILE, ">/tmp/@cpn"; print FILE "id=@v"; close FILE; } $out="ERR"; #youtube } elsif ($x=~ m/^https?\:\/\/.*(youtube|googlevideo).*videoplayback.*title.*/){ @title = m/[%&?\/](title[%&=\/][^\&\s\/]*)/; @itag = m/[%&?\/](itag[%&=\/][^\&\s\/]*)/; @range = m/[%&?\/](range[%&=\/][^\&\s\/]*)/; $out="OK store-id=http://pc-mikrotik/youtube/@itag@title@range"; #youtube } elsif ($x=~ m/^https?\:\/\/.*(youtube|googlevideo).*videoplayback.*/){ @cpn = m/[%&?\/](cpn[%&=\/][^\&\s\/]*)/; @id = m/[%&?\/](id[%&=\/][^\&\s\/]*)/; @itag = m/[%&?\/](itag[%&=\/][^\&\s\/]*)/; @range = m/[%&?\/](range[%&=\/][^\&\s\/]*)/; @slices = m/[%&?\/](slices[%&=\/][^\&\s\/]*)/; @mime = m/[%&?\/](mime[%&=\/][^\&\s\/]*)/; if (defined(@cpn[0])){ if (-e "/tmp/@cpn"){ open FILE, "/tmp/@cpn"; @id = ; close FILE;} } $out="OK store-id=http://pc-mikrotik/youtube/@id@itag@mime@range@slices"; #utmgif } elsif ($x=~ m/^https?\:\/\/.*utm.gif.*/) { $out="OK store-id=http://pc-mikrotik/__utm.gif"; #reverbnation } elsif ($x=~ m/^https?\:\/\/c2lo\.reverbnation\.com\/audio_player\/ec_stream_song\/(.*)\?.*/) { $out="OK store-id=http://pc-mikrotik/reverbnation/" . $1; #playstore } elsif ($x=~ m/^https?\:\/\/.*\.c\.android\.clients\.google\.com\/market\/GetBinary\/GetBinary\/(.*\/.*)\?.*/) { $out="OK store-id=http://pc-mikrotik/android/market/" . $1; #filehost } elsif ($x=~ m/^https?\:\/\/.*datafilehost.*\/get\.php.*file\=(.*)/) { $out="OK store-id=http://pc-mikrotik/datafilehost/" . $1; #speedtest } elsif ($x=~ m/^https?\:\/\/.*(speedtest|espeed).*\/(.*\.(jpg|txt|png|bmp)).*/) { $out="OK store-id=http://pc-mikrotik/speedtest/" . $2; #filehippo } elsif ($x=~ m/^https?\:\/\/.*\.filehippo\.com\/.*\/(.*\/.*)/) { $out="OK store-id=http://pc-mikrotik/filehippo/" . $1; #4shared preview.mp3 } elsif ($x=~ m/^https?\:\/\/.*\.4shared\.com\/.*\/(.*\/.*)\/dlink.*preview.mp3/) { $out="OK store-id=http://pc-mikrotik/4shared/preview/" . $1; #4shared } elsif ($x=~ m/^https?\:\/\/.*\.4shared\.com\/download\/(.*\/.*)\?tsid.*/) { $out="OK store-id=http://pc-mikrotik/4shared/download/" . $1; #steampowered dota 2 } elsif ($x=~ m/^https?\:\/\/(media|valve).*steampowered.*\/(client|depot)\/(.*)/) { $out="OK store-id=http://" . $1 . "/steampowered/" . $2 . "/" . $3; #all url https store as http } elsif ($x=~ m/^https\:\/\/(.*)/) { $out="OK store-id=http://" . $1; } else { $out="ERR"; } if ($X[0] =~ m/^https?\:\/\/.*/) { print "$out\n"; } else { print $X[0] . " " . "$out\n"; } }