工具,插件··约 9 分钟读完

M3U8 下载助手油猴脚本 - 完全使用指南

M3U8下载助手是一款实用的油猴脚本工具,配合Tampermonkey扩展使用,可一键下载网页视频。安装简单:先装Tampermonkey扩展,再导入脚本并启动后端服务。使用时自动检测视频链接,显示浮动按钮,支持单一下载或批量复制链接,还能穿透iframe检测嵌入式视频。提供实时下载进度显示,支持自定义服务器地址和检测间隔。遇到问题可检查脚本加载状态或网络连接。该工具能高效保存在线视频,适合需要批量下载的用户使用。
前端javascriptwindows

M3U8 下载助手油猴脚本 - 完全使用指南

地址 https://github.com/Sunrisies/m3u8_download

前言

你是否遇到过这样的情况:在网上看到一个精彩的视频,想要下载保存,却发现网站没有提供下载按钮?或者想要批量下载一系列视频,却只能一个一个手动操作?

M3U8 下载助手 油猴脚本就是为解决这些问题而生的。配合 M3U8 下载服务,它可以让你一键下载网页中的视频。


什么是油猴脚本?

油猴脚本(Userscript) 是运行在浏览器扩展 Tampermonkey 中的小程序。它可以:

  • 修改网页内容
  • 拦截网络请求
  • 添加自定义功能
  • 自动化操作

简单来说,油猴脚本让你可以"魔改"任何网页,添加你想要的功能。


安装步骤

第一步:安装 Tampermonkey 扩展

根据你的浏览器选择对应的安装方式:

浏览器安装链接
ChromeChrome Web Store
FirefoxFirefox Add-ons
EdgeEdge Add-ons
SafariMac App Store

安装成功后,浏览器右上角会出现 Tampermonkey 图标。

第二步:安装 M3U8 下载助手脚本

  1. 打开 m3u8-downloader.user.js 文件
  2. Tampermonkey 会自动识别并弹出安装界面
  3. 点击 「安装」 按钮

或者你也可以:

  1. 点击 Tampermonkey 图标
  2. 选择 「添加新脚本」
  3. 将脚本内容粘贴进去
  4. 保存(Ctrl+S)

第三步:启动下载服务

油猴脚本需要配合后端服务使用。在终端中运行:

# 启动服务(默认端口 8080) ./m3u8_downloader serve # 或指定端口 ./m3u8_downloader serve --port 9090

如果修改了端口,需要同步修改脚本中的 BACKEND_URL

const BACKEND_URL = 'http://localhost:9090';

使用教程

场景一:下载在线视频

  1. 打开视频网页
    访问包含视频的网站,脚本会自动开始工作。
  2. 点击浮动按钮
    当检测到 M3U8 链接时,页面右下角会出现 🎬 按钮,显示检测到的链接数量。
  3. 选择要下载的视频
    点击按钮,会弹出链接列表。如果有多个链接,选择你想要的那个。
  4. 输入文件名
    系统会自动根据网页标题生成文件名,你也可以自定义。
  5. 开始下载
    确认后,任务会发送到后端服务,弹出进度窗口实时显示下载状态。

场景二:批量复制链接

如果你不想立即下载,只想收集链接:

  1. 点击 🎬 按钮打开链接列表
  2. 点击 「📋 复制全部链接」 按钮
  3. 链接会复制到剪贴板,你可以保存到文件中稍后处理

场景三:下载嵌入式视频

有些网站的视频是通过 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: 为什么没有出现浮动按钮?

可能原因:

  1. 页面中没有检测到 M3U8 链接
  2. 脚本没有正确加载
  3. 网页使用了特殊的安全策略

解决方法:

  1. 打开浏览器控制台(F12),查看是否有错误信息
  2. 确认 Tampermonkey 已启用该脚本
  3. 刷新页面重试

Q: 下载失败怎么办?

可能原因:

  1. 后端服务未启动
  2. 网络连接问题
  3. 视频链接已失效

解决方法:

  1. 确认后端服务正在运行:curl http://localhost:8080/api/tasks
  2. 检查网络连接
  3. 尝试刷新页面获取新的链接

Q: 如何修改服务器地址?

编辑脚本顶部的配置:

const BACKEND_URL = 'http://你的服务器地址:端口';

Q: 脚本会影响网页性能吗?

影响很小。脚本使用了以下优化:

  • @run-at document-start 但只注入轻量级监听器
  • MutationObserver 使用了过滤器,只监听相关属性
  • 定时扫描间隔为 3 秒,不会频繁执行

Q: 支持哪些浏览器?

理论上支持所有安装了 Tampermonkey 的浏览器:

  • Chrome / Chromium 80+
  • Firefox 68+
  • Edge 80+
  • Safari 12+(需要 Userscripts 扩展)

高级配置

自定义服务器地址

const BACKEND_URL = 'http://192.168.1.100:8080';

修改检测间隔

setInterval(scan, 3000); // 3000ms = 3秒,可以改为其他值

添加域名过滤

只在特定网站启用脚本,修改 @match

// @match *://*.youtube.com/* // @match *://*.bilibili.com/*

排除特定网站

在脚本中添加排除规则:

// @exclude *://*.google.com/* // @exclude *://*.github.com/*

总结

M3U8 下载助手油猴脚本是一个强大而易用的工具,它可以:

✅ 自动检测网页中的视频链接
✅ 一键发送到下载服务
✅ 实时显示下载进度
✅ 支持批量复制链接
✅ 支持 iframe 内的视频

配合 M3U8 下载服务使用,让你轻松保存喜欢的视频。


相关链接