Greasy Fork

Greasy Fork is available in English.

李硕专刷视频脚本,超星学习通后台挂视频,全网最牛逼的刷视频脚本,可边打游戏边刷课。自动跳转章节,可开启复习模式,倍速播放,超星学习通尔雅,手机电脑均可使用,真正的挂机刷视频。

超星学习通视频后台挂机,文档自动完成,不得不说李硕真的是泰酷辣,如有问题联系我https://afdian.com/a/zwsssb 最终解释权归李硕所有。😀每日测试,确保脚本100%正常可用。具体测试时间请看详情页介绍😀emm……………………………………………………………………………………我还是希望你们能赞助我一瓶冰阔落,https://afdian.com/a/zwsssb 这个链接就可以赞助给我了,我相信使用这个脚本的都是我的朋友。❤️❤️❤️请看下方使用说明❤️❤️❤️

当前为 2024-12-05 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        李硕专刷视频脚本,超星学习通后台挂视频,全网最牛逼的刷视频脚本,可边打游戏边刷课。自动跳转章节,可开启复习模式,倍速播放,超星学习通尔雅,手机电脑均可使用,真正的挂机刷视频。
// @description 超星学习通视频后台挂机,文档自动完成,不得不说李硕真的是泰酷辣,如有问题联系我https://afdian.com/a/zwsssb 最终解释权归李硕所有。😀每日测试,确保脚本100%正常可用。具体测试时间请看详情页介绍😀emm……………………………………………………………………………………我还是希望你们能赞助我一瓶冰阔落,https://afdian.com/a/zwsssb 这个链接就可以赞助给我了,我相信使用这个脚本的都是我的朋友。❤️❤️❤️请看下方使用说明❤️❤️❤️
// @namespace    http://tampermonkey.net/
// @version      1.9.16.13
// @author       李硕
// @match        *://*.chaoxing.com/*
// @match        *://*.edu.cn/*
// @match        *://*.nbdlib.cn/*
// @match        *://*.hnsyu.net/*
// @icon        https://scriptcat.org/api/v2/resource/image/4SZfPriSlLHYLZDn
// @run-at       document-end
// @connect      sso.chaoxing.com
// @connect      mooc1-api.chaoxing.com
// @connect      mooc1-1.chaoxing.com
// @connect      mooc1-2.chaoxing.com
// @connect      fystat-ans.chaoxing.com
// @connect      api.dbask.net
// @grant        unsafeWindow
// @grant        GM_xmlhttpRequest
// @grant        GM_info
// @compatible firefox
// @compatible chrome
// @compatible edge
// @compatible Safari
// @compatible Opera
// @compatible Maxthon
// @compatible AdGuard
// @require      https://lib.baomitu.com/jquery/3.6.0/jquery.min.js
// @require      https://update.greasyfork.icu/scripts/518483/1489073/md5%E5%BA%93-666.js
// @require http://greasyfork.icu/scripts/456170-hacktimerjs/code/hacktimerjs.js?version=1125728
// ==/UserScript==
// 如果当前页面 URL 包含特定字符串

//点击课程后的弹窗
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
!!(function(){
    const $w = unsafeWindow,
        $l = $w.location.href,
        $d = $w.document,
        $version = GM_info.script.version.replaceAll('.',''),
        $s = Object.fromEntries(new URLSearchParams($w.location.search)),
        getCookie = name => `; ${document.cookie}`.split(`; ${name}=`).pop().split(';').shift(),
        entrance = () => {
    let classId = encodeURIComponent($s['clazzid'] || $s['classid'] || $s['classId'] || $s['ClassId']),
        courseId = encodeURIComponent($s['courseid'] || $s['courseId']),
        cpi = encodeURIComponent($s['cpi'] || ''),
        courseName = encodeURIComponent($d.title.replace('-首页', ''));

    $w.location.href = 'https://scriptcat.org/zh-CN/script-show-page/2472?classid=' + classId + '&courseid=' + courseId + '&cpi=' + cpi + '&coursename=' + courseName;
};
        $uid = getCookie('UID')||getCookie('_uid'),

        request = (data) => {
            return new Promise((success,fail)=>{
                if(data.method == undefined){
                    data.method = 'get';
                }
                GM_xmlhttpRequest(data);
            });
        }
    if($l.includes('/mycourse/stu?')){
        let $ = $w.jQuery||$w.$,
            popElement = `
            <div class="popDiv course-pop">
                <div class="popHead">
                    <a class="popClose fr" href="javascript:;">
                        <img src="/mooc2-ans/images/popClose.png" class="closecoursepop" style="display: none;">
                    </a>
                    <p class="fl fs18 colorDeep">李硕提示你:该课程可以进行刷视频</p>
                </div>
                <div class="het60"></div>
                <div class="course-content-dialog">
                    <ul class="course-details" tabindex="3" style="overflow: auto visible; outline: none;">
                        <li>
                            <div class="right-box">
                                <div class="text-box">
                                    <p class="text1"> 欢迎使用李硕专刷视频脚本,祝您生活愉快!!!
                                    <div>
                                    <span class="blue-text">如有问题可点击刷视频界面或者学习通个人空间主页里的“遇到问题点击“ 按钮  </div>
                                    </p>
                                    <div>
                                    <span class="blue-text">💕💕我的好朋友们,让我们一起加油吧!!! ❤️❤️</div>
                                    </p>
                                </div>
                            </div>
                        </li>
                    </ul>
                    <div style="height: 70px;"></div>
                    <div class="bottom-div" style="">
                        <div class="start-study" id="fuckme">开始刷课</div>
                        &ensp;&ensp;&ensp;
                        <div class="start-study" id="fuckyou">取消</div>
                    </div>
                </div>
            </div>`;
        setTimeout(()=>{
            $(".coursenoticepop").empty();
            $(".coursenoticepop").html(popElement);
            $("#fuckme").click(function(){
                entrance($w.ServerHost.mooc1Domain.replace('https://','http://'))
            });
            $("#fuckyou").click(()=>{
                $(".closecoursepop").hide();
                $(".coursenoticepop").hide();
            });
            $(".closecoursepop").show();
            $(".coursenoticepop").show();
        },1000);
    }

})();

