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

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

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

前言

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

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


什么是油猴脚本?

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

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

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


安装步骤

第一步:安装 Tampermonkey 扩展

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

浏览器 安装链接
Chrome Chrome Web Store
Firefox Firefox Add-ons
Edge Edge Add-ons
Safari Mac App Store

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

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

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

或者你也可以:

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

第三步:启动下载服务

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

bash 复制代码
# 启动服务(默认端口 8080)
./m3u8_downloader serve

# 或指定端口
./m3u8_downloader serve --port 9090

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

javascript 复制代码
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: 如何修改服务器地址?

编辑脚本顶部的配置:

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 下载服务使用,让你轻松保存喜欢的视频。


相关链接

相关推荐
counterxing43 分钟前
我整理了一个免费开发资源目录,还做成了 CLI 和 MCP
前端·agent·ai编程
子兮曰7 小时前
Bun v1.3.14 深度解析:Image API、HTTP/3、全局虚拟存储与五十项变革
前端·后端·bun
kyriewen8 小时前
今天,百年巨头一次砍了9200人,而一个离职科学家的实话让全网睡不着觉
前端·openai·ai编程
问心无愧05139 小时前
ctf show web 入门42
android·前端·android studio
kyriewen9 小时前
老板逼我上AI,我偷偷在浏览器里跑LLaMA,省下20万API费
前端·react.js·llm
Beginner x_u9 小时前
前端八股整理(手写 02)|数组转树、数组扁平化、随机打乱一个数组
前端·数组·数组转树·数组扁平化
KaMeidebaby9 小时前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博
天若有情6739 小时前
前端高阶性能优化:跳出传统懒加载与预加载,基于用户行为做轻量预判加载
前端·性能优化
小小小小宇10 小时前
前端转后端:SQL 是什么
前端
张元清11 小时前
React Observer Hooks:7 种监听 DOM 而不写样板代码的方式
前端·javascript·面试