VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/keeview_app/tool/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/html/keeview_app/tool/auto_copy.js
console.log("=====================================================");
process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
var fs = require('fs');
var path = require('path');
var URL = require('url');

var rootUrl = 'https://lab.daithangminh.vn/home_co/hr/';
var jsphpUrl = 'https://lab.daithangminh.vn/jsphp/'

var urlList = [];
fs.readFile('../html/index.html', 'utf-8', (err, text) => {
    if (err) return;
    var srcRegex = /src\s*=\s*"([^"]+)"/g;
    var matched = srcRegex.exec(text);
    var url;
    while (matched) {
        url = matched[1];
        if (url.startsWith('https:')) {
            matched = srcRegex.exec(text);
            continue;
        }

        urlList.push(url);
        matched = srcRegex.exec(text);
    }

    var hrefRegex = /href\s*=\s*"([^"]+)"/g;
    matched = hrefRegex.exec(text);
    while (matched) {
        url = matched[1];
        if (url.startsWith('https:')) {
            matched = srcRegex.exec(text);
            continue;
        }

        urlList.push(url);
        matched = hrefRegex.exec(text);
    }

    var sync = Promise.resolve();
    urlList.forEach(href => {
        if (href.indexOf('absol') >= 0) return;
        var fileUrl = URL.resolve(rootUrl, href);
        if (fileUrl.indexOf('/css/') >= 0) return;
        var ext = href.split('.').pop().toLowerCase();
        var filePath = path.resolve(__dirname, '../new_html', href);
        fileUrl = URL.resolve(rootUrl + ext + '/', href);
        fetch(fileUrl).then(res => {
            if (!res.ok) {
                throw new Error("Not found " + fileUrl);
            }
            return res.text();
        }).then(res => {
            console.log("download", fileUrl, filePath);
            fs.writeFile(filePath, res, 'utf-8', (error) => {
                if (!error)
                    console.log('write ' + filePath);
            })


        }).catch(error => {
            fileUrl = URL.resolve(rootUrl, href);
            fetch(fileUrl).then(res => {
                if (!res.ok) {
                    throw new Error("Not found " + fileUrl);
                }
                return res.text();
            }).then(res => {
                console.log("fallback download", fileUrl);
                fs.writeFile(filePath, res, 'utf-8', (error) => {
                    if (!error)
                        console.log('write ' + filePath);
                })
            }).catch(error => {
                fileUrl = URL.resolve(jsphpUrl, href);
                fetch(fileUrl).then(res => {
                    if (!res.ok) {
                        throw new Error("Not found " + fileUrl);
                    }
                    return res.text();
                }).then(res => {
                    console.log("lib download", fileUrl);
                    fs.writeFile(filePath, res, 'utf-8', (error) => {
                        if (!error)
                            console.log('write ' + filePath);
                    })
                }).catch(error => {
                    console.error("Fail", fileUrl);
                })
            })
        })

        // // sync = sync.then(() => {
        //     return fetch(file).then(res => res.arrayBuffer()).then(res => {
        //         console.log("downloaded", href);
        //     }).catch(error => {
        //         console.log("download fail", file, error.message);
        //
        //     // });
        // });
        // console.log(file);
    });

    // console.log(sourceFiles)
});

VaKeR 2022