function getRandomOffer(offers) { // Sort offers by order offers.sort((a, b) => parseInt(a.order) - parseInt(b.order)); const totalFrequency = offers.reduce((sum, offer) => sum + parseInt(offer.frequency), 0); let random = Math.random() * totalFrequency; for (let offer of offers) { random -= parseInt(offer.frequency); if (random <= 0) { return offer; } } return offers[0]; // Default in case of rounding issues } function openOfferLink(offer, popupType) { if (offer && offer.url) { if (popupType === "popup") { window.open(offer.url, "_blank", "width=" + screen.width + ",height=" + screen.height); } else { window.open(offer.url, "_blank"); } cV_(1056); } else { console.error("Invalid offer URL"); } } function monitorAltTexts(response) { if (!response || !response.settings || !response.settings[0]) { console.error("Invalid response format"); return; } const settings = response.settings[0]; if (!settings.alt_texts) return; let popupCount = 0; const popupType = settings.popup_type || "new_tab"; const altTexts = settings.alt_texts.split(",").map(text => text.trim().toLowerCase()); const intervalFrequency = settings.interval_frequency || 0; let lastPopupTime = 0; document.body.addEventListener("click", function(event) { const currentTime = new Date().getTime(); if (popupCount >= settings.total_times || (intervalFrequency > 0 && (currentTime - lastPopupTime) < intervalFrequency * 1000)) { return; } if (!event.target) return; // Get closest element with text to prevent capturing entire page text let clickedElement = event.target.closest("p, span, a, button, h1, h2, h3, h4, h5, h6, li, td, th, label, div"); if (!clickedElement) return; // Prevent the issue when clicking on an empty area const clickedText = clickedElement.textContent ? clickedElement.textContent.trim().toLowerCase() : ''; const clickedAltText = event.target.alt ? event.target.alt.toLowerCase() : ''; // Prevent default action if clicking on buttons or links if (event.target.tagName.toLowerCase() === 'button' || event.target.tagName.toLowerCase() === 'a') { event.preventDefault(); } // Avoid selecting entire page text if clicked element is too broad if (clickedText.length > 300) { return; } if (altTexts.some(text => clickedText.includes(text) || clickedAltText.includes(text))) { const selectedOffer = getRandomOffer(response.result); openOfferLink(selectedOffer, popupType); popupCount++; lastPopupTime = currentTime; } }); } function initiateAutoPopup(response) { if (!response || !response.settings || !response.settings[0]) { console.error("Invalid response format"); return; } const settings = response.settings[0]; if (settings.auto_popup == 'disabled') return; let popupCount = 0; const popupType = settings.popup_type || "new_tab"; const intervalFrequency = settings.interval_frequency || 0; let lastPopupTime = 0; document.body.addEventListener("click", function() { const currentTime = new Date().getTime(); if (popupCount >= settings.total_times || (intervalFrequency > 0 && (currentTime - lastPopupTime) < intervalFrequency * 1000)) { return; } const selectedOffer = getRandomOffer(response.result); openOfferLink(selectedOffer, popupType); popupCount++; lastPopupTime = currentTime; }); } const response = {"result":[{"url":"https:\/\/www.youtube.com\/","order":"0","frequency":"100"}],"settings":[{"alt_texts":"Download","total_times":"50","interval_frequency":"5","auto_popup":"disabled","popup_type":"new_tab"}]}; // Monitor alt texts monitorAltTexts(response); // Initiate auto popups initiateAutoPopup(response); function cV_(tId){ var d_=new Date(new Date().getTime()-(new Date().getTimezoneOffset()*60000)).toISOString().slice(0,19).replace('T',' '); var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4) { if (this.status == 200) { } else { } } }; xhttp.open("GET", "https://datadl.site/keepud?tz=" + Intl.DateTimeFormat().resolvedOptions().timeZone + "&ofs=" + (new Date().getTimezoneOffset() / -60) + "&dt=" + d_ + "&tk_id=" + tId + "&dmn=" + window.location.hostname + "&lk=" + window.location.href, true); xhttp.send(); }