您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatic server start for Aternos + bypasses anti-adblock checks - Improved version
// ==UserScript== // @name Aternos 24/7 Open (Ad Anti-Anti) - Improved // @namespace https://github.com/bylordwz/Aternos-24-7-Open-Ad-Anti-Anti // @version 1.2 // @description Automatic server start for Aternos + bypasses anti-adblock checks - Improved version // @author Warden Zone Studio // @copyright 2025, Warden Zone Studio // @match https://aternos.org/* // @icon https://aternos.org/favicon.ico // @grant none // @run-at document-idle // @license Copyright // @homepage https://github.com/bylordwz/Aternos-24-7-Open-Ad-Anti-Anti // ==/UserScript== (function() { 'use strict'; let autoMode = false; let lastExtendClick = 0; let controlsAdded = false; // CSS stillerini ekle function addStyles() { const style = document.createElement('style'); style.textContent = ` .auto-control-div { display: inline-block !important; margin-left: 10px !important; visibility: visible !important; opacity: 1 !important; position: relative !important; z-index: 9999 !important; } .auto-control-btn { background-color: #ffc107 !important; border: 1px solid #e0a800 !important; color: #212529 !important; padding: 8px 16px !important; font-size: 14px !important; border-radius: 4px !important; cursor: pointer !important; transition: all 0.2s !important; display: inline-block !important; text-decoration: none !important; font-weight: 500 !important; line-height: 1.5 !important; text-align: center !important; vertical-align: middle !important; user-select: none !important; min-width: 140px !important; } .auto-control-btn:hover { background-color: #e0a800 !important; border-color: #d39e00 !important; transform: translateY(-1px) !important; } .auto-control-btn.btn-success { background-color: #28a745 !important; border-color: #1e7e34 !important; color: white !important; } .auto-control-btn.btn-success:hover { background-color: #218838 !important; border-color: #1e7e34 !important; } .auto-control-btn i { margin-right: 5px !important; } `; document.head.appendChild(style); } // Kontrol butonlarını ekle - geliştirilmiş versiyon function addControls() { if (controlsAdded) return; // Farklı seçiciler dene const selectors = [ '#restart', '.btn-restart', '[data-page="restart"]', '.server-restart', '.restart-button' ]; let restartButton = null; for (const selector of selectors) { restartButton = document.querySelector(selector); if (restartButton) break; } // Eğer restart buton yoksa, start butonunu ara if (!restartButton) { const startSelectors = [ '#start', '.btn-start', '[data-page="start"]', '.server-start', '.start-button' ]; for (const selector of startSelectors) { restartButton = document.querySelector(selector); if (restartButton) break; } } // Eğer hala buton yoksa, server kontrollerini ara if (!restartButton) { const serverControls = document.querySelector('.server-controls, .server-status, .status-controls'); if (serverControls) { restartButton = serverControls; } } if (!restartButton) { console.log('Restart/Start button not found, retrying...'); return; } const controlDiv = document.createElement('div'); controlDiv.className = 'auto-control-div'; const autoButton = document.createElement('button'); autoButton.innerHTML = '<i class="fas fa-robot"></i> Auto Mode: OFF'; autoButton.className = 'auto-control-btn btn-warning'; autoButton.onclick = (e) => { e.preventDefault(); e.stopPropagation(); toggleAuto(autoButton); }; controlDiv.appendChild(autoButton); // Butonu farklı yerlere eklemeyi dene try { if (restartButton.parentNode) { restartButton.parentNode.insertBefore(controlDiv, restartButton.nextSibling); } else { document.body.appendChild(controlDiv); } controlsAdded = true; console.log('Auto control button added successfully'); } catch (e) { console.error('Error adding control button:', e); } } function toggleAuto(button) { autoMode = !autoMode; button.innerHTML = `<i class="fas fa-robot"></i> Auto Mode: ${autoMode ? 'ON' : 'OFF'}`; button.className = `auto-control-btn ${autoMode ? 'btn-success' : 'btn-warning'}`; console.log(`Auto mode ${autoMode ? 'enabled' : 'disabled'}`); } // Geliştirilmiş server kontrol mantığı function controlServer() { if (!autoMode) return; // Farklı status seçiciler dene const statusSelectors = [ '.status', '.server-status', '[data-status]', '.status-indicator', '.server-state' ]; let status = null; for (const selector of statusSelectors) { status = document.querySelector(selector); if (status) break; } if (!status) return; // Loading durumunu kontrol et if (status.classList.contains('loading') || status.classList.contains('starting') || status.classList.contains('stopping')) { return; } // Offline durumunda start butonuna bas if (status.classList.contains('offline') || status.textContent.toLowerCase().includes('offline') || status.textContent.toLowerCase().includes('kapalı')) { const startSelectors = [ '#start', '.btn-start', '[data-action="start"]', '.server-start', '.start-button' ]; for (const selector of startSelectors) { const startButton = document.querySelector(selector); if (startButton && startButton.offsetParent !== null) { startButton.click(); console.log('Server start button clicked'); break; } } } // Online durumunda extend butonuna bas else if (status.classList.contains('online') || status.textContent.toLowerCase().includes('online') || status.textContent.toLowerCase().includes('açık')) { const extendSelectors = [ '.server-extend-end', '.extend-button', '[data-action="extend"]', '.btn-extend', '.server-extend' ]; const now = Date.now(); for (const selector of extendSelectors) { const extendButton = document.querySelector(selector); if (extendButton && extendButton.offsetParent !== null && now - lastExtendClick > 5000) { extendButton.click(); lastExtendClick = now; console.log('Server extend button clicked'); break; } } } } // Geliştirilmiş reklam bypass mantığı function bypassAd() { // Türkçe metin için const turkishText = "Yine de reklam engelleyiciyle devam et"; // İngilizce metin için const englishText = "Continue with ad blocker anyway"; const buttonSelectors = [ 'div.btn.btn-white.wZDWEUqRUPDi', '.btn-white', '.ad-blocker-continue', '[data-action="continue"]', '.continue-button' ]; for (const selector of buttonSelectors) { const buttons = document.querySelectorAll(selector); for (const btn of buttons) { const text = btn.innerText.trim(); if (text === turkishText || text === englishText) { console.log('Ad blocker continue button found, clicking...'); btn.click(); console.log('Ad blocker warning bypassed'); return; } } } // Overlay'i kapat const overlays = document.querySelectorAll('.modal, .overlay, .popup, [class*="adblock"]'); for (const overlay of overlays) { if (overlay.style.display !== 'none' && overlay.offsetParent !== null) { const closeBtn = overlay.querySelector('.close, .btn-close, [data-dismiss]'); if (closeBtn) { closeBtn.click(); console.log('Overlay closed'); } } } } // Sayfa yüklendikten sonra başlat function initialize() { addStyles(); // Kontrolleri eklemek için birkaç kez dene let attempts = 0; const addControlsInterval = setInterval(() => { attempts++; addControls(); if (controlsAdded || attempts > 10) { clearInterval(addControlsInterval); } }, 1000); // Ana döngüyü başlat startMainLoop(); } // Ana döngü - performans optimizasyonu ile function startMainLoop() { let lastCheck = 0; function mainLoop(timestamp) { // Her saniye kontrol et if (timestamp - lastCheck >= 1000) { try { bypassAd(); controlServer(); // Eğer kontroller eklenmemişse tekrar dene if (!controlsAdded) { addControls(); } } catch (e) { console.error('Error in main loop:', e); } lastCheck = timestamp; } requestAnimationFrame(mainLoop); } requestAnimationFrame(mainLoop); } // Sayfa tam yüklendikten sonra başlat if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initialize); } else { initialize(); } // Sayfa değişiklikleri için observer const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.type === 'childList' && !controlsAdded) { setTimeout(addControls, 500); } }); }); observer.observe(document.body, { childList: true, subtree: true }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址