您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto K12 Online Is Eazy Now . Hacking K12 Online Is Eazy !
// ==UserScript== // @name Auto K12 Online Lite Version // @namespace http://tampermonkey.net/ // @version 1.0 // @description Auto K12 Online Is Eazy Now . Hacking K12 Online Is Eazy ! // @author Bao Neyako // @match *://*.k12online.vn/* // @grant none // ==/UserScript== (function () { 'use strict'; // Phiên bản mặc định là Lite (Không có tính năng nâng cấp Pro) const isLiteVersion = true; // Mặc định là Lite Version let startTime = localStorage.getItem('videoStartTime') ? new Date(localStorage.getItem('videoStartTime')) : null; // HTML Panel Auto (vị trí: bên trái dưới màn hình, luôn luôn hiển thị) const autoPanelHTML = ` <div id="autoPanel" style=" position: fixed; top: 50%; left: 0; transform: translateY(-50%); width: 300px; background: rgba(52, 152, 219, 0.7); color: white; font-family: 'Comic Sans MS', cursive, sans-serif; font-size: 14px; padding: 20px; border-radius: 20px; /* Bo tròn bảng menu */ box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.5); z-index: 9999; backdrop-filter: blur(10px); /* Hiệu ứng mờ cho nền */ "> <h3 style="margin: 0; font-size: 20px; text-align: center;">Auto Tool</h3> <p style="font-size: 12px; text-align: center;">Type: ${isLiteVersion ? 'Auto K12 Online Lite Version' : 'Auto K12 Online Pro Version'}</p> <button id="btnAutoLogin" style="padding: 12px; background: #1abc9c; border: none; border-radius: 15px; margin: 10px 0; width: 100%; cursor: pointer; transition: background-color 0.3s ease-in-out;">Auto Đăng Nhập</button> <button id="btnAutoSolve" style="padding: 12px; background: #2980b9; border: none; border-radius: 15px; margin: 10px 0; width: 100%; cursor: pointer; transition: background-color 0.3s ease-in-out;" ${isLiteVersion ? 'disabled' : ''}>Auto Làm Bài</button> <button id="btnAutoPlayVideo" style="padding: 12px; background: #8e44ad; border: none; border-radius: 15px; margin: 10px 0; width: 100%; cursor: pointer; transition: background-color 0.3s ease-in-out; ${isLiteVersion ? '' : 'opacity: 0.5; pointer-events: none;'}">Auto Treo Video</button> <button id="btnAutoCompleteCourses" style="padding: 12px; background: #e74c3c; border: none; border-radius: 15px; margin: 10px 0; width: 100%; cursor: pointer; transition: background-color 0.3s ease-in-out;" ${isLiteVersion ? 'disabled' : ''}>Auto Làm Hết Khóa Học</button> <!-- Nút cập nhật --> <button id="btnUpdate" style="padding: 12px; background: #f39c12; border: none; border-radius: 15px; margin: 10px 0; width: 100%; cursor: pointer; transition: background-color 0.3s ease-in-out;">Cập nhật</button> </div> `; // Thêm HTML vào trang document.body.insertAdjacentHTML('beforeend', autoPanelHTML); // Lấy tất cả các nút trong panel const allButtons = document.querySelectorAll('#autoPanel button'); // Lặp qua tất cả các nút và vô hiệu hóa chúng, trừ 3 nút: Auto Đăng Nhập, Auto Treo Video và Cập nhật allButtons.forEach(button => { if (button.id !== 'btnAutoLogin' && button.id !== 'btnAutoPlayVideo' && button.id !== 'btnUpdate') { button.disabled = true; button.style.opacity = 0.5; // Làm mờ nút button.style.pointerEvents = 'none'; // Vô hiệu hóa sự kiện nhấn } }); // Nút Auto Login document.getElementById('btnAutoLogin').addEventListener('click', function () { autoLogin(); }); // Hàm Auto Login function autoLogin() { const savedUsername = localStorage.getItem('username'); const savedPassword = localStorage.getItem('password'); if (savedUsername && savedPassword) { const usernameInput = document.querySelector('input[name="fields[username]"]'); const passwordInput = document.querySelector('input[name="fields[password]"]'); const loginButton = document.querySelector('button[type="submit"]'); if (usernameInput && passwordInput && loginButton) { usernameInput.value = savedUsername; passwordInput.value = savedPassword; loginButton.click(); console.log("Đang đăng nhập..."); } else { alert("Không tìm thấy trường đăng nhập hoặc nút đăng nhập."); } } else { showLoginDialog(); } } // Hiển thị hộp thoại nhập thông tin đăng nhập function showLoginDialog() { const dialogHTML = ` <div id="loginDialog" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(255, 255, 255, 0.9); padding: 20px; border-radius: 10px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); z-index: 10000; width: 300px;"> <h4 style="text-align: center;">Nhập Thông Tin Đăng Nhập</h4> <input id="usernameInput" type="text" placeholder="Tên đăng nhập" style="width: 100%; padding: 10px; margin-bottom: 10px; border-radius: 5px;"/> <input id="passwordInput" type="password" placeholder="Mật khẩu" style="width: 100%; padding: 10px; margin-bottom: 10px; border-radius: 5px;"/> <button id="btnLoginSubmit" style="width: 100%; padding: 12px; background: #1abc9c; border: none; border-radius: 15px; cursor: pointer;">Đăng nhập</button> </div> `; document.body.insertAdjacentHTML('beforeend', dialogHTML); // Lắng nghe sự kiện submit form đăng nhập document.getElementById('btnLoginSubmit').addEventListener('click', function () { const username = document.getElementById('usernameInput').value; const password = document.getElementById('passwordInput').value; if (username && password) { localStorage.setItem('username', username); localStorage.setItem('password', password); document.getElementById('loginDialog').remove(); autoLogin(); } else { alert("Vui lòng nhập đầy đủ tên đăng nhập và mật khẩu!"); } }); } // Nút Auto Treo Video document.getElementById('btnAutoPlayVideo').addEventListener('click', function () { autoPlayVideo(); }); // Hàm Auto Treo Video function autoPlayVideo() { console.log("Auto Treo Video Đang được kích hoạt..."); // Kiểm tra các video trong trang const videoElements = document.querySelectorAll('video'); videoElements.forEach(video => { // Nếu video chưa chạy thì start video if (video.paused || video.ended) { video.play(); console.log("Video đang được phát tự động."); } // Tiến hành treo video bằng cách kích hoạt lại video sau một khoảng thời gian setInterval(() => { if (video.paused || video.ended) { video.play(); console.log("Video treo lại."); } }, 1000); // Kiểm tra mỗi giây }); } // Nút Cập nhật document.getElementById('btnUpdate').addEventListener('click', function () { showUpdateDialog(); }); // Hiển thị thông báo Cập nhật function showUpdateDialog() { const updateDialogHTML = ` <div id="updateDialog" style="position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(255, 255, 255, 0.9); padding: 20px; border-radius: 10px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); z-index: 10000; width: 300px;"> <h4 style="text-align: center;">Cập nhật Phiên Bản</h4> <p style="text-align: center;">Phiên bản hiện tại của bạn là Lite. Cập nhật lên phiên bản Pro để sử dụng đầy đủ tính năng.</p> <button id="btnGoToPro" style="width: 100%; padding: 12px; background: #f39c12; border: none; border-radius: 15px; cursor: pointer;">Cập nhật ngay</button> <button id="btnCloseUpdate" style="width: 100%; padding: 12px; background: #e74c3c; border: none; border-radius: 15px; cursor: pointer;">Đóng</button> </div> `; document.body.insertAdjacentHTML('beforeend', updateDialogHTML); // Lắng nghe sự kiện đóng hộp thoại document.getElementById('btnCloseUpdate').addEventListener('click', function () { document.getElementById('updateDialog').remove(); }); // Lắng nghe sự kiện cập nhật document.getElementById('btnGoToPro').addEventListener('click', function () { window.open('https://yourwebsite.com/pro-version', '_blank'); }); } })();