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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/usr/local/lsws/add-ons/snmp_monitoring/   drwxr-xr-x
Free 13.01 GB of 57.97 GB (22.44%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     class.litespeed_stats.php (6.67 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*----------------------------------------
LiteSpeed_Stats class and subclasses. Parse Real-Time data for LiteSpeed Products

Copyright (C) 2006 LiteSpeed Technologies, Inc.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Version: 1.0 @ 08/23/2006
Contact: bug@litespeedtech.com
Url: http://www.litespeedtech.com

Requirement:

1)LiteSpeed Web Server version >= 2.1.18
2)PHP 5+
----------------------------------------*/

class litespeed_stats
{
    public 
$product null;
    public 
$edition null;
    public 
$version null;
    public 
$uptime null;

    public 
$bps_in 0;
    public 
$bps_out 0;
    public 
$ssl_bps_in 0;
    public 
$ssl_bps_out 0;

    public 
$max_conn 0;
    public 
$max_ssl_conn 0;

    public 
$plain_conn 0;
    public 
$avail_conn 0;
    public 
$idle_conn 0;

    public 
$ssl_conn 0;
    public 
$avail_ssl_conn 0;

    public 
$vhosts = array();

    
//misc settings

    //full path to .rtreports files. different products have different paths
    
public $report_path "/tmp/lshttpd/";

    
//processes..enterprise version can spawn proccess = cpu cores
    
public $processes 1;

    public function 
__construct($processes 1$report_path "/tmp/lshttpd/")
    {
        
$this->processes = (int) $processes;
        
$this->report_path trim($report_path);
    }

    public function 
parse()
    {
        for ( 
$i $i <= $this->processes $i++ )
        {
            if ( 
$i ) {
                
$content file_get_contents("{$this->report_path}.rtreport.{$i}");
            } else {
                
$content file_get_contents("{$this->report_path}.rtreport");
            }

            
$result = array();

            
$found 0;

            
$found preg_match_all("/VERSION: ([a-zA-Z0-9\ ]+)\/([a-zA-Z]*)\/([a-zA-Z0-9\.]+)\nUPTIME: ([0-9A-Za-z\ \:]+)\nBPS_IN:([0-9\ ]+), BPS_OUT:([0-9\ ]+), SSL_BPS_IN:([0-9\ ]+), SSL_BPS_OUT:([0-9\ ]+)\nMAXCONN:([0-9\ ]+), MAXSSL_CONN:([0-9\ ]+), PLAINCONN:([0-9\ ]+), AVAILCONN:([0-9\ ]+), IDLECONN:([0-9\ ]+), SSLCONN:([0-9\ ]+), AVAILSSL:([0-9\ ]+)/i"$content$result);

            if(
$found == 1) {
                
$this->product trim($result[1][0]);
                
$this->edition trim($result[2][0]);
                
$this->version trim($result[3][0]);
                
$this->uptime trim($result[4][0]);
                
$this->bps_in += (int) $result[5][0];
                
$this->bps_out += (int) $result[6][0];
                
$this->ssl_bps_in += (int) $result[7][0];
                
$this->ssl_bps_out += (int) $result[8][0];

                
$this->max_conn += (int) $result[9][0];
                
$this->max_ssl_conn += (int) $result[10][0];

                
$this->plain_conn += (int) $result[11][0];
                
$this->avail_conn += (int) $result[12][0];
                
$this->idle_conn += (int) $result[13][0];

                
$this->ssl_conn += (int) $result[14][0];
                
$this->avail_ssl_conn += (int) $result[15][0];
            }

            
$result = array();
            
$found 0;

            
$found preg_match_all("/REQ_RATE \[([^\]]*)\]: REQ_PROCESSING: ([0-9]+), REQ_PER_SEC: ([0-9]+), TOT_REQS: ([0-9]+)/i",$content,$result);

            for(
$f 0$f $found$f++) {
                
$vhost trim($result[1][$f]);

                if(
$vhost == "") {
                    
$vhost "_Server";
                }

                if(!
array_key_exists($vhost,$this->vhosts)) {
                    
$this->vhosts[$vhost] = new litespeed_stats_vhost($vhost);
                }

                
$temp $this->vhosts[$vhost];

                
$temp->req_processing += (int) $result[2][$f];
                
$temp->req_per_sec += (int) $result[3][$f];
                
$temp->req_total += (int) $result[4][$f];
            }

            
//reset
            
$result = array();
            
$found 0;

            
$found preg_match_all("/EXTAPP \[([^\]]*)\] \[([^\]]*)\] \[([^\]]*)\]: CMAXCONN: ([0-9]+), EMAXCONN: ([0-9]+), POOL_SIZE: ([0-9]+), INUSE_CONN: ([0-9]+), IDLE_CONN: ([0-9]+), WAITQUE_DEPTH: ([0-9]+), REQ_PER_SEC: ([0-9]+), TOT_REQS: ([0-9]+)/i",$content,$result);

            for(
$f 0$f $found$f++) {
                
$vhost trim($result[2][$f]);
                
$extapp trim($result[3][$f]);

                if(
$vhost == "") {
                    
$vhost "_Server";
                }

                if(!
array_key_exists($vhost,$this->vhosts)) {
                    
$this->vhosts[$vhost] = new litespeed_stats_vhost($vhost);
                }

                if(!
array_key_exists($extapp,$this->vhosts[$vhost]->extapps)) {
                    
$this->vhosts[$vhost]->extapps[$extapp] = new litespeed_stats_vhost_extapp($extapp$vhost);
                }

                
$temp $this->vhosts[$vhost]->extapps[$extapp];

                
$temp->type trim($result[1][$f]);
                
$temp->config_max_conn += (int) $result[4][$f];
                
$temp->effect_max_conn += (int) $result[5][$f];
                
$temp->pool_size += (int) $result[6][$f];
                
$temp->inuse_conn += (int) $result[7][$f];
                
$temp->idle_conn += (int) $result[8][$f];
                
$temp->waitqueue_depth += (int) $result[9][$f];
                
$temp->req_per_sec += (int) $result[10][$f];
                
$temp->req_total += (int) $result[11][$f];
            }
        }
    }
}

class 
liteSpeed_stats_vhost
{
    public 
$vhost null;
    public 
$req_processing 0;
    public 
$req_per_sec 0;
    public 
$req_total 0;
    public 
$extapps = array();

    public function 
__construct($vhost null)
    {
        
$this->vhost trim($vhost);
    }
}

class 
litespeed_stats_vhost_extapp
{
    public function 
__construct($extapp null$vhost null)
    {
        
$this->extapp trim($extapp);
        
$this->vhost trim($vhost);
    }

    public 
$vhost null;
    public 
$type null;
    public 
$extapp null;
    public 
$config_max_conn 0;
    public 
$effect_max_conn 0;
    public 
$pool_size 0;
    public 
$inuse_conn 0;
    public 
$idle_conn 0;
    public 
$waitqueue_depth 0;
    public 
$req_per_sec 0;
    public 
$req_total 0;
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

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