// ==UserScript== // @name (秒过失效)2025年智慧中小学寒假教师研修-此脚本不再更新,原因看简介 // @namespace http://tampermonkey.net/ // @version 0.676 // @author hydrachs // @description 禁止非法修改与二次分发 // @license Proprietary // @match https://basic.smartedu.cn/* // @match https://www.smartedu.cn/* // @match https://teacher.vocational.smartedu.cn/* // @match https://core.teacher.vocational.smartedu.cn/* // ==/UserScript== (function () { 'use strict'; const validateAuthor = () => { try { const realAuthor = (() => {const arr = [104, 121, 100, // 134,135,49,63 //78,132,152 114, 97, 99, // 34,137,149,53 //126,59,76 104, 115 // 17,62,45,63 //78,132,152 ]; return arr.map(c => String.fromCharCode(c)).join(''); })(); const declaredAuthor = GM_info.script.author; if (realAuthor !== declaredAuthor) { throw new Error('作者信息不匹配'); } return true; } catch (e) { const errorMsg = `⚠️此脚本非原版!\n⚠️此脚本非原版!\n⚠️此脚本非原版!\n错误代码:0x${Date.now().toString(16)}\n点击“确定”去下载原版`; alert(errorMsg); window.location.href = 'https://greasyfork.org/zh-CN/scripts/486386'; return false; } }; if (!validateAuthor()) return; const decodeBase64 = (base64Str) => { try { return decodeURIComponent(escape(atob(base64Str))); } catch { return '[消息被篡改]'; } }; const popupMessage1 = '5rOo5oSP77yB5LiN5pSv5oyB6auY5qCh44CB6IGM5pWZ'; const popupMessage2 = '5L2c6ICFKGh5ZHJhY2hz77yJ5o+Q56S677ya'; const popupMessage3 = 'MS7kvb/nlKjmlrnms5XvvJrlhYjmiZPlvIDlvIDlj5HogIXmqKHlvI/vvIznhLblkI7ngrnlvIDop4bpopHvvIzpvKDmoIflv6vpgJ/ngrnlh6DmrKHnqbrnmb3lpITmiJbogIXmjInplK7nm5jlrZfmr43ljLrvvIznhLblkI7op4Llr5/ov5vluqbmnaHmmK/lkKbot7PovazliLDmnIDlkI7lh6Dnp5LvvIzlpoLmnpzot7Pov4fljrvkuobvvIznrYnlvoXop4bpopHmkq3mlL7lrozmiJDljbPlj6/jgILlpoLmnpzov5vluqbmnaHov5jlnKjliY3pnaLvvIzlho3mrKHlv6vpgJ/ngrnlh6DmrKHnqbrnmb3lpITmiJbogIXmmoLlgZwv5pKt5pS+6ZSu77yM55u05Yiw6L+b5bqm5p2h6Lez6L2s5Yiw5pyA5ZCO5Yeg56eS77yb'; const popupMessage4 = 'Mi7mraTohJrmnKzmsLjkuYXlhY3otLnvvIzku6XliY3jgIHnjrDlnKjjgIHmnKrmnaXpg73lhY3otLnvvIzosKjpmLLkuIrlvZPlj5fpqpfvvJs='; const popupMessage5 = 'My7lj7PkuIrop5LmnInlvLnnqpflvIDlhbPmjInpkq7vvIzop4nlvpflvLnnqpfng6bnmoTlj6/ku6XlhbPpl60='; const popupMessage6 = 'NC7pgYfliLDpl67popjngrnlj7PkuIrop5LliqDigJzkvIHpuYXnvqTigJ3vvIzkuZ/lj6/ku6XngrnigJzogZTns7vohJrmnKzkvZzogIXigJ0sIOe+pOWPtzEwMzAwOTAxMTTmiJbogIUyNDcwNTY3MTfmiJbogIUxOTEzNDQ1NzDjgII='; const popupMessage7 = '4oCU4oCU4oCUaHlkcmFjaHM='; function createPopup() { const checkDOM = setInterval(() => { if (document.body) { clearInterval(checkDOM); createPopupNow(); } }, 100); function createPopupNow() { const messages = [ decodeBase64(popupMessage1), decodeBase64(popupMessage2), decodeBase64(popupMessage3), decodeBase64(popupMessage4), decodeBase64(popupMessage5), decodeBase64(popupMessage6), decodeBase64(popupMessage7) ]; // 移除舅弹窗 const oldModal = document.querySelector('div[style*="zIndex: 9999"]'); if (oldModal) oldModal.remove(); const modal = document.createElement('div'); modal.style.cssText = ` position: fixed; top: 20%; left: 20%; width: 60%; background: white; padding: 20px; border-radius: 5px; box-shadow: 0 0 10px rgba(0,0,0,0.5); z-index: 9999; `; const style = document.createElement('style'); style.innerHTML = `@keyframes snakeAnim { 0%{transform:rotate(0)} 25%{transform:rotate(10deg)} 50%{transform:rotate(0)} 75%{transform:rotate(-10deg)} 100%{transform:rotate(0)} }`; document.head.appendChild(style); //社联动化 const title = document.createElement('h1'); title.textContent = messages[0]; title.style.cssText = ` color: red; font-size: 70px; text-align: center; margin: 0 0 20px 0; animation: snakeAnim 2s infinite; `; modal.appendChild(title); messages.slice(1).forEach((msg, index) => { if (!msg) return; const p = document.createElement('p'); p.textContent = msg; p.style.cssText = ` font-size: ${index === 5 ? '25px' : index === 0 ? '23px' : '19px'}; margin: 0 0 15px 0; ${index === 5 ? 'text-align: right;' : ''} `; modal.appendChild(p); }); const btn = document.createElement('button'); btn.textContent = '我知道了'; btn.style.cssText = ` display: block; margin: 20px auto 0; padding: 8px 20px; cursor: pointer; `; btn.onclick = () => { modal.remove(); style.remove(); }; modal.appendChild(btn); document.body.appendChild(modal); } } // █████████████████████ 初始化高达 █████████████████████ let isPopupOpen = localStorage.getItem('popupState') !== 'false'; if (isPopupOpen) { setTimeout(createPopup, 500); } // 创建暗影 function createContactButton() { const button = document.createElement('button'); button.textContent = '联系作者'; button.style.position = 'fixed'; button.style.top = '10px'; button.style.right = '10px'; button.style.zIndex = '10000'; button.style.padding = '10px 20px'; button.style.border = 'none'; button.style.backgroundColor = '#ff0000'; button.style.color = '#ffd700'; button.style.fontWeight = 'bold'; button.onclick = function () { window.open('https://space.bilibili.com/15344563', '_blank'); }; document.body.appendChild(button); const qqGroupButton = document.createElement('button'); qqGroupButton.textContent = '加企鹅群'; qqGroupButton.style.position = 'fixed'; qqGroupButton.style.top = '50px'; qqGroupButton.style.right = '10px'; qqGroupButton.style.zIndex = '10000'; qqGroupButton.style.padding = '10px 20px'; qqGroupButton.style.border = 'none'; qqGroupButton.style.backgroundColor = '#007BFF'; qqGroupButton.style.color = '#fff'; qqGroupButton.style.fontWeight = 'bold'; qqGroupButton.onclick = function () { window.open('https://s.fnnas.net/s/94300283165348b2bb', '_blank'); }; document.body.appendChild(qqGroupButton); const popupControlButton = document.createElement('button'); popupControlButton.style.position = 'fixed'; popupControlButton.style.top = '90px'; popupControlButton.style.right = '10px'; popupControlButton.style.zIndex = '10000'; popupControlButton.style.padding = '10px 20px'; popupControlButton.style.border = 'none'; popupControlButton.style.backgroundColor = isPopupOpen? '#28a745' : '#dc3545'; popupControlButton.style.color = '#fff'; popupControlButton.style.fontWeight = 'bold'; popupControlButton.style.cursor = 'pointer'; updatePopupControlButtonText(popupControlButton); popupControlButton.onclick = function () { isPopupOpen =!isPopupOpen; localStorage.setItem('popupState', isPopupOpen? 'true' : 'false'); const existingPopup = document.querySelector('div[style*="zIndex: 9999"]'); if (existingPopup) { existingPopup.remove(); } if (isPopupOpen) { createPopup(popupMessage1, popupMessage2, popupMessage3, popupMessage4, popupMessage5, popupMessage6, popupMessage7); } updatePopupControlButtonText(popupControlButton); }; document.body.appendChild(popupControlButton); } function updatePopupControlButtonText(button) { if (isPopupOpen) { button.textContent = '已开启弹窗'; button.style.backgroundColor = '#28a745'; } else { button.textContent = '已关闭弹窗'; button.style.backgroundColor = '#dc3545'; } } // 弹弹弹 if (isPopupOpen) { createPopup(popupMessage1, popupMessage2, popupMessage3, popupMessage4, popupMessage5, popupMessage6, popupMessage7); } createContactButton(); function removePopup() { var popup = document.querySelector('.fish - modal - confirm - btns'); if (popup) { popup.parentNode.removeChild(popup); console.log('出现知道了按钮'); } } function removeNewPopup() { var newPopup = document.querySelector('.fish - modal - content'); if (newPopup) { newPopup.parentNode.removeChild(newPopup); console.log('移除弹窗2'); } } function skipVideo() { let video = document.querySelector('video'); if (video) { video.muted = true; video.play(); video.pause(); video.currentTime = video.duration; video.play(); setTimeout(700); video.currentTime = video.duration - 3; video.play(); video.currentTime = video.duration - 5; video.play(); } } // 海豚音播放视频 function skipVideo2() { let video = document.querySelector('video'); if (video) { video.muted = true; video.play(); } } function rapidSkip(times, interval) { let count = 0; const intervalId = setInterval(() => { if (count >= times) { clearInterval(intervalId); return; } skipVideo(); count++; }, interval); } let clickTimer; document.addEventListener('DOMContentLoaded', function () { removePopup(); removeNewPopup(); console.log('移除弹窗'); }); document.addEventListener('click', function (event) { if (event.button === 0) { if (clickTimer) { clearInterval(clickTimer); } rapidSkip(4, 50); clickTimer = setInterval(() => { rapidSkip(4, 50); }, 13000); } }); document.addEventListener('keydown', function (event) { const charCode = event.keyCode; if ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122)) { rapidSkip(4, 50); } }); })();