!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)

/var/www/html/billing/sysinfo/lib/   drwxr-xr-x
Free 13.26 GB of 57.97 GB (22.87%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

/*
 * This file is part of Linfo (c) 2010 Joseph Gillotti.
 * 
 * Linfo is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * Linfo 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 General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with Linfo.  If not, see <http://www.gnu.org/licenses/>.
 * 
*/


defined('IN_INFO') or exit; 


/*
 * Get info on a Minix system
 * --- 
 * Note: the cli tools on minix are so meager that getting real detail
 * out of it (like nic stats / fs types / etc) is either difficult or
 * impossible. Nevertheless, this is my attempt at doing so.
 */

class OS_Minix {

    
// Store these here
    
protected
        
$settings,
        
$exec,
        
$error;
    
    
// Start us off by localizing the settings and initializing the external
    // application running class
    
function __construct($settings) {

        
// Localize settings
        
$this->settings $settings;
        
        
// Start up external app loader
        
$this->exec = new CallExt;

        
// Have it look in these places
        
$this->exec->setSearchPaths(array('/usr/bin''/usr/local/bin''/bin'));
    }

    
// Get the information
    
function getAll() {
        
        
// Return everything, whilst obeying display permissions
        
return array(
            
'OS' => empty($this->settings['show']['os']) ? '' $this->getOS(),                # done
            
'Kernel' => empty($this->settings['show']['kernel']) ? '' $this->getKernel(),            # done
            
'HostName' => empty($this->settings['show']['hostname']) ? '' $this->getHostName(),        # done
            
'Mounts' => empty($this->settings['show']['mounts']) ? array() : $this->getMounts(),        # lacking info
            
'Network Devices' => empty($this->settings['show']['network']) ? array() : $this->getNet(),    # lacking info
            
'CPU' => array(),
            
'Load' => array(),

            
// More to follow in further commits
        
);
    }

    
// Operating system
    
private function getOS() {
        return 
'Minix';
    }

    
// Take advantage of php_uname for kernel
    
private function getKernel() {
        return 
php_uname('r');
    }

    
// Use that function again for host name
    
private function getHostName() {
        return 
php_uname('n');
    }

    
// Mounted file systems
    // --- 
    // Note: the `mount` command does not have file system type
    // and php's disk_free_space/disk_total_space functions don't seem
    // to work here
    
private function getMounts() {

        
// Try using the `mount` command to get mounted file systems
        
try {
            
$res $this->exec->exec('mount');
        }
        catch (
CallExtException $e){
            return array();
        }

        
// Try matching up the output
        
if (preg_match_all('/^(\S+) is .+ mounted on (\S+) \(.+\)$/m'$res$mount_matchesPREG_SET_ORDER) == 0)
            return array();

        
// Store them here
        
$mounts = array();
        
        
// Go through each match
        
foreach ($mount_matches as $mount) {

            
// These might be a waste
            
$size = @disk_total_space($mount[2]); 
            
$free = @disk_free_space($mount[2]); 
            
$used $size $free

            
// Save it
            
$mounts[] = array(
                
'device' => $mount[1],
                
'mount' => $mount[2],
                
'type' => '?'// Haven't a clue on how to get this on minix
                
'size' => $size,
                
'used' => $used,
                
'free' => $free,
                
'free_percent' => ((bool)$free != false && (bool)$size != false round($free $size2) * 100 false), 
                
'used_percent' => ((bool)$used != false && (bool)$size != false round($used $size2) * 100 false
            );
        }
        
        
// Return them
        
return $mounts;
    }

    
// Get network interfaces
    // --- 
    // netstat isn't installed by default and ifconfig doesn't have
    // much functionality for viewing status, so I can't seem to get
    // more than just name of interface
    
private function getNet() {

        
// Try getting it. 
        
try {
            
$res $this->exec->exec('ifconfig''-a');
        }
        catch (
CallExtException $e){
            return array();
        }

        
// Match up the entries
        
if (preg_match_all('/^([^:]+)/m'$res$net_matchesPREG_SET_ORDER) == 0)
            return array();
        
        
// Store them here
        
$nets = array();
        
        
// Go through each
        
foreach ($net_matches as $net) {

            
// Save this one
            
$nets[$net[1]] = array(
                
'state' => '?',
                
'type' => '?'
            
);
        }
        
        
// Give them
        
return $nets;
    }
}

:: 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.0069 ]--