Re: [squid-users] help with squid redirectors

From: Marcus Kool <marcus.kool_at_urlfilterdb.com>
Date: Mon, 14 Mar 2011 13:04:56 -0300

Osmany,

I can help you but I think it is better to do this off list.
You can send me to my private email
- the latest version of the script and
- the unedited relevant lines from access.log

Marcus

Osmany wrote:
> thanks for the reply. Ok so now I've modified the script with your
> suggestion and I get this in my access.log
>
> http://dnl-16.geo.kaspersky.com/ftp://dnl-kaspersky.quimefa.cu:2122/Updates/.com/index/u0607g.xml.klz
>
> I'm pretty sure this is not working for the clients. I'm looking for it
> to return something like this:
>
> http://dnl-16.geo.kaspersky.com/ftp://dnl-kaspersky.quimefa.cu:2122/Updates/index/u0607g.xml.klz
>
>
> I've changed the script many time so that I can get what I want but I
> had no success. can you please help me?
>
> On Sun, 2011-03-13 at 21:27 -0300, Marcus Kool wrote:
>> Osmany,
>> look in access.log.
>> It should say what is happening:
>> I expect this:
>> ... TCP_MISS/301 GET http://kaspersky....
>> ... TCP_MISS/200 GET ftp://dnl-kaspersky.quimefa.cu:2122/Updates
>>
>> and does the client use Squid for the ftp protocol ??
>>
>> And the RE matches too many strings.
>> I recommend to rewrite it to something like this:
>>
>> if ($url =~ /^http:\/\/dnl.*\.kaspersky\.com\/(.*)/) {
>> my $newurl;
>> $newurl = "ftp:\/\/dnl-kaspersky\.quimefa\.cu\:2122\/Updates/$1"; # Note the $1
>> print $X[0]." 301:$newurl\n";
>> }
>>
>> Marcus
>>
>> Osmany wrote:
>>> So finally this is what I have and it works perfectly. But I want to go
>>> further than this. I want the clients to download what they've requested
>>> from my local urls. For example...if a client wants to update their
>>> Kaspersky antivirus and it requests for an internet update server, I
>>> want it to actually get redirected to my ftp and download what it wants
>>> from here. So far what I've accomplished is that any request gets
>>> redirected to the specified url but it doesn't follow the path of the
>>> file that the client requested.
>>>
>>> #!/usr/bin/perl
>>> BEGIN {$|=1}
>>> while (<>) {
>>> @X = split;
>>> $url = $X[1];
>>> if ($url =~ /^http:\/\/(.*)kaspersky(.*)/) {
>>> print $X[0]." 301:ftp:\/\/dnl-kaspersky\.quimefa\.cu\:2122\/Updates
>>> \n";
>>> }
>>> elsif ($url =~ /^http:\/\/(.*)update(.*)/) {
>>> print $X[0]." 301:http:\/\/windowsupdate\.quimefa\.cu\:8530\n";
>>> }
>>> else {
>>> print $X[0]."\n";
>>> }
>>> }
>>>
>>> Can anybody help me with this?
>>>
>>>
>>>
>
>
>
>
Received on Mon Mar 14 2011 - 16:05:02 MDT

This archive was generated by hypermail 2.2.0 : Tue Mar 15 2011 - 12:00:01 MDT