M3U8 下载助手油猴脚本 - 完全使用指南
前言
你是否遇到过这样的情况:在网上看到一个精彩的视频,想要下载保存,却发现网站没有提供下载按钮?或者想要批量下载一系列视频,却只能一个一个手动操作?
M3U8 下载助手 油猴脚本就是为解决这些问题而生的。配合 M3U8 下载服务,它可以让你一键下载网页中的视频。
什么是油猴脚本?
油猴脚本(Userscript) 是运行在浏览器扩展 Tampermonkey 中的小程序。它可以:
- 修改网页内容
- 拦截网络请求
- 添加自定义功能
- 自动化操作
简单来说,油猴脚本让你可以"魔改"任何网页,添加你想要的功能。
安装步骤
第一步:安装 Tampermonkey 扩展
根据你的浏览器选择对应的安装方式:
| 浏览器 | 安装链接 |
|---|---|
| Chrome | Chrome Web Store |
| Firefox | Firefox Add-ons |
| Edge | Edge Add-ons |
| Safari | Mac App Store |
安装成功后,浏览器右上角会出现 Tampermonkey 图标。
第二步:安装 M3U8 下载助手脚本
- 打开
m3u8-downloader.user.js文件 - Tampermonkey 会自动识别并弹出安装界面
- 点击 「安装」 按钮
或者你也可以:
- 点击 Tampermonkey 图标
- 选择 「添加新脚本」
- 将脚本内容粘贴进去
- 保存(Ctrl+S)
第三步:启动下载服务
油猴脚本需要配合后端服务使用。在终端中运行:
bash
# 启动服务(默认端口 8080)
./m3u8_downloader serve
# 或指定端口
./m3u8_downloader serve --port 9090
如果修改了端口,需要同步修改脚本中的 BACKEND_URL:
javascript
const BACKEND_URL = 'http://localhost:9090';
使用教程
场景一:下载在线视频
-
打开视频网页
访问包含视频的网站,脚本会自动开始工作。
-
点击浮动按钮
当检测到 M3U8 链接时,页面右下角会出现 🎬 按钮,显示检测到的链接数量。
-
选择要下载的视频
点击按钮,会弹出链接列表。如果有多个链接,选择你想要的那个。
-
输入文件名
系统会自动根据网页标题生成文件名,你也可以自定义。
-
开始下载
确认后,任务会发送到后端服务,弹出进度窗口实时显示下载状态。
场景二:批量复制链接
如果你不想立即下载,只想收集链接:
- 点击 🎬 按钮打开链接列表
- 点击 「📋 复制全部链接」 按钮
- 链接会复制到剪贴板,你可以保存到文件中稍后处理
场景三:下载嵌入式视频
有些网站的视频是通过 iframe 嵌入的,脚本同样支持:
- 自动穿透 iframe 检测链接
- 通过 postMessage 机制传递检测结果
- 在顶层窗口统一显示
界面说明
浮动按钮
🎬 1获取 m3u8 链接 (3)
↑ ↑
图标 检测到的链接数
链接列表弹窗
┌─────────────────────────────────────┐
│ 📺 m3u8 链接 (3) [关闭]│
├─────────────────────────────────────┤
│ [📋 复制全部链接] │
│ │
│ 1. https://example.com/video.m3u8 │
│ [下载] │
│ │
│ 2. https://example.com/video2.m3u8 │
│ [下载] │
└─────────────────────────────────────┘
下载进度弹窗
┌─────────────────────────────┐
│ 📥 视频名称 [−][✖]│
├─────────────────────────────┤
│ ████████████░░░░░░░ 65% │
│ 状态:下载中... │
│ │
│ https://example.com/... │
└─────────────────────────────┘
进度弹窗支持:
- 最小化:点击 − 按钮收缩为圆形进度指示器
- 恢复:点击圆形指示器恢复完整窗口
- 关闭:点击 ✖ 按钮关闭弹窗
常见问题
Q: 为什么没有出现浮动按钮?
可能原因:
- 页面中没有检测到 M3U8 链接
- 脚本没有正确加载
- 网页使用了特殊的安全策略
解决方法:
- 打开浏览器控制台(F12),查看是否有错误信息
- 确认 Tampermonkey 已启用该脚本
- 刷新页面重试
Q: 下载失败怎么办?
可能原因:
- 后端服务未启动
- 网络连接问题
- 视频链接已失效
解决方法:
- 确认后端服务正在运行:
curl http://localhost:8080/api/tasks - 检查网络连接
- 尝试刷新页面获取新的链接
Q: 如何修改服务器地址?
编辑脚本顶部的配置:
javascript
const BACKEND_URL = 'http://你的服务器地址:端口';
Q: 脚本会影响网页性能吗?
影响很小。脚本使用了以下优化:
@run-at document-start但只注入轻量级监听器- MutationObserver 使用了过滤器,只监听相关属性
- 定时扫描间隔为 3 秒,不会频繁执行
Q: 支持哪些浏览器?
理论上支持所有安装了 Tampermonkey 的浏览器:
- Chrome / Chromium 80+
- Firefox 68+
- Edge 80+
- Safari 12+(需要 Userscripts 扩展)
高级配置
自定义服务器地址
javascript
const BACKEND_URL = 'http://192.168.1.100:8080';
修改检测间隔
javascript
setInterval(scan, 3000); // 3000ms = 3秒,可以改为其他值
添加域名过滤
只在特定网站启用脚本,修改 @match:
javascript
// @match *://*.youtube.com/*
// @match *://*.bilibili.com/*
排除特定网站
在脚本中添加排除规则:
javascript
// @exclude *://*.google.com/*
// @exclude *://*.github.com/*
总结
M3U8 下载助手油猴脚本是一个强大而易用的工具,它可以:
✅ 自动检测网页中的视频链接
✅ 一键发送到下载服务
✅ 实时显示下载进度
✅ 支持批量复制链接
✅ 支持 iframe 内的视频
配合 M3U8 下载服务使用,让你轻松保存喜欢的视频。