chore: import upstream snapshot with attribution

This commit is contained in:
wehub-resource-sync
2026-07-13 13:12:17 +08:00
commit cf8edb9f21
44281 changed files with 1655134 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
---- Changes since 1.150 ----
Added support for the header_access directive in Squid 2.5, which can be used to limit the HTTP headers passed through for different requests.
---- Changes since 1.160 ----
Added buttons on main page for stopping, starting and re-starting Squid.
Added support for editing the refresh_pattern directive.
---- Changes since 1.170 ----
Added icon for setting up transparent proxying, by creating needed firewall rules and Squid directives.
---- Changes since 1.180 ----
An interface to listen on for transparent proxying can now be selected instead of specifying a network address.
---- Changes since 1.200 ----
When creating an ACL, an external filename can be specified for storing the matching values.
---- Changes since 1.270 ----
Added a form on the Clear and Rebuild Cache page for removing a single URL. This only appears if the squidclient program is installed.
Added checkboxes and buttons for deleting multiple delay pools, refresh rules, other caches, proxy restrictions and ICP restrictions at once.
---- Changes since 1.290 ----
Added support for Squid 2.6, including the new logformat and access_log directives for specifying multiple custom log files.
---- Changes since 1.340 ----
Fixed transparent proxy setup in Squid 2.6.
---- Changes since 1.380 ----
Added support for editing proxy reply restrictions, thanks to Steve Williams.
Re-design the Access Control page to use tabs, to better split up the lists of ACLs, HTTP and ICP restrictions.
Ensure that HTTP and ICP restrictions are created after ACLs in the config file.
---- Changes since 1.390 ----
The httpd_accel family of directives are no longer shown when using Squid versions 2.6 and above (as they have been deprecated).
Directives that refer to ACLs like http_access are no longer re-positioned in the configuration file unless necessary.
---- Changes since 1.400 ----
Use the cache directive instead of no_cache for Squid 2.6.
Allow request and reply headers access control rules to be configured separately in Squid 3.0.
Added a page for editing cache manager passwords and the actions that they apply to.
Comments at the end of lines are now preserved when Webmin changes directives in squid.conf.
---- Changes since 1.420 ----
Fixed the Calamaris page for newer versions.
---- Changes since 1.510 ----
Improved support for COSS format (single file) Squid caches.
---- Changes since 1.660 ----
Updated all pages to use the Webmin UI library for a more consistent look.
Made all code Perl strict and warnings compliant.
---- Changes since 1.680 ----
Fixed handling of the url_rewrite_children directive to support all the process count options.
Executable
+367
View File
@@ -0,0 +1,367 @@
#!/usr/local/bin/perl
# acl.cgi
# Display a form for editing or creating a new ACL
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config, %acl_types,
@caseless_acl_types, @nodns_acl_types);
require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
my $conf = &get_config();
my $type;
my (@acl, @aclopts, @deny, @vals, $file, $acloptfound);
if ($in{'type'}) {
&ui_print_header(undef, $text{'acl_header1'}, "", undef, 0, 0, 0,
&restart_button());
$type = $in{'type'};
@vals = ( );
}
else {
&ui_print_header(undef, $text{'acl_header2'}, "", undef, 0, 0, 0,
&restart_button());
@acl = @{$conf->[$in{'index'}]->{'values'}};
$type = $acl[1];
$acloptfound = 0;
if ($type eq "external" ||
&indexof($type, @caseless_acl_types) >= 0 ||
&indexof($type, @nodns_acl_types) >= 0) {
if ($acl[3] =~ /^"(.*)"$/) {
# Extra parameters come from file
@vals = ( $acl[2] );
$file = $1;
$acloptfound = 1;
}
elsif ($acl[4] =~ /^"(.*)"$/) {
# Extra parameters come from file
@vals = @acl[2..3];
$file = $1;
$acloptfound = 1;
}
if ($type ne "external") {
@aclopts = @vals;
@vals = ( );
}
}
if ($acloptfound) {
# do nothing
}
elsif ($acl[2] =~ /^"(.*)"$/) {
# All values come from a file
$file = $1;
}
else {
# All values come from acl parameters
@vals = ( );
for(my $i=2; $i<=$#acl; $i++) {
if ($acl[$i] eq "--") {
# end of options push everything remaining
push (@vals, @acl[$i..$#acl]);
last;
}
elsif (($acl[$i] eq "-i" && &indexof($type, @caseless_acl_types) >= 0) ||
($acl[$i] eq "-n" && &indexof($type, @nodns_acl_types) >= 0)) {
push (@aclopts, $acl[$i]);
$acloptfound = 1;
}
else {
push (@vals, $acl[$i]);
}
}
}
if ($file) {
my @newvals = split(/\r?\n/, &read_file_contents($file));
push(@vals, @newvals);
}
if ($type =~ /^(src|dst|srcdomain|dstdomain|user|myip)$/) {
@vals = sort { $a cmp $b } @vals;
}
elsif ($type eq "port") {
@vals = sort { $a <=> $b } @vals;
}
@deny = grep { $_->{'values'}->[1] eq $acl[0] }
&find_config("deny_info", $conf);
}
print &ui_form_start("acl_save.cgi", "form-data");
if (@acl) {
print &ui_hidden("index", $in{'index'});
}
if (@deny) {
print &ui_hidden("dindex", $deny[0]->{'index'});
}
print &ui_hidden("type", $type);
print &ui_table_start("$acl_types{$type} ACL", undef, 2);
# ACL name
print &ui_table_row($text{'acl_name'},
&ui_textbox("name", $acl[0], 30));
if ($type eq "src" || $type eq "dst") {
# By source or dest address/network
my $nodns;
$nodns = 1 if ($type eq 'dst' && grep (/^\-n$/, @aclopts));
my $table = &ui_columns_start([ $text{'acl_fromip'},
$text{'acl_toip'},
$text{'acl_nmask'} ]);
for(my $i=0; $i<=@vals; $i++) {
my ($from, $to, $mask) = @_;
if ($vals[$i] =~ /^([a-z0-9\.\:]+)-([a-z0-9\.\:]+)\/([\d\.]+)$/) {
$from = $1; $to = $2; $mask = $3;
}
elsif ($vals[$i] =~ /^([a-z0-9\.\:]+)-([a-z0-9\.\:]+)$/) {
$from = $1; $to = $2; $mask = "";
}
elsif ($vals[$i] =~ /^([a-z0-9\.\:]+)\/([\d\.]+)$/) {
$from = $1; $to = ""; $mask = $2;
}
elsif ($vals[$i] =~ /^([a-z0-9\.\:]+)$/) {
$from = $1; $to = ""; $mask = "";
}
else { $from = $to = $mask = ""; }
$table .= &ui_columns_row([
&ui_textbox("from_$i", $from, 20),
&ui_textbox("to_$i", $to, 20),
&ui_textbox("mask_$i", $mask, 20),
]);
}
$table .= &ui_columns_end();
print &ui_table_row(undef, $table, 2);
print &ui_table_row(undef,
&ui_checkbox("nodns", 1, $text{'acl_nodns'}, $nodns)) if ($type eq "dst");
}
elsif ($type eq "myip") {
# By local IP address
my $table = &ui_columns_start([ $text{'acl_ipaddr'},
$text{'acl_nmask'} ]);
for(my $i=0; $i<=@vals; $i++) {
my ($ip, $mask);
if ($vals[$i] =~ /^([a-z0-9\.\:]+)\/([\d\.]+)$/) {
$ip = $1; $mask = $2;
}
else { $ip = $mask = ""; }
$table .= &ui_columns_row([
&ui_textbox("ip_$i", $ip, 20),
&ui_textbox("mask_$i", $mask, 20),
]);
}
$table .= &ui_columns_end();
print &ui_table_row(undef, $table, 2);
}
elsif ($type eq "srcdomain" || $type eq "dstdomain") {
# Source or destination domain
my $nodns;
$nodns = 1 if ($type eq 'dstdomain' && grep (/^\-n$/, @aclopts));
print &ui_table_row($text{'acl_domains'},
&ui_textarea("vals", join("\n", @vals), 6, 60));
print &ui_table_row(undef,
&ui_checkbox("nodns", 1, $text{'acl_nodns'}, $nodns)) if ($type eq "dstdomain");
}
elsif ($type eq "time") {
# Day or week and time of day
my $vals = join(' ', @vals);
my %day;
if ($vals =~ /[A-Z]+/) {
foreach my $d (split(//, $vals)) {
$day{$d}++;
}
}
my ($h1, $h2, $m1, $m2, $hour);
if ($vals =~ /(\d+):(\d+)-(\d+):(\d+)/) {
$h1 = $1; $m1 = $2;
$h2 = $3; $m2 = $4;
$hour++;
}
my @day_name = ( [ 'S', $text{'acl_dsun'} ],
[ 'M', $text{'acl_dmon'} ],
[ 'T', $text{'acl_dtue'} ],
[ 'W', $text{'acl_dwed'} ],
[ 'H', $text{'acl_dthu'} ],
[ 'F', $text{'acl_dfri'} ],
[ 'A', $text{'acl_dsat'} ] );
print &ui_table_row($text{'acl_dofw'},
&ui_radio("day_def", %day ? 0 : 1,
[ [ 1, $text{'acl_all'} ],
[ 0, $text{'acl_sel'} ] ])."<br>\n".
&ui_select("day", [ keys %day ], \@day_name,
7, 1));
print &ui_table_row($text{'acl_hofd'},
&ui_radio("hour_def", $hour ? 0 : 1,
[ [ 1, $text{'acl_all'} ],
[ 0, &ui_textbox("h1", $h1, 2).":".
&ui_textbox("m1", $m1, 2)." $text{'acl_to'} ".
&ui_textbox("h2", $h2, 2).":".
&ui_textbox("m2", $m2, 2) ] ]));
}
elsif ($type eq "url_regex" || $type eq "urlpath_regex") {
# URL regular expression
my $caseless;
$caseless = 1 if (grep (/^\-i$/, @aclopts));
print &ui_table_row($text{'acl_regexp'},
&ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless).
"<br>\n".
&ui_textarea("vals", join("\n", @vals), 6, 60));
}
elsif ($type eq "port") {
# Request port number
print &ui_table_row($text{'acl_tcpports'},
&ui_textbox("vals", join(" ", @vals), 60));
}
elsif ($type eq "proto") {
# Request protocol
my %proto = map { $_, 1 } @vals;
print &ui_table_row($text{'acl_urlproto'},
join(" ", map { &ui_checkbox("vals", $_, $_, $proto{$_}) }
('http', 'ftp', 'gopher', 'wais', 'cache_object')));
}
elsif ($type eq "method") {
# HTTP method
my %meth = map { $_, 1 } @vals;
print &ui_table_row($text{'acl_reqmethods'},
join(" ", map { &ui_checkbox("vals", $_, $_, $meth{$_}) }
('GET', 'POST', 'HEAD', 'CONNECT', 'PUT', 'DELETE')));
}
elsif ($type eq "browser") {
# Browser user agent
print &ui_table_row($text{'acl_bregexp'},
&ui_textbox("vals", join(" ", @vals), 60));
}
elsif ($type eq "user") {
# Proxy usernames
print &ui_table_row($text{'acl_pusers'},
&ui_textarea("vals", join("\n", @vals), 6, 60));
}
elsif ($type eq "src_as" || $type eq "dst_as") {
# Source or destination AS number
print &ui_table_row($text{'acl_asnum'},
&ui_textbox("vals", join(" ", @vals), 20));
}
elsif ($type eq "proxy_auth" && $squid_version < 2.3) {
# Refresh time
print &ui_table_row($text{'acl_rtime'},
&ui_textbox("vals", $vals[0], 8));
}
elsif ($type eq "proxy_auth" && $squid_version >= 2.3) {
# Proxy username
print &ui_table_row($text{'acl_eusers'},
&ui_radio("authall",
$vals[0] eq 'REQUIRED' || $in{'type'} ? 1 : 0,
[ [ 1, $text{'acl_eusersall'} ],
[ 0, $text{'acl_euserssel'} ] ])."<br>\n".
&ui_textarea("vals", $vals[0] eq 'REQUIRED' || $in{'type'} ?
"" : join("\n", @vals), 6, 60));
}
elsif ($type eq "proxy_auth_regex") {
# Username regexp
my $caseless;
$caseless = 1 if (grep (/^\-i$/, @aclopts));
print &ui_table_row($text{'acl_eusers'},
&ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless).
"<br>\n".
&ui_textarea("vals", join("\n", @vals), 6, 60));
}
elsif ($type eq "srcdom_regex" || $type eq "dstdom_regex") {
# Source or destination domain regexp
my ($caseless, $nodns, $dnshtml);
$caseless = 1 if (grep (/^\-i$/, @aclopts));
$nodns = 1 if ($type eq "dstdom_regex" && grep (/^\-n$/, @aclopts));
$dnshtml = "";
$dnshtml = &ui_checkbox("nodns", 1, $text{'acl_nodns'}, $nodns) . "<br>\n" if ($type eq "dstdom_regex");
print &ui_table_row($text{'acl_regexp'},
&ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless).
"<br>\n" . $dnshtml .
&ui_textarea("vals", join("\n", @vals), 6, 60));
}
elsif ($type eq "ident") {
# IDENT protocol user
print &ui_table_row($text{'acl_rfcusers'},
&ui_textarea("vals", join("\n", @vals), 6, 60));
}
elsif ($type eq "ident_regex") {
# IDENT protocol username regexp
my $caseless;
$caseless = 1 if (grep (/^\-i$/, @aclopts));
print &ui_table_row($text{'acl_rfcusersr'},
&ui_checkbox("caseless", 1, $text{'acl_case'}, $caseless).
"<br>\n".
&ui_textarea("vals", join("\n", @vals), 6, 60));
}
elsif ($type eq "maxconn") {
# Max concurrent connections
print &ui_table_row($text{'acl_mcr'},
&ui_textbox("vals", $vals[0], 8));
}
elsif ($type eq "max_user_ip") {
# Max connections per IP
my $mipstrict;
if ($vals[0] eq '-s') {
$mipstrict++;
shift(@vals);
}
print &ui_table_row($text{'acl_mai'},
&ui_textbox("vals", $vals[0], 8));
print &ui_table_row($text{'acl_extargs'},
&ui_checkbox("strict", 1, $text{'acl_maistrict'}, $mipstrict).
"<br>\n".
&ui_textbox("args", join(" ", @vals[1..$#vals]), 60).
"<br>\n".$text{'acl_mairemind'});
}
elsif ($type eq "myport") {
# Local port number
print &ui_table_row($text{'acl_psp'},
&ui_textbox("vals", $vals[0], 8));
}
elsif ($type eq "snmp_community") {
# SNMP community
print &ui_table_row($text{'acl_scs'},
&ui_textbox("vals", $vals[0], 15));
}
elsif ($type eq "req_mime_type") {
# Request MIME type
print &ui_table_row($text{'acl_rmt'},
&ui_textbox("vals", $vals[0], 15));
}
elsif ($type eq "rep_mime_type") {
# Reply MIME type
print &ui_table_row($text{'acl_rpmt'},
&ui_textbox("vals", $vals[0], 15));
}
elsif ($type eq "arp") {
# Client MAC address
print &ui_table_row($text{'acl_arp'},
&ui_textarea("vals", join("\n", @vals), 6, 60));
}
elsif ($type eq "external") {
# External program
print &ui_table_row($text{'acl_extclass'},
&ui_select("class", $vals[0],
[ map { $_->{'values'}->[0] }
&find_config("external_acl_type", $conf) ]));
print &ui_table_row($text{'acl_extargs'},
&ui_textbox("args", join(" ", @vals[1..$#vals]), 60));
}
# Show URL to redirect on failure
print &ui_table_row($text{'acl_failurl'},
&ui_textbox("deny", @deny ? $deny[0]->{'values'}->[0] : "", 40));
# Show file in which ACL is stored
print &ui_table_row($text{'acl_file'},
&ui_opt_textbox("file", $file, 40, $text{'acl_nofile'},
$text{'acl_infile'})." ".
&file_chooser_button("file")."<br>\n".
($in{'type'} ? &ui_checkbox("keep", 1, $text{'acl_keep'}, 0) : ""));
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'acl_buttsave'} ],
$in{'type'} ? ( ) : ( [ 'delete', $text{'acl_buttdel'} ] ),
]);
&ui_print_footer("edit_acl.cgi?mode=acls", $text{'acl_return'},
"", $text{'index_return'});
+268
View File
@@ -0,0 +1,268 @@
#!/usr/local/bin/perl
# acl_save.cgi
# Save or delete an ACL
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config, %acl_types);
require './squid-lib.pl';
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParseMime();
&lock_file($config{'squid_conf'});
my $conf = &get_config();
&error_setup($text{'aclsave_failsave'});
my @acls = &find_config("acl", $conf);
my @denys = &find_config("deny_info", $conf);
my ($acl, $deny);
if (defined($in{'index'})) {
$acl = $conf->[$in{'index'}];
}
if (defined($in{'dindex'})) {
$deny = $conf->[$in{'dindex'}];
}
my @aclopts = ( );
my $logacl;
if ($in{'delete'}) {
# Is there more than one ACL with this name?
my $name = $acl->{'values'}->[0];
my $count = 0;
foreach my $a (&find_config("acl", $conf)) {
$count++ if ($a->{'values'}->[0] eq $name);
}
# Is this ACL in use?
&error_setup($text{'aclsave_faildel'});
if ($count == 1) {
foreach my $h (&find_config("http_access", $conf)) {
my @v = @{$h->{'values'}};
for(my $i=1; $i<@v; $i++) {
if ($v[$i] eq $name || $v[$i] eq "!$name") {
&error($text{'aclsave_epr'});
}
}
}
foreach my $h (&find_config("icp_access", $conf)) {
my @v = @{$h->{'values'}};
for(my $i=1; $i<@v; $i++) {
if ($v[$i] eq $in{'name'} ||
$v[$i] eq "!$in{'name'}") {
&error($text{'aclsave_eicpr'});
}
}
}
}
splice(@acls, &indexof($acl, @acls), 1);
if ($deny) {
splice(@denys, &indexof($deny, @denys), 1);
}
$logacl = $acl;
}
else {
# Check ACL details
$in{'name'} =~ /^\S+$/ || &error($text{'aclsave_ename'});
my $changed = 0;
$changed++ if ($acl && $in{'name'} ne $acl->{'values'}->[0]);
for(my $i=0; $i<@acls; $i++) {
if ($changed && $acls[$i]->{'values'}->[0] eq $in{'name'}) {
&error(&text('aclsave_eexists',$in{'name'}));
}
}
my @vals;
if ($in{'type'} eq "src" || $in{'type'} eq "dst") {
push(@aclopts, "-n") if ($in{'nodns'});
for(my $i=0; defined(my $from = $in{"from_$i"}); $i++) {
my $to = $in{"to_$i"};
my $mask = $in{"mask_$i"};
next if (!$from && !$to && !$mask);
&check_ipaddress($from) ||
&check_ip6address($from) ||
&error(&text('aclsave_efrom',$from));
!$to || &check_ipaddress($to) ||
&check_ip6address($to) ||
&error(&text('aclsave_eto',$to));
$mask =~ /^\d*$/ || &check_ipaddress($mask) ||
&error(&text('aclsave_enmask',$mask));
if ($to && $mask) { push(@vals, "$from-$to/$mask"); }
elsif ($to) { push(@vals, "$from-$to"); }
elsif ($mask) { push(@vals, "$from/$mask"); }
else { push(@vals, $from); }
}
}
elsif ($in{'type'} eq "myip") {
for(my $i=0; defined(my $ip = $in{"ip_$i"}); $i++) {
my $mask = $in{"mask_$i"};
next if (!$mask || !$ip);
&check_ipaddress($ip) || &check_ip6address($ip) ||
&error(&text('aclsave_eip',$ip));
$mask =~ /^\d+$/ || &check_ipaddress($mask) ||
&error(&text('aclsave_enmask',$mask));
push(@vals, "$ip/$mask");
}
}
elsif ($in{'type'} eq "srcdomain") {
push(@vals, split(/[\r\n]+/, $in{'vals'}));
if (!@vals && !$in{'keep'}) { &error($text{'aclsave_ecdom'}); }
}
elsif ($in{'type'} eq "dstdomain") {
push(@aclopts, "-n") if ($in{'nodns'});
push(@vals, split(/[\r\n]+/, $in{'vals'}));
if (!@vals && !$in{'keep'}) { &error($text{'aclsave_esdom'}); }
}
elsif ($in{'type'} eq "time") {
if (!$in{'day_def'}) {
push(@vals, join('', split(/\0/, $in{'day'})));
}
if (!$in{'hour_def'}) {
$in{'h1'} =~ /^\d+$/ || &error($text{'aclsave_eshour'});
$in{'h2'} =~ /^\d+$/ || &error($text{'aclsave_eehour'});
$in{'m1'} =~ /^\d+$/ || &error($text{'aclsave_esmin'});
$in{'m2'} =~ /^\d+$/ || &error($text{'aclsave_eemin'});
push(@vals, "$in{'h1'}:$in{'m1'}-$in{'h2'}:$in{'m2'}");
}
}
elsif ($in{'type'} eq "url_regex") {
push(@aclopts, "-i") if ($in{'caseless'});
push(@vals, split(/[\r\n]+/, $in{'vals'}));
}
elsif ($in{'type'} eq "urlpath_regex") {
push(@aclopts, "-i") if ($in{'caseless'});
push(@vals, split(/[\r\n]+/, $in{'vals'}));
}
elsif ($in{'type'} eq "port") {
push(@vals, split(/\s+/, $in{'vals'}));
}
elsif ($in{'type'} eq "proto") {
push(@vals, split(/\0/, $in{'vals'}));
}
elsif ($in{'type'} eq "method") {
push(@vals, split(/\0/, $in{'vals'}));
}
elsif ($in{'type'} eq "browser" || $in{'type'} eq "snmp_community" ||
$in{'type'} eq "req_mime_type" ||
$in{'type'} eq "rep_mime_type") {
push(@vals, $in{'vals'});
}
elsif ($in{'type'} eq "user" || $in{'type'} eq "ident") {
push(@vals, split(/[\r\n]+/, $in{'vals'}));
}
elsif ($in{'type'} eq "src_as" || $in{'type'} eq "dst_as") {
push(@vals, split(/\s+/, $in{'vals'}));
}
elsif ($in{'type'} eq "proxy_auth" && $squid_version < 2.3) {
push(@vals, $in{'vals'}) if ($in{'vals'});
}
elsif ($in{'type'} eq "proxy_auth" && $squid_version >= 2.3) {
push(@vals, $in{'authall'} ? "REQUIRED"
: split(/[\r\n]+/, $in{'vals'}));
}
elsif ($in{'type'} eq "proxy_auth_regex" ||
$in{'type'} eq "ident_regex") {
push(@aclopts, "-i") if ($in{'caseless'});
push(@vals, split(/[\r\n]+/, $in{'vals'}));
}
elsif ($in{'type'} eq "srcdom_regex" || $in{'type'} eq "dstdom_regex") {
push(@aclopts, "-i") if ($in{'caseless'});
push(@aclopts, "-n") if ($in{'nodns'});
push(@vals, split(/[\r\n]+/, $in{'vals'}));
}
elsif ($in{'type'} eq "myport") {
$in{'vals'} =~ /^\d+$/ ||
&error("'$in{'vals'}' is not a valid port number");
push(@vals, $in{'vals'});
}
elsif ($in{'type'} eq "maxconn") {
$in{'vals'} =~ /^\d+$/ ||
&error("'$in{'vals'}' is not a valid number of requests");
push(@vals, $in{'vals'});
}
elsif ($in{'type'} eq "arp") {
push(@vals, split(/[\r\n]+/, $in{'vals'}));
}
elsif ($in{'type'} eq "external") {
$in{'class'} || &error($text{'eacl_eclass'});
push(@vals, $in{'class'});
push(@vals, split(/\s+/, $in{'args'}));
}
elsif ($in{'type'} eq "max_user_ip") {
if ($in{'strict'}){
push(@vals, '-s');
}
push(@vals, $in{'vals'});
}
if (!$in{'file_def'}) {
# Writing to an external file
$in{'file'} || &error($text{'aclsave_enofile'});
&can_access($in{'file'}) ||
&error(&text('aclsave_efile', $in{'file'}));
if (!$in{'keep'}) {
if (!$acl && -e $in{'file'}) {
&error($text{'aclsave_ealready'});
}
my $fh = "FILE";
&open_lock_tempfile($fh, ">$in{'file'}");
foreach my $v (@vals) {
&print_tempfile($fh, $v,"\n");
}
&close_tempfile($fh);
}
@vals = ( $in{'name'}, $in{'type'}, @aclopts,
"\"$in{'file'}\"" );
}
else {
# Just saving in Squid config directly
if ($vals[0] =~ /^"(.*)"$/) {
my $f = $1;
&can_access($f) ||
&error(&text('aclsave_efile', $f));
if ($f !~ /^\// && $access{'root'} ne '/') {
$vals[0] = "\"$access{'root'}/$f\"";
}
}
@vals = ( $in{'name'}, $in{'type'}, @aclopts, @vals );
}
my $newacl = { 'name' => 'acl', 'values' => \@vals };
$logacl = $newacl;
if ($acl) { splice(@acls, &indexof($acl, @acls), 1, $newacl); }
else { push(@acls, $newacl); }
my $newdeny = { 'name' => 'deny_info',
'values' => [ $in{'deny'}, $vals[0] ] };
my $didx = &indexof($deny, @denys);
if ($deny && $in{'deny'}) { $denys[$didx] = $newdeny; }
elsif ($deny) { splice(@denys, $didx, 1); }
elsif ($in{'deny'}) { push(@denys, $newdeny); }
# Update http_access and icp_access directives if the ACL was renamed
if ($changed) {
my @https = &find_config("http_access", $conf);
my @icps = &find_config("icp_access", $conf);
my @replys = &find_config("http_reply_access", $conf);
my $on = $acl->{'values'}->[0];
foreach my $c (@https, @icps, @replys) {
for(my $j=1; $j<@{$c->{'values'}}; $j++) {
if ($c->{'values'}->[$j] eq $on) {
$c->{'values'}->[$j] = $in{'name'};
}
elsif ($c->{'values'}->[$j] eq "!$on") {
$c->{'values'}->[$j] = "!$in{'name'}";
}
}
}
&save_directive($conf, "http_access", \@https);
&save_directive($conf, "icp_access", \@icps);
}
}
&save_directive($conf, "acl", \@acls);
&save_directive($conf, "deny_info", \@denys);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $acl ? 'modify' : 'create',
'acl', $logacl->{'values'}->[0], \%in);
&redirect("edit_acl.cgi?mode=acls");
+43
View File
@@ -0,0 +1,43 @@
require 'squid-lib.pl';
@accopts = ('portsnets', 'othercaches', 'musage', 'logging', 'copts',
'hprogs', 'actrl', 'admopts', 'proxyauth', 'miscopt', 'cms',
'rebuild', 'calamaris', 'delay', 'headeracc', 'refresh', 'cachemgr',
'authparam', 'iptables', 'manual');
# acl_security_form(&options)
# Output HTML for editing security options for the squid module
sub acl_security_form
{
my ($o) = @_;
print &ui_table_row($text{'acl_sections'},
&ui_select("sections",
[ grep { $o->{$_} } @accopts ],
[ map { [ $_, $text{"index_${_}"} ] } @accopts ],
6, 1),
3);
print &ui_table_row($text{'acl_root'},
&ui_textbox("root", $o->{'root'}, 40)." ".&file_chooser_button("root", 1),
3);
print &ui_table_row($text{'acl_start'},
&ui_yesno_radio("start", $o->{'start'}));
print &ui_table_row($text{'acl_restart'},
&ui_yesno_radio("restart", $o->{'restart'}));
}
# acl_security_save(&options)
# Parse the form for security options for the squid module
sub acl_security_save
{
$_[0]->{'root'} = $in{'root'};
map { $sections{$_} = 1 } split(/\0/, $in{'sections'});
foreach $s (@accopts) {
$_[0]->{$s} = $sections{$s};
}
$_[0]->{'start'} = $in{'start'};
$_[0]->{'restart'} = $in{'restart'};
}
+68
View File
@@ -0,0 +1,68 @@
#!/usr/local/bin/perl
# always.cgi
# A form for editing or creating http_access directives
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
my $conf = &get_config();
my @always;
if (!defined($in{'index'})) {
&ui_print_header(undef, $text{'always_create'}, "",
undef, 0, 0, 0, &restart_button());
}
else {
&ui_print_header(undef, $text{'always_edit'}, "",
undef, 0, 0, 0, &restart_button());
@always = @{$conf->[$in{'index'}]->{'values'}};
}
print &ui_form_start("always_save.cgi", "post");
if (@always) {
print &ui_hidden("index", $in{'index'});
}
print &ui_table_start($text{'always_header'}, undef, 2);
# Allow or deny this ACL?
print &ui_table_row($text{'ahttp_a'},
&ui_radio("action", $always[0] || "allow",
[ [ "allow", $text{'ahttp_a1'} ],
[ "deny", $text{'ahttp_d'} ] ]));
# Get list of ACLs being matched, and all ACLs
my (@yes, @no);
for(my $i=1; $i<@always; $i++) {
if ($always[$i] =~ /^!(.*)/) {
push(@no, $1);
}
else {
push(@yes, $always[$i]);
}
}
my %done;
my @acls = grep { !$done{$_->{'values'}->[0]}++ } &find_config("acl", $conf);
unshift(@acls, { 'values' => [ 'all' ] }) if ($squid_version >= 3);
my $r = @acls;
$r = 10 if ($r > 10);
print &ui_table_row($text{'ahttp_ma'},
&ui_select("yes", \@yes, [ map { $_->{'values'}->[0] } @acls ],
$r, 1, 1));
print &ui_table_row($text{'ahttp_dma'},
&ui_select("no", \@no, [ map { $_->{'values'}->[0] } @acls ],
$r, 1, 1));
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'buttsave'} ],
@always ? ( [ 'delete', $text{'buttdel'} ] ) : ( ) ]);
&ui_print_footer("edit_icp.cgi", $text{'ahttp_return'});
+40
View File
@@ -0,0 +1,40 @@
#!/usr/local/bin/perl
# always_save.cgi
# Save or delete an always_direct directive
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my @always = &find_config("always_direct", $conf);
my $always;
if (defined($in{'index'})) {
$always = $conf->[$in{'index'}];
}
if ($in{'delete'}) {
# delete this restriction
splice(@always, &indexof($always, @always), 1);
}
else {
# update or create
my @vals = ( $in{'action'} );
foreach my $y (split(/\0/, $in{'yes'})) { push(@vals, $y); }
foreach my $n (split(/\0/, $in{'no'})) { push(@vals, "!$n"); }
my $newalways = { 'name' => 'always_direct', 'values' => \@vals };
if ($always) { splice(@always, &indexof($always, @always),
1, $newalways); }
else { push(@always, $newalways); }
}
&save_directive($conf, "always_direct", \@always);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log($in{'delete'} ? 'delete' : $always ? 'modify' : 'create', 'always');
&redirect("edit_icp.cgi");
+45
View File
@@ -0,0 +1,45 @@
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
do 'squid-lib.pl';
# backup_config_files()
# Returns files and directories that can be backed up
sub backup_config_files
{
return &get_all_config_files();
}
# pre_backup(&files)
# Called before the files are actually read
sub pre_backup
{
return undef;
}
# post_backup(&files)
# Called after the files are actually read
sub post_backup
{
return undef;
}
# pre_restore(&files)
# Called before the files are restored from a backup
sub pre_restore
{
return undef;
}
# post_restore(&files)
# Called after the files are restored from a backup
sub post_restore
{
return &apply_configuration();
}
1;
+44
View File
@@ -0,0 +1,44 @@
#!/usr/local/bin/perl
# cachemgr.cgi
# Run the squid cachemgr.cgi program
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config, $module_name);
require './squid-lib.pl';
$access{'cms'} || &error($text{'cach_ecannot'});
my ($mgr) = glob($config{'cachemgr_path'});
&same_file($0, $mgr) && &error($text{'cach_esame'});
if (&has_command($mgr)) {
$| = 1;
my $temp;
my $args = join(" ", map { quotemeta($_) } @ARGV);
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
# Deal with POST data
my $post;
&read_fully(\*STDIN, \$post, $ENV{'CONTENT_LENGTH'});
$temp = &transname();
my $fh = "TEMP";
&open_tempfile($fh, ">$temp", 0, 1);
&print_tempfile($fh, $post);
&close_tempfile($fh);
open(MGR, "$mgr $args <$temp |");
}
else {
open(MGR, "$mgr $args |");
}
while(<MGR>) {
print;
}
close(MGR);
unlink($temp) if ($temp);
}
else {
&ui_print_header(undef, $text{'cach_err'}, "");
print &text('cach_nfound',$mgr,$module_name);
print "\n<p>\n";
}
&ui_print_footer("", $text{'cach_return'});
+139
View File
@@ -0,0 +1,139 @@
#!/usr/local/bin/perl
# calamaris.cgi
# Run calamaris on the squid logfile(s)
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config, %gconfig, $module_name);
require './squid-lib.pl';
$access{'calamaris'} || &error($text{'calamaris_ecannot'});
&ui_print_header(undef, $text{'calamaris_title'}, "");
# is calamaris installed?
if (!&has_command($config{'calamaris'})) {
print &text('calamaris_eprog', "<tt>$config{'calamaris'}</tt>",
"@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
&ui_print_footer("", $text{'index_return'});
exit;
}
# Work out Calamaris version and args
my $ver;
if (&backquote_command("$config{'calamaris'} -V 2>&1") =~
/(revision:|Calamaris)\s+(\d\S+)/i) {
$ver = $2;
}
my $args = $config{'cal_all'} ? " -a" : "";
if ($ver >= 2.5) {
if ($config{'cal_fmt'} eq 'w') {
$args .= " -F html";
}
else {
$args .= " -F mail";
}
}
else {
$args .= " -".$config{'cal_fmt'};
}
$args .= " $config{'cal_extra'}";
# are there any logfiles to analyse?
my $ld = $config{'log_dir'};
my $fh;
my @files;
opendir($fh, $ld);
while(my $f = readdir($fh)) {
my @st = stat("$ld/$f");
if ($f =~ /^access.log.*gz$/) {
push(@files, [ "gunzip -c $ld/$f |", $st[9] ]);
}
elsif ($f =~ /^access.log.*Z$/) {
push(@files, [ "uncompress -c $ld/$f |", $st[9] ]);
}
elsif ($f =~ /^access.log/) {
push(@files, [ "$ld/$f", $st[9] ]);
}
}
closedir($fh);
if (!@files) {
print &text('calamaris_elogs', "<tt>$ld</tt>",
"@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n";
&ui_print_footer("", $text{'index_return'});
exit;
}
# run calamaris, parsing newest files and records first
my $temp = &transname();
my $fh2;
open($fh2, "| $config{'calamaris'} $args >$temp 2>/dev/null");
if ($config{'cal_max'}) {
# read only the last N lines
print &text('calamaris_last', $config{'cal_max'}),"<p>\n";
@files = sort { $b->[1] <=> $a->[1] } @files;
my $lnum = 0;
foreach my $f (@files) {
my $left = $config{'cal_max'} - $lnum;
last if ($left <= 0);
my $fh3;
if ($f->[0] =~ /\|$/) {
open($fh3, "$f->[0] tail -$left |");
}
else {
open($fh3, "tail -$left $f->[0] |");
}
while(<$fh3>) {
print $fh2 $_;
$lnum++;
}
close($fh3);
}
}
else {
# read all the log files
my $fh3;
foreach my $f (@files) {
open($fh3, "<$f->[0]");
my $buf;
my $bs = &get_buffer_size();
while(read($fh3, $buf, $bs) > 0) {
print $fh2 $buf;
}
close($fh3);
}
}
close($fh2);
# Put the calamaris output into a nice webmin like table.
my $date = &make_date(time());
print &ui_table_start(&text('calamaris_gen', $date), undef, 2);
# Get the output
my $fh4;
open($fh4, $temp);
my $html = "";
if ($config{'cal_fmt'} eq 'm') {
$html = "<pre>";
while(<$fh4>) {
$html .= &html_escape($_);
}
$html = "</pre>";
}
else {
my $inbody = 0;
while(<$fh4>) {
if (/<\s*\/head/i || /<\s*body/i) { $inbody = 1; }
elsif (/<\s*\/body/i) { $inbody = 0; }
elsif ($inbody) { $html .= $_; }
}
}
close($fh4);
unlink($temp);
# Show it
print &ui_table_row(undef, $html, 2);
print &ui_table_end();
&ui_print_footer("", $text{'index_return'});
+73
View File
@@ -0,0 +1,73 @@
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
do 'squid-lib.pl';
sub cgi_args
{
my ($cgi) = @_;
my $conf = &get_config();
if ($cgi eq 'edit_cache_host.cgi') {
# First other cache
my $cache_host = $squid_version >= 2 ? "cache_peer" : "cache_host";
my @ch = &find_config($cache_host, $conf);
return @ch ? 'num=0' : 'new=1';
}
elsif ($cgi eq 'always.cgi' && $squid_version >= 2.3) {
# First ACL to always fetch directly
my @always = &find_config("always_direct", $conf);
return @always ? 'index='.$always[0]->{'index'} : 'new=1';
}
elsif ($cgi eq 'never.cgi' && $squid_version >= 2.3) {
# First ACL to never fetch directly
my @never = &find_config("never_direct", $conf);
return @never ? 'index='.$never[0]->{'index'} : 'new=1';
}
elsif ($cgi eq 'acl.cgi') {
# First ACL rule
my @acls = &find_config("acl", $conf);
return @acls ? 'index='.$acls[0]->{'index'} : 'type=src';
}
elsif ($cgi eq 'http_access.cgi') {
# First HTTP rule
my @https = &find_config("http_access", $conf);
return @https ? 'index='.$https[0]->{'index'} : 'new=1';
}
elsif ($cgi eq 'icp_access.cgi') {
# First ICP rule
my @icps = &find_config("icp_access", $conf);
return @icps ? 'index='.$icps[0]->{'index'} : 'new=1';
}
elsif ($cgi eq 'edit_ext.cgi' && $squid_version >= 2.5) {
# First external authenticator
my @exts = &find_config("external_acl_type", $conf);
return @exts ? 'index='.$exts[0]->{'index'} : 'new=1';
}
elsif ($cgi eq 'http_reply_access.cgi' && $squid_version >= 2.5) {
# First reply rule
my @replies = &find_config("http_reply_access", $conf);
return @replies ? 'index='.$replies[0]->{'index'} : 'new=1';
}
elsif ($cgi eq 'edit_acl.cgi') {
# Supports linking, even though it calls ReadParse
return '';
}
elsif ($cgi eq 'edit_pool.cgi') {
# First delay pool
my @pools = &find_config("delay_class", $conf);
return @pools ? 'idx='.$pools[0]->{'values'}->[0] : 'new=1';
}
elsif ($cgi eq 'edit_headeracc.cgi') {
# Creating request header
return 'new=1&type=request_header_access';
}
elsif ($cgi eq 'edit_refresh.cgi') {
# First refresh rule
my @refresh = &find_config("refresh_pattern", $conf);
return @refresh ? 'index='.$refresh[0]->{'index'} : 'new=1';
}
return undef;
}
+54
View File
@@ -0,0 +1,54 @@
#!/usr/local/bin/perl
# chown.cgi
# Change permissions on cache/log/pid files after a user change
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'admopts'} || &error($text{'eadm_ecannot'});
&ui_print_unbuffered_header(undef, $text{'chown_header'}, "");
my $conf = &get_config();
# Stop squid
my $pid = &is_squid_running();
my $stopped = 0;
if ($pid && kill(0, $pid)) {
print "<p>$text{'chown_stop'}<br>\n";
system("$config{'squid_path'} -f $config{'squid_conf'} ".
"-k shutdown >/dev/null 2>&1");
for(my $i=0; $i<40; $i++) {
if (!kill(0, $pid)) { last; }
sleep(1);
}
print "$text{'chown_done'}<br>\n";
$stopped++;
}
# Change ownership
print "<p>$text{'chown_chown'}<br>\n";
my ($user, $group) = &get_squid_user($conf);
&chown_files($user, $group, $conf);
print "$text{'chown_done'}<br>\n";
# Re-start Squid
if ($stopped) {
print "<p>$text{'chown_restart'}<br>\n";
my $temp = &transname();
system("$config{'squid_path'} -sY -f $config{'squid_conf'} >$temp 2>&1 </dev/null &");
sleep(3);
my $errs = &read_file_contents($temp);
unlink($temp);
if ($errs) {
system("$config{'squid_path'} -k shutdown -f $config{'squid_conf'} >/dev/null 2>&1");
print "$text{'chown_failrestart'}<br>\n";
print "<pre>$errs</pre>\n";
}
print "$text{'chown_done'}<br>\n";
}
&ui_print_footer("", $text{'chown_return'});
+112
View File
@@ -0,0 +1,112 @@
#!/usr/local/bin/perl
# clear.cgi
# Delete the cache, chown the directory to the correct user and re-run squid -z
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'rebuild'} || &error($text{'clear_ecannot'});
&ReadParse();
$config{'cache_dir'} =~ /^\/\S+/ || &error("Cache directory not set");
my $conf = &get_config();
if (!$in{'confirm'}) {
# Ask the user if he is sure
&ui_print_header(undef, $text{'clear_header'}, "");
print &ui_confirmation_form(
"clear.cgi",
$text{'clear_msgclear'}."<br>".$text{'clear_msgclear2'},
[],
[ [ 'confirm', $text{'clear_buttclear'} ] ]);
if (&has_command($config{'squidclient'})) {
# Show form to clear just one URL
print &ui_hr();
print &ui_form_start("purge.cgi");
print "<b>$text{'clear_url'}</b>\n";
print &ui_textbox("url", undef, 50),"\n";
print &ui_submit($text{'clear_ok'}),"<br>\n";
print &ui_form_end();
}
&ui_print_footer("", $text{'clear_return'});
exit;
}
&ui_print_unbuffered_header(undef, $text{'clear_header'}, "");
# Stop squid (if running)
my $pid = &is_squid_running();
my $stopped = 0;
if ($pid && kill(0, $pid)) {
print "$text{'clear_stop'}<br>\n";
&system_logged("$config{'squid_path'} -f $config{'squid_conf'} ".
"-k shutdown >/dev/null 2>&1");
for(my $i=0; $i<40; $i++) {
if (!kill(0, $pid)) { last; }
sleep(1);
}
print "$text{'clear_done'}<p>\n";
$stopped++;
}
# Get list of cache dirs
my @caches;
if (my @cachestruct = &find_config("cache_dir", $conf)) {
if ($squid_version >= 2.3) {
@caches = map { $_->{'values'}->[1] } @cachestruct;
}
else {
@caches = map { $_->{'values'}->[0] } @cachestruct;
}
}
else {
@caches = ( $config{'cache_dir'} );
}
# Delete old cache files and re-create with same permissions!
print "$text{'clear_del'}<br>\n";
foreach my $c (@caches) {
my @st = stat($c);
if (@st) {
&system_logged("rm -rf ".quotemeta($c)."/* >/dev/null 2>&1");
#mkdir($c, 0755); # only remove contents
#chown($st[4], $st[5], $c);
#chmod($st[2], $c);
}
}
print "$text{'clear_done'}<p>\n";
my $cmd = "$config{'squid_path'} -f $config{'squid_conf'} -z";
print &text('clear_init',$cmd)."<br>\n";
print "<pre>\n";
&additional_log('exec', undef, $cmd);
open(INIT, "$cmd 2>&1 |");
while(<INIT>) {
print &html_escape($_);
}
close(INIT);
print "</pre>\n";
print "$text{'clear_done'}<p>\n";
# Try to re-start squid
if ($stopped) {
my $temp = &transname();
&system_logged("$config{'squid_path'} -sY -f $config{'squid_conf'} >$temp 2>&1 </dev/null &");
sleep(3);
my $errs = &read_file_contents($temp);
unlink($temp);
if ($errs) {
&system_logged("$config{'squid_path'} -k shutdown -f $config{'squid_conf'} >/dev/null 2>&1");
print "$text{'clear_failrestart'}<br>\n";
print "<pre>$errs</pre>\n";
}
}
&webmin_log("clear");
&ui_print_footer("", $text{'clear_return'});
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=service squid start
squid_stop=service squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=service squid start
squid_stop=service squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=service squid start
squid_stop=service squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/squid/logs
squid_path=/usr/local/bin/squid
cache_dir=/var/squid/cache
squid_conf=/etc/squid/squid.conf
pid_file=/var/squid/logs/squid.pid
cachemgr_path=/usr/local/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/home/squid/logs
squid_path=/home/squid/bin/squid
cache_dir=/home/squid/cache
squid_conf=/etc/squid/squid.conf
pid_file=/etc/squid/squid.pid
cachemgr_path=/home/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
squid_restart=/etc/init.d/squid restart
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
squid_start=service squid start
squid_stop=service squid stop
squid_restart=service squid restart
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid3
squid_path=squid3
cache_dir=/var/spool/squid3
squid_conf=/etc/squid3/squid.conf
pid_file=/var/run/squid3.pid
cachemgr_path=/usr/lib/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
squid_start=service squid3 start
squid_stop=service squid3 stop
squid_restart=service squid3 reload
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/sbin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/etc/squid/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/sbin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/sbin/squid
cache_dir=/var/squid/cache/squid
squid_conf=/usr/local/etc/squid/squid.conf
pid_file=/var/run/squid/squid.pid
cachemgr_path=/usr/local/sbin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
squid_start=/usr/local/etc/rc.d/squid forcestart
squid_stop=/usr/local/etc/rc.d/squid forcestop
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/cache/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/squid/logs
cache_dir=/usr/squid/cache
squid_path=/usr/squid/bin/squid
squid_conf=/usr/squid/etc/squid.conf
pid_file=/usr/squid/logs/squid.pid
cachemgr_path=/usr/apache/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=service squid start
squid_stop=service squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/var/www/cgi-bin/cachemgr.cgi
squid_start=service squid start
squid_stop=service squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/share/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/squid/logs
squid_path=/usr/pkg/sbin/squid
cache_dir=/var/squid/cache
squid_conf=/etc/squid.conf
pid_file=/var/squid/logs/squid.pid
cachemgr_path=/usr/pkg/libexec/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.d/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid.d
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.d/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/cache/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/sbin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/etc/squid/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/sbin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
start_cmd=service squid start
stop_cmd=service squid stop
squid_restart=service squid restart
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+21
View File
@@ -0,0 +1,21 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=systemctl start squid
squid_stop=systemctl stop squid
squid_restart=systemctl reload squid
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/*/squid/cachemgr.cgi
squid_start=/etc/rc.d/init.d/squid start
squid_stop=/etc/rc.d/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/server/squid/var/logs
squid_path=/server/squid/sbin/squid
cache_dir=/server/squid/var/cache
squid_conf=/server/squid/etc/squid.conf
pid_file=/server/squid/var/logs/squid.pid
#cachemgr_path=/server/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/squid/logs
squid_path=/usr/squid/sbin/squid
cache_dir=/var/squid/cache
squid_conf=/etc/squid/squid.conf
pid_file=/var/squid/logs/squid.pid
cachemgr_path=/usr/squid/libexec/cachemgr.cgi
calamaris=
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
squid_start=svcadm enable svc:/network/http:squid
squid_stop=svcadm disable svc:/network/http:squid
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/squid/logs
squid_path=squid
cache_dir=/var/squid/cache
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/sbin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/cache/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/share/doc/packages/squid/scripts/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/cache/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid /run/squid/squid.pid
cachemgr_path=/usr/share/doc/packages/squid/scripts/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/lib/squid/cachemgr.cgi
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/spool/squid
squid_conf=/etc/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/home/httpd/cgi-bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+20
View File
@@ -0,0 +1,20 @@
log_dir=/var/log/squid
squid_path=squid
cache_dir=/var/cache/squid
squid_conf=/etc/squid/squid.conf
pid_file=/var/run/squid.pid
cachemgr_path=/usr/share/doc/packages/squid/scripts/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
squid_start=/etc/init.d/squid start
squid_stop=/etc/init.d/squid stop
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+18
View File
@@ -0,0 +1,18 @@
log_dir=/usr/local/squid/logs
squid_path=/usr/local/squid/bin/squid
cache_dir=/usr/local/squid/cache
squid_conf=/usr/local/squid/etc/squid.conf
pid_file=/usr/local/squid/logs/squid.pid
cachemgr_path=/usr/local/squid/bin/cachemgr.cgi
calamaris=calamaris
cal_max=50000
cal_args=-aw
crypt_conf=0
sort_conf=0
sync_create=0
sync_delete=0
sync_modify=1
cal_fmt=w
cal_all=1
restart_pos=0
squidclient=squidclient
+23
View File
@@ -0,0 +1,23 @@
line1=Configurable options,11
cal_all=Generate all calamaris reports?,1,1-Yes,0-No
cal_fmt=Calamaris output format,1,w-HTML,m-Text
cal_extra=Extra Calamaris command-line parameters,0
cal_max=Maximum log lines to pass to calamaris,3,Unlimited
crypt_conf=Encryption method for proxy passwords,1,0-crypt,1-md5base64
sort_conf=Sort proxy users,1,1-Yes,0-No
restart_pos=Show stop/start/apply buttons,1,2-On main page,1-In headings,0-Both
sync_create=Create proxy users when creating system users,1,1-Yes,0-No
sync_modify=Update proxy users when updating system users,1,1-Yes,0-No
sync_delete=Delete proxy users when deleting system users,1,1-Yes,0-No
line2=System configuration,11
squid_conf=Full path to squid config file,0
squid_start=Command to start squid,3,Automatic
squid_stop=Command to stop squid,3,Automatic
squid_restart=Command to apply changes,3,Automatic
squid_path=Squid executable,0
pid_file=Full path to PID file,0
cache_dir=Full path to squid cache directory,0
cachemgr_path=Squid cachemgr.cgi executable,0
log_dir=Full path to squid log directory,0
calamaris=Path to calamaris log analysis program,3,Not installed
squidclient=Path to squidclient program,3,Not installed
+23
View File
@@ -0,0 +1,23 @@
line1=Opcions configurables,11
cal_all=Genera tots els informes de calamaris,1,1-Sí,0-No
cal_fmt=Format de sortida de calamaris,1,w-HTML,m-Text
cal_extra=Paràmetres extra de la línia d'ordres de calamaris,0
cal_max=Nombre màxim de línies de registre per passar a calamaris,3,Il·limitat
crypt_conf=Mètode de xifratge per a les contrasenyes de proxy,1,0-crypt,1-md5base64
sort_conf=Ordena els usuaris de la proxy,1,1-Sí,0-No
restart_pos=Mostra els botons Inicia/Atura/Aplica,1,2-A la pàgina principal,1-A les capçaleres,0-A tots dos llocs
sync_create=Crea els usuaris de la proxy en crear usuaris del sistema,1,1-Sí,0-No
sync_modify=Actualitza els usuaris de la proxy en actualitzar els usuaris del sistema,1,1-Sí,0-No
sync_delete=Suprimeix els usuaris de la proxy en suprimir usuaris del sistema,1,1-Sí,0-No
line2=Configuració del sistema,11
squid_conf=Camí complet del fitxer de configuració de squid,0
squid_start=Ordre d'inici de squid,3,Automàtica
squid_stop=Ordre per aturar squid,3,Automàtica
squid_restart=Ordre per aplicar els canvis,3,Automàtica
squid_path=Executable squid,0
pid_file=Camí complet del fitxer de PID,0
cache_dir=Camí complet del directori cau de squid,0
cachemgr_path=Executable cachemgr.cgi de squid,0
log_dir=Camí complet del directori de registres de squid,0
calamaris=Camí del programa analitzador de registres calamaris,3,No instal·lat
squidclient=Camí del programa squidclient,3,No instal·lat
+16
View File
@@ -0,0 +1,16 @@
line1=Možnosti konfigurace,11
cal_max=Maximální počet řádků v logu přecházející do calamaris,3,neomezeno
crypt_conf=Metoda kryptování proxy hesel,1,0-kryptování,1-md5base64
sort_conf=Třídit proxy uživatele?,1,1-ano,0-ne
sync_create=Vytvořit proxy uživatele v momentě vytváření systémových uživatelů?,1,1-ano,0-ne
sync_delete=Smazat proxy uživatele v momentě mazání systémových uživatelů?,1,1-ano,0-ne
line2=Konfigurace systému,11
squid_conf=Úplná cesta ke konfiguračnímu souboru squidu,0
squid_start=Příkaz spouštějící squid,3,Automaticky
squid_stop=Příkaz ukončující squid,3,Automaticky
squid_path=Spouštěč squidu,0
pid_file=Úlná cesta k PID souboru,0
cache_dir=Úplná cesta ke squid cache adresáři,0
cachemgr_path=Spuštěč squid cachemgr.cgi,0
log_dir=Úplná cesta ke squid log adresáři,0
calamaris=Cesta ke calamaris log analyzátoru,3,Není nainstalován
+23
View File
@@ -0,0 +1,23 @@
line1=Konfigurierbare Optionen,11
cal_all=Generiert alle calamaris Berichte?,1,1-Ja,0-Nein
cal_fmt=Calamaris Ausgabeformat,1,w-HTML,m-Text
cal_extra=Zusätzliche Calamaris Befehlszeilenparameter,0
cal_max=Maximale Anzahl Log-Zeilen&#44; die an Calamaris übergeben werden,3,unbegrenzt
crypt_conf=Verschlüsselungsart für Proxy-Passwörter,1,0-crypt,1-md5base64
sort_conf=Sortiere Proxy-Benutzer,1,1-Ja,0-Nein
restart_pos=Zeige Stopp/Start/Anwende Button,1,2-Auf Hauptseite,1-In Überschriften,0-Beides
sync_create=Erzeuge Proxy-Benutzer&#44; wenn System-Benutzer erzeugt werden,1,1-Ja,0-Nein
sync_modify=Aktualisiert Proxy-Benutzer bei der Aktualisierung der Systembenutzer,1,1-Ja,0-Nein
sync_delete=Lösche Proxy-Benutzer&#44; wenn System-Benutzer gelöscht werden,1,1-Ja,0-Nein
line2=Systemkonfiguration,11
squid_conf=Vollständiger Pfad zur Squid Konfigurationsdatei,0
squid_start=Befehl zum Start von Squid,3,Automatisch
squid_stop=Befehl zum Stopp von Squid,3,Automatisch
squid_restart=Befehl um Änderungen anzuwenden,3,Automatisch
squid_path=Ausführbare Datei von Squid,0
pid_file=Vollständiger Pfad zur PID-Datei,0
cache_dir=Vollständiger Pfad zum Squid-Cache Verzeichnis,0
cachemgr_path=Ausführbare Datei zum Squid cachemgr.cgi,0
log_dir=Vollständiger Pfad zum Squid-Log Verzeichnis,0
calamaris=Pfad zum Calamaris Log-Analysis Programm,3,Nicht installiert
squidclient=Pfad zum squidclient Programm,3,Nicht installiert
+22
View File
@@ -0,0 +1,22 @@
line1=Opciones configurables,11
cal_all=¿Generar todos los informes calamaris?,1,1-,0-No
cal_fmt=Formato de salida Calamaris,1,w-HTML,m-Texto
cal_extra=Parametros extra de linea de comandos de Calamaris,0
cal_max=Número máximo de líneas de diario a pasar a calamaris,3,Ilimitado
crypt_conf=Método de encriptación para claves de acceso a proxy,1,0-crypt,1-md5base64
sort_conf=Clasificar usuarios de proxy,1,1-,0-No
restart_pos=Mostrar botones parar/iniciar/aplicar,1,2-En página principal,1-En encabezamientos,0-En ambos
sync_create=Crear usuarios de proxy al crear usuarios de sistema,1,1-,0-No
sync_modify=Actualizar usuarios proxy cuando se actualizan los usuarios del sistema,1,1-,0-No
sync_delete=Borrar usuarios de proxy al borrar usuarios de sistema,1,1-,0-No
line2=Configuración del sistema,11
squid_conf=Trayectoria completa a archivo de configuración de squid,0
squid_start=Comando para arrancar squid,3,Automático
squid_stop=Comando para parar squid,3.Automático
squid_restart=Comando para aplicar cambios,3,Automático
squid_path=Ejecutable Squid,0
pid_file=Trayectoria completa a archivo PID,0
cache_dir=Trayectoria completa a directorio de caché de squid,0
cachemgr_path=Ejecutable cachemgr.cgi de Squid,0
log_dir=Trayectoria completa a directorio de diario de squid,0
calamaris=Trayectoria a programa de análisis de diario de calamaris,3,No instalado
+17
View File
@@ -0,0 +1,17 @@
line1=گزينه‌هاي قابل پيکربندي،11
cal_all=آيا تمام گزارشهاي calamaris توليد شوند؟،1،1-بله،0-خير
cal_fmt=قالب بروندادCalamaris،1،w-HTML،m-Text
cal_extra=پارامترهاي اضافي خط فرمان Calamaris،0
cal_max=بيشينه خطوط پرونده ثبت براي گذر به calamaris،3،بدون محدوديت
crypt_conf=روش رمزگذاري براي اسم‌رمزهاي پراکسي،1،0-crypt،1-md5base64
sort_conf=آيا کاربران پراکسي مرتب شوند؟،1،1-بله،0-خير
restart_pos=نمايش دگمه‌هاي متوقف کردن/آغازکردن/به‌کاربستن،1،2-در صفحه اصلي،1-در عناوين،0-هر دو
sync_create=آيا در هنگام ايجاد شدن کاربر سيستم، کاربر پراکسي نيز ايجاد شود؟،1،1-بله،0-خير
sync_modify=آيا در هنگام به‌روزرساني کاربران سيستم، کاربران پراکسي نيز به‌روزرساني شوند؟،1،1-بله،0-خير
sync_delete=آيا در هنگام حذف شدن کاربر سيستم، کاربر پراکسي نيز حذف شود؟،1،1-بله،0-خير
line2=پيکربندي سيستم،11
pid_file=مسير کامل پروندهPID،0
cache_dir=مسير کامل فهرست راهنماي نهانگاه sqUID،0
cachemgr_path=cachemgr.cgi اجرايي Squid ،0
log_dir=مسير کامل فهرست راهنماي ثبت sqUID ،0
calamaris=مسيري برنامه تحليل ثبت calamaris ،3،نصب نشده‌است
+10
View File
@@ -0,0 +1,10 @@
cal_max=Nb maximum de lignes de log à passer à calamaris,3,Non limité
squid_conf=Chemin du fichier de configuration de squid,0
squid_start=Commande de démarrage de squid,3,Automatique
squid_stop=Commande d'arrêt de squid,3,Automatique
squid_path=Exécutable de squid,0
pid_file=Chemin du fichier de numéro de processus,0
cache_dir=Répertoire cache de squid,0
cachemgr_path=Chemin de l'exécutable 'cachemgr.cgi',0
log_dir=Répertoire d'audit de squid,0
calamaris=Chemin vers le programme d'analyse de log calamaris,3,Non installé
+12
View File
@@ -0,0 +1,12 @@
cal_max=Maximum log lines to pass to calamaris,3,Unlimited
crypt_conf=Encryption method for proxy passwords,1,0-crypt,1-md5base64
sort_conf=Sort proxy users,1,1-Yes,0-No
squid_conf=Full path to squid config file,0
squid_start=Command to start squid,3,Automatic
squid_stop=Command to stop squid,3,Automatic
squid_path=Squid executable,0
pid_file=Full path to PID file,0
cache_dir=Full path to squid cache directory,0
cachemgr_path=Squid cachemgr.cgi executable,0
log_dir=Full path to squid log directory,0
calamaris=Path to calamaris log analysis program,3,Not installed
+20
View File
@@ -0,0 +1,20 @@
line1=設定可能なオプション
cal_all=全てのclamarisレポートを生成しますか?,1,1-はい,0-いいえ
cal_fmt=Calamaris 出力フォーマット,1,w-HTML,m-Text
cal_extra=外部 Calamarisコマンドラインパラメータ,0
crypt_conf=プロクシパスワードの暗号化方法,1,0-crypt,1-md5base64
sort_conf=プロクシユーザを並び替える,1,1-はい,0-いいえ
sync_create=システムユーザが作成されたら、対応したプロクシユーザを作成する,1,1-はい,0-いいえ
sync_modify=システムユーザを更新したら、プロクシユーザを更新する,1,1-はい,0-いいえ
sync_delete=システムユーザが削除されたら、対応するプロクシユーザを削除する,1,1-はい,0-いいえ
line2=システム設定,11
squid_conf=Squid設定ファイルへのフルパス,0
squid_start=Squidの起動コマンド,3,自動
squid_stop=Squidの停止コマンド,3,自動
squid_restart=変更を適用するコマンド,3,自動
squid_path=Squid実行ファイル,0
pid_file=PIDファイルへのフルパス,0
cache_dir=squidのキャッシュディレクトリへのフルパス,0
cachemgr_path=squid cachemgr.cgiの実行ファイル,0
log_dir=squidのログディレクトリへのフルパス,0
calamaris=Calamarisログ解析プログラムへのパス,3,インストールされていない
+23
View File
@@ -0,0 +1,23 @@
line1=Configureerbare opties,11
cal_all=Genereer alle Calamaris rapporten?,1,1-Ja,0-Nee
cal_fmt=Calamaris resultaat formaat,1,w-HTML,m-Tekst
cal_extra=Extra Calamaris opdracht-regel parameters,0
cal_max=Maximum log regels toe te voegen aan Calamaris,3,ongelimiteerd
crypt_conf=Encryptie methode voor proxy wachtwoorden,1,0-crypt,1-md5base64
sort_conf=Sorteer proxy gebruikers,1,1-Ja,0-Nee
restart_pos=Laat stop/start/toevoeg knoppen zien,1,2-Op hoofd pagina,1-In headings,0-Beide
sync_create=Proxy gebruikers aanmaken wanneer systeem gebruikers worden aangemaakt,1,1-Ja,0-Nee
sync_modify=Update proxy gebruikers wanneer systeem gebruikers worden geupdate,1,1-Ja,0-Nee
sync_delete=Verwijder proxy gebruikers wanneer systeem gebruikers worden verwijdert,1,1-Ja,0-Nee
line2=Systeem configuratie,11
squid_conf=Volledig pad naar Squid config file,0
squid_start=Opdracht om Squid te starten,3,Automatisch
squid_stop=Opdracht om Squid te stoppen,3,Automatisch
squid_restart=Opdracht om veranderingen toe te voegen,3,Automatisch
squid_path=Squid uitvoerbestand,0
pid_file=Volledig pad naar PID file,0
cache_dir=Volledig pad naar de Squid cache directory,0
cachemgr_path=Squid cachemgr.cgi uitvoerbestand,0
log_dir=Volledig pad naar Squid log directory,0
calamaris=Pad naar Calamaris log analyse programma,3,Niet geinstalleerd
squidclient=Pad naar Squidclient programma,3,Niet geinstalleerd
+23
View File
@@ -0,0 +1,23 @@
line1=Konfigurerbare innstillinger,11
cal_all=Generer alle calamaris rapporter?,1,1-Ja,0-Nei
cal_fmt=Calamaris output format,1,w-HTML,m-Tekst
cal_extra=Ekstra Calamaris kommando-linje parametere,0
cal_max=Maks. logglinjer å sende til Calamaris,3,Ubegrenset
crypt_conf=Krypteringsmetode for proxy passord,1,0-crypt,1-md5base64
sort_conf=Sorter proxy brukere,1,1-Ja,0-Nei
restart_pos=Vis stopp/start/bruk knapper,1,2-På hovedsiden,1-I sidehoder,0-Begge steder
sync_create=Opprett proxy brukere når systembrukere opprettes,1,1-Ja,0-Nei
sync_modify=Oppdater proxy brukere når systembrukere oppdateres,1,1-Ja,0-Nei
sync_delete=Slett proxy brukere når systembrukere slettes,1,1-Ja,0-Nei
line2=System konfigurasjon,11
squid_conf=Full sti til squids konfig.fil,0
squid_start=Kommando for å starte squid,3,Automatisk
squid_stop=Kommando for å stoppe squid,3,Automatisk
squid_restart=Kommando for å ta i bruk endringer,3,Automatisk
squid_path=Squid program,0
pid_file=Full sti til PID fil,0
cache_dir=Full sti til squid cache katalog,0
cachemgr_path=Squid cachemgr.cgi program,0
log_dir=Full sti til squids logg-katalog,0
calamaris=Sti til calamaris logganalyse program,3,Ikke installert
squidclient=Sti til squidclient programmet,3,Ikke installert
+12
View File
@@ -0,0 +1,12 @@
cal_max=Maksymalna liczba linii logu przekazywanych do <tt>calamaris</tt>,3,Nieograniczona
crypt_conf=Metoda szyfrowania haseł dla proxy,1,0-crypt,1-md5base64
sort_conf=Uporządkować użytkowników proxy,1,1-Tak,0-Nie
squid_conf=Pełna ścieżka do pliku konfiguracyjnego Squida,0
squid_start=Polecenie uruchamiające Squida,3,Automatycznie
squid_stop=Polecenie zatrzymujące Squida,3,Automatycznie
squid_path=Program Squid,0
pid_file=Pełna ścieżka do pliku z&nbsp;numerem PID Squida,0
cache_dir=Pełna ścieżka do katalogu cache Squida,0
cachemgr_path=Program <tt>cachemgr.cgi</tt> Squida,0
log_dir=Pełna ścieżka do katalogu logów Squida,0
calamaris=Ścieżka do programu analizy logów <tt>calamaris</tt>,3,Nie zainstalowano
+23
View File
@@ -0,0 +1,23 @@
line1=Opções configuráveis,11
cal_all=Gerar todos relatórios do Calamaris?,1,1-Sim,0-Não
cal_fmt=Formato de saída do Calamaris,1,w-HTML,m-Texto
cal_extra=Parâmetros extra de configuração de linha de comando do Calamaris,0
cal_max=Máximo de linhas de registro para passar para calamaris,3,Ilimitado
crypt_conf=Método de criptografia para senhas de proxy,1,0-crypt,1-md5base64
sort_conf=Ordenar usuários proxy,1,1-Sim,0-Não
restart_pos=Exibir botões parar/iniciar/aplicar,1,2-Na página principal,1-No cabeçalho,0-Ambos
sync_create=Criar usuários proxy quando criar usuários do sistema,1,1-Sim,0-Não
sync_modify=Atualizar usuários proxy quando atualizar usuários do sistema,1,1-Sim,0-Não
sync_delete=Apagar usuários proxy quando apagar usuários do sistema,1,1-Sim,0-Não
line2=Configuração do sistema,11
squid_conf=Caminho completo para arquivo de configuração do Squid,0
squid_start=Comando para iniciar o Squid,3,Automático
squid_stop=Comando para parar o Squid,3,Automático
squid_restart=Comando para aplicar alterações,3,Automático
squid_path=Executável do Squid,0
pid_file=Caminho completo para o arquivo PID,0
cache_dir=Caminho completo para o diretório de cache do Squid,0
cachemgr_path=Executável do Squid cachemgr.cgi,0
log_dir=Caminho completo para o diretório de log do Squid,0
calamaris=Caminho para o programa de análise de registo Calamaris,3,Não instalado
squidclient=Caminho para o programa squidclient,3,Não instalado
+16
View File
@@ -0,0 +1,16 @@
line1=Настраиваемые параметры,11
cal_max=Максимальное количество строк журнала для передачи calamaris,3,Не ограничено
crypt_conf=Метод шифрования для паролей прокси,1,0-crypt,1-md5base64
sort_conf=упорядочивать пользователей прокси,1,1-Да,0-Нет
sync_create=Создавать пользователей прокси при создании системных пользователей,1,1-Да,0-Нет
sync_delete=Удалять пользователей прокси при удалении системных пользователей,1,1-Да,0-Нет
line2=Системные параметры,11
squid_conf=Полный путь к файлу настроек squid,0
squid_start=Команда для запуска squid,3,Автоматически
squid_stop=Команда для остановки squid,3,Автоматически
squid_path=Исполняемый файл squid,0
pid_file=Полный путь к файлу PID,0
cache_dir=Полный путь к каталогу кэша squid,0
cachemgr_path=Исполняемый файл Squid cachemgr.cgi,0
log_dir=Полный путь к каталогу журнала squid,0
calamaris=Путь к программе анализа журналов calamaris,3,Не установлено
+10
View File
@@ -0,0 +1,10 @@
cal_max=Maximalt antal loggrader som ska skickas till calamaris,3,Obegränsat
squid_conf=Fullständig sökväg till inställningsfil för squid,0
squid_start=Kommando för att starta squid,3,Automatiskt
squid_stop=Kommando för att stanna squid,3,Automatiskt
squid_path=Squid-körfil,0
pid_file=Fullständig sökväg till PID-fil,0
cache_dir=Fullständig sökväg till squid-cache-katalog,0
cachemgr_path=Squid-cachemgr.cgi-körfil,0
log_dir=Fullständig sökväg till squid-loggkatalog,0
calamaris=Sökväg till logganalyseringsprogrammet calamaris,3,Inte installerat
+8
View File
@@ -0,0 +1,8 @@
squid_conf=Squid yapılandırma dosyasının tam yolu,0
squid_start=Squid'i başlatma komutu,3,Otomatik
squid_stop=Squid'i durdurma komutu,3,Otomatik
squid_path=Squid çalıştırılabiliri,0
pid_file=PID dosyasının tam yeri,0
cache_dir=Squid cache dizinin tam yeri,0
cachemgr_path=Squid cachemgr.cgi çalıştırılabilir,0
log_dir=Squid kayıt dizininin tam yeri,0
+16
View File
@@ -0,0 +1,16 @@
line1=Параметри&#44; що настроюються,11
cal_max=Максимальна кількість рядків журналу для передачі calamaris,3,Не обмежено
crypt_conf=Метод шифрування для паролів проксі,1,0-crypt,1-md5base64
sort_conf=упорядковувати користувачів проксі,1,1-да,0-немає
sync_create=Створювати користувачів проксі при створенні системних користувачів,1,1-да,0-немає
sync_delete=Видаляти користувачів проксі при видаленні системних користувачів,1,1-да,0-немає
line2=Системні параметри,11
squid_conf=Повний шлях до файлу настроювань squid,0
squid_start=Команда для запуску squid,3,Автоматично
squid_stop=Команда для зупинки squid,3,Автоматично
squid_path= Виконавчий файл squid,0
pid_file=Повний шлях до файлу PID,0
cache_dir=Повний шлях до каталогу кеша squid,0
cachemgr_path= Виконавчий файл Squid cachemgr.cgi,0
log_dir=Повний шлях до каталогу журналу squid,0
calamaris=Шлях до програми аналізу журналів calamaris,3,Не встановлено
+10
View File
@@ -0,0 +1,10 @@
cal_max=传递给 calamaris 的最大日志行数,3,无限
squid_conf=squid 配置文件的全路径,0
squid_start=启动 squid的命令,3,自动
squid_stop=停止 stop squid 的命令,3,自动
squid_path=Squid 可执行,0
pid_file=PID 文件的全路径,0
cache_dir=squid缓冲目录的全路径,0
cachemgr_path=Squid cachemgr.cgi 可执行,0
log_dir=日志目录的全路径,0
calamaris=到达 calamaris 日志分析程序的路径,3,没有安装
+8
View File
@@ -0,0 +1,8 @@
squid_conf=到 Squid 組態檔的完整路徑,0
squid_start=啟動 Squid 的命令,3,自動
squid_stop=停止 Squid 的命令,3,自動
squid_path=Squid 執行檔,0
pid_file=到 PID 檔案的的完整路徑,0
cache_dir=到 Squid 快取目錄的完整路徑,0
cachemgr_path=Squid 的 cachemgr.cgi 執行檔,0
log_dir=到 Squid 紀錄目錄的完整路徑,0
+23
View File
@@ -0,0 +1,23 @@
root=/
portsnets=1
othercaches=1
musage=1
logging=1
copts=1
hprogs=1
actrl=1
admopts=1
proxyauth=1
miscopt=1
cms=1
rebuild=1
calamaris=1
start=1
restart=1
delay=1
authparam=1
headeracc=1
refresh=1
iptables=1
cachemgr=1
manual=1
+33
View File
@@ -0,0 +1,33 @@
#!/usr/local/bin/perl
# Delete multiple proxy restrictions
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
&error_setup($text{'dhttp_err'});
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'dhttp_enone'});
# Get the existing restrictions
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my @https = &find_config("http_access", $conf);
# Delete them
foreach my $d (sort { $b <=> $a } @d) {
my $http = $conf->[$d];
splice(@https, &indexof($http, @https), 1);
}
# Write out
&save_directive($conf, "http_access", \@https);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("delete", "https", scalar(@d));
&redirect("edit_acl.cgi?mode=http");
+32
View File
@@ -0,0 +1,32 @@
#!/usr/local/bin/perl
# Delete multiple proxy REPLY restrictions
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
&error_setup($text{'dhttp_err'});
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'dhttp_enone'});
# Get the existing restrictions
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my @http_replies = &find_config("http_reply_access", $conf);
# Delete them
foreach my $d (sort { $b <=> $a } @d) {
my $http_reply = $conf->[$d];
splice(@http_replies, &indexof($http_reply, @http_replies), 1);
}
# Write out
&save_directive($conf, "http_reply_access", \@http_replies);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("delete", "http_replies", scalar(@d));
&redirect("edit_acl.cgi?mode=reply");
+33
View File
@@ -0,0 +1,33 @@
#!/usr/local/bin/perl
# Delete multiple proxy restrictions
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
&error_setup($text{'dhttp_err'});
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'dhttp_enone'});
# Get the existing restrictions
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my @https = &find_config("http_access", $conf);
# Delete them
foreach my $d (sort { $b <=> $a } @d) {
my $http = $conf->[$d];
splice(@https, &indexof($http, @https), 1);
}
# Write out
&save_directive($conf, "http_access", \@https);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("delete", "https", scalar(@d));
&redirect("edit_acl.cgi");
+33
View File
@@ -0,0 +1,33 @@
#!/usr/local/bin/perl
# Delete multiple proxy restrictions
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
&error_setup($text{'dicp_err'});
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'dicp_enone'});
# Get the existing restrictions
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my @icps = &find_config("icp_access", $conf);
# Delete them
foreach my $d (sort { $b <=> $a } @d) {
my $icp = $conf->[$d];
splice(@icps, &indexof($icp, @icps), 1);
}
# Write out
&save_directive($conf, "icp_access", \@icps);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("delete", "icps", scalar(@d));
&redirect("edit_acl.cgi?mode=icp");
+44
View File
@@ -0,0 +1,44 @@
#!/usr/local/bin/perl
# Delete a bunch of other caches
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
&error_setup($text{'deicp_err'});
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'deicp_enone'});
# Get the existing entries
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my $cache_host = $squid_version >= 2 ? "cache_peer" : "cache_host";
my @ch = &find_config($cache_host, $conf);
my @chd = &find_config($cache_host."_domain", $conf);
# Delete them
foreach my $d (sort { $b <=> $a } @d) {
my $dom = $ch[$d]->{'values'}->[0];
my $dir = $ch[$d];
splice(@ch, $d, 1);
# delete any cache_host directives as well
for(my $i=0; $i<@chd; $i++) {
if ($chd[$i]->{'values'}->[0] eq $dom) {
splice(@chd, $i--, 1);
}
}
}
# Write them out
&save_directive($conf, $cache_host, \@ch);
&save_directive($conf, $cache_host."_domain", \@chd);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("delete", "hosts", scalar(@d));
&redirect("edit_icp.cgi");
+46
View File
@@ -0,0 +1,46 @@
#!/usr/local/bin/perl
# Delete a bunch of delay pools
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
&error_setup($text{'dpool_err'});
$access{'delay'} || &error($text{'delay_ecannot'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'dpool_enone'});
# Get the current settings
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my @pools = &find_config("delay_class", $conf);
my @params = &find_config("delay_parameters", $conf);
my @access = &find_config("delay_access", $conf);
my $pools = &find_config("delay_pools", $conf);
# Do the deletion, highest first
foreach my $d (sort { $b <=> $a } @d) {
my ($pool) = grep { $_->{'values'}->[0] == $d } @pools;
my ($param) = grep { $_->{'values'}->[0] == $d } @params;
@access = grep { $_->{'values'}->[0] != $d } @access;
@pools = grep { $_ ne $pool } @pools;
@params = grep { $_ ne $param } @params;
map { $_->{'values'}->[0]-- if ($_->{'values'}->[0] > $d) }
(@access, @pools, @params);
&save_directive($conf, "delay_class", \@pools);
&save_directive($conf, "delay_parameters", \@params);
&save_directive($conf, "delay_access", \@access);
$pools->{'values'}->[0]--;
&save_directive($conf, "delay_pools", [ $pools ]);
}
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("delete", "pools", scalar(@d));
&redirect("edit_delay.cgi");
+31
View File
@@ -0,0 +1,31 @@
#!/usr/local/bin/perl
# Delete several refresh rules at once
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
&error_setup($text{'drefresh_err'});
$access{'refresh'} || &error($text{'refresh_ecannot'});
&ReadParse();
my @d = split(/\0/, $in{'d'});
@d || &error($text{'drefesh_enone'});
# Do the delete
&lock_file($config{'squid_conf'});
my $conf = &get_config();
my @refresh = &find_config("refresh_pattern", $conf);
foreach my $d (sort { $b <=> $a } @d) {
my $h = $conf->[$d];
splice(@refresh, &indexof($h, @refresh), 1);
}
# Write it out
&save_directive($conf, "refresh_pattern", \@refresh);
&flush_file_lines();
&unlock_file($config{'squid_conf'});
&webmin_log("delete", "refreshes", scalar(@d));
&redirect("list_refresh.cgi");
+237
View File
@@ -0,0 +1,237 @@
#!/usr/local/bin/perl
# edit_acl.cgi
# Display a list of all ACLs and restrictions using them
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config, %acl_types);
require './squid-lib.pl';
&ReadParse();
$access{'actrl'} || &error($text{'eacl_ecannot'});
&ui_print_header(undef, $text{'eacl_header'}, "", "edit_acl", 0, 0, 0, &restart_button());
my $conf = &get_config();
# Start tabs for various ACL settings
my $prog = "edit_acl.cgi";
my @tabs = ( [ "acls", $text{'eacl_acls'}, $prog."?mode=acls" ],
[ "http", $text{'eacl_pr'}, $prog."?mode=http" ],
[ "icp", $text{'eacl_icpr'}, $prog."?mode=icp" ] );
if ($squid_version >= 2.5) {
push(@tabs, [ "external", $text{'eacl_ext'}, $prog."?mode=external" ],
[ "reply", $text{'eacl_replypr'}, $prog."?mode=reply" ] );
}
print &ui_tabs_start(\@tabs, "mode", $in{'mode'} || "acls", 1);
# List all defined access control directives
print &ui_tabs_start_tab("mode", "acls");
my @acl = &find_config("acl", $conf);
if (@acl) {
print &ui_columns_start([ $text{'eacl_name'},
$text{'eacl_type'},
$text{'eacl_match'} ], 100);
foreach my $a (@acl) {
my @v = @{$a->{'values'}};
my @cols;
push(@cols, &ui_link("acl.cgi?index=$a->{'index'}",
&html_escape($v[0])));
push(@cols, $acl_types{$v[1]});
if ($v[2] =~ /^"(.*)"$/ || $v[3] =~ /^"(.*)"$/ || $v[4] =~ /^"(.*)"$/) {
push(@cols, &text('eacl_file', "<tt>$1</tt>"));
}
else {
push(@cols, &html_escape(join(' ', @v[2..$#v])));
}
print &ui_columns_row(\@cols, [ "", "nowrap", "" ]);
}
print &ui_columns_end();
}
else {
print "<b>$text{'eacl_noacls'}</b><p>\n";
}
# Form to add a new ACL
print &ui_form_start("acl.cgi");
print &ui_submit($text{'eacl_buttcreate'});
print &ui_select("type", undef,
[ map { [ $_, $acl_types{$_} ] }
(sort { $acl_types{$a} cmp $acl_types{$b} } keys %acl_types) ]);
print &ui_form_end();
print &ui_tabs_end_tab();
# List all HTTP restrictions, based on ACLs
print &ui_tabs_start_tab("mode", "http");
my @http = &find_config("http_access", $conf);
if (@http) {
my @tds = ( "width=5", "width=10%", undef, "width=32" );
print &ui_form_start("delete_http_accesses.cgi", "post");
print &ui_links_row([ &ui_link("http_access.cgi?new=1",
$text{'eacl_addpr'}) ]);
print &ui_columns_start([ "",
$text{'eacl_act'},
$text{'eacl_acls1'},
$text{'eacl_move'} ], 100, 0, \@tds);
my $hc = 0;
foreach my $h (@http) {
my @v = @{$h->{'values'}};
if ($v[0] eq "allow") {
$v[0] = $text{'eacl_allow'};
}
else {
$v[0] = $text{'eacl_deny'};
}
my @cols;
push(@cols, &ui_link("http_access.cgi?index=$h->{'index'}",
$v[0]));
push(@cols, &html_escape(join(' ', @v[1..$#v])));
my $mover = &ui_up_down_arrows(
"move_http.cgi?$hc+-1",
"move_http.cgi?$hc+1",
$hc != 0,
$hc != @http-1
);
push(@cols, $mover);
print &ui_checked_columns_row(\@cols, \@tds, "d",$h->{'index'});
$hc++;
}
print &ui_columns_end();
print &ui_links_row([ &ui_link("http_access.cgi?new=1",
$text{'eacl_addpr'}) ]);
print &ui_form_end([ [ "delete", $text{'eacl_hdelete'} ] ]);
}
else {
print "<b>$text{'eacl_nopr'}</b><p>\n";
print &ui_links_row([ &ui_link("http_access.cgi?new=1",
$text{'eacl_addpr'}) ]);
}
print &ui_tabs_end_tab();
# List all ICP restrictions, based on ACLs
print &ui_tabs_start_tab("mode", "icp");
my @icp = &find_config("icp_access", $conf);
if (@icp) {
print &ui_form_start("delete_icp_accesses.cgi", "post");
my @tds = ( "width=5", "width=10%", undef, "width=32" );
print &ui_links_row([ &ui_link("icp_access.cgi?new=1",
$text{'eacl_addicpr'}) ]);
print &ui_columns_start([ "",
$text{'eacl_act'},
$text{'eacl_acls1'},
$text{'eacl_move'} ], 100, 0, \@tds);
my $ic = 0;
foreach my $i (@icp) {
my @v = @{$i->{'values'}};
if ($v[0] eq "allow") {
$v[0] = $text{'eacl_allow'};
}
else {
$v[0] = $text{'eacl_deny'};
}
my @cols;
push(@cols, &ui_link("icp_access.cgi?index=$i->{'index'}",
$v[0]));
push(@cols, &html_escape(join(' ', @v[1..$#v])));
my $mover = &ui_up_down_arrows(
"move_icp.cgi?$ic+-1",
"move_icp.cgi?$ic+1",
$ic != 0,
$ic != @icp-1);
push(@cols, $mover);
print &ui_checked_columns_row(\@cols, \@tds, "d",$i->{'index'});
$ic++;
}
print &ui_columns_end();
print &ui_links_row([ &ui_link("icp_access.cgi?new=1",
$text{'eacl_addicpr'}) ]);
print &ui_form_end([ [ "delete", $text{'eacl_hdelete'} ] ]);
}
else {
print "<b>$text{'eacl_noicpr'}</b><p>\n";
print &ui_links_row([ &ui_link("icp_access.cgi?new=1",
$text{'eacl_addicpr'}) ]);
}
print &ui_tabs_end_tab();
# List all HTTP REPLY restrictions, based on ACLs
if ($squid_version >= 2.5) {
print &ui_tabs_start_tab("mode", "reply");
my @http_reply = &find_config("http_reply_access", $conf);
if (@http_reply) {
my @tds = ( "width=5", "width=10%", undef, "width=32" );
print &ui_form_start("delete_http_reply_accesses.cgi", "post");
print &ui_links_row([ &ui_link("http_reply_access.cgi?new=1",
$text{'eacl_addpr'}) ]);
print &ui_columns_start([ "",
$text{'eacl_act'},
$text{'eacl_acls1'},
$text{'eacl_move'} ], 100, 0, \@tds);
my $hc = 0;
foreach my $h (@http_reply) {
my @v = @{$h->{'values'}};
if ($v[0] eq "allow") {
$v[0] = $text{'eacl_allow'};
}
else {
$v[0] = $text{'eacl_deny'};
}
my @cols;
push(@cols, &ui_link("http_reply_access.cgi?index=$h->{'index'}", $v[0]));
push(@cols, &html_escape(join(' ', @v[1..$#v])));
my $mover = &ui_up_down_arrows(
"move_http_reply.cgi?$hc+-1",
"move_http_reply.cgi?$hc+1",
$hc != 0,
$hc != @http_reply-1
);
push(@cols, $mover);
print &ui_checked_columns_row(\@cols, \@tds, "d",
$h->{'index'});
$hc++;
}
print &ui_columns_end();
print &ui_links_row([ &ui_link("http_reply_access.cgi?new=1",
$text{'eacl_addpr'}) ]);
print &ui_form_end([ [ "delete", $text{'eacl_hdelete'} ] ]);
}
else {
print "<b>$text{'eacl_noprr'}</b><p>\n";
print &ui_links_row([ &ui_link("http_reply_access.cgi?new=1",
$text{'eacl_addpr'}) ]);
}
print &ui_tabs_end_tab();
}
if ($squid_version >= 2.5) {
# Show table of external ACL types
print &ui_tabs_start_tab("mode", "external");
my @ext = &find_config("external_acl_type", $conf);
if (@ext) {
print &ui_links_row([ &ui_link("edit_ext.cgi?new=1", $text{'eacl_addext'}) ]);
print &ui_columns_start([ $text{'eacl_cname'},
$text{'eacl_format'},
$text{'eacl_program'} ], 100);
foreach my $e (@ext) {
my $ea = &parse_external($e);
print &ui_columns_row([
&ui_link("edit_ext.cgi?index=$e->{'index'}",
$ea->{'name'}),
$ea->{'format'},
join(" ", $ea->{'program'}, @{$ea->{'args'}})
]);
}
print &ui_columns_end();
}
else {
print "<b>$text{'eacl_noext'}</b><p>\n";
}
print &ui_links_row([ &ui_link("edit_ext.cgi?new=1", $text{'eacl_addext'}) ]);
print &ui_tabs_end_tab();
}
print &ui_tabs_end(1);
&ui_print_footer("", $text{'eacl_return'});
+76
View File
@@ -0,0 +1,76 @@
#!/usr/local/bin/perl
# edit_admin.cgi
# A form for editing admin options
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'admopts'} || &error($text{'eadm_ecannot'});
&ui_print_header(undef, $text{'eadm_header'}, "", "edit_admin", 0, 0, 0, &restart_button());
my $conf = &get_config();
print &ui_form_start("save_admin.cgi", "post");
print &ui_table_start($text{'eadm_aao'}, "width=100%", 4);
if ($squid_version < 2) {
my $v = &find_config("cache_effective_user", $conf);
print &ui_table_row($text{'eadm_runasuu'},
&ui_radio("effective_def", $v ? 0 : 1,
[ [ 1, $text{'eadm_nochange'} ],
[ 0, $text{'eadm_user'}." ".
&unix_user_input("effective_u",
$v ? $v->{'values'}->[0] : "")." ".
$text{'eadm_group'}." ".
&unix_group_input("effective_g",
$v ? $v->{'values'}->[1] : "") ] ]));
}
else {
print &opt_input($text{'eadm_runasuu'}, "cache_effective_user", $conf,
$text{'eadm_nochange'}, 8,
&user_chooser_button("cache_effective_user", 0));
print &opt_input($text{'eadm_runasug'}, "cache_effective_group", $conf,
$text{'eadm_nochange'}, 8,
&group_chooser_button("cache_effective_group", 0));
}
print &opt_input($text{'eadm_cmemail'}, "cache_mgr",
$conf, $text{'eadm_default'}, 35);
print &opt_input($text{'eadm_vhost'}, "visible_hostname",
$conf, $text{'eadm_auto'}, 35);
if ($squid_version < 2) {
print &opt_input($text{'eadm_annto'}, "announce_to",
$conf, $text{'eadm_default'}, 40);
print &opt_input($text{'eadm_every'}, "cache_announce", $conf,
$text{'eadm_never'}, 6, "hours");
}
else {
print &opt_input($text{'eadm_uniq'}, "unique_hostname",
$conf, $text{'eadm_auto'}, 35);
if ($squid_version >= 2.4) {
print &opt_input($text{'eadm_haliases'}, "hostname_aliases",
$conf, $text{'eadm_none'}, 35);
}
print &opt_input($text{'eadm_cah'}, "announce_host", $conf,
$text{'eadm_default'}, 20);
print &opt_input($text{'eadm_cap'}, "announce_port", $conf,
$text{'eadm_default'}, 6);
print &opt_input($text{'eadm_caf'}, "announce_file", $conf,
$text{'eadm_none'}, 35, &file_chooser_button("announce_file"));
print &opt_time_input($text{'eadm_annp'}, "announce_period", $conf,
$text{'eadm_default'}, 4);
}
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'eadm_buttsave'} ] ]);
&ui_print_footer("", $text{'eadm_return'});
+139
View File
@@ -0,0 +1,139 @@
#!/usr/local/bin/perl
# edit_authparam.cgi
# A form for editing authentication programs
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config, $auth_program);
require './squid-lib.pl';
$access{'authparam'} || &error($text{'authparam_ecannot'});
&ui_print_header(undef, $text{'authparam_title'}, "", "edit_authparam", 0, 0, 0,
&restart_button());
my $conf = &get_config();
print &ui_form_start("save_authparam.cgi", "post");
print &ui_table_start($text{'authparam_header'}, "width=100%", 2);
if ($squid_version >= 2.5) {
# Squid versions 2.5 and above use different config options for
# the external authentication program
my @auth = &find_config("auth_param", $conf);
# Show basic authentication options
my %basic = map { $_->{'values'}->[1], $_->{'values'} }
grep { $_->{'values'}->[0] eq 'basic' } @auth;
my @p = @{$basic{'program'} || []};
my $m = !@p ? 0 : $p[2] =~ /^(\S+)/ && $1 eq $auth_program ? 2 : 1;
print &ui_table_row($text{'authparam_bprogram'},
&ui_radio("b_auth_mode", $m,
[ [ 0, $text{'none'} ],
[ 2, $text{'eprogs_capweb'} ],
[ 1, &ui_filebox("b_auth",
$m == 1 ? join(" ", @p[2..$#p]) : "", 40) ] ]));
my $c = $basic{'children'}->[2];
print &ui_table_row($text{'eprogs_noap'},
&ui_opt_textbox("b_children", $c, 5, $text{'default'}));
my @t = @{$basic{'credentialsttl'} || []};
print &ui_table_row($text{'eprogs_ttl'},
&ui_radio("b_ttl_def", @t ? 0 : 1,
[ [ 1, $text{'default'} ],
[ 0, &time_fields("b_ttl", 6, $t[2], $t[3]) ] ]));
my @r = @{$basic{'realm'} || []};
my $r = join(" ", @r[2..$#r]);
print &ui_table_row($text{'eprogs_realm'},
&ui_opt_textbox("b_realm", $r, 40, $text{'default'}));
# Show digest authentication options
print &ui_table_hr();
my %digest = map { $_->{'values'}->[1], $_->{'values'} }
grep { $_->{'values'}->[0] eq 'digest' } @auth;
@p = @{$digest{'program'} || []};
$m = @p ? 1 : 0;
print &ui_table_row($text{'authparam_dprogram'},
&ui_radio("d_auth_mode", $m,
[ [ 0, $text{'none'} ],
[ 1, &ui_filebox("d_auth",
$m == 1 ? join(" ", @p[2..$#p]) : "", 40) ] ]));
$c = $digest{'children'}->[2];
print &ui_table_row($text{'eprogs_noap'},
&ui_opt_textbox("d_children", $c, 5, $text{'default'}));
@r = @{$digest{'realm'} || []};
$r = join(" ", @r[2..$#r]);
print &ui_table_row($text{'eprogs_realm'},
&ui_opt_textbox("d_realm", $r, 40, $text{'default'}));
print &ui_table_hr();
# Show NTML authentication options
my %ntlm = map { $_->{'values'}->[1], $_->{'values'} }
grep { $_->{'values'}->[0] eq 'ntlm' } @auth;
@p = @{$ntlm{'program'} || []};
$m = @p ? 1 : 0;
print &ui_table_row($text{'authparam_nprogram'},
&ui_radio("n_auth_mode", $m,
[ [ 0, $text{'none'} ],
[ 1, &ui_filebox("n_auth",
$m == 1 ? join(" ", @p[2..$#p]) : "", 40) ] ]));
$c = $ntlm{'children'}->[2];
print &ui_table_row($text{'eprogs_noap'},
&ui_opt_textbox("n_children", $c, 5, $text{'default'}));
$r = $ntlm{'max_challenge_reuses'}->[2];
print &ui_table_row($text{'authparam_reuses'},
&ui_opt_textbox("n_reuses", $r, 5, $text{'default'}));
@t = @{$ntlm{'max_challenge_lifetime'} || []};
print &ui_table_row($text{'authparam_lifetime'},
&ui_radio("n_ttl_def", @t ? 0 : 1,
[ [ 1, $text{'default'} ],
[ 0, &time_fields("n_ttl", 6, $t[2], $t[3]) ] ]));
}
elsif ($squid_version >= 2) {
# Squid versions 2 and above use a single external
# authentication program
my $v = &find_config("authenticate_program", $conf);
my $m = !$v ? 0 :
$v->{'value'} =~ /^(\S+)/ && $1 eq $auth_program ? 2 : 1;
print &ui_table_row($text{'eprogs_cap'},
&ui_radio("auth_mode", $m,
[ [ 0, $text{'none'} ],
[ 2, $text{'eprogs_capweb'} ],
[ 1, &ui_filebox("auth",
$m == 1 ? $v->{'value'} : "", 40) ] ]));
print &opt_input($text{'eadm_par'}, "proxy_auth_realm",
$conf, $text{'eadm_default'}, 40);
print &opt_input($text{'eprogs_noap'},
"authenticate_children", $conf, $text{'default'}, 6);
if ($squid_version >= 2.4) {
print &opt_time_input($text{'authparam_ttl'},
"authenticate_ttl", $conf, $text{'default'}, 6);
print &opt_time_input($text{'authparam_ipttl'},
"authenticate_ip_ttl", $conf, $text{'authparam_never'}, 6);
}
}
print &ui_table_hr();
my $taa = &find_value("authenticate_ip_ttl", $conf);
my @ta = split(/\s+/,$taa);
print &ui_table_row($text{'eprogs_aittl'},
&ui_radio("b_aittl_def", @ta ? 0 : 1,
[ [ 1, $text{'default'} ],
[ 0, &time_fields("b_aittl", 6, $ta[0], $ta[1]) ] ]));
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'buttsave'} ] ]);
&ui_print_footer("", $text{'eprogs_return'});
+237
View File
@@ -0,0 +1,237 @@
#!/usr/local/bin/perl
# edit_cache.cgi
# A form for editing cache options
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'copts'} || &error($text{'ec_ecannot'});
&ui_print_header(undef, $text{'ec_header'}, "", "edit_cache", 0, 0, 0, &restart_button());
my $conf = &get_config();
print &ui_form_start("save_cache.cgi", "post");
print &ui_table_start($text{'ec_cro'}, "width=100%", 4);
my @dirs = &find_config("cache_dir", $conf);
my $dtable = &ui_radio("cache_dir_def", @dirs ? 0 : 1,
[ [ 1, "$text{'ec_default'} ($config{'cache_dir'})" ],
[ 0, $text{'ec_listed'} ] ])."<br>\n";
my @cols = ( $text{'ec_directory'} );
if ($squid_version >= 2.3) {
push(@cols, $text{'ec_type'});
}
push(@cols, $text{'ec_size'}, $text{'ec_1dirs'}, $text{'ec_2dirs'});
if ($squid_version >= 2.4) {
push(@cols, $text{'ec_opts'});
}
$dtable .= &ui_columns_start(\@cols, 100);
for(my $i=0; $i<=@dirs; $i++) {
my @dv = $i<@dirs ? @{$dirs[$i]->{'values'}} : ();
my @row;
if ($squid_version >= 2.4) {
push(@row, &ui_textbox("cache_dir_$i", $dv[1], 30));
push(@row, &ui_select("cache_type_$i", $dv[0],
[ [ 'ufs', $text{'ec_u'} ],
[ 'diskd', $text{'ec_diskd'} ],
[ 'aufs', $text{'ec_ua'} ],
[ 'coss', $text{'ec_coss'} ] ]));
push(@row, &ui_textbox("cache_size_$i", $dv[2], 8));
push(@row, &ui_textbox("cache_lv1_$i", $dv[3], 8));
push(@row, &ui_textbox("cache_lv2_$i", $dv[4], 8));
push(@row, &ui_textbox("cache_opts_$i",
join(" ",@dv[5..$#dv]), 20));
}
elsif ($squid_version >= 2.3) {
push(@row, &ui_textbox("cache_dir_$i", $dv[1], 30));
push(@row, &ui_select("cache_type_$i", $dv[0],
[ [ 'ufs', $text{'ec_u'} ],
[ 'asyncufs', $text{'ec_ua'} ] ]));
push(@row, &ui_textbox("cache_size_$i", $dv[2], 8));
push(@row, &ui_textbox("cache_lv1_$i", $dv[3], 8));
push(@row, &ui_textbox("cache_lv2_$i", $dv[4], 8));
}
elsif ($squid_version >= 2) {
push(@row, &ui_textbox("cache_dir_$i", $dv[0], 40));
push(@row, &ui_textbox("cache_size_$i", $dv[1], 8));
push(@row, &ui_textbox("cache_lv1_$i", $dv[2], 8));
push(@row, &ui_textbox("cache_lv2_$i", $dv[3], 8));
}
else {
push(@row, &ui_textbox("cache_dir_$i", $dv[0], 50));
}
$dtable .= &ui_columns_row(\@row);
}
$dtable .= &ui_columns_end();
print &ui_table_row($text{'ec_cdirs'}, $dtable, 3);
print &ui_table_hr();
if ($squid_version < 2) {
print &opt_input($text{'ec_1dirs1'}, "swap_level1_dirs", $conf,
$text{'ec_default'}, 6);
print &opt_input($text{'ec_2dirs2'}, "swap_level2_dirs", $conf,
$text{'ec_default'}, 6);
}
if ($squid_version < 2) {
print &opt_input($text{'ec_aos'}, "store_avg_object_size", $conf,
$text{'ec_default'}, 6, $text{'ec_kb'});
}
else {
print &opt_bytes_input($text{'ec_aos'}, "store_avg_object_size",
$conf, $text{'ec_default'}, 6);
}
print &opt_input($text{'ec_opb'}, "store_objects_per_bucket", $conf,
$text{'ec_default'}, 6);
if ($squid_version < 2) {
print &list_input($text{'ec_ncuc'}, "cache_stoplist",
$conf, 1, $text{'ec_default'});
print &list_input($text{'ec_ncum'}, "cache_stoplist_pattern",
$conf, 1, $text{'ec_default'});
}
# ACLs not to cache
my %acldone;
my @acls = grep { !$acldone{$_->{'values'}->[0]}++ } &find_config("acl", $conf);
unshift(@acls, { 'values' => [ 'all' ] }) if ($squid_version >= 3);
my @v;
if ($squid_version >= 2.6) {
# 2.6+ plus uses "cache deny"
@v = &find_config("cache", $conf);
}
else {
# Older versions use cache
@v = &find_config("no_cache", $conf);
}
my %noca;
foreach my $v (@v) {
foreach my $ncv (@{$v->{'values'}}) {
$noca{$ncv}++;
}
}
my @grid;
foreach my $acl (@acls) {
my $aclv = $acl->{'values'}->[0];
push(@grid, &ui_checkbox("no_cache", $aclv, $aclv, $noca{$aclv}));
}
print &ui_table_row($text{'ec_ncua'},
&ui_grid_table(\@grid, 4));
print &opt_time_input($text{'ec_mct'}, "reference_age", $conf,
$text{'default'}, 6);
if ($squid_version >= 2) {
if ($squid_version >= 2.3) {
print &opt_bytes_input($text{'ec_mrbs'},
"request_body_max_size", $conf, $text{'default'}, 6);
print &opt_bytes_input($text{'ec_mrhs'},
"request_header_max_size", $conf, $text{'default'}, 6);
if ($squid_version < 2.5) {
print &opt_bytes_input($text{'ec_mrbs1'},
"reply_body_max_size", $conf, $text{'default'}, 6);
}
else {
print &opt_bytes_input($text{'ec_gap'},
"read_ahead_gap", $conf, $text{'default'}, 6);
}
}
else {
print &opt_bytes_input($text{'ec_mrs'}, "request_size",
$conf, $text{'default'}, 6);
}
print &opt_time_input($text{'ec_frct'},
"negative_ttl", $conf, $text{'default'}, 4);
}
else {
print &opt_input($text{'ec_mrs'}, "request_size", $conf,
$text{'default'}, 8, $text{'ec_kb'});
print &opt_input($text{'ec_frct'}, "negative_ttl", $conf,
$text{'default'}, 4, $text{'ec_mins'});
}
print "</tr>\n";
if ($squid_version >= 2.5) {
# Max reply size can be limited by ACL
my $rtable = &ui_columns_start([ $text{'ec_maxrn'},
$text{'ec_maxracls'} ]);
my @maxrs = &find_config("reply_body_max_size", $conf);
my $i = 0;
foreach my $m (@maxrs, { 'values' => [] }) {
my ($s, @a) = @{$m->{'values'}};
$rtable .= &ui_columns_row([
&ui_textbox("reply_body_max_size_$i", $s, 8),
&ui_textbox("reply_body_max_acls_$i", join(" ", @a),50),
]);
$i++;
}
$rtable .= &ui_columns_end();
print &ui_table_row($text{'ec_maxreplies'}, $rtable, 3);
}
if ($squid_version < 2) {
print &opt_input($text{'ec_dlct'}, "positive_dns_ttl", $conf,
$text{'default'}, 4, $text{'ec_mins'});
print &opt_input($text{'ec_fdct'}, "negative_dns_ttl", $conf,
$text{'default'}, 4, $text{'ec_mins'});
}
else {
print &opt_time_input($text{'ec_dlct'}, "positive_dns_ttl",
$conf, $text{'default'}, 4);
print &opt_time_input($text{'ec_fdct'}, "negative_dns_ttl",
$conf, $text{'default'}, 4);
}
if ($squid_version < 2) {
print &opt_input($text{'ec_ct'}, "connect_timeout", $conf,
$text{'default'}, 4, $text{'ec_secs'});
print &opt_input($text{'ec_rt'}, "read_timeout", $conf,
$text{'default'}, 4, $text{'ec_secs'});
print &opt_input($text{'ec_mcct'}, "client_lifetime", $conf,
$text{'default'}, 4, $text{'ec_mins'});
print &opt_input($text{'ec_mst'}, "shutdown_lifetime", $conf,
$text{'default'}, 4, $text{'ec_mins'});
}
else {
print &opt_time_input($text{'ec_ct'}, "connect_timeout", $conf,
$text{'default'}, 4);
print &opt_time_input($text{'ec_rt'}, "read_timeout", $conf,
$text{'default'}, 4);
print &opt_time_input($text{'ec_sst'}, "siteselect_timeout",
$conf, $text{'default'}, 4);
print &opt_time_input($text{'ec_crt'}, "request_timeout",
$conf, $text{'default'}, 4);
print "</tr>\n";
print &opt_time_input($text{'ec_mcct'}, "client_lifetime",
$conf, $text{'default'}, 4);
print &opt_time_input($text{'ec_mst'}, "shutdown_lifetime",
$conf, $text{'default'}, 4);
print &choice_input($text{'ec_hcc'}, "half_closed_clients",
$conf, "on", $text{'on'},"on", $text{'off'},"off");
print &opt_time_input($text{'ec_pt'}, "pconn_timeout",
$conf, $text{'default'}, 4);
}
if ($squid_version >= 2) {
print &opt_input($text{'ec_wrh'}, "wais_relay_host",
$conf, $text{'none'}, 20);
print &opt_input($text{'ec_wrp'}, "wais_relay_port",
$conf, $text{'default'}, 6);
}
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'buttsave'} ] ]);
&ui_print_footer("", $text{'ec_return'});
+167
View File
@@ -0,0 +1,167 @@
#!/usr/local/bin/perl
# edit_cache_host.cgi
# Display a form for editing or creating a cache_host line
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'othercaches'} || &error($text{'eicp_ecannot'});
&ReadParse();
my $conf = &get_config();
my $cache_host = $squid_version >= 2 ? "cache_peer" : "cache_host";
my (%opts, @ch);
if ($in{'new'}) {
&ui_print_header(undef, $text{'ech_header'}, "", undef, 0, 0, 0,
&restart_button());
}
else {
&ui_print_header(undef, $text{'ech_header1'}, "", undef, 0, 0, 0,
&restart_button());
my @chl = &find_config($cache_host, $conf);
@ch = @{$chl[$in{'num'}]->{'values'}};
for(my $i=4; $i<@ch; $i++) {
if ($ch[$i] =~ /^(\S+)=(\S+)$/) { $opts{$1} = $2; }
else { $opts{$ch[$i]} = 1; }
}
}
print &ui_form_start("save_cache_host.cgi", "post");
if ($in{'new'}) {
print &ui_hidden("new", 1);
}
else {
print &ui_hidden("num", $in{'num'});
}
print &ui_table_start($text{'ech_cho'}, "width=100%", 4);
print &ui_table_row($text{'ech_h'},
&ui_textbox("host", $ch[0], 30));
my @ts = ( [ "parent" => $text{"ech_parent"} ],
[ "sibling" => $text{"ech_sibling"} ],
[ "multicast" => $text{"ech_multicast"} ] );
print &ui_table_row($text{'ech_t'},
&ui_select("type", $ch[1], \@ts));
print &ui_table_row($text{'ech_pp'},
&ui_textbox("proxy", $ch[2], 6));
print &ui_table_row($text{'ech_ip'},
&ui_textbox("icp", $ch[3], 6));
print &ui_table_row($text{'ech_po'},
&ui_yesno_radio("proxy-only", $opts{'proxy-only'}));
print &ui_table_row($text{'ech_siq2'},
&ui_yesno_radio("no-query", $opts{'no-query'}));
print &ui_table_row($text{'ech_dc'},
&ui_yesno_radio("default", $opts{'default'}));
print &ui_table_row($text{'ech_rrc'},
&ui_yesno_radio("round-robin", $opts{'round-robin'}));
print &ui_table_row($text{'ech_ittl'},
&ui_opt_textbox("ttl", $opts{'ttl'}, 6, $text{'ech_d'}));
print &ui_table_row($text{'ech_cw'},
&ui_opt_textbox("weight", $opts{'weight'}, 6, $text{'ech_d'}));
if ($squid_version >= 2) {
print &ui_table_row($text{'ech_co'},
&ui_yesno_radio("closest-only", $opts{'closest-only'}));
print &ui_table_row($text{'ech_nd'},
&ui_yesno_radio("no-digest", $opts{'no-digest'}));
print &ui_table_row($text{'ech_nne'},
&ui_yesno_radio("no-netdb-exchange", $opts{'no-netdb-exchange'}));
print &ui_table_row($text{'ech_nne'},
&ui_yesno_radio("no-delay", $opts{'no-delay'}));
}
if ($squid_version >= 2.1) {
my $mode = $opts{'login'} eq 'PASS' ? 2 :
$opts{'login'} =~ /^\*:\S+$/ ? 3 :
$opts{'login'} ? 1 : 0;
my @up = split(/:/, $opts{'login'});
print &ui_table_row($text{'ech_ltp'},
&ui_radio_table("login", $mode,
[ [ 0, $text{'ech_nl'} ],
[ 1, $text{'ech_u'},
&ui_textbox("login_user", $mode == 1 ? $up[0] : "", 15)." ".
$text{'ech_p'}." ".
&ui_textbox("login_pass", $mode == 1 ? $up[1] : "", 15) ],
[ 2, $text{'ech_pass'} ],
[ 3, $text{'ech_upass'},
&ui_textbox("login_pass2", $mode == 3 ? $up[1] : "", 15) ],
]));
}
if ($squid_version >= 2.6) {
print &ui_table_row($text{'ech_timeo'},
&ui_opt_textbox("connect-timeout", $opts{'connect-timeout'},
6, $text{'ech_d'}));
print &ui_table_row($text{'ech_digest'},
&ui_opt_textbox("digest-url", $opts{'digest-url'},
20, $text{'ech_d'}));
print &ui_table_row($text{'ech_miss'},
&ui_yesno_radio("allow-miss", $opts{'allow-miss'}));
print &ui_table_row($text{'ech_maxconn'},
&ui_opt_textbox("max-conn", $opts{'max-conn'}, 6,
$text{'ech_d'}));
print &ui_table_row($text{'ech_htcp'},
&ui_yesno_radio("htcp", $opts{'htcp'}));
print &ui_table_row($text{'ech_force'},
&ui_opt_textbox("forceddomain", $opts{'forceddomain'}, 20,
$text{'ech_same'}));
print &ui_table_row($text{'ech_origin'},
&ui_yesno_radio("originserver", $opts{'originserver'}));
print &ui_table_row($text{'ech_ssl'},
&ui_yesno_radio("ssl", $opts{'ssl'}));
}
print &ui_table_row($text{'ech_mr'},
&ui_yesno_radio("multicast-responder", $opts{'multicast-responder'}));
my (@dontq, @doq);
if (!$in{'new'}) {
my @chd = &find_config($cache_host."_domain", $conf);
foreach my $chd (@chd) {
my @chdv = @{$chd->{'values'}};
if ($chdv[0] eq $ch[0]) {
# found a record for this host..
for(my $i=1; $i<@chdv; $i++) {
if ($chdv[$i] =~ /^\!(\S+)$/) {
push(@dontq, $1);
}
else { push(@doq, $chdv[$i]); }
}
}
}
}
print &ui_table_row($text{'ech_qhfd'},
&ui_textarea("doq", join("\n", @doq), 6, 30));
print &ui_table_row($text{'ech_dqfd'},
&ui_textarea("dontq", join("\n", @dontq), 6, 30));
print &ui_table_end();
print &ui_form_end([ [ undef, $text{'ech_buttsave'} ],
$in{'new'} ? ( ) : ( [ 'delete', $text{'ech_buttdel'} ] ) ]);
&ui_print_footer("edit_icp.cgi", $text{'ech_return'},
"", $text{'index_return'});
+53
View File
@@ -0,0 +1,53 @@
#!/usr/local/bin/perl
# Show a list of per-function cache manager passwords
use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
our (%text, %in, %access, $squid_version, %config);
require './squid-lib.pl';
$access{'cachemgr'} || &error($text{'cachemgr_ecannot'});
&ui_print_header(undef, $text{'cachemgr_title'}, "", "edit_cachemgr", 0, 0, 0,
&restart_button());
# Find password directives
my $conf = &get_config();
my @cachemgr = &find_config("cachemgr_passwd", $conf);
# Show them in a table
print &ui_form_start("save_cachemgr.cgi", "post");
print &ui_radio("cachemgr_def", @cachemgr ? 0 : 1,
[ [ 1, $text{'cachemgr_def1'} ], [ 0, $text{'cachemgr_def0'} ] ]),"<br>\n";
print &ui_columns_start([ $text{'cachemgr_pass'},
$text{'cachemsg_actions'} ], 100, 0);
my $i = 0;
foreach my $c (@cachemgr, { 'values' => [ 'none' ] }) {
my @grid = ( );
my ($p, @acts) = @{$c->{'values'}};
my %acts = map { $_, 1 } @acts;
foreach my $a (&list_cachemgr_actions()) {
push(@grid, &ui_checkbox("action_$i", $a, $a, $acts{$a}));
delete($acts{$a});
}
my @others = grep { $_ ne 'all' } keys %acts;
my $pmode = $p eq "none" ? "none" : $p eq "disable" ? "disable" : undef;
print &ui_columns_row([
&ui_radio("pass_def_$i", $pmode,
[ [ "none", $text{'cachemgr_none'}."<br>" ],
[ "disable", $text{'cachemgr_disable'}."<br>" ],
[ "", $text{'cachemgr_set'} ] ])." ".
&ui_textbox("pass_$i", $pmode ? "" : $p, 15),
&ui_checkbox("all_$i", 1, $text{'cachemgr_all'}, $acts{'all'}).
"<br>\n".
&ui_grid_table(\@grid, 6, 100).
(@others ? "<br>\n".$text{'cachemgr_others'}." ".
&ui_textbox("others_$i", join(" ", @others), 40)
: "")
], [ "valign=top", "valign=top" ]);
$i++;
}
print &ui_columns_end();
print &ui_form_end([ [ undef, $text{'save'} ] ]);
&ui_print_footer("", $text{'index_return'});

Some files were not shown because too many files have changed in this diff Show More