/* Add the user-agent to redirector.c. Replace the following: snprintf(buf, 8192, "%s %s/%s %s %s\n", r->orig_url, inet_ntoa(r->client_addr), fqdn, r->client_ident, r->method_s); with the whole section below */ if (1) { request_t *request = http->request; const HttpHeader *req_hdr = &request->header; const char *str; if ((str = httpHeaderGetStr(req_hdr, HDR_USER_AGENT))) { snprintf(buf, 8192, "%s %s/%s %s %s %s\n", r->orig_url, inet_ntoa(r->client_addr), fqdn, r->client_ident, r->method_s, str); } else { snprintf(buf, 8192, "%s %s/%s %s %s\n", r->orig_url, inet_ntoa(r->client_addr), fqdn, r->client_ident, r->method_s); } } else { snprintf(buf, 8192, "%s %s/%s %s %s\n", r->orig_url, inet_ntoa(r->client_addr), fqdn, r->client_ident, r->method_s); } main_redirector #!/usr/bin/perl # $| = 1; @endings = qw/ \.gif$ \.jpg$ \.jpeg$ \.png$ \.gz$ \.img$ \.tgz$ \.sit$ \.hqx$ \. image$ \.bin$ \.Z$ \.TAZ$ \.exe$ \.zip$ \.avi$ \.mov$ \.mp3$ \.mpg$ \.mpeg$ \.mo v$ \.pkg$ \.wav$ \.dmg$ \.aiff$ \.pdf$ \.iso$ \.toast$ \.bz2$ \.js$ \.css$ /; while (<>) { ($url, $addr, $fqdn, $ident, $method, $agent) = m:(\S*) (\S*)/(\S*) (\S*) (\ S*) (\S*):; if ($method eq "GET") { $stop = 0; foreach $ending (@endings) { if (($url =~ /$ending/i)) { $stop = 1; break; } } if ($stop == 0) { system("/opt/servers/squid_main/preget $url $agent"); } } print "\n"; } # EOF preget #!/bin/sh # #echo "$1" >> /opt/data/squid_back/logs/mylog #http_proxy="http://10.163.3.1:3129/" http_proxy="http://10.163.3.2:3129/" export http_proxy echo "pregetting $1 $2" >> /opt/data/squid_main/logs/myurls wget -q --level=1 -nd -U "$2" --directory-prefix=/tmp/targ/ -p "$1" rm -rf /tmp/targ/* & # EOF