Linux mail.vriendennsm.nl 6.1.0-51-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.177-1 (2026-07-16) x86_64
Apache/2.4.68 (Debian)
Server IP : 217.154.75.17 & Your IP : 216.73.216.195
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
webmin /
apache /
Delete
Unzip
Name
Size
Permission
Date
Action
help
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
images
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
lang
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
CHANGELOG
4.06
KB
-rw-r--r--
2026-07-17 21:17
acl_security.pl
3.3
KB
-rwxr-xr-x
2026-07-17 21:17
allmanual_form.cgi
1.26
KB
-rwxr-xr-x
2026-07-17 21:22
allmanual_save.cgi
951
B
-rwxr-xr-x
2026-07-17 21:22
apache-lib.pl
71.21
KB
-rwxr-xr-x
2026-07-17 21:17
auth-lib.pl
3.09
KB
-rwxr-xr-x
2026-07-17 21:17
autoindex.pl
9.54
KB
-rwxr-xr-x
2026-07-17 21:17
backup_config.pl
1.36
KB
-rwxr-xr-x
2026-07-17 21:17
browsermatch.pl
2.15
KB
-rwxr-xr-x
2026-07-17 21:17
cache.pl
3
KB
-rwxr-xr-x
2026-07-17 21:17
cgi_args.pl
1.02
KB
-rwxr-xr-x
2026-07-17 21:17
change_dir.cgi
1.36
KB
-rwxr-xr-x
2026-07-17 21:22
change_files.cgi
1.13
KB
-rwxr-xr-x
2026-07-17 21:22
config-AlmaLinux-7.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-Amazon-Linux-2-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-CentOS-Linux-7.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-CentOS-Stream-Linux-8.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-CloudLinux-8.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-Fedora-Linux-20.00-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-Oracle-Linux-8.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-Redhat-Enterprise-Linux-7.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-Rocky-Linux-7.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-Scientific-Linux-7.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-aix
300
B
-rw-r--r--
2026-07-17 21:17
config-cobalt-linux
311
B
-rw-r--r--
2026-07-17 21:17
config-coherent-linux
387
B
-rw-r--r--
2026-07-17 21:17
config-corel-linux
412
B
-rw-r--r--
2026-07-17 21:17
config-debian-linux
412
B
-rw-r--r--
2026-07-17 21:17
config-debian-linux-10.0-ALL
552
B
-rw-r--r--
2026-07-17 21:17
config-debian-linux-3.1-6.9
607
B
-rw-r--r--
2026-07-17 21:17
config-debian-linux-7.0-9.0
637
B
-rw-r--r--
2026-07-17 21:17
config-freebsd
457
B
-rw-r--r--
2026-07-17 21:17
config-freebsd-11.0-ALL
465
B
-rw-r--r--
2026-07-17 21:17
config-freebsd-8.0-10.4
465
B
-rw-r--r--
2026-07-17 21:17
config-generic-linux
321
B
-rw-r--r--
2026-07-17 21:17
config-gentoo-linux
447
B
-rw-r--r--
2026-07-17 21:17
config-hpux
321
B
-rw-r--r--
2026-07-17 21:17
config-irix
321
B
-rw-r--r--
2026-07-17 21:17
config-irix-6.5
359
B
-rw-r--r--
2026-07-17 21:17
config-lfs-linux
503
B
-rw-r--r--
2026-07-17 21:17
config-macos
533
B
-rw-r--r--
2026-07-17 21:17
config-macos-1.3-8.1
382
B
-rw-r--r--
2026-07-17 21:17
config-macos-9.2-ALL
347
B
-rw-r--r--
2026-07-17 21:17
config-mandrake-linux
401
B
-rw-r--r--
2026-07-17 21:17
config-msc-linux
301
B
-rw-r--r--
2026-07-17 21:17
config-netbsd
421
B
-rw-r--r--
2026-07-17 21:17
config-open-linux-2.3
377
B
-rw-r--r--
2026-07-17 21:17
config-open-linux-2.3e
363
B
-rw-r--r--
2026-07-17 21:17
config-open-linux-2.4
363
B
-rw-r--r--
2026-07-17 21:17
config-open-linux-2.5
460
B
-rw-r--r--
2026-07-17 21:17
config-open-linux-3.1e
471
B
-rw-r--r--
2026-07-17 21:17
config-openSUSE-Linux-15.0-ALL
538
B
-rw-r--r--
2026-07-17 21:17
config-openbsd
383
B
-rw-r--r--
2026-07-17 21:17
config-openmamba-linux
417
B
-rw-r--r--
2026-07-17 21:17
config-openserver
461
B
-rw-r--r--
2026-07-17 21:17
config-osf1
321
B
-rw-r--r--
2026-07-17 21:17
config-pardus-linux
397
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux
311
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-12.1-12.9
388
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-13.0-23.0
373
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-24.0-ALL
419
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-7.0-7.4
431
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-8.0
387
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-8.1
473
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux-9.0-12.0
387
B
-rw-r--r--
2026-07-17 21:17
config-slackware-linux
212
B
-rw-r--r--
2026-07-17 21:17
config-slackware-linux-12.0-ALL
422
B
-rw-r--r--
2026-07-17 21:17
config-slackware-linux-7.0-7.1
349
B
-rw-r--r--
2026-07-17 21:17
config-slackware-linux-8.0-ALL
388
B
-rw-r--r--
2026-07-17 21:17
config-sol-linux
333
B
-rw-r--r--
2026-07-17 21:17
config-solaris
321
B
-rw-r--r--
2026-07-17 21:17
config-solaris-10
325
B
-rw-r--r--
2026-07-17 21:17
config-solaris-11-ALL
475
B
-rw-r--r--
2026-07-17 21:17
config-solaris-9
325
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux
414
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux-7.1-8.0
412
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux-8.2
439
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux-9.0
471
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux-9.1-ALL
547
B
-rw-r--r--
2026-07-17 21:17
config-syno-linux
321
B
-rw-r--r--
2026-07-17 21:17
config-trustix-linux
372
B
-rw-r--r--
2026-07-17 21:17
config-turbo-linux
311
B
-rw-r--r--
2026-07-17 21:17
config-united-linux
403
B
-rw-r--r--
2026-07-17 21:17
config-unixware
461
B
-rw-r--r--
2026-07-17 21:17
config-windows
449
B
-rw-r--r--
2026-07-17 21:17
config.info
2.03
KB
-rw-r--r--
2026-07-17 21:17
config.info.bg
3.31
KB
-rw-r--r--
2026-07-17 21:17
config.info.ca
2.22
KB
-rw-r--r--
2026-07-17 21:17
config.info.cs
2.03
KB
-rw-r--r--
2026-07-17 21:17
config.info.da
479
B
-rw-r--r--
2026-07-17 21:17
config.info.de
2.24
KB
-rw-r--r--
2026-07-17 21:17
config.info.es
1.76
KB
-rw-r--r--
2026-07-17 21:17
config.info.fa
2.36
KB
-rw-r--r--
2026-07-17 21:17
config.info.fr
2.46
KB
-rw-r--r--
2026-07-17 21:17
config.info.hr
0
B
-rw-r--r--
2026-07-17 21:17
config.info.hu
775
B
-rw-r--r--
2026-07-17 21:17
config.info.ja
2.16
KB
-rw-r--r--
2026-07-17 21:17
config.info.ms
2.15
KB
-rw-r--r--
2026-07-17 21:17
config.info.nl
1.98
KB
-rw-r--r--
2026-07-17 21:17
config.info.no
2.05
KB
-rw-r--r--
2026-07-17 21:17
config.info.pl
2.12
KB
-rw-r--r--
2026-07-17 21:17
config.info.pt_BR
2.15
KB
-rw-r--r--
2026-07-17 21:17
config.info.ru
1.56
KB
-rw-r--r--
2026-07-17 21:17
config.info.ru.UTF-8
1.56
KB
-rw-r--r--
2026-07-17 21:17
config.info.sv
650
B
-rw-r--r--
2026-07-17 21:17
config.info.tr
1.81
KB
-rw-r--r--
2026-07-17 21:17
config.info.uk
1.58
KB
-rw-r--r--
2026-07-17 21:17
config.info.zh
568
B
-rw-r--r--
2026-07-17 21:17
config.info.zh_TW
1.23
KB
-rw-r--r--
2026-07-17 21:17
config_solaris.txt.1.25
81
B
-rw-r--r--
2026-07-17 21:17
core.pl
49.12
KB
-rwxr-xr-x
2026-07-17 21:17
create_dir.cgi
1.24
KB
-rwxr-xr-x
2026-07-17 21:22
create_files.cgi
1014
B
-rwxr-xr-x
2026-07-17 21:22
create_htaccess.cgi
1.49
KB
-rwxr-xr-x
2026-07-17 21:22
create_virt.cgi
8.02
KB
-rwxr-xr-x
2026-07-17 21:22
defaultacl
119
B
-rw-r--r--
2026-07-17 21:17
delete_htaccess.cgi
552
B
-rwxr-xr-x
2026-07-17 21:22
delete_vservs.cgi
3.05
KB
-rwxr-xr-x
2026-07-17 21:22
dir_index.cgi
1.94
KB
-rwxr-xr-x
2026-07-17 21:22
edit_authgroup.cgi
1.52
KB
-rwxr-xr-x
2026-07-17 21:22
edit_authuser.cgi
1.75
KB
-rwxr-xr-x
2026-07-17 21:22
edit_defines.cgi
821
B
-rwxr-xr-x
2026-07-17 21:22
edit_dir.cgi
1.03
KB
-rwxr-xr-x
2026-07-17 21:22
edit_files.cgi
1.06
KB
-rwxr-xr-x
2026-07-17 21:22
edit_global.cgi
1.65
KB
-rwxr-xr-x
2026-07-17 21:22
edit_gmime_type.cgi
1.41
KB
-rwxr-xr-x
2026-07-17 21:22
edit_htaccess.cgi
999
B
-rwxr-xr-x
2026-07-17 21:22
edit_mods.cgi
1.04
KB
-rwxr-xr-x
2026-07-17 21:22
edit_virt.cgi
1.46
KB
-rwxr-xr-x
2026-07-17 21:22
feedback_files.pl
125
B
-rwxr-xr-x
2026-07-17 21:17
files_index.cgi
1.68
KB
-rwxr-xr-x
2026-07-17 21:22
find_htaccess.cgi
1.78
KB
-rwxr-xr-x
2026-07-17 21:22
htaccess.cgi
1.28
KB
-rwxr-xr-x
2026-07-17 21:22
htaccess_index.cgi
2.38
KB
-rwxr-xr-x
2026-07-17 21:22
index.cgi
17.58
KB
-rwxr-xr-x
2026-07-17 21:22
install_check.pl
450
B
-rwxr-xr-x
2026-07-17 21:17
list_authgroups.cgi
1.41
KB
-rwxr-xr-x
2026-07-17 21:22
list_authusers.cgi
1.87
KB
-rwxr-xr-x
2026-07-17 21:22
log_parser.pl
3.7
KB
-rwxr-xr-x
2026-07-17 21:17
manual_form.cgi
3.2
KB
-rwxr-xr-x
2026-07-17 21:22
manual_save.cgi
2.46
KB
-rwxr-xr-x
2026-07-17 21:22
mod_access.pl
3.19
KB
-rwxr-xr-x
2026-07-17 21:17
mod_actions.pl
2.57
KB
-rwxr-xr-x
2026-07-17 21:17
mod_alias.pl
5.7
KB
-rwxr-xr-x
2026-07-17 21:17
mod_apachessl.pl
13.47
KB
-rwxr-xr-x
2026-07-17 21:17
mod_asis.pl
125
B
-rwxr-xr-x
2026-07-17 21:17
mod_auth.pl
1.88
KB
-rwxr-xr-x
2026-07-17 21:17
mod_auth_basic.pl
983
B
-rwxr-xr-x
2026-07-17 21:17
mod_auth_dbm.pl
1.79
KB
-rwxr-xr-x
2026-07-17 21:17
mod_auth_digest.pl
1.7
KB
-rwxr-xr-x
2026-07-17 21:17
mod_authn_dbm.pl
1.02
KB
-rwxr-xr-x
2026-07-17 21:17
mod_authn_file.pl
838
B
-rwxr-xr-x
2026-07-17 21:17
mod_authz_dbm.pl
1.38
KB
-rwxr-xr-x
2026-07-17 21:17
mod_authz_groupfile.pl
863
B
-rwxr-xr-x
2026-07-17 21:17
mod_authz_host.pl
325
B
-rwxr-xr-x
2026-07-17 21:17
mod_authz_owner.pl
139
B
-rwxr-xr-x
2026-07-17 21:17
mod_autoindex.pl
2.15
KB
-rwxr-xr-x
2026-07-17 21:17
mod_bandwidth.pl
3.86
KB
-rwxr-xr-x
2026-07-17 21:17
mod_browser.pl
274
B
-rwxr-xr-x
2026-07-17 21:17
mod_cache.pl
2.73
KB
-rwxr-xr-x
2026-07-17 21:17
mod_cern_meta.pl
1.13
KB
-rwxr-xr-x
2026-07-17 21:17
mod_cgi.pl
1.26
KB
-rwxr-xr-x
2026-07-17 21:17
mod_cgid.pl
1.26
KB
-rwxr-xr-x
2026-07-17 21:17
mod_dav.pl
1.1
KB
-rwxr-xr-x
2026-07-17 21:17
mod_dir.pl
1.06
KB
-rwxr-xr-x
2026-07-17 21:17
mod_disk_cache.pl
1.03
KB
-rwxr-xr-x
2026-07-17 21:17
mod_env.pl
2.03
KB
-rwxr-xr-x
2026-07-17 21:17
mod_expires.pl.broken
3.22
KB
-rw-r--r--
2026-07-17 21:17
mod_ext_filter.pl
2.63
KB
-rwxr-xr-x
2026-07-17 21:17
mod_fastcgi.pl
181
B
-rwxr-xr-x
2026-07-17 21:17
mod_fcgid.pl
169
B
-rwxr-xr-x
2026-07-17 21:17
mod_http2.pl
107
B
-rwxr-xr-x
2026-07-17 21:17
mod_imap.pl
2.35
KB
-rwxr-xr-x
2026-07-17 21:17
mod_include.pl
601
B
-rwxr-xr-x
2026-07-17 21:17
mod_info.pl
145
B
-rwxr-xr-x
2026-07-17 21:17
mod_log_agent.pl
1.08
KB
-rwxr-xr-x
2026-07-17 21:17
mod_log_common.pl
1.14
KB
-rwxr-xr-x
2026-07-17 21:17
mod_log_config.pl
4.49
KB
-rwxr-xr-x
2026-07-17 21:17
mod_log_referer.pl
1.59
KB
-rwxr-xr-x
2026-07-17 21:17
mod_mem_cache.pl
1.1
KB
-rwxr-xr-x
2026-07-17 21:17
mod_mime.pl
6.16
KB
-rwxr-xr-x
2026-07-17 21:17
mod_mime_magic.pl
521
B
-rwxr-xr-x
2026-07-17 21:17
mod_mpm_event.pl
988
B
-rwxr-xr-x
2026-07-17 21:17
mod_mpm_prefork.pl
910
B
-rwxr-xr-x
2026-07-17 21:17
mod_mpm_worker.pl
991
B
-rw-r--r--
2026-07-17 21:17
mod_negotiation.pl
1.25
KB
-rwxr-xr-x
2026-07-17 21:17
mod_perl.pl
147
B
-rwxr-xr-x
2026-07-17 21:17
mod_php.pl
93
B
-rwxr-xr-x
2026-07-17 21:17
mod_php3.pl
147
B
-rwxr-xr-x
2026-07-17 21:17
mod_php4.pl
2.89
KB
-rwxr-xr-x
2026-07-17 21:17
mod_php5.pl
2.82
KB
-rwxr-xr-x
2026-07-17 21:17
mod_php7.pl
2.82
KB
-rwxr-xr-x
2026-07-17 21:17
mod_proxy.pl
8.74
KB
-rwxr-xr-x
2026-07-17 21:17
mod_proxy_balancer.pl
173
B
-rwxr-xr-x
2026-07-17 21:17
mod_rewrite.pl
121
B
-rwxr-xr-x
2026-07-17 21:17
mod_ruby.pl
155
B
-rwxr-xr-x
2026-07-17 21:17
mod_setenvif.pl
3.04
KB
-rwxr-xr-x
2026-07-17 21:17
mod_speling.pl
565
B
-rwxr-xr-x
2026-07-17 21:17
mod_ssl.pl
6.22
KB
-rwxr-xr-x
2026-07-17 21:17
mod_status.pl
542
B
-rwxr-xr-x
2026-07-17 21:17
mod_suexec.pl
1.26
KB
-rwxr-xr-x
2026-07-17 21:17
mod_userdir.pl
2.58
KB
-rwxr-xr-x
2026-07-17 21:17
mod_vhost_alias.pl
2.33
KB
-rwxr-xr-x
2026-07-17 21:17
module.info
265
B
-rw-r--r--
2026-07-17 21:17
module.info.ar
0
B
-rw-r--r--
2026-07-17 21:17
module.info.ar.auto
156
B
-rw-r--r--
2026-07-17 21:17
module.info.bg
35
B
-rw-r--r--
2026-07-17 21:17
module.info.bg.auto
130
B
-rw-r--r--
2026-07-17 21:17
module.info.ca
109
B
-rw-r--r--
2026-07-17 21:17
module.info.ca.auto
15
B
-rw-r--r--
2026-07-17 21:17
module.info.cs
26
B
-rw-r--r--
2026-07-17 21:17
module.info.cs.auto
87
B
-rw-r--r--
2026-07-17 21:17
module.info.da
25
B
-rw-r--r--
2026-07-17 21:17
module.info.da.auto
85
B
-rw-r--r--
2026-07-17 21:17
module.info.de
92
B
-rw-r--r--
2026-07-17 21:17
module.info.de.auto
15
B
-rw-r--r--
2026-07-17 21:17
module.info.el
0
B
-rw-r--r--
2026-07-17 21:17
module.info.el.auto
170
B
-rw-r--r--
2026-07-17 21:17
module.info.es
28
B
-rw-r--r--
2026-07-17 21:17
module.info.es.auto
93
B
-rw-r--r--
2026-07-17 21:17
module.info.eu
0
B
-rw-r--r--
2026-07-17 21:17
module.info.eu.auto
106
B
-rw-r--r--
2026-07-17 21:17
module.info.fa
0
B
-rw-r--r--
2026-07-17 21:17
module.info.fa.auto
171
B
-rw-r--r--
2026-07-17 21:17
module.info.fi
0
B
-rw-r--r--
2026-07-17 21:17
module.info.fi.auto
119
B
-rw-r--r--
2026-07-17 21:17
module.info.fr
27
B
-rw-r--r--
2026-07-17 21:17
module.info.fr.auto
96
B
-rw-r--r--
2026-07-17 21:17
module.info.hr
0
B
-rw-r--r--
2026-07-17 21:17
module.info.hr.auto
110
B
-rw-r--r--
2026-07-17 21:17
module.info.hu
95
B
-rw-r--r--
2026-07-17 21:17
module.info.hu.auto
15
B
-rw-r--r--
2026-07-17 21:17
module.info.it
0
B
-rw-r--r--
2026-07-17 21:17
module.info.it.auto
118
B
-rw-r--r--
2026-07-17 21:17
module.info.ja
28
B
-rw-r--r--
2026-07-17 21:17
module.info.ja.auto
115
B
-rw-r--r--
2026-07-17 21:17
module.info.ko
26
B
-rw-r--r--
2026-07-17 21:17
module.info.ko.auto
95
B
-rw-r--r--
2026-07-17 21:17
module.info.ms
108
B
-rw-r--r--
2026-07-17 21:17
module.info.ms.auto
15
B
-rw-r--r--
2026-07-17 21:17
module.info.nl
25
B
-rw-r--r--
2026-07-17 21:17
module.info.nl.auto
83
B
-rw-r--r--
2026-07-17 21:17
module.info.no
25
B
-rw-r--r--
2026-07-17 21:17
module.info.no.auto
83
B
-rw-r--r--
2026-07-17 21:17
module.info.pl
96
B
-rw-r--r--
2026-07-17 21:17
module.info.pl.auto
14
B
-rw-r--r--
2026-07-17 21:17
module.info.pt
28
B
-rw-r--r--
2026-07-17 21:17
module.info.pt.auto
84
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR
31
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR.auto
90
B
-rw-r--r--
2026-07-17 21:17
module.info.ru
35
B
-rw-r--r--
2026-07-17 21:17
module.info.ru.auto
111
B
-rw-r--r--
2026-07-17 21:17
module.info.sk
0
B
-rw-r--r--
2026-07-17 21:17
module.info.sk.auto
116
B
-rw-r--r--
2026-07-17 21:17
module.info.sv
25
B
-rw-r--r--
2026-07-17 21:17
module.info.sv.auto
84
B
-rw-r--r--
2026-07-17 21:17
module.info.tr
28
B
-rw-r--r--
2026-07-17 21:17
module.info.tr.auto
99
B
-rw-r--r--
2026-07-17 21:17
module.info.uk
0
B
-rw-r--r--
2026-07-17 21:17
module.info.uk.auto
150
B
-rw-r--r--
2026-07-17 21:17
module.info.zh
25
B
-rw-r--r--
2026-07-17 21:17
module.info.zh.auto
76
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW
34
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW.auto
82
B
-rw-r--r--
2026-07-17 21:17
mpm_netware.pl
1.34
KB
-rwxr-xr-x
2026-07-17 21:17
mpm_winnt.pl
827
B
-rwxr-xr-x
2026-07-17 21:17
notes
1.12
KB
-rw-r--r--
2026-07-17 21:17
perchild.pl
4.23
KB
-rwxr-xr-x
2026-07-17 21:17
postinstall.pl
92
B
-rwxr-xr-x
2026-07-17 21:17
prefork.pl
934
B
-rwxr-xr-x
2026-07-17 21:17
prefs.info
52
B
-rw-r--r--
2026-07-17 21:17
reconfig.cgi
543
B
-rwxr-xr-x
2026-07-17 21:22
reconfig_form.cgi
1.55
KB
-rwxr-xr-x
2026-07-17 21:22
remove_vserv.pl
814
B
-rwxr-xr-x
2026-07-17 21:22
restart.cgi
1.02
KB
-rwxr-xr-x
2026-07-17 21:22
save_authgroup.cgi
1.09
KB
-rwxr-xr-x
2026-07-17 21:22
save_authuser.cgi
1.17
KB
-rwxr-xr-x
2026-07-17 21:22
save_defines.cgi
462
B
-rwxr-xr-x
2026-07-17 21:22
save_dir.cgi
640
B
-rwxr-xr-x
2026-07-17 21:22
save_files.cgi
745
B
-rwxr-xr-x
2026-07-17 21:22
save_global.cgi
483
B
-rwxr-xr-x
2026-07-17 21:22
save_gmime_type.cgi
1.13
KB
-rwxr-xr-x
2026-07-17 21:22
save_htaccess.cgi
671
B
-rwxr-xr-x
2026-07-17 21:22
save_mods.cgi
894
B
-rwxr-xr-x
2026-07-17 21:22
save_sync.cgi
488
B
-rwxr-xr-x
2026-07-17 21:22
save_virt.cgi
1.05
KB
-rwxr-xr-x
2026-07-17 21:22
save_vserv.cgi
3.73
KB
-rwxr-xr-x
2026-07-17 21:22
search_virt.cgi
4.12
KB
-rwxr-xr-x
2026-07-17 21:22
show.cgi
3.64
KB
-rwxr-xr-x
2026-07-17 21:22
show_dir.cgi
1.99
KB
-rwxr-xr-x
2026-07-17 21:22
show_files.cgi
1.99
KB
-rwxr-xr-x
2026-07-17 21:22
show_htaccess.cgi
2.02
KB
-rwxr-xr-x
2026-07-17 21:22
show_virt.cgi
2.12
KB
-rwxr-xr-x
2026-07-17 21:22
start.cgi
309
B
-rwxr-xr-x
2026-07-17 21:22
stop.cgi
290
B
-rwxr-xr-x
2026-07-17 21:22
syslog_logs.pl
457
B
-rwxr-xr-x
2026-07-17 21:17
useradmin_update.pl
957
B
-rwxr-xr-x
2026-07-17 21:17
virt_index.cgi
4.92
KB
-rwxr-xr-x
2026-07-17 21:22
worker.pl
1.79
KB
-rwxr-xr-x
2026-07-17 21:17
Save
Rename
#!/usr/bin/perl # index.cgi # Display a list of all virtual servers, and links for various types # of global configuration require './apache-lib.pl'; &ReadParse(); # check for the executable if (!($httpd = &find_httpd())) { &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); print &text('index_eserver', "<tt>$config{'httpd_path'}</tt>", "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n"; &foreign_require("software", "software-lib.pl"); $lnk = &software::missing_install_link("apache", $text{'index_apache'}, "../$module_name/", $text{'index_title'}); print $lnk,"<p>\n" if ($lnk); &ui_print_footer("/", $text{'index'}); exit; } # check for the base directory if (!(-d $config{'httpd_dir'})) { &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); print &text('index_eroot', "<tt>$config{'httpd_dir'}</tt>", "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n"; &ui_print_footer("/", $text{'index'}); exit; } # check if this is a new apache install, by looking for -dist files $conf = "$config{'httpd_dir'}/etc"; if (!-d $conf) { $conf = "$config{'httpd_dir'}/conf"; } if (!$config{'httpd_conf'} && !(-e "$conf/httpd.conf") && (-e "$conf/httpd.conf-dist") && (-d $conf)) { # copy all the .dist files and fix up @@ServerRoot@@ references # Only needed for apache versions < 1.3, which don't do this as part # of the 'make install' $sroot = $config{'httpd_dir'}; opendir(CONF, $conf); foreach $f (readdir(CONF)) { if ($f =~ /^(.*)-dist$/) { open(DIST, "<$conf/$f"); @dist = <DIST>; close(DIST); &open_tempfile(REAL, ">$conf/$1"); foreach (@dist) { s/\/usr\/local\/etc\/httpd/$sroot/g; s/\@\@ServerRoot\@\@/$sroot/g; &print_tempfile(REAL, $_); } &close_tempfile(REAL); } } close(CONF); } # check for an -example file if ($config{'httpd_conf'} && !-e $config{'httpd_conf'} && -e $config{'httpd_conf'}."-example") { system("cp ".quotemeta($config{'httpd_conf'}."-example")." ". quotemeta($config{'httpd_conf'})); } # check for the httpd.conf file ($htconf, $htconfchecked) = &find_httpd_conf(); if (!$htconf) { # still doesn't exist! &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); print "<p>\n"; print &text('index_econf', "<tt>$htconfchecked</tt>", "@{[&get_webprefix()]}/config.cgi?$module_name"),"<p>\n"; &ui_print_footer("/", $text{'index'}); exit; } # check for multiple port directives $conf = &get_config(); @prt = &find_directive("Port", $conf); if (@prt > 1 && $httpd_modules{'core'} < 1.3) { &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1); print "<p>\n"; print &text('index_eports', 'Port'),"<p>\n"; &ui_print_footer("/", $text{'index'}); exit; } # add default server $defport = &find_directive("Port", $conf, 1); if (&can_edit_virt()) { local $sn = &find_directive("ServerName", $conf, 1); push(@vidx, undef); push(@vname, $text{'index_defserv'}); push(@vlink, "virt_index.cgi"); push(@vdesc, $text{'index_defdesc1'}); push(@vaddr, $text{'index_any'}); push(@vport, $text{'index_any'}); push(@vserv, $sn); push(@vroot, &def(&find_directive("DocumentRoot", $conf, 1), $text{'index_auto'})); push(@vproxy, undef); $sn ||= &get_system_hostname(); push(@vurl, $defport ? "http://$sn:$defport/" : "http://$sn/"); push(@vfile, undef); push(@vstatus, ""); push(@vsel, undef); push(@vfilemanage, 0); $showing_default++; } # add other servers @virt = &find_directive_struct("VirtualHost", $conf); if ($httpd_modules{'core'} >= 2.4) { # Apache 2.4 makes all IPs name-based $nv{"*"}++; } elsif ($httpd_modules{'core'} >= 1.3) { # build list of name-based virtual host IP addresses @nv = &find_directive("NameVirtualHost", $conf); foreach $nv (@nv) { if ($nv =~ /:(\d+)$/) { push(@nvports, $1); } $nv =~ s/:\d+$//; $nv{$nv =~ /^\*/ ? "*" : &to_ipaddress($nv)}++; } @nvports = &unique(@nvports); } elsif ($httpd_modules{'core'} >= 1.2) { # only one name-based virtual host IP address - the default address $ba = &find_directive("ServerName", $conf); $nv{&to_ipaddress($ba ? $ba : &get_system_hostname())}++; } $can_vhost_files = &can_manage_vhost_files(); @vrows = &get_virtual_list_rows($conf); if ($config{'show_order'} == 1) { # sort by server name @vrows = sort { &server_name_sort($a->{'virt'}) cmp &server_name_sort($b->{'virt'}) } @vrows; } elsif ($config{'show_order'} == 2) { # sort by IP address @vrows = sort { &server_ip_sort($a->{'virt'}) cmp &server_ip_sort($b->{'virt'}) } @vrows; } @virt = map { $_->{'virt'} } grep { $_->{'active'} } @vrows; %available_vhost_file = map { $_, 1 } &get_vhost_available_files() if ($can_vhost_files); foreach $r (@vrows) { $v = $r->{'virt'}; $vm = $v->{'members'}; if ($v->{'words'}->[0] =~ /^\[(\S+)\]:(\d+)$/) { # IPv6 address and port $addr = $1; $port = $2; } elsif ($v->{'words'}->[0] =~ /^(\S+):(\d+)$/) { # IPv4 address and port $addr = $1; $port = $2; } else { # Address, perhaps v6, with default port $addr = $v->{'words'}->[0]; $addr = $1 if ($addr =~ /^\[(\S+)\]$/); if ($httpd_modules{'core'} < 2.0) { $port = &def(&find_directive("Port", $conf), 80); } else { $port = "*"; } } $idx = &indexof($v, @$conf); push(@vidx, $idx); push(@vname, $text{'index_virt'}); push(@vlink, $r->{'active'} ? "virt_index.cgi?virt=$idx" : undef); $sname = &find_directive("ServerName", $vm); local $daddr = $addr eq "_default_" || ($addr eq "*" && $httpd_modules{'core'} < 1.2); if ($nv{"*"}) { if ($daddr) { push(@vdesc, &text('index_vnamed', "<tt>$sname</tt>")); } else { push(@vdesc, &text('index_vname', "<tt>$sname</tt>", "<tt>$addr</tt>")); } } elsif (!$daddr && $nv{&to_ipaddress($addr)}) { push(@vdesc, &text('index_vname', "<tt>$sname</tt>", "<tt>$addr</tt>")); } elsif (!$daddr && $addr eq "*") { push(@vdesc, &text('index_vnamed', "<tt>$sname</tt>")); } elsif ($daddr && $port eq "*") { push(@vdesc, $text{'index_vdef'}); $vdesc[0] = $text{'index_defdesc2'}; } elsif ($daddr) { push(@vdesc, &text('index_vport', $port)); } elsif ($port eq "*") { push(@vdesc, &text('index_vaddr', "<tt>$addr</tt>")); } else { push(@vdesc, &text('index_vaddrport', "<tt>$addr</tt>", $port)); } push(@vaddr, $addr eq "_default_" || $addr eq "*" ? $text{'index_any'} : $addr); push(@vport, $port eq "*" ? $text{'index_any'} : $port); local $sn = &find_vdirective("ServerName", $vm, $conf, 1); push(@vserv, $sn); $pp = &find_directive_struct("ProxyPass", $vm); if ($pp->{'words'}->[0] eq "/") { push(@vproxy, $pp->{'words'}->[1]); push(@vroot, undef); } else { push(@vproxy, undef); push(@vroot, &def(&find_vdirective("DocumentRoot",$vm,$conf,1), $text{'index_default'})); } $cname{$v} = sprintf "%s:%s (%s)", $vserv[$#vserv] || $text{'index_auto'}, $vport[$#vport], $vproxy[$#vproxy] || $vroot[$#vroot]; local $sp = $port eq "*" ? $defport : $port; local $prot = "http"; if (&find_vdirective("SSLEngine", $vm, $conf, 1) eq "on") { $prot = "https"; } elsif ($port == 443) { $prot = "https"; } $sp = undef if ($sp == 80 && $prot eq "http" || $sp == 443 && $prot eq "https"); push(@vurl, $r->{'active'} ? ($sp ? "$prot://$sn:$sp/" : "$prot://$sn/") : undef); local $rfile = $r->{'file'} ? &simplify_path(&resolve_links($r->{'file'})) : undef; push(@vfile, $rfile); local $status = ""; if ($can_vhost_files && $rfile && $available_vhost_file{$rfile}) { local $enabled = &vhost_file_state($rfile)->{'enabled'}; $status = $enabled ? $text{'index_enabled'} : $text{'index_disabled'}; } push(@vstatus, $status); local $file_manage = $can_vhost_files && $rfile && $available_vhost_file{$rfile} && &can_manage_vhost_state_file($rfile); push(@vfilemanage, $file_manage ? 1 : 0); local $sel; if ($r->{'active'} && (!$can_vhost_files || !&is_default_vhost($v))) { $sel = $idx; } elsif (!$r->{'active'} && $can_vhost_files && $rfile && $available_vhost_file{$rfile} && $file_manage) { $sel = "file\t".$rfile."\t".$v->{'line'}; } push(@vsel, $sel); } if (@vlink == 1 && $vlink[0] && !$access{'global'} && $access{'virts'} ne "*" && !$access{'create'} && $access{'noconfig'}) { # Can only manage one vhost, so go direct to it &redirect($vlink[0]); exit; } # Page header $ver = $httpd_modules{'core'}; $ver =~ s/^(\d+)\.(\d)(\d+)$/$1.$2.$3/; &ui_print_header(undef, $text{'index_title'}, "", undef, 1, 1, undef, &restart_button()."<br>". &help_search_link("apache", "man", "doc", "google"), undef, undef, &text('index_version', $ver)); # Show tabs @tabs = map { [ $_, $text{'index_tab'.$_}, "index.cgi?mode=$_" ] } ( $access{'global'} ? ( "global" ) : ( ), "list", $access{'create'} ? ( "create" ) : ( ) ); print &ui_tabs_start(\@tabs, "mode", $in{'mode'} || "list", 1); # global config options if ($access{'global'}) { print &ui_tabs_start_tab("mode", "global"); #print $text{'index_descglobal'},"<p>\n"; if ($access{'global'} == 1) { $ht_icon = { "icon" => "images/dir.gif", "name" => $text{'htaccess_title'}, "link" => "htaccess.cgi" }; if (&can_configure_apache_modules()) { $rc_icon = { "icon" => "images/mods.gif", "name" => $text{'mods_title'}, "link" => "edit_mods.cgi" }; } elsif (!$config{'auto_mods'}) { $rc_icon = { "icon" => "images/recon.gif", "name" => $text{'reconfig_title'}, "link" => "reconfig_form.cgi?size=$httpd_size&vol=1" }; } $df_icon = { "icon" => "images/defines.gif", "name" => $text{'defines_title'}, "link" => "edit_defines.cgi" }; $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'manual_configs'}, "link" => "allmanual_form.cgi" }; $ds_icon = { "icon" => "images/virt.gif", "name" => $text{'index_defserv'}, "link" => "virt_index.cgi" }; &config_icons("global", "edit_global.cgi?", $ht_icon, $rc_icon, $df_icon, $access{'types'} eq '*' && $access{'virts'} eq '*' ? ( $ed_icon ) : ( ), $showing_default && @vname > $config{'max_servers'} && $config{'max_servers'} ? ( $ds_icon ) : ( ) ); } else { &icons_table([ "htaccess.cgi" ], [ $text{'htaccess_title'} ], [ "images/dir.gif" ]); } print &ui_tabs_end_tab(); } # work out select links print &ui_tabs_start_tab("mode", "list"); #print $text{'index_desclist'},"<p>\n"; $showdel = $access{'vaddr'} && grep { defined($_) && $_ ne "" } @vsel; $showtoggle = $can_vhost_files && grep { $_ } @vfilemanage; @links = ( ); if ($showdel) { push(@links, &select_all_link("d"), &select_invert_link("d")); } # display servers $formno = 0; if ($config{'max_servers'} && @vname > $config{'max_servers'}) { # as search form for people with lots and lots of servers print "<b>$text{'index_toomany'}</b><p>\n"; print "<form action=search_virt.cgi>\n"; print "<b>$text{'index_find'}</b> <select name=field>\n"; print "<option value=name checked>$text{'index_name'}</option>\n"; print "<option value=port>$text{'index_port'}</option>\n"; print "<option value=addr>$text{'index_addr'}</option>\n"; print "<option value=root>$text{'index_root'}</option>\n"; print "</select> <select name=match>\n"; print "<option value=0 checked>$text{'index_equals'}</option>\n"; print "<option value=1>$text{'index_matches'}</option>\n"; print "<option value=2>$text{'index_nequals'}</option>\n"; print "<option value=3>$text{'index_nmatches'}</option>\n"; print "</select> <input name=what size=15> \n"; print "<input type=submit value=\"$text{'find'}\"></form><p>\n"; $formno++; } elsif ($config{'show_list'} && scalar(@vname)) { # as list for people with lots of servers $list_form = "vhosts_form"; if ($showdel) { print &ui_form_start("delete_vservs.cgi", "post", undef, "id='$list_form'"); } print &ui_links_row(\@links); print &ui_columns_start([ $showdel ? ( "" ) : ( ), $text{'index_type'}, $text{'index_addr'}, $text{'index_port'}, $text{'index_name'}, $text{'index_root'}, $can_vhost_files ? ( $text{'index_status'} ) : ( ), $text{'index_url'} ], 100); for($i=0; $i<@vname; $i++) { local @cols; push(@cols, $vlink[$i] ? &ui_link($vlink[$i], $vname[$i]) : $vname[$i] ); push(@cols, &html_escape($vaddr[$i])); push(@cols, &html_escape($vport[$i])); push(@cols, $vserv[$i] || $text{'index_auto'}); push(@cols, &html_escape($vproxy[$i]) || &html_escape($vroot[$i])); push(@cols, $vstatus[$i]) if ($can_vhost_files); push(@cols, $vurl[$i] ? &ui_link($vurl[$i], $text{'index_view'}) : "" ); if ($showdel && defined($vsel[$i]) && $vsel[$i] ne "") { print &ui_checked_columns_row(\@cols, undef, "d", $vsel[$i]); } elsif ($showdel) { print &ui_columns_row([ "", @cols ]); } else { print &ui_columns_row(\@cols); } } print &ui_columns_end(); print &ui_links_row(\@links); if ($showdel) { if ($showtoggle) { print &ui_form_end_side_by_side($list_form, [ [ "delete", $text{'index_delete'} ] ], [ [ "toggle", $text{'index_toggle'}, undef, undef, "form=\"$list_form\"" ] ]); } else { print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); } } } else { # as icons for niceness $list_form = "vhosts_form"; if ($showdel) { print &ui_form_start("delete_vservs.cgi", "post", undef, "id='$list_form'"); } print &ui_links_row(\@links); print "<table width=100% cellpadding=5>\n"; for($i=0; $i<@vname; $i++) { print "<tr class='mainbody ".($i % 2 ? 'row0' : 'row1')."'> <td valign=top align=center nowrap>"; print '<div class="row icons-row inline-row">'; &generate_icon("images/virt.gif", $vname[$i], $vlink[$i], undef, undef, undef, defined($vsel[$i]) && $vsel[$i] ne "" && $access{'vaddr'} ? &ui_checkbox("d", $vsel[$i]) : ""); print "</div>\n"; print "</td> <td valign=top>\n"; print "$vdesc[$i]<br>\n"; print "<table width=100%><tr>\n"; print "<td width=30%><b>$text{'index_addr'}</b> ", &html_escape($vaddr[$i]),"<br>\n"; print "<b>$text{'index_port'}</b> ", &html_escape($vport[$i]),"</td>\n"; print "<td width=70%><b>$text{'index_name'}</b> ", (&html_escape($vserv[$i]) || $text{'index_auto'}), "<br>\n"; if ($vproxy[$i]) { print "<b>$text{'index_proxy'}</b> ", &html_escape($vproxy[$i]),"</td> </tr>\n"; } else { print "<b>$text{'index_root'}</b> ", &html_escape($vroot[$i]),"</td> </tr>\n"; } if ($can_vhost_files && $vstatus[$i]) { print "<tr><td colspan=2><b>$text{'index_status'}</b> ", $vstatus[$i],"</td></tr>\n"; } print "</table></td> </tr>\n"; } print "</table>\n"; print &ui_links_row(\@links); if ($showdel) { if ($showtoggle) { print &ui_form_end_side_by_side($list_form, [ [ "delete", $text{'index_delete'} ] ], [ [ "toggle", $text{'index_toggle'}, undef, undef, "form=\"$list_form\"" ] ]); } else { print &ui_form_end([ [ "delete", $text{'index_delete'} ] ]); } } } print &ui_tabs_end_tab(); if ($access{'create'}) { print &ui_tabs_start_tab("mode", "create"); #print $text{'index_desccreate'},"<p>\n"; print &ui_form_start("create_virt.cgi"); print &ui_table_start($text{'index_create'}, undef, 2); # IP address print &ui_table_row($text{'index_newaddr'}, &ui_radio("addr_def", 2, [ [ 1, "$text{'index_any1'}<br>" ], [ 2, "$text{'index_any2'}<br>" ], [ 0, $text{'index_any0'}." ". &ui_textbox("addr", undef, 40) ] ])."<br>\n". ($httpd_modules{'core'} < 2.4 ? &ui_checkbox("nv", 1, $text{'index_nv'}, 1)."<br>" : ""). &ui_checkbox("listen", 1, $text{'index_listen'}, 1)); # Port print &ui_table_row($text{'index_port'}, &choice_input(@nvports ? 2 : 0, "port_mode", "0", "$text{'index_default'},0", "$text{'index_any'},1", ",2"). &ui_textbox("port", @nvports ? $nvports[0] : undef, 5)); # Document root print &ui_table_row($text{'index_root'}, &ui_textbox("root", undef, 40)." ". &file_chooser_button("root", 1, $formno)."<br>". &ui_checkbox("adddir", 1, $text{'index_adddir'}, 1)); # Server name if ($access{'virts'} eq '*') { print &ui_table_row($text{'index_name'}, &opt_input("", "name", $text{'index_auto'}, 30)); } else { # Require that non-root users enter a server name, or else it # will be impossible to grant access to the new virtualhost print &ui_table_row($text{'index_name'}, &ui_textbox("name", "", 30)); } # Add to file print &ui_table_row($text{'index_file'}, &ui_radio("fmode", $config{'virt_file'} ? 1 : 0, [ [ 0, &text('index_fmode0', "<tt>httpd.conf</tt>")."<br>" ], $config{'virt_file'} ? ( [ 1, &text(-d $config{'virt_file'} ? 'index_fmode1d' : 'index_fmode1', "<tt>$config{'virt_file'}</tt>")."<br>" ] ) : ( ), [ 2, $text{'index_fmode2'}." ". &ui_textbox("file", undef, 40)." ". &file_chooser_button("file", 0, $formno) ] ])); # Server to clone print &ui_table_row($text{'index_clone'}, &ui_select("clone", undef, [ [ undef, $text{'index_noclone'} ], map { [ &indexof($_, @$conf), $cname{$_} ] } @virt ])); print &ui_table_end(); print &ui_form_end([ [ undef, $text{'index_crnow'} ] ]); print &ui_tabs_end_tab(); } print &ui_tabs_end(1); &ui_print_footer("/", $text{'index'}); sub server_name_sort { return &def(&find_vdirective("ServerName", $_[0]->{'members'}, $conf), $_[0]->{'value'}); } sub server_ip_sort { local $addr = $_[0]->{'words'}->[0] =~ /^(\S+):(\S+)/ ? $1 : $_[0]->{'words'}->[0]; return $addr eq '_default_' || $addr eq '*' ? undef : &check_ipaddress($addr) ? $addr : $addr =~ /^\[(\S+)\]$/ && &check_ip6address($1) ? $1 : &to_ipaddress($addr); }