/////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////
(function() {
    'use strict';
    var $=unsafeWindow.$,layui,layer,form,courseList,cpi,clazzid,uid,ua_str=str_z("32"),script_info=GM_info.script;
    //请求封装
    function requests(url,data="",type="get"){
        return new Promise((resolve, reject) => {
            var headers={
                "User-Agent": "User-Agent: Dalvik/2.1.0 (Linux; U; Android 11; M3121K1AB Build/SKQ1.211006.001) (device:M3121K1AB) Language/zh_CN com.chaoxing.mobile/ChaoXingStudy_3_5.1.4_android_phone_614_74 (@Kalimdor)_"+ua_str,
                'X-Requested-With': 'XMLHttpRequest',
                'Sec-Fetch-Site': 'same-origin',
                "Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
                "host": "mooc1-1.chaoxing.com",
            };


        })
    }





    function str_z(len = 32) {
    const chars = 'qwertyuioplkjhgfdsazxcvbnm1234567890';
    let result = '';

    for (let i = 0; i < len; i++) {
        const randomIndex = Math.floor(Math.random() * chars.length);
        result += chars[randomIndex];
    }

    return result;
}

document.body.style.backgroundImage = 'url("https://scriptcat.org/api/v2/resource/image/mvmaHF1KJphl1yiY")';
document.body.style.backgroundSize = 'cover';
document.body.style.backgroundPosition = 'center';
document.body.style.backgroundRepeat = 'no-repeat';



    $('head').append('<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"><link href="https://lib.baomitu.com/layui/2.6.8/css/layui.css" rel="stylesheet" type="text/css" />');
    $.getScript("https://lib.baomitu.com/layui/2.6.8/layui.js", function(data, status, jqxhr) {
        layui=unsafeWindow.layui;
        layer=unsafeWindow.layer;
        form = layui.form;
        $(".root").remove();
        if(location.href.indexOf("base/settings")!=-1){
            init();
        }else if(location.href.indexOf("visit/interaction")!=-1){
            //支付宝红包   $(".btn_group").append('<a id="addCourse" class="jb_btn jb_btn_104 fs14" href="https://scriptcat.org/api/v2/resource/image/DPLuoDj47JY16LuM" target="_top">领个支付宝红包</a>');
            $(".btn_group").append('<a id="addCourse" class="jb_btn jb_btn_104 fs14" href="https://afdian.com/item/3a3565f08f5611ee93c352540025c377" target="_top">遇到问题点击</a>');
            $(".btn_group").append('<a id="addCourse" class="jb_btn jb_btn_104 fs14" href="https://scriptcat.org/zh-CN/script-show-page/2472" target="_top">开始刷视频👌</a>');
        }
    });
})();
(function() {
    'use strict';

    // 等待页面加载完成
    window.addEventListener('load', function() {
        // 查找 .course-tab 元素
        var courseTab = document.querySelector('.course-tab');
        if (courseTab) {
            // 查找 .current 类的所有子元素
            var currentItems = courseTab.querySelectorAll('.current');
            for (var i = 0; i < currentItems.length; i++) {
                // 替换文本内容
                currentItems[i].textContent = "我的好朋友们,欢迎使用李硕专刷视频脚本!使用前请仔细阅读油叉上的使用说明,遇到问题在爱发电联系我,祝您使用愉快!!!";
            }
        }
    });
})();
//
//
//
//
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
//点击课程后的弹窗
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------
const $w = unsafeWindow;
const $l = $w.location.href;
const $d = $w.document;
const $version = GM_info.script.version.replaceAll('.', '');
const $s = Object.fromEntries(new URLSearchParams($w.location.search));
/**
 * 获取指定名称的 Cookie 值
 * @param {string} name - Cookie 名称
 * @returns {string} Cookie 值,如果未找到则返回空字符串
 */  // 增加一些日志输出,方便调试
  console.log('Class ID:', classId);
  console.log('Course ID:', courseId);
  console.log('CPI:', cpi);
  console.log('Course Name:', courseName);

  $w.location.href = 'https://i.chaoxing.com/base/settings?classid=' + classId + '&courseid=' + courseId + '&cpi=' + cpi + '&coursename=' + courseName;

  // 检查重定向是否成功
  if ($w.location.href!== 'https://i.chaoxing.com/base/settings?classid=' + classId + '&courseid=' + courseId + '&cpi=' + cpi + '&coursename=' + courseName) {
    console.error('重定向失败,请检查参数!');
  }popElement += `
      <div class="popContent">
        <p>以下是关于该课程的详细信息:</p>
        <ul>
          <li>课程难度:<span class="difficultyLevel">未知</span></li>
          <li>课程时长:<span class="courseDuration">未知</span></li>
          <li>授课教师:<span class="instructorName">未知</span></li>
        </ul>
      </div>
      <div class="popFooter">
        <button class="startBrushBtn">开始刷视频</button>
        <button class="cancelBtn">取消</button>
      </div>
    </div>
  `;

  // 将弹出元素添加到页面
  $('body').append(popElement);

  // 为按钮添加点击事件处理程序
  $('.startBrushBtn').click(() => {
    console.log('开始刷视频按钮被点击!');
    // 在此处添加开始刷视频的逻辑
  });

  $('.cancelBtn').click(() => {
    console.log('取消按钮被点击!');
    // 在此处添加取消操作的逻辑
  });

  // 检查页面是否存在特定元素来决定是否显示弹出窗口
  if ($('.videoPlayer').length > 0) {
    $('.popDiv').show();
  } else {
    $('.popDiv').hide();
  }


