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


相关链接

相关推荐
早點睡3902 小时前
ReactNative项目OpenHarmony三方库集成实战:react-native-sensors(设备传感器)
javascript·react native·react.js
kadog2 小时前
GraphX:基于 WebGL 区间算术的 GPU 加速隐函数绘图器
前端·javascript·数学建模·webgl
utmhikari2 小时前
【DIY小记】解决MacOS上Edge浏览器bilibili全屏卡顿的问题
前端·macos·性能优化·edge·bilibili
上单带刀不带妹2 小时前
UniApp 页面跳转完全指南:5 种路由方式详解与实战对比
前端·javascript·vue.js·uni-app·跨端开发
大阿明2 小时前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
Cxiaomu2 小时前
Web 项目的开发/生产环境请求接口配置治理实战
前端·react.js·typescript
Можно2 小时前
深入理解 UniApp 生命周期钩子:从页面到组件的全流程掌控
前端·javascript·vue.js
easyboot2 小时前
使用element-plus的暗黑模式
javascript·vue.js·elementui
橙色日落2 小时前
Vue2 + LogicFlow 实现可视化流程图编辑功能+常用属性大全
前端·vue·流程图·logicflow