version 2, including all changes.
.
Rev |
Author |
# |
Line |
2 |
AristotlePagaltzis |
1 |
(Using Squid 2.7) |
1 |
CraigWhitmore |
2 |
|
2 |
AristotlePagaltzis |
3 |
!! Configuration |
|
|
4 |
|
|
|
5 |
<verbatim> |
1 |
CraigWhitmore |
6 |
acl all src all |
|
|
7 |
acl manager proto cache_object |
|
|
8 |
acl localhost src 127.0.0.1/32 |
|
|
9 |
acl to_localhost dst 127.0.0.0/8 |
|
|
10 |
acl localnet1 src x.x.0.0/16 |
|
|
11 |
acl localnet2 src x.x.0.0/16 |
|
|
12 |
acl SSL_ports port 443 |
|
|
13 |
acl CONNECT method CONNECT |
|
|
14 |
|
|
|
15 |
http_access allow manager localhost |
|
|
16 |
http_access deny manager |
|
|
17 |
http_access deny !Safe_ports |
|
|
18 |
http_access deny CONNECT !SSL_ports |
|
|
19 |
http_access allow localnet |
|
|
20 |
http_access allow localnet1 |
|
|
21 |
http_access allow localnet2 |
|
|
22 |
http_access deny all |
|
|
23 |
icp_access allow localnet |
|
|
24 |
icp_access deny all |
|
|
25 |
http_port 3128 |
|
|
26 |
maximum_object_size_in_memory 65535 KB |
|
|
27 |
cache_dir ufs /usr/local/squid/var/cache 10000 16 256 |
|
|
28 |
maximum_object_size 65535 KB |
|
|
29 |
access_log /usr/local/squid/var/logs/access.log squid |
|
|
30 |
storeurl_rewrite_children 50 |
|
|
31 |
refresh_pattern ^ftp: 1440 20% 10080 |
|
|
32 |
refresh_pattern ^gopher: 1440 0% 1440 |
|
|
33 |
refresh_pattern -i \.flv$ 10080 90% 999999 ignore-no-cache override-expire ignore-private |
|
|
34 |
refresh_pattern ^http://sjl-v[0-9]+\.sjl\.youtube\.com 10080 90% 999999 ignore-no-cache override-expire ignore-private |
|
|
35 |
refresh_pattern get_video\?video_id 10080 90% 999999 ignore-no-cache override-expire ignore-private |
|
|
36 |
refresh_pattern youtube\.com/get_video\? 10080 90% 999999 ignore-no-cache override-expire ignore-private |
|
|
37 |
refresh_pattern . 0 20% 4320 |
|
|
38 |
acl apache rep_header Server ^Apache |
|
|
39 |
broken_vary_encoding allow apache |
|
|
40 |
coredump_dir /usr/local/squid/var/cache |
|
|
41 |
acl youtube dstdomain .youtube.com .googlevideo.com .video.google.com .video.google.com.au |
|
|
42 |
acl youtubeip dst 74.125.15.0/24 |
|
|
43 |
acl youtubeip dst 64.15.0.0/16 |
|
|
44 |
cache allow youtube |
|
|
45 |
cache allow youtubeip |
|
|
46 |
acl store_rewrite_list dstdomain mt.google.com mt0.google.com mt1.google.com mt2.google.com |
|
|
47 |
acl store_rewrite_list dstdomain mt3.google.com |
|
|
48 |
acl store_rewrite_list dstdomain kh.google.com kh0.google.com kh1.google.com kh2.google.com |
|
|
49 |
acl store_rewrite_list dstdomain kh3.google.com |
|
|
50 |
acl store_rewrite_list dstdomain kh.google.com.au kh0.google.com.au kh1.google.com.au |
|
|
51 |
acl store_rewrite_list dstdomain kh2.google.com.au kh3.google.com.au |
|
|
52 |
acl store_rewrite_list dstdomain .youtube.com |
|
|
53 |
storeurl_access allow store_rewrite_list |
|
|
54 |
storeurl_access deny all |
|
|
55 |
storeurl_rewrite_program /archives/youtube |
|
|
56 |
quick_abort_min -1 KB |
2 |
AristotlePagaltzis |
57 |
</verbatim> |
1 |
CraigWhitmore |
58 |
|
2 |
AristotlePagaltzis |
59 |
!! The <tt>/archives/youtube</tt> program |
1 |
CraigWhitmore |
60 |
|
2 |
AristotlePagaltzis |
61 |
<verbatim> |
1 |
CraigWhitmore |
62 |
#!/usr/bin/perl |
2 |
AristotlePagaltzis |
63 |
use IO::File; |
|
|
64 |
|
|
|
65 |
STDOUT->autoflush(1); |
1 |
CraigWhitmore |
66 |
|
2 |
AristotlePagaltzis |
67 |
my $logfile = '/tmp/debug.log'; |
1 |
CraigWhitmore |
68 |
|
2 |
AristotlePagaltzis |
69 |
open my $logfh, '>>', $logfile |
|
|
70 |
or die "Couldn't open $logfile for appending: $!\n"; |
1 |
CraigWhitmore |
71 |
|
2 |
AristotlePagaltzis |
72 |
$logfh->autoflush(1); |
1 |
CraigWhitmore |
73 |
|
2 |
AristotlePagaltzis |
74 |
while (<>) { |
|
|
75 |
chomp; |
|
|
76 |
my $out = |
|
|
77 |
m{kh(.*?)\.google\.com(.*?)/(.*?) } ? "http://keyhole-srv.google.com$2.SQUIDINTERNAL/$3" : |
|
|
78 |
m{mt(.*?)\.google\.com(.*?)/(.*?) } ? "http://map-srv.google.com$2.SQUIDINTERNAL/$3" : |
|
|
79 |
m{^http://([A-Za-z]*?)-(.*?)\.(.*)\.youtube\.com/get_video\?video_id=([^&]+).* } |
|
|
80 |
? "http://video-srv.youtube.com.SQUIDINTERNAL/get_video?video_id=$4" : |
|
|
81 |
m{^http://([A-Za-z]*?)-(.*?)\.(.*)\.youtube\.com/get_video\?video_id=(.*) } |
|
|
82 |
? "http://video-srv.youtube.com.SQUIDINTERNAL/get_video?video_id=$4" : |
|
|
83 |
$_; |
1 |
CraigWhitmore |
84 |
|
2 |
AristotlePagaltzis |
85 |
print $logfh "Original: $_\n", "Translation: $out\n\n"; |
|
|
86 |
print "$out\n"; |
|
|
87 |
} |
|
|
88 |
</verbatim> |