X7ROOT File Manager
Current Path:
/usr/libexec/webmin/squid
usr
/
libexec
/
webmin
/
squid
/
📁
..
📄
CHANGELOG
(2.59 KB)
📄
acl.cgi
(10.91 KB)
📄
acl_save.cgi
(8.13 KB)
📄
acl_security.pl
(1.72 KB)
📄
always.cgi
(1.76 KB)
📄
always_save.cgi
(1.17 KB)
📄
backup_config.pl
(732 B)
📄
cachemgr.cgi
(1.03 KB)
📄
calamaris.cgi
(3.09 KB)
📄
cgi_args.pl
(2.23 KB)
📄
chown.cgi
(1.42 KB)
📄
clear.cgi
(2.87 KB)
📄
config-AlmaLinux-7.0-ALL
(439 B)
📄
config-Amazon-Linux-2-ALL
(398 B)
📄
config-CentOS-Linux-7.0-ALL
(398 B)
📄
config-CentOS-Stream-Linux-8.0-ALL
(439 B)
📄
config-Oracle-Linux-8.0-ALL
(439 B)
📄
config-Redhat-Enterprise-Linux-7.0-ALL
(439 B)
📄
config-Rocky-Linux-7.0-ALL
(439 B)
📄
config-Scientific-Linux-7.0-ALL
(398 B)
📄
config-Ubuntu-Linux-16.0-ALL
(447 B)
📄
config-aix
(365 B)
📄
config-cobalt-linux
(364 B)
📄
config-coherent-linux
(422 B)
📄
config-corel-linux
(338 B)
📄
config-debian-linux
(338 B)
📄
config-debian-linux-10.0-ALL
(447 B)
📄
config-debian-linux-3.0-4.9
(344 B)
📄
config-debian-linux-5.0-5.9
(454 B)
📄
config-debian-linux-6.0-6.9
(442 B)
📄
config-debian-linux-7.0-9.0
(449 B)
📄
config-freebsd
(395 B)
📄
config-freebsd-8-ALL
(484 B)
📄
config-generic-linux
(405 B)
📄
config-gentoo-linux
(412 B)
📄
config-hpux
(405 B)
📄
config-irix
(405 B)
📄
config-lfs-linux
(374 B)
📄
config-macos
(405 B)
📄
config-mandrake-linux
(409 B)
📄
config-mandrake-linux-8.0-ALL
(406 B)
📄
config-msc-linux
(422 B)
📄
config-netbsd
(360 B)
📄
config-open-linux
(429 B)
📄
config-open-linux-3.1e
(431 B)
📄
config-openbsd
(395 B)
📄
config-openmamba-linux
(347 B)
📄
config-openserver
(405 B)
📄
config-osf1
(405 B)
📄
config-pardus-linux
(416 B)
📄
config-redhat-linux
(341 B)
📄
config-redhat-linux-24.0-ALL
(439 B)
📄
config-redhat-linux-6.0
(427 B)
📄
config-redhat-linux-6.1-23.0
(420 B)
📄
config-slackware-linux
(405 B)
📄
config-sol-linux
(401 B)
📄
config-solaris
(405 B)
📄
config-solaris-11-ALL
(461 B)
📄
config-suse-linux
(332 B)
📄
config-suse-linux-8.0
(359 B)
📄
config-suse-linux-8.2-ALL
(435 B)
📄
config-trustix-linux
(412 B)
📄
config-turbo-linux
(341 B)
📄
config-united-linux
(435 B)
📄
config-unixware
(405 B)
📄
config.info
(1.16 KB)
📄
config.info.ca
(1.42 KB)
📄
config.info.cs
(924 B)
📄
config.info.de
(1.4 KB)
📄
config.info.es
(1.36 KB)
📄
config.info.fa
(1.57 KB)
📄
config.info.fr
(538 B)
📄
config.info.it
(570 B)
📄
config.info.ja
(1.34 KB)
📄
config.info.nl
(1.35 KB)
📄
config.info.no
(1.22 KB)
📄
config.info.pl
(737 B)
📄
config.info.pt_BR
(1.44 KB)
📄
config.info.ru
(1.39 KB)
📄
config.info.sv
(569 B)
📄
config.info.tr
(369 B)
📄
config.info.uk
(1.41 KB)
📄
config.info.zh
(450 B)
📄
config.info.zh_TW
(355 B)
📄
defaultacl
(228 B)
📄
delete_http_accesses.cgi
(848 B)
📄
delete_http_reply_accesses.cgi
(913 B)
📄
delete_https.cgi
(838 B)
📄
delete_icp_accesses.cgi
(836 B)
📄
delete_icps.cgi
(1.14 KB)
📄
delete_pools.cgi
(1.42 KB)
📄
delete_refreshes.cgi
(840 B)
📄
edit_acl.cgi
(6.99 KB)
📄
edit_admin.cgi
(2.44 KB)
📄
edit_authparam.cgi
(4.62 KB)
📄
edit_cache.cgi
(7.39 KB)
📄
edit_cache_host.cgi
(4.76 KB)
📄
edit_cachemgr.cgi
(1.82 KB)
📄
edit_delay.cgi
(2.86 KB)
📄
edit_ext.cgi
(1.53 KB)
📄
edit_headeracc.cgi
(1.96 KB)
📄
edit_icp.cgi
(5.28 KB)
📄
edit_iptables.cgi
(1.91 KB)
📄
edit_logs.cgi
(4.74 KB)
📄
edit_manual.cgi
(919 B)
📄
edit_mem.cgi
(2.48 KB)
📄
edit_misc.cgi
(3.92 KB)
📄
edit_nauth.cgi
(1.26 KB)
📄
edit_nuser.cgi
(1.46 KB)
📄
edit_pool.cgi
(4.18 KB)
📄
edit_ports.cgi
(3.28 KB)
📄
edit_progs.cgi
(3.06 KB)
📄
edit_refresh.cgi
(1.91 KB)
📁
help
📄
http_access.cgi
(2 KB)
📄
http_access_save.cgi
(1.37 KB)
📄
http_reply_access.cgi
(1.81 KB)
📄
http_reply_access_save.cgi
(1.25 KB)
📄
icp_access.cgi
(1.98 KB)
📄
icp_access_save.cgi
(1.35 KB)
📁
images
📄
index.cgi
(5.54 KB)
📄
init_cache.cgi
(3.03 KB)
📄
install_check.pl
(615 B)
📁
lang
📄
list_headeracc.cgi
(1.71 KB)
📄
list_refresh.cgi
(1.63 KB)
📄
log_parser.pl
(1.27 KB)
📄
module.info
(496 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(122 B)
📄
module.info.ar
(0 B)
📄
module.info.ar.auto
(191 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(231 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(249 B)
📄
module.info.ca
(112 B)
📄
module.info.ca.auto
(16 B)
📄
module.info.cs
(27 B)
📄
module.info.cs.auto
(105 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(134 B)
📄
module.info.de
(110 B)
📄
module.info.de.auto
(20 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(230 B)
📄
module.info.es
(31 B)
📄
module.info.es.auto
(124 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(138 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(231 B)
📄
module.info.fi
(0 B)
📄
module.info.fi.auto
(159 B)
📄
module.info.fr
(28 B)
📄
module.info.fr.auto
(127 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(194 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(143 B)
📄
module.info.hu
(0 B)
📄
module.info.hu.auto
(170 B)
📄
module.info.it
(0 B)
📄
module.info.it.auto
(142 B)
📄
module.info.ja
(37 B)
📄
module.info.ja.auto
(147 B)
📄
module.info.ko
(31 B)
📄
module.info.ko.auto
(121 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(151 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(159 B)
📄
module.info.ms
(116 B)
📄
module.info.ms.auto
(15 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(144 B)
📄
module.info.nl
(27 B)
📄
module.info.nl.auto
(98 B)
📄
module.info.no
(0 B)
📄
module.info.no.auto
(131 B)
📄
module.info.pl
(27 B)
📄
module.info.pl.auto
(115 B)
📄
module.info.pt
(29 B)
📄
module.info.pt.auto
(103 B)
📄
module.info.pt_BR
(32 B)
📄
module.info.pt_BR.auto
(109 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(147 B)
📄
module.info.ru
(40 B)
📄
module.info.ru.auto
(171 B)
📄
module.info.sk
(0 B)
📄
module.info.sk.auto
(181 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(146 B)
📄
module.info.sv
(26 B)
📄
module.info.sv.auto
(111 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(231 B)
📄
module.info.tr
(29 B)
📄
module.info.tr.auto
(132 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(243 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(205 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(147 B)
📄
module.info.zh
(30 B)
📄
module.info.zh.auto
(84 B)
📄
module.info.zh_TW
(33 B)
📄
module.info.zh_TW.auto
(90 B)
📄
move_always.cgi
(762 B)
📄
move_headeracc.cgi
(777 B)
📄
move_http.cgi
(748 B)
📄
move_http_reply.cgi
(797 B)
📄
move_icp.cgi
(736 B)
📄
move_never.cgi
(751 B)
📄
move_pool.cgi
(831 B)
📄
move_refresh.cgi
(822 B)
📄
nat
(34.84 KB)
📄
never.cgi
(1.75 KB)
📄
never_save.cgi
(1.15 KB)
📄
parser-lib.pl
(6.39 KB)
📄
pool_access.cgi
(1.82 KB)
📄
pool_access_save.cgi
(1.17 KB)
📄
purge.cgi
(1.11 KB)
📄
restart.cgi
(381 B)
📄
save_admin.cgi
(2.23 KB)
📄
save_authparam.cgi
(5.29 KB)
📄
save_cache.cgi
(6.03 KB)
📄
save_cache_host.cgi
(3.8 KB)
📄
save_cachemgr.cgi
(1.15 KB)
📄
save_delay.cgi
(656 B)
📄
save_ext.cgi
(2.32 KB)
📄
save_headeracc.cgi
(1.26 KB)
📄
save_icp.cgi
(1.18 KB)
📄
save_iptables.cgi
(2.9 KB)
📄
save_logs.cgi
(3.14 KB)
📄
save_manual.cgi
(493 B)
📄
save_mem.cgi
(1.72 KB)
📄
save_misc.cgi
(2.65 KB)
📄
save_nuser.cgi
(1.89 KB)
📄
save_pool.cgi
(3.19 KB)
📄
save_ports.cgi
(2.59 KB)
📄
save_progs.cgi
(2.55 KB)
📄
save_refresh.cgi
(1.46 KB)
📄
squid-auth.pl
(446 B)
📄
squid-lib.pl
(16.15 KB)
📄
start.cgi
(1.16 KB)
📄
stop.cgi
(881 B)
📄
syslog_logs.pl
(715 B)
📄
useradmin_update.pl
(2.8 KB)
Editing: save_cache.cgi
#!/usr/bin/perl # save_cache.cgi # Save cache and request 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'}); &ReadParse(); &lock_file($config{'squid_conf'}); my $conf = &get_config(); &error_setup($text{'scache_ftsco'}); if ($in{'cache_dir_def'}) { &save_directive($conf, "cache_dir", [ ]); } else { my @chd; for(my $i=0; defined(my $dir = $in{"cache_dir_$i"}); $i++) { if ($squid_version >= 2.4) { my $lv1 = $in{"cache_lv1_$i"}; my $lv2 = $in{"cache_lv2_$i"}; my $size = $in{"cache_size_$i"}; my $type = $in{"cache_type_$i"}; my $opts = $in{"cache_opts_$i"}; next if (!$dir && !$lv1 && !$lv2 && !$size); if ($type ne "coss") { &check_error(\&check_dir, $dir); } &check_error(\&check_dirsize, $size); &check_error(\&check_dircount, $lv1); &check_error(\&check_dircount, $lv2); push(@chd, { 'name' => 'cache_dir', 'values' => [ $type, $dir, $size, $lv1, $lv2, $opts ] }); } elsif ($squid_version >= 2.3) { my $lv1 = $in{"cache_lv1_$i"}; my $lv2 = $in{"cache_lv2_$i"}; my $size = $in{"cache_size_$i"}; my $type = $in{"cache_type_$i"}; next if (!$dir && !$lv1 && !$lv2 && !$size); &check_error(\&check_dir, $dir); &check_error(\&check_dirsize, $size); &check_error(\&check_dircount, $lv1); &check_error(\&check_dircount, $lv2); push(@chd, { 'name' => 'cache_dir', 'values' => [ $type, $dir, $size, $lv1, $lv2 ] }); } elsif ($squid_version >= 2) { my $lv1 = $in{"cache_lv1_$i"}; my $lv2 = $in{"cache_lv2_$i"}; my $size = $in{"cache_size_$i"}; next if (!$dir && !$lv1 && !$lv2 && !$size); &check_error(\&check_dir, $dir); &check_error(\&check_dirsize, $size); &check_error(\&check_dircount, $lv1); &check_error(\&check_dircount, $lv2); push(@chd, { 'name' => 'cache_dir', 'values' => [ $dir, $size, $lv1, $lv2 ] }); } else { next if (!$dir); &check_error(\&check_dir, $dir); push(@chd, { 'name' => 'cache_dir', 'values' => [ $dir ] }); } } if (!@chd) { &error($text{'scache_emsg0'}); } &save_directive($conf, "cache_dir", \@chd); } if ($squid_version < 2) { &save_opt("swap_level1_dirs", \&check_dircount, $conf); &save_opt("swap_level2_dirs", \&check_dircount, $conf); &save_opt("store_avg_object_size", \&check_objsize, $conf); } else { &save_opt_bytes("store_avg_object_size", $conf); } &save_opt("store_objects_per_bucket", \&check_bucket, $conf); if ($squid_version < 2) { &save_list("cache_stoplist", undef, $conf); &save_list("cache_stoplist_pattern", undef, $conf); } my @noch = split(/\0/, $in{'no_cache'}); my $nochname = $squid_version >= 2.6 ? 'cache' : 'no_cache'; my @nc; if (@noch) { $nc[0] = { 'name' => $nochname, 'values' => [ "deny", @noch ] }; } &save_directive($conf, $nochname, \@nc, "acl"); &save_opt_time("reference_age", $conf); if ($squid_version < 2) { &save_opt("request_size", \&check_size, $conf); &save_opt("negative_ttl", \&check_ttl, $conf); &save_opt("positive_dns_ttl", \&check_dns_ttl, $conf); &save_opt("negative_dns_ttl", \&check_dns_ttl, $conf); } else { if ($squid_version >= 2.3) { &save_opt_bytes("request_body_max_size", $conf); &save_opt_bytes("request_header_max_size", $conf); if ($squid_version < 2.5) { &save_opt_bytes("reply_body_max_size", $conf); } else { &save_opt_bytes("read_ahead_gap", $conf); } } else { &save_opt_bytes("request_size", $conf); } &save_opt_time("negative_ttl", $conf); &save_opt_time("positive_dns_ttl", $conf); &save_opt_time("negative_dns_ttl", $conf); } if ($squid_version >= 2.5) { # Parse list of max reply body sizes my @rbms; for(my $i=0; defined(my $s = $in{"reply_body_max_size_$i"}); $i++) { next if ($s eq ""); &error(&text('scache_emaxrs', $i+1)) if ($s !~ /^\d+$/); my @a = split(/\s+/, $in{"reply_body_max_acls_$i"}); push(@rbms, { 'name' => 'reply_body_max_size', 'values' => [ $s, @a ] }); } &save_directive($conf, "reply_body_max_size", \@rbms); } if ($squid_version < 2) { &save_opt("connect_timeout", \&check_timeout, $conf); &save_opt("read_timeout", \&check_timeout, $conf); &save_opt("client_lifetime", \&check_lifetime, $conf); &save_opt("shutdown_lifetime", \&check_lifetime, $conf); } else { &save_opt_time("connect_timeout", $conf); &save_opt_time("read_timeout", $conf); &save_opt_time("siteselect_timeout", $conf); &save_opt_time("request_timeout", $conf); &save_opt_time("client_lifetime", $conf); &save_opt_time("shutdown_lifetime", $conf); &save_choice("half_closed_clients", "on", $conf); &save_opt_time("pconn_timeout", $conf); } if ($squid_version >= 2) { &save_opt("wais_relay_host", \&check_host, $conf); &save_opt("wais_relay_port", \&check_port, $conf); } &flush_file_lines(); &unlock_file($config{'squid_conf'}); &webmin_log("cache", undef, undef, \%in); &redirect(""); sub check_dir { return (-d $_[0]) ? undef : &text('scache_emsg1',$_[0]); } sub check_size { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg2',$_[0]); } sub check_ttl { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg3',$_[0]); } sub check_dns_ttl { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg4',$_[0]); } sub check_timeout { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg5',$_[0]); } sub check_lifetime { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg6',$_[0]); } sub check_dircount { return $_[0] !~ /^\d+$/ ? &text('scache_emsg7',$_[0]) : $_[0] < 1 ? $text{'scache_emsg8'} : $_[0] > 256 ? $text{'scache_emsg9'} : undef; } sub check_objsize { return $_[0] =~ /^\d+/ ? undef : &text('scache_emsg10',$_[0]); } sub check_bucket { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg11',$_[0]); } sub check_dirsize { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg12',$_[0]); } sub check_host { return &to_ipaddress($_[0]) || &to_ip6address($_[0]) ? undef : &text('scache_emsg13',$_[0]); } sub check_port { return $_[0] =~ /^\d+$/ ? undef : &text('scache_emsg14',$_[0]); }
Upload File
Create Folder