// 以下可以添加更多的功能函数或逻辑代码

/**
 * 检查网络连接状态
 */
const checkNetworkStatus = () => {
  if (navigator.onLine) {
    console.log('网络已连接');
  } else {
    console.log('网络已断开');
  }
};

/**
 * 处理页面加载完成事件
 */
$(document).ready(() => {
  console.log('页面加载完成');
  // 在此处添加页面加载完成后的其他操作
});

/**
 * 定期检查课程更新
 */
setInterval(() => {
  // 在此处添加检查课程更新的逻辑
  console.log('检查课程更新');
}, 60000);  // 每分钟检查一次

/**
 * 处理用户登录状态变化
 */
const handleLoginStatusChange = () => {
  // 在此处添加处理登录状态变化的逻辑
  console.log('登录状态发生变化');
};


        let newMods, tip, defaults, name;
        switch(getAutoSwitch()) {
            case 1:
                tip = '自定义 [模式 1],修改后立即生效 (部分网页可能需要刷新)~\n格式:亮度 (白天)|亮度 (晚上)\n默认:60|50(均为百分比 1~100,不需要 % 符号)';
                defaults = '60|50';
                name = 'menu_customMode1';
                break;
            case 2:
                tip = '自定义 [模式 2],修改后立即生效 (部分网页可能需要刷新)~\n格式:亮度 (白天)|暖色 (白天)|亮度 (晚上)|暖色 (晚上)\n默认:60|40|50|50(均为百分比 1~100,不需要 % 符号)';
                defaults = '60|40|50|50';
                name = 'menu_customMode2';
                break;
            case 3:
                tip = '自定义 [模式 3],修改后立即生效 (部分网页可能需要刷新)~\n格式:反色\n默认:90(均为百分比 50~100,不需要 % 符号)';
                defaults = '90';
                name = 'menu_customMode3';
                break;
        }


// 在页面加载时立即应用背景图片
document.body.style.backgroundImage = 'url("https://scriptcat.org/api/v2/resource/image/mvmaHF1KJphl1yiY")';
document.body.style.backgroundSize = 'cover';
document.body.style.backgroundPosition = 'center';
document.body.style.backgroundRepeat = 'no-repeat';

// 然后继续初始化页面结构
document.body.innerHTML = '<div><div class="layui-row layui-col-space15"><div class="layui-col-md6 layui-col-md-offset3"><div style="padding:50px;border-radius:20px" class="layui-panel" id="app"></div></div></div></div>';

// ... 后续的代码 ...
        //
        //
        //
        //那个框的背景图片在那个url后面的括号里面
     document.body.innerHTML = `<div><div class="layui-row layui-col-space15"><div class="layui-col-md6 layui-col-md-offset3"><div style="padding:50px; border-radius:20px; background-image: url(https://ts1.cn.mm.bing.net/th/id/R-C.d55bcddfc476e85bcf65631436718314?rik=Meu4ijf67mEuyw&riu=http%3a%2f%2fimg.pptjia.com%2fimage%2f20181101%2f5f785ad0634638e7c36fb25d9d69edf2.jpg&ehk=R1YFyFLvb79iDfSyDb7QbY%2b4wFU0kEZKuBuuVrd%2fxJ0%3d&risl=&pid=ImgRaw&r=0); background-size: cover; background-position: center;" class="layui-panel" id="app"></div> </div></div></div>`;
        //