View difference between Paste ID: wiYuR0xE and qe6wQMYr
SHOW: | | - or go back to the newest paste.
1
#!/usr/bin/perl
2
$|=1;
3
while (<>) {
4
@X = split;
5
if ($X[0] =~ m/^http.*/) {
6
	$url		= $X[0];
7
	$referer	= $X[1];
8
	$urlreferer	= $X[0] ." ". $X[1];	
9
} else { 
10
	$chanel		= $X[0];
11
	$url		= $X[1];
12
	$referer	= $X[2];
13
	$urlreferer	= $X[1] ." ". $X[2];
14
}
15
16
#youtube googlevideo
17
if ($url =~ m/^https?\:\/\/.*google.*video(playback|goodput).*/){
18
	@cpn	= m/[=%&?\/]cpn[=%&?\/]([^\&\s]*)/;
19
	@id	= m/[=%&?\/]id[=%&?\/]([^\&\s]*)/;
20
	@itag	= m/[=%&?\/]itag[=%&?\/]([\d]*)/;
21
	@range	= m/[=%&?\/]range[=%&?\/]([\d]*-[\d]*)/;
22
	@mime	= m/[=%&?\/]mime[=%&?\/]([^\&\s]*)/;
23
	if ($referer =~ m/^https?\:\/\/(www|gaming)\.youtube\.com\/(watch\?v|embed|v)[=%&?\/]([^\&\s\?]*)/){
24
		@id	= $3;
25
	} else {
26
		if (defined(@cpn[0])){
27
			if (-e "/var/log/squid/@cpn"){
28
				open FILE, "/var/log/squid/@cpn";
29
				@id = <FILE>;
30
				close FILE;
31
			}
32
		}
33
	}
34
	$out="OK store-id=http://squid/google/video/id=@id/itag=@itag/mime=@mime/range=@range";
35
36
#youtube parameter
37
} elsif (
38
	($url =~ m/^https?\:\/\/.*youtube.*(stream_204|watchtime|qoe|atr|csi_204|playback).*[=%&?\/]docid[=%&?\/]([^\&\s]*)/) ||
39
	($url =~ m/^https?\:\/\/.*youtube.*(ptracking|set_awesome).*[=%&?\/]video_id[=%&?\/]([^\&\s]*)/) ||
40
	($url =~ m/^https?\:\/\/.*youtube.*(player_204).*[=%&?\/]v[=%&?\/]([^\&\s]*)/)
41
	){
42
	@id	= $2;
43
	@cpn    = m/[=%&?\/]cpn[=%&?\/]([^\&\s]*)/;
44
	if ($referer !~ m/^https?\:\/\/(www|gaming)\.youtube\.com\/(watch\?v|embed|v)[=%&?\/]([^\&\s\?]*)/){
45
		unless (-e "/var/log/squid/@cpn"){
46
			open FILE, ">/var/log/squid/@cpn";
47
			print FILE @id;
48
			close FILE;
49
		}
50
	}
51
	$out = "ERR";
52
53
#utmgif
54
} elsif ($url =~ m/^https?\:\/\/www\.google-analytics\.com\/__utm\.gif\?.*/) {
55
	$out="OK store-id=http://squid/google-analytics/__utm.gif";
56
57
#fbcdn.net or akamaihd.net video range
58
} elsif ($url =~ m/^https?\:\/\/.*(fbcdn\.net|akamaihd\.net).*\/([\w-]+\.[\w]{2,4}).*(bytestart[=%&?\/][\d]+[&\/]byteend[=%&?\/][\d]+)/) {
59
	$out="OK store-id=http://squid/$1/$2/$3";
60
61
#fbcdn.net or akamaihd.net with size
62
} elsif ($url =~ m/^https?\:\/\/.*(fbcdn\.net|akamaihd\.net).*\/([a-zA-Z][\d]+[x][\d]+\/[\w-]+\.[\w]{2,4})($|\?)/) {
63
	$out="OK store-id=http://squid/$1/$2";
64
65
#fbcdn.net or akamaihd.net safe_image.php
66
} elsif ($url =~ m/^https?\:\/\/.*(fbcdn\.net|akamaihd\.net).*\/safe_image\.php\?(.*)/) {
67
	$out="OK store-id=http://squid/$1/$2";
68
69
#reverbnation
70
} elsif ($url =~ m/^https?\:\/\/c2lo\.reverbnation\.com\/audio_player\/ec_stream_song\/(.*)\?.*/) {
71
	$out="OK store-id=http://squid/reverbnation/$1";
72
 
73
#playstore
74
} elsif ($url =~ m/^https?\:\/\/.*\.c\.android\.clients\.google\.com\/market\/GetBinary\/GetBinary\/(.*\/.*)\?.*/) {
75
	$out="OK store-id=http://squid/android/market/$1";
76
77
78
#filehost
79
} elsif ($url =~ m/^https?\:\/\/.*datafilehost.*\/get\.php.*file\=(.*)/) {
80
	$out="OK store-id=http://squid/datafilehost/$1";
81
82
83
#speedtest
84
} elsif ($url =~ m/^https?\:\/\/.*(speedtest|espeed).*\/(.*\.(txt|jpg)).*/) {
85
	$out="OK store-id=http://squid/speedtest/$2";
86
87
88
#filehippo
89
} elsif ($url =~ m/^https?\:\/\/.*\.filehippo\.com\/.*\/([\w-]+\.[\w]{2,4})\?.*/) {
90
	$out="OK store-id=http://squid/filehippo/$1";
91
92
93
#4shared preview.mp3
94
} elsif ($url =~ m/^https?\:\/\/.*\.4shared\.com\/.*\/(.*\/.*)\/dlink.*preview.mp3/) {
95
	$out="OK store-id=http://squid/4shared/preview/$1";
96
97
#4shared
98
} elsif ($url =~ m/^https?\:\/\/.*\.4shared\.com\/download\/(.*\/.*)\?tsid.*/) {
99
	$out="OK store-id=http://squid/4shared/download/$1";
100
101
#savefile-animeindo.tv
102
} elsif ($url =~ m/^https?:\/\/www\.savefile\.co\:182\/.*\/(.*\.(mp4|flv|3gp)).*/) {
103
	$out="OK store-id=http://squid/savefile:182/$1";
104
105
#imdb
106
} elsif ($url =~ m/^https?\:\/\/video\-http\.media\-imdb\.com\/(.*\.mp4)\?.*/) {
107
	$out="OK store-id=http://squid/imdb/$1";
108
109
#sourceforge
110
} elsif ($url =~ m/^https?\:\/\/.*\.dl\.sourceforge\.net\/([\w-]+\.[\w]{2,3})/) {
111
	$out="OK store-id=http://squid/sourceforge/$1";
112
113
#steampowered dota 2
114
} elsif ($url =~ m/^https?\:\/\/(.*steam(powered|content).*\/(client|depot)\/[\d]+\/(chunk|manifest)\/[^\?\s]*).*/) {
115
	$out="OK store-id=http://squid/$1";
116
117
} else {
118
	$out="ERR";
119
}
120
121
if ($X[0] =~ m/^http.*/) {
122
	print "$out\n";
123
} else {
124
	print "$chanel $out\n";
125
}
126
}