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 /
software /
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
3.03
KB
-rw-r--r--
2026-07-17 21:17
aix-lib.pl
19.56
KB
-rwxr-xr-x
2026-07-17 21:17
apk-lib.pl
8.52
KB
-rw-r--r--
2026-07-17 21:17
apt-lib.pl
16.07
KB
-rwxr-xr-x
2026-07-17 21:17
apt_upgrade.cgi
1.99
KB
-rwxr-xr-x
2026-07-17 21:22
cgi_args.pl
524
B
-rwxr-xr-x
2026-07-17 21:17
close.cgi
263
B
-rwxr-xr-x
2026-07-17 21:22
config-aix
30
B
-rw-r--r--
2026-07-17 21:17
config-alpine-linux
37
B
-rw-r--r--
2026-07-17 21:17
config-cobalt-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-coherent-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-corel-linux
33
B
-rw-r--r--
2026-07-17 21:17
config-cygwin
33
B
-rw-r--r--
2026-07-17 21:17
config-debian-linux
51
B
-rw-r--r--
2026-07-17 21:17
config-freebsd
54
B
-rw-r--r--
2026-07-17 21:17
config-freebsd-8.4-ALL
52
B
-rw-r--r--
2026-07-17 21:17
config-gentoo-linux
33
B
-rw-r--r--
2026-07-17 21:17
config-hpux
31
B
-rw-r--r--
2026-07-17 21:17
config-mandrake-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-msc-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-netbsd
34
B
-rw-r--r--
2026-07-17 21:17
config-open-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-openSUSE-Linux-15.0-ALL
30
B
-rw-r--r--
2026-07-17 21:17
config-openbsd
34
B
-rw-r--r--
2026-07-17 21:17
config-openmamba-linux
48
B
-rw-r--r--
2026-07-17 21:17
config-openserver
33
B
-rw-r--r--
2026-07-17 21:17
config-redhat-linux
48
B
-rw-r--r--
2026-07-17 21:17
config-slackware-linux
36
B
-rw-r--r--
2026-07-17 21:17
config-solaris
33
B
-rw-r--r--
2026-07-17 21:17
config-suse-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-syno-linux
50
B
-rw-r--r--
2026-07-17 21:17
config-trustix-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-turbo-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-united-linux
30
B
-rw-r--r--
2026-07-17 21:17
config-unixware
33
B
-rw-r--r--
2026-07-17 21:17
config-windows
30
B
-rw-r--r--
2026-07-17 21:17
config.info
541
B
-rw-r--r--
2026-07-17 21:17
config.info.ca
554
B
-rw-r--r--
2026-07-17 21:17
config.info.cs
372
B
-rw-r--r--
2026-07-17 21:17
config.info.de
523
B
-rw-r--r--
2026-07-17 21:17
config.info.es
320
B
-rw-r--r--
2026-07-17 21:17
config.info.fr
135
B
-rw-r--r--
2026-07-17 21:17
config.info.ja
428
B
-rw-r--r--
2026-07-17 21:17
config.info.ko
409
B
-rw-r--r--
2026-07-17 21:17
config.info.ms
411
B
-rw-r--r--
2026-07-17 21:17
config.info.nl
415
B
-rw-r--r--
2026-07-17 21:17
config.info.no
424
B
-rw-r--r--
2026-07-17 21:17
config.info.pl
392
B
-rw-r--r--
2026-07-17 21:17
config.info.ru
175
B
-rw-r--r--
2026-07-17 21:17
config.info.sv
224
B
-rw-r--r--
2026-07-17 21:17
config.info.tr
123
B
-rw-r--r--
2026-07-17 21:17
config.info.uk
174
B
-rw-r--r--
2026-07-17 21:17
config.info.zh
122
B
-rw-r--r--
2026-07-17 21:17
config.info.zh_TW
125
B
-rw-r--r--
2026-07-17 21:17
csw-lib.pl
2.66
KB
-rwxr-xr-x
2026-07-17 21:17
cygwin-lib.pl
22.64
KB
-rwxr-xr-x
2026-07-17 21:17
debian-lib.pl
9.23
KB
-rwxr-xr-x
2026-07-17 21:17
delete_file.cgi
340
B
-rwxr-xr-x
2026-07-17 21:22
delete_pack.cgi
1.71
KB
-rwxr-xr-x
2026-07-17 21:22
delete_packs.cgi
1.82
KB
-rwxr-xr-x
2026-07-17 21:22
do_install.cgi
2.67
KB
-rwxr-xr-x
2026-07-17 21:22
edit_pack.cgi
1.13
KB
-rwxr-xr-x
2026-07-17 21:22
emerge-lib.pl
7.83
KB
-rwxr-xr-x
2026-07-17 21:17
file_info.cgi
2.09
KB
-rwxr-xr-x
2026-07-17 21:22
find.cgi
1.63
KB
-rwxr-xr-x
2026-07-17 21:22
freebsd-lib.pl
8.26
KB
-rwxr-xr-x
2026-07-17 21:17
hpux-lib.pl
8.42
KB
-rwxr-xr-x
2026-07-17 21:17
index.cgi
3.3
KB
-rwxr-xr-x
2026-07-17 21:22
install_pack.cgi
4.8
KB
-rwxr-xr-x
2026-07-17 21:22
ipkg-close.cgi
269
B
-rwxr-xr-x
2026-07-17 21:22
ipkg-edit_pack.cgi
1.45
KB
-rwxr-xr-x
2026-07-17 21:22
ipkg-lib.pl
8.04
KB
-rwxr-xr-x
2026-07-17 21:17
ipkg-open.cgi
243
B
-rwxr-xr-x
2026-07-17 21:22
ipkg-tree.cgi
4
KB
-rwxr-xr-x
2026-07-17 21:22
ipkg_upgrade.cgi
937
B
-rwxr-xr-x
2026-07-17 21:22
list_pack.cgi
1.73
KB
-rwxr-xr-x
2026-07-17 21:22
log_parser.pl
1.34
KB
-rwxr-xr-x
2026-07-17 21:17
module.info
497
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
170
B
-rw-r--r--
2026-07-17 21:17
module.info.bg
0
B
-rw-r--r--
2026-07-17 21:17
module.info.bg.auto
214
B
-rw-r--r--
2026-07-17 21:17
module.info.ca
116
B
-rw-r--r--
2026-07-17 21:17
module.info.ca.auto
21
B
-rw-r--r--
2026-07-17 21:17
module.info.cs
30
B
-rw-r--r--
2026-07-17 21:17
module.info.cs.auto
114
B
-rw-r--r--
2026-07-17 21:17
module.info.da
0
B
-rw-r--r--
2026-07-17 21:17
module.info.da.auto
124
B
-rw-r--r--
2026-07-17 21:17
module.info.de
106
B
-rw-r--r--
2026-07-17 21:17
module.info.de.auto
21
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
220
B
-rw-r--r--
2026-07-17 21:17
module.info.es
29
B
-rw-r--r--
2026-07-17 21:17
module.info.es.auto
106
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
129
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
215
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
130
B
-rw-r--r--
2026-07-17 21:17
module.info.fr
29
B
-rw-r--r--
2026-07-17 21:17
module.info.fr.auto
117
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
138
B
-rw-r--r--
2026-07-17 21:17
module.info.hu
38
B
-rw-r--r--
2026-07-17 21:17
module.info.hu.auto
108
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
134
B
-rw-r--r--
2026-07-17 21:17
module.info.ja
43
B
-rw-r--r--
2026-07-17 21:17
module.info.ja.auto
157
B
-rw-r--r--
2026-07-17 21:17
module.info.ko
34
B
-rw-r--r--
2026-07-17 21:17
module.info.ko.auto
128
B
-rw-r--r--
2026-07-17 21:17
module.info.ms
104
B
-rw-r--r--
2026-07-17 21:17
module.info.ms.auto
18
B
-rw-r--r--
2026-07-17 21:17
module.info.nl
27
B
-rw-r--r--
2026-07-17 21:17
module.info.nl.auto
104
B
-rw-r--r--
2026-07-17 21:17
module.info.no
26
B
-rw-r--r--
2026-07-17 21:17
module.info.no.auto
107
B
-rw-r--r--
2026-07-17 21:17
module.info.pl
121
B
-rw-r--r--
2026-07-17 21:17
module.info.pl.auto
21
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
102
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR
0
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR.auto
139
B
-rw-r--r--
2026-07-17 21:17
module.info.ru
30
B
-rw-r--r--
2026-07-17 21:17
module.info.ru.auto
205
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
145
B
-rw-r--r--
2026-07-17 21:17
module.info.sv
21
B
-rw-r--r--
2026-07-17 21:17
module.info.sv.auto
100
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
107
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
202
B
-rw-r--r--
2026-07-17 21:17
module.info.zh
18
B
-rw-r--r--
2026-07-17 21:17
module.info.zh.auto
91
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW
24
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW.auto
97
B
-rw-r--r--
2026-07-17 21:17
msi-lib.pl
8.63
KB
-rwxr-xr-x
2026-07-17 21:17
open.cgi
238
B
-rwxr-xr-x
2026-07-17 21:22
openbsd-lib.pl
4.98
KB
-rwxr-xr-x
2026-07-17 21:17
pkg-lib.pl
2.49
KB
-rw-r--r--
2026-07-17 21:17
pkgadd-lib.pl
10.26
KB
-rwxr-xr-x
2026-07-17 21:17
pkgadd-no-ask
164
B
-rw-r--r--
2026-07-17 21:17
pkgsrc-lib.pl
7.41
KB
-rw-r--r--
2026-07-17 21:17
ports-lib.pl
3.46
KB
-rw-r--r--
2026-07-17 21:17
ports_upgrade.cgi
512
B
-rwxr-xr-x
2026-07-17 21:22
rhn-lib.pl
3.01
KB
-rwxr-xr-x
2026-07-17 21:17
rhn.cgi
1.3
KB
-rwxr-xr-x
2026-07-17 21:22
rhn_check.cgi
1.84
KB
-rwxr-xr-x
2026-07-17 21:22
rpm-lib.pl
13.23
KB
-rwxr-xr-x
2026-07-17 21:17
rpmfind.cgi
2.11
KB
-rwxr-xr-x
2026-07-17 21:22
search.cgi
2.29
KB
-rwxr-xr-x
2026-07-17 21:22
slackware-lib.pl
7.13
KB
-rwxr-xr-x
2026-07-17 21:17
software-lib.pl
9.15
KB
-rwxr-xr-x
2026-07-17 21:17
tree.cgi
3.79
KB
-rwxr-xr-x
2026-07-17 21:22
urpmi-lib.pl
2.13
KB
-rwxr-xr-x
2026-07-17 21:17
urpmi_upgrade.cgi
850
B
-rwxr-xr-x
2026-07-17 21:22
view.cgi
931
B
-rwxr-xr-x
2026-07-17 21:22
yum-lib.pl
13.46
KB
-rwxr-xr-x
2026-07-17 21:17
yum_upgrade.cgi
919
B
-rwxr-xr-x
2026-07-17 21:22
Save
Rename
# apk-lib.pl # Functions for Alpine Package Keeper package management $ENV{'PATH'} .= ":/sbin:/usr/sbin"; $apk_installed_db = "/lib/apk/db/installed"; sub list_package_system_commands { return ("apk"); } sub list_update_system_commands { return ("apk"); } # parse_apk_installed() # Returns installed packages from APK's package database sub parse_apk_installed { my @rv; my $pkg = { }; my $last; open(my $db, "<", $apk_installed_db) || return (); while(my $line = <$db>) { $line =~ s/\r?\n$//; if ($line eq "") { push(@rv, $pkg) if ($pkg->{'P'}); $pkg = { }; $last = undef; next; } if ($line =~ /^([A-Za-z]):(.*)$/) { $pkg->{$1} = $2; $last = $1; } elsif ($line =~ /^\t(.*)$/ && defined($last)) { $pkg->{$last} .= "\n".$1; } } close($db); push(@rv, $pkg) if ($pkg->{'P'}); return @rv; } sub apk_package_class { return lc($_[0]) =~ /^[a-e]/ ? "A-E" : lc($_[0]) =~ /^[f-j]/ ? "F-J" : lc($_[0]) =~ /^[k-o]/ ? "K-O" : lc($_[0]) =~ /^[p-t]/ ? "P-T" : lc($_[0]) =~ /^[u-z]/ ? "U-Z" : "Other"; } sub split_apk_name_version { my ($nv) = @_; return ($1, $2) if ($nv =~ /^(.+)-([0-9][^\s]*)$/); return ($nv, undef); } sub apk_package_record { my ($name, $ver) = @_; foreach my $p (&parse_apk_installed()) { next if ($p->{'P'} ne $name); next if ($ver && $p->{'V'} ne $ver); return $p; } return undef; } sub apk_quote_packages { return join(" ", map { quotemeta($_) } split(/\s+/, $_[0])); } # list_packages([package]*) # Fills the array %packages with a list of all packages sub list_packages { my %wanted = map { $_ => 1 } @_; my $i = 0; %packages = ( ); foreach my $p (sort { $a->{'P'} cmp $b->{'P'} } &parse_apk_installed()) { next if (@_ && !$wanted{$p->{'P'}}); $packages{$i,'name'} = $p->{'P'}; $packages{$i,'class'} = &apk_package_class($p->{'P'}); $packages{$i,'version'} = $p->{'V'}; $packages{$i,'desc'} = $p->{'T'}; $packages{$i,'arch'} = $p->{'A'}; $packages{$i,'url'} = $p->{'U'}; $i++; } return $i; } # package_search(string) # Searches installed packages by name and description sub package_search { my ($search) = @_; my $n = &list_packages(); my $i = 0; my %old = %packages; %packages = ( ); for(my $j=0; $j<$n; $j++) { if ($old{$j,'name'} =~ /\Q$search\E/i || $old{$j,'desc'} =~ /\Q$search\E/i) { foreach my $k ('name', 'class', 'version', 'desc', 'arch', 'url') { $packages{$i,$k} = $old{$j,$k}; } $i++; } } return $i; } # package_info(package, [version]) # Returns name, class, description, arch, version, vendor, installtime, url sub package_info { my ($name, $ver) = @_; my $p = &apk_package_record($name, $ver); return ( ) if (!$p); return ( $p->{'P'}, &apk_package_class($p->{'P'}), $p->{'T'} || $text{'apk_unknown'}, $p->{'A'} || $text{'apk_unknown'}, $p->{'V'} || $text{'apk_unknown'}, $p->{'m'} || "Alpine Linux", undef, $p->{'U'} ); } sub virtual_package_info { return ( ); } # package_files(package) # Returns a list of all files in some package sub package_files { my ($name) = @_; my $qname = quotemeta($name); my @rv; &open_execute_command(PKGINFO, "apk info -L $qname 2>/dev/null", 1, 1); while(<PKGINFO>) { s/\r|\n//g; next if (!$_ || / contains:$/); $_ = "/".$_ if ($_ !~ /^\//); push(@rv, $_); } close(PKGINFO); return @rv; } # check_files(package) # Fills in the %files array with information about files belonging to a package sub check_files { my ($name) = @_; my @pkgfiles = &package_files($name); %files = ( ); for(my $i=0; $i<@pkgfiles; $i++) { my $path = $pkgfiles[$i]; my $real = &translate_filename($path); my @st = stat($real); $files{$i,'path'} = $path; $files{$i,'type'} = -l $real ? 3 : -d $real ? 1 : 0; $files{$i,'user'} = @st ? getpwuid($st[4]) : undef; $files{$i,'group'} = @st ? getgrgid($st[5]) : undef; $files{$i,'mode'} = @st ? sprintf("%o", $st[2] & 07777) : undef; $files{$i,'size'} = @st ? $st[7] : 0; $files{$i,'link'} = readlink($real); $files{$i,'error'} = "Does not exist" if (!@st); } return scalar(@pkgfiles); } # installed_file(file) # Fills %file with details of the package that owns a file sub installed_file { my ($path) = @_; my $qpath = quotemeta($path); my $out = &backquote_command("apk info -W $qpath 2>&1", 1); return 0 if ($? || $out !~ / is owned by (\S+)/); my ($pkg, $ver) = &split_apk_name_version($1); my $real = &translate_filename($path); my @st = stat($real); %file = ( ); $file{'path'} = $path; $file{'type'} = -l $real ? 3 : -d $real ? 1 : 0; $file{'user'} = @st ? getpwuid($st[4]) : undef; $file{'group'} = @st ? getgrgid($st[5]) : undef; $file{'mode'} = @st ? sprintf("%o", $st[2] & 07777) : undef; $file{'size'} = @st ? $st[7] : 0; $file{'link'} = readlink($real); $file{'packages'} = $pkg; $file{'versions'} = $ver; return 1; } # is_package(file) sub is_package { my ($path) = @_; my $qpath = quotemeta($path); my $out = &backquote_command("tar -tzf $qpath .PKGINFO 2>/dev/null", 1); return $? ? 0 : 1; } # file_packages(file) # Returns a list of packages in an apk file, in "package description" form sub file_packages { my ($path) = @_; my $qpath = quotemeta($path); my $out = &backquote_command("tar -xOzf $qpath .PKGINFO 2>/dev/null", 1); return ( ) if ($?); my %info; foreach my $line (split(/\r?\n/, $out)) { if ($line =~ /^(\S+)\s*=\s*(.*)$/) { $info{$1} = $2; } } return $info{'pkgname'} ? ( $info{'pkgname'}." ".$info{'pkgdesc'} ) : ( ); } sub install_options { print &ui_table_row($text{'apk_untrusted'}, &ui_yesno_radio("untrusted", 0)); } # install_package(file, package, [&inputs]) sub install_package { my ($path, $package, $inref) = @_; $inref ||= \%in; my $qpath = quotemeta($path); my $args = $inref->{'untrusted'} ? "--allow-untrusted " : ""; my $out = &backquote_logged("apk add $args$qpath 2>&1 </dev/null"); return $? ? "<pre>$out</pre>" : undef; } # delete_package(package) sub delete_package { my ($name) = @_; my $out = &backquote_logged("apk del ".quotemeta($name)." 2>&1 </dev/null"); return $? ? "<pre>$out</pre>" : undef; } sub package_dependencies { my ($name, $ver) = @_; my $p = &apk_package_record($name, $ver); return ( ) if (!$p || !$p->{'D'}); my @rv; foreach my $dep (split(/\s+/, $p->{'D'})) { next if (!$dep); $dep =~ s/^\!//; if ($dep =~ /^([A-Za-z0-9+_.-]+)([<>=~]+)(\S+)$/) { push(@rv, { 'package' => $1, 'compare' => $2, 'version' => $3 }); } elsif ($dep =~ /^[A-Za-z0-9+_.-]+$/) { push(@rv, { 'package' => $dep }); } else { push(@rv, { 'other' => $dep }); } } return @rv; } sub package_system { return $text{'apk_manager'}; } sub package_help { return "apk"; } ###### Update system functions sub update_system_search { my ($search) = @_; my $pattern = defined($search) && $search ne "" && $search ne ".*" ? "*".$search."*" : "*"; my @rv; &clean_language(); &open_execute_command(SEARCH, "apk search -v ".quotemeta($pattern)." 2>/dev/null", 1, 1); while(<SEARCH>) { s/\r|\n//g; if (/^(.+)-([0-9][^\s]*)\s+-\s+(.*)$/) { push(@rv, { 'name' => $1, 'version' => $2, 'desc' => $3 }); } } close(SEARCH); &reset_environment(); return @rv; } sub update_system_available { &execute_command("apk update"); return &update_system_search(".*"); } sub update_system_updates { my @rv; &execute_command("apk update"); &clean_language(); &open_execute_command(UPDATES, "apk version -l '<' -v 2>/dev/null", 1, 1); while(<UPDATES>) { s/\r|\n//g; if (/^(.+)-([0-9][^\s]*)\s+<\s+(\S+)/) { push(@rv, { 'name' => $1, 'oldversion' => $2, 'version' => $3 }); } } close(UPDATES); &reset_environment(); return @rv; } sub update_system_install { my $update = $_[0] || $in{'update'}; my @rv; my $qupdate = &apk_quote_packages($update); my $cmd = "apk add --update --upgrade $qupdate"; print &text('apk_install', "<tt>".&html_escape($cmd)."</tt>"),"\n"; print "<pre data-installer>"; &additional_log('exec', undef, $cmd); &open_execute_command(CMD, "$cmd 2>&1 </dev/null", 2); while(<CMD>) { if (/\b(?:Installing|Upgrading|Downgrading)\s+(\S+)\s+\(/) { push(@rv, $1); } print &html_escape($_); } close(CMD); print "</pre>\n"; if ($?) { print "$text{'apk_failed'}<p>\n"; } else { print "$text{'apk_ok'}<p>\n"; } return &unique(@rv); } sub update_system_resolve { my ($name) = @_; return $name eq "apache" ? "apache2" : $name eq "dhcpd" ? "dhcp" : $name eq "mysql" ? "mariadb mariadb-client mariadb-server-utils" : $name eq "postgresql" ? "postgresql postgresql-client" : $name eq "openldap" ? "openldap openldap-clients" : $name eq "ldap" ? "openldap openldap-clients" : $name eq "dovecot" ? "dovecot" : $name eq "samba" ? "samba samba-client" : $name eq "openssh" ? "openssh" : $name eq "squid" ? "squid" : $name; } 1;