X7ROOT File Manager
Current Path:
/usr/libexec/webmin/custom
usr
/
libexec
/
webmin
/
custom
/
📁
..
📄
CHANGELOG
(2.9 KB)
📄
acl_security.pl
(1.03 KB)
📄
backup_config.pl
(683 B)
📄
cgi_args.pl
(1.14 KB)
📄
config
(42 B)
📄
config-ALL-linux
(42 B)
📄
config.info
(490 B)
📄
config.info.ca
(500 B)
📄
config.info.cs
(326 B)
📄
config.info.de
(575 B)
📄
config.info.es
(338 B)
📄
config.info.fr
(669 B)
📄
config.info.hr
(0 B)
📄
config.info.it
(448 B)
📄
config.info.ko
(266 B)
📄
config.info.ms
(534 B)
📄
config.info.nl
(580 B)
📄
config.info.no
(548 B)
📄
config.info.pl
(612 B)
📄
config.info.ru
(158 B)
📄
config.info.sk
(0 B)
📄
config.info.tr
(269 B)
📄
config.info.uk
(165 B)
📄
custom-lib.pl
(16.71 KB)
📄
defaultacl
(25 B)
📄
edit_cmd.cgi
(3.69 KB)
📄
edit_file.cgi
(2.67 KB)
📄
edit_sql.cgi
(2.64 KB)
📄
feedback_files.pl
(208 B)
📄
form.cgi
(1.29 KB)
📁
help
📁
images
📄
index.cgi
(4.13 KB)
📁
lang
📄
log_parser.pl
(553 B)
📄
module.info
(165 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(145 B)
📄
module.info.ar
(0 B)
📄
module.info.ar.auto
(200 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(277 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(297 B)
📄
module.info.ca
(130 B)
📄
module.info.ca.auto
(22 B)
📄
module.info.cs
(33 B)
📄
module.info.cs.auto
(145 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(158 B)
📄
module.info.de
(149 B)
📄
module.info.de.auto
(26 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(299 B)
📄
module.info.es
(32 B)
📄
module.info.es.auto
(116 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(147 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(223 B)
📄
module.info.fi
(0 B)
📄
module.info.fi.auto
(170 B)
📄
module.info.fr
(34 B)
📄
module.info.fr.auto
(142 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(196 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(169 B)
📄
module.info.hu
(26 B)
📄
module.info.hu.auto
(151 B)
📄
module.info.it
(31 B)
📄
module.info.it.auto
(112 B)
📄
module.info.ja
(34 B)
📄
module.info.ja.auto
(163 B)
📄
module.info.ko
(32 B)
📄
module.info.ko.auto
(154 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(164 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(153 B)
📄
module.info.ms
(136 B)
📄
module.info.ms.auto
(15 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(148 B)
📄
module.info.nl
(25 B)
📄
module.info.nl.auto
(123 B)
📄
module.info.no
(33 B)
📄
module.info.no.auto
(120 B)
📄
module.info.pl
(139 B)
📄
module.info.pl.auto
(16 B)
📄
module.info.pt
(32 B)
📄
module.info.pt.auto
(129 B)
📄
module.info.pt_BR
(0 B)
📄
module.info.pt_BR.auto
(170 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(168 B)
📄
module.info.ru
(48 B)
📄
module.info.ru.auto
(253 B)
📄
module.info.sk
(33 B)
📄
module.info.sk.auto
(136 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(146 B)
📄
module.info.sv
(23 B)
📄
module.info.sv.auto
(119 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(295 B)
📄
module.info.tr
(23 B)
📄
module.info.tr.auto
(140 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(285 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(271 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(195 B)
📄
module.info.zh
(30 B)
📄
module.info.zh.auto
(91 B)
📄
module.info.zh_TW
(27 B)
📄
module.info.zh_TW.auto
(97 B)
📄
prefs.info
(26 B)
📄
run.cgi
(3.89 KB)
📄
save.cgi
(1.5 KB)
📄
save_cmd.cgi
(2.44 KB)
📄
save_file.cgi
(1.79 KB)
📄
save_sql.cgi
(1.53 KB)
📄
sql.cgi
(1.5 KB)
📄
sqlform.cgi
(962 B)
📄
view.cgi
(1.43 KB)
Editing: run.cgi
#!/usr/bin/perl # run.cgi # Run some command with the given parameters require './custom-lib.pl'; $theme_no_table = 1; if ($ENV{'CONTENT_TYPE'} =~ /multipart\/form-data/i) { &ReadParse(\%getin, "GET"); &ReadParseMime(undef, \&read_parse_mime_callback, [ $getin{'id'} ]); } else { &ReadParse(); } $| = 1; &error_setup($text{'run_err'}); $cmd = &get_command($in{'id'}, $in{'idx'}); &can_run_command($cmd) || &error($text{'run_ecannot'}); if (&supports_users()) { $user = $cmd->{'user'} eq '*' ? $remote_user : $cmd->{'user'}; @user_info = getpwnam($user); @user_info || &error(&text('run_ecmduser', $user)); } else { @user_info = ( "root", undef, 0, 0 ); } # substitute parameters into command ($env, $export, $str, $displaystr) = &set_parameter_envs( $cmd, $cmd->{'cmd'}, \@user_info); # work out hosts @hosts = @{$cmd->{'hosts'}}; @hosts = ( 0 ) if (!@hosts); @servers = &list_servers(); # Run and display output if ($cmd->{'format'} ne 'redirect' && $cmd->{'format'} ne 'form') { if ($cmd->{'format'}) { my ($f, $e) = $cmd->{'cmd'} =~ /([\p{L}\_\-\.0-9]+)\.(tar\..*?|[^.]*)$/; my $filename = $f || 'download'; my $extension = $e || 'unknown'; my $ctype = 'inline'; if ($cmd->{'format'} =~ /^application/) { $ctype = 'attachment'; } print "Content-Disposition: $ctype; filename=\"$filename.$extension\"\n"; print "Content-type: ",$cmd->{'format'},"\n"; print "\n"; } else { &ui_print_unbuffered_header( &html_escape($cmd->{'desc'}), $text{'run_title'}, "", -d "help" ? "run" : undef); } } &remote_error_setup(\&remote_custom_handler); foreach $h (@hosts) { ($server) = grep { $_->{'id'} eq $h } @servers; next if (!$server); $txt = $cmd->{'noshow'} ? 'run_out2' : 'run_out'; if (@{$cmd->{'hosts'}}) { $txt .= 'on'; } if (!$cmd->{'format'}) { print &text($txt, "<tt>".&html_escape($displaystr)."</tt>", $server->{'desc'} || "<tt>$server->{'host'}</tt>"),"\n"; print "<pre>" if (!$cmd->{'raw'}); } $remote_custom_error = undef; if ($h == 0) { # Run locally ($got, $out, $timeout, $ex) = &execute_custom_command( $cmd, $env, $export, $str, $cmd->{'format'} ne 'redirect' && $cmd->{'format'} ne 'form'); } else { # Remote foreign call eval { $SIG{'ALRM'} = sub { die "timeout" }; alarm($cmd->{'timeout'} ? $cmd->{'timeout'} + 5 : 60); &remote_foreign_require($server->{'host'}, "custom", "custom-lib.pl"); &remote_foreign_call($server->{'host'}, "custom", "set_parameter_envs", $cmd, $cmd->{'cmd'}, \@user_info, \%in, 1); ($got, $out, $timeout, $ex) = &remote_foreign_call( $server->{'host'}, "custom", "execute_custom_command", $cmd, $env, $export, $str); }; if ($@ =~ /timeout/) { $timeout = 1; } alarm(0); } if ($h == 0) { &additional_log('exec', undef, $displaystr); } if (!$remote_custom_error) { print $out if ($h != 0 && $cmd->{'format'} ne 'redirect' && $cmd->{'format'} ne 'form'); if (!$got && !$cmd->{'format'}) { print "<i>$text{'run_noout'}</i>\n"; } } if (!$cmd->{'format'}) { print "</pre>\n" if (!$cmd->{'raw'}); if ($remote_custom_error) { print "<b>$remote_custom_error</b><p>\n"; } elsif ($timeout) { print "<b>",&text('run_timeout', $cmd->{'timeout'} || 60),"</b><p>\n"; } elsif ($ex) { print "<b>",&text('run_failed', $ex),"</b><p>\n"; } } # Only log non-upload inputs %cmdin = ( %$cmd ); foreach $i (keys %in) { ($arg) = grep { $_->{'name'} eq $i } @{$cmd->{'args'}}; if ($arg->{'type'} != 10) { $cmdin{$i} = $in{$i}; } } } &webmin_log("exec", "command", $cmd->{'id'}, \%cmdin); unlink(@unlink) if (@unlink); if (!$cmd->{'format'}) { &ui_print_footer("", $text{'index_return'}); } elsif ($cmd->{'format'} eq 'redirect') { &redirect(""); } elsif ($cmd->{'format'} eq 'form') { &redirect("form.cgi?id=".$in{'id'}."&idx=".$in{'idx'}); } sub remote_custom_handler { $remote_custom_error = join("", @_); }
Upload File
Create Folder