使用说明#
本文使用edge浏览器进行演示,其他浏览器可自行安装“[篡改猴]”(英文TamperMonkey)拓展,google浏览器可点击此处 ↗安装篡改猴拓展
打开拓展

点击“获取 Microsoft Edge 扩展”

搜索篡改猴并点击获取

在弹出的窗口中点击“添加拓展”

依次操作打开拓展选项

有插件文件#
点击已安装脚本

将插件文件拖拽到此处即可,点击安装

安装完成!打开蕉学网回放页面即可见“复制下载地址”按钮!
无插件文件#
点击最左侧的加号

到如下界面

复制下面这段代码,并覆盖粘贴到其中
// ==UserScript==
// @name 蕉学网回放2025秋季更新回退插件
// @version 1.3
// @description 回退蕉学网2025秋季更新
// @author cxxdgc
// @match https://onlineroomse.pku.edu.cn/player?course_id*
// @grant GM_setClipboard
// @grant GM_xmlhttpRequest
// @connect resourcese.pku.edu.cn
// @connect course.pku.edu.cn
// ==/UserScript==
(function() {
'use strict';
let downloadUrl = "";
let fileName = "";
// 拦截XHR请求获取视频信息
const originalSend = XMLHttpRequest.prototype.send;
const originalSetRequestHeader = XMLHttpRequest.prototype.setRequestHeader;
XMLHttpRequest.prototype.setRequestHeader = function(header, value) {
this._requestHeaders = this._requestHeaders || {};
this._requestHeaders[header] = value;
originalSetRequestHeader.apply(this, arguments);
};
XMLHttpRequest.prototype.send = function(body) {
const url = this._url || "";
if (url && url.includes("get-sub-info-by-auth-data")) {
this.addEventListener("load", function() {
try {
const response = JSON.parse(this.response);
console.log('[蕉学网回放2025秋季更新回退插件] 成功获取视频信息');
const courseName = response.list[0].title || "未知课程";
const subTitle = response.list[0].sub_title || "未知章节";
const lecturerName = response.list[0].lecturer_name || "未知讲师";
fileName = `${courseName} - ${subTitle} - ${lecturerName}.mp4`;
const filmContent = JSON.parse(response.list[0].sub_content);
const isM3u8 = filmContent.save_playback.is_m3u8;
if (isM3u8 == "yes") {
const m3u8 = filmContent.save_playback.contents;
const m3u8Pattern = /https:\/\/resourcese\.pku\.edu\.cn\/play\/0\/harpocrates\/\d+\/\d+\/\d+\/([a-zA-Z0-9]+)(\/.+)\/playlist\.m3u8.*/;
const match = m3u8.match(m3u8Pattern);
if (match) {
const hash = match[1];
downloadUrl = `https://course.pku.edu.cn/webapps/bb-streammedia-hqy-BBLEARN/downloadVideo.action?resourceId=${hash}`;
console.log('[蕉学网回放2025秋季更新回退插件] M3U8链接转换成功');
}
} else {
downloadUrl = filmContent.save_playback.contents;
}
console.log('[蕉学网回放2025秋季更新回退插件] 下载链接解析成功:', downloadUrl);
} catch (error) {
console.error('[蕉学网回放2025秋季更新回退插件] 解析视频信息失败:', error);
}
});
}
originalSend.apply(this, arguments);
};
// 创建并注入按钮
function addDownloadButtons() {
const footer = document.querySelector(".course-info__wrap .course-info__footer");
if (!footer) return;
// 检查是否已添加过按钮
if (document.querySelector('.pku-copy-btn')) return;
// 创建复制链接按钮
const copyBtn = document.createElement("button");
copyBtn.className = "el-button el-button--default el-button--medium pku-copy-btn";
copyBtn.innerHTML = '<i class="el-icon-link"></i> 复制下载地址';
copyBtn.style.marginLeft = "10px";
copyBtn.onclick = handleCopyLink;
// 添加到footer
footer.appendChild(copyBtn);
console.log('[蕉学网回放2025秋季更新回退插件] 按钮添加完成');
}
// 处理复制链接
function handleCopyLink() {
if (!downloadUrl) {
alert("正在获取下载链接,请稍等...");
return;
}
if (typeof GM_setClipboard !== 'undefined') {
GM_setClipboard(downloadUrl);
alert('下载链接已复制到剪贴板');
} else if (navigator.clipboard?.writeText) {
navigator.clipboard.writeText(downloadUrl)
.then(() => alert('下载链接已复制到剪贴板'))
.catch(err => {
console.error('[蕉学网回放2025秋季更新回退插件] 复制失败:', err);
fallbackCopy(downloadUrl);
});
} else {
fallbackCopy(downloadUrl);
}
}
// 回退复制方法
function fallbackCopy(text) {
const textArea = document.createElement("textarea");
textArea.value = text;
textArea.style.position = "fixed";
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
document.execCommand('copy');
alert('下载链接已复制到剪贴板');
} catch (err) {
console.error('[蕉学网回放2025秋季更新回退插件] 回退复制失败:', err);
prompt('请手动复制以下链接', text);
}
document.body.removeChild(textArea);
}
// 初始化
function init() {
// 监听XHR的open方法以获取URL
const originalOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url) {
this._url = url;
return originalOpen.apply(this, arguments);
};
// 添加按钮
addDownloadButtons();
// 设置定时器,确保按钮被添加
const interval = setInterval(() => {
const footer = document.querySelector(".course-info__wrap .course-info__footer");
if (footer && !document.querySelector('.pku-download-btn')) {
addDownloadButtons();
}
}, 1000);
// 5秒后清除定时器
setTimeout(() => clearInterval(interval), 5000);
}
// 页面加载完成后初始化
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})();plaintext点击文件-保存(或按ctrl-s(windows))

安装完成!

打开蕉学网回放页面即可见“复制下载地址”按钮!