突破网站限制,下载所有类型的媒体资源(视频、音频、图片、文档等),支持质量选择和自定义保存路径
一个功能强大的油猴脚本,可以突破网站限制,下载网页上的所有媒体资源(视频、音频、图片、文档等),支持质量选择和自定义配置。
全资源检测: 自动检测页面上的所有媒体资源
智能网络拦截:
质量选择:
网站特殊处理:
选择以下任一扩展安装到您的浏览器:
universal-downloader.user.js 的全部内容访问任意网页
打开下载面板
查看检测到的资源
选择质量并下载
刷新资源列表
打开浏览器控制台(F12),可以使用以下命令:
// 查看所有检测到的资源
UniversalDownloader.detector.getAllResources()
// 手动触发资源检测
UniversalDownloader.detector.detectExistingResources()
// 打开/关闭下载面板
UniversalDownloader.ui.showPanel()
UniversalDownloader.ui.hidePanel()
DOM 扫描
<video> 元素<audio> 元素<img> 元素<a> 下载链接网络拦截
window.fetch 方法XMLHttpRequest.prototype.open 方法DOM 监听
MutationObserver 监听 DOM 变化媒体劫持
HTMLVideoElement.src 属性HTMLAudioElement.src 属性不同网站使用不同的技术来保护和传输媒体内容,脚本针对主流网站实现了特殊处理:
ytInitialPlayerResponse 提取视频流window.__playinfo__ 获取 DASH/FLV 数据srcset 提取最高分辨率版本跨域下载
GM_xmlhttpRequest API进度跟踪
onprogress 事件文件保存
weiruan-All-in-one-download/
├── universal-downloader.user.js # 主脚本文件
├── site-handlers.js # 网站特定处理模块(参考)
├── test/
│ ├── test-page.html # 测试页面
│ └── TEST_GUIDE.md # 测试指南
├── README.md # 使用文档
└── LICENSE # 开源协议
@require 引用外部库(如需要)查看日志
// 脚本会输出详细的调试信息
console.log('检测到资源:', resource)
console.log('YouTube 处理器已激活')
检查资源列表
// 在控制台运行
UniversalDownloader.detector.getAllResources()
测试网站处理
// 手动触发网站特定处理
const handlers = new SiteHandlers()
handlers.init(UniversalDownloader.detector)
A: 可能的原因:
A: 脚本会自动生成文件名,格式为 页面标题_时间戳.扩展名。如果包含特殊字符会被替换为 -。
A: 脚本会检测 m3u8 链接,但下载 HLS 视频需要额外处理。建议使用专门的 HLS 下载工具。
A: 尝试以下方法:
A: 目前通知功能默认开启,后续版本会添加开关选项。
A: 脚本经过优化,对页面性能影响很小。如果遇到卡顿,可以临时禁用脚本。
欢迎贡献代码和建议!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 协议开源,详见 LICENSE 文件。
本工具仅供学习和研究使用,请遵守相关网站的服务条款和版权法律。下载的内容仅供个人使用,不得用于商业目的或侵犯他人权益。使用本工具产生的任何法律责任由使用者自行承担。
感谢所有为本项目做出贡献的开发者!
如果觉得这个项目有帮助,请给个 ⭐Star 支持一下!