]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - config/updxlrator/updxlrator
Fixed Avira Update Caching and improved Gentoo Caching.
[people/pmueller/ipfire-2.x.git] / config / updxlrator / updxlrator
index ffbc9c7ab617a3d5612d493da7363f1fccec8702..4aaa38938c5473a40ce481822e9c46229a1c3cd7 100644 (file)
@@ -2,9 +2,11 @@
 #
 # This code is distributed under the terms of the GPL
 #
-# (c) 2006-2008 marco.s - http://update-accelerator.advproxy.net
+# (c) 2006-2009 marco.s - http://update-accelerator.advproxy.net
 #
-# $Id: updxlrator,v 2.0 2008/04/06 00:00:00 marco.s Exp $
+# Portions (c) 2008 by dotzball - http://www.blockouttraffic.de
+#
+# $Id: updxlrator,v 2.1 2009/01/10 00:00:00 marco.s Exp $
 #
 
 use strict;
@@ -16,7 +18,7 @@ my $swroot="/var/ipfire";
 my $updcachedir="/var/updatecache";
 my $apphome="/var/ipfire/updatexlrator";
 my $logfile="/var/log/updatexlrator/cache.log";
-my $wget="$apphome/bin/wget";
+my $wget="/usr/bin/wget";
 my $debug=(-e "$apphome/debug");
 my $http_port='81';
 my %netsettings=();
@@ -44,10 +46,12 @@ if (-e "$swroot/updatexlrator/settings")
        if ($xlratorsettings{'ENABLE_LOG'} eq 'on') { $logging=1; };
        if ($xlratorsettings{'PASSIVE_MODE'} eq 'on') { $passive_mode=1; };
        $maxusage=$xlratorsettings{'MAX_DISK_USAGE'};
-       if ($xlratorsettings{'LOW_DOWNLOAD_PRIORITY'} eq 'on') { $nice='/usr/bin/nice --adjustment=15 '; };
+       if ($xlratorsettings{'LOW_DOWNLOAD_PRIORITY'} eq 'on') { $nice='/bin/nice --adjustment=15 '; };
 }
 if (!$maxusage) { $maxusage=75; };
 
+# dotzball: check for dead downloads
+system("$apphome/bin/checkdeaddl &");
 
 while (<>) {
 
@@ -97,7 +101,10 @@ while (<>) {
        #  Section: Linux Downloads
        # -----------------------------------------------------------
 
-       if ($source_url =~ m@^[h|f]t?tp://[^?]+\.(deb|rpm)$@i)
+       if (
+               ($source_url =~ m@^[h|f]t?tp://[^?]+\.(deb|rpm)$@i) ||
+               ($source_url =~ m@^[h|f]t?tp://[^?]+/distfiles/[^?]+\.(tar\.gz|tar\.bz2|tgz|zip|patch\.bz2|gz|docx|patch|pdf|exe)$@i)
+       )
        {
                $xlrator_url = &check_cache($source_url,$hostaddr,$username,"Linux",$mirror);
        }
@@ -130,7 +137,7 @@ while (<>) {
        # -----------------------------------------------------------
 
        if (
-           (($source_url =~ m@^http://swcdn\.apple\.com/content/downloads/.*\.(tar)$@i) ||
+            (($source_url =~ m@^http://swcdn\.apple\.com/content/downloads/.*\.(tar|pkg)$@i) ||
             ($source_url =~ m@^http://appldnld\.apple\.com\.edgesuite\.net/.*\.(exe|dmg)$@i) ||
             ($source_url =~ m@^http://.*\.g.akamai.net/.*/3093/1/.*\.(tar|pkg|dmg|exe)$@i))
           )
@@ -153,7 +160,11 @@ while (<>) {
        # Section: Avira Downloads
        # -----------------------------------------------------------
 
-       if ($source_url =~ m@^http://dl[0-9]\.avgate\.net/.*\.(htm|html|gz)$@i)
+       if (
+               ($source_url =~ m@^http://dl[0-9]\.avgate\.net/.*\.(htm|html|gz)$@i) ||
+               ($source_url =~ m@^http://80.190.130.19[4-5]/update/.*\.(htm|html|gz)$@i) ||
+               ($source_url =~ m@^http://62.146.64.14[6-7]/update/.*\.(htm|html|gz)$@i)
+       )
        {
                $xlrator_url = &check_cache($source_url,$hostaddr,$username,"Avira",$mirror);
        }
@@ -173,10 +184,10 @@ while (<>) {
        # Section: AVG Downloads
        # -----------------------------------------------------------
 
-       if ($source_url =~ m@^http://[^/]*\.(grisoft|avg)\.com/.*\.(bin)$@i)
-       {
-               $xlrator_url = &check_cache($source_url,$hostaddr,$username,"AVG",$mirror);
-       }
+#      if ($source_url =~ m@^http://[^/]*\.(grisoft|avg)\.com/.*\.(bin)$@i)
+#      {
+#              $xlrator_url = &check_cache($source_url,$hostaddr,$username,"AVG",$mirror);
+#      }
 
        $request="$xlrator_url $hostaddr $username $method\n";
 
@@ -361,7 +372,6 @@ sub check_cache
                &debuglog("File exists in cache and is up to date");
                &debuglog("Retrieving file from cache ($updsource)");
                &setcachestatus("$updcachedir/$vendorid/$uuid/access.log",time);
-               system("$apphome/bin/setperms $vendorid/$uuid/access.log");
                $cacheurl="http://$netsettings{'GREEN_ADDRESS'}:$http_port/updatecache/$vendorid/$uuid/$updfile";
        }
                else