我想使用squid url_rewrite_program来摆脱adf.ly广告。我已经写了一个perl脚本,我从一个例子中获取了代码,这很好用。但是我不能让它在鱿鱼中工作,因为它似乎没有做任何事情?
我已经通过命令行测试了perl脚本,输出完全符合我的要求 有人可以帮忙吗?
#!/usr/bin/perl
use strict;
# Turn off buffering to STDOUT
$| = 1;
# Read from STDIN
while (<>) {
my @elems = split; # splits $_ on whitespace by default
# The URL is the first whitespace-separated element.
my $url = $elems[0];
# Handle foo.example.com links and translate them to example.com
# with the rest of the URL intact (if present). Ignore warnings...
if ($url =~ m#^http://adf\.ly(/.*)?#i) {
$url = substr $url, 22;
print "$url\n";
}
else {
# Unmodified URL
print "$url\n";
}
}
答案 0 :(得分:0)
这似乎是一个过于复杂的解决方案,用于所述目的。 您可以通过拒绝基于dstdomain acl
的访问来获得更有效的结果e.g。 acl deny_ads dstdomain .adf.ly http_access deny deny_ads
这将阻止此squid的客户端访问adf.ly的任何子域中的任何URL。它是同步的,不需要DNS查找,所以它也非常快。