# Microi吾码视频下载器 **Repository Path**: microi-net/microi.spider ## Basic Information - **Project Name**: Microi吾码视频下载器 - **Description**: 🎬由开源低代码平台 Microi吾码 出品的通用网页资源嗅探下载工具 —— 自动识别网页中的视频、图片、音频、文档,一键批量下载到本地。开源免费,无广告,支持 Chrome / Edge / 360 / Brave / Opera 等所有 Chromium 内核浏览器。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: 视频下载, 资源嗅探, m3u8 ## README # Microi吾码视频下载器 > 🎬由开源低代码平台 [Microi吾码](https://microi.net) 出品的**通用网页资源嗅探下载工具** —— 自动识别网页中的视频、图片、音频、文档,一键批量下载到本地。开源免费,无广告。 [![Manifest V3](https://img.shields.io/badge/Manifest-V3-7c3aed)](https://developer.chrome.com/docs/extensions/mv3/intro/) [![Electron](https://img.shields.io/badge/Electron-33-ec4899)](https://www.electronjs.org/) [![License: MIT](https://img.shields.io/badge/License-MIT-green)](./LICENSE) | 平台 | 状态 | |------|------| | **Chrome / Edge / 360 / Brave / Opera** 等 Chromium 浏览器扩展 | ✅ 已完成 | | **Windows 桌面应用**(Electron) | ✅ 已完成 | | **macOS 桌面应用**(Electron) | ✅ 已完成(需 macOS 环境构建) | | **Android APK**(Capacitor / WebView) | 🚧 规划中 | --- ## 📸 预览截图 --- ## ✨ 功能特性 | 模块 | 说明 | |------|------| | 🎬 **视频** | 嗅探 MP4 / FLV / MKV / WebM 视频直链;**m3u8 (HLS) 分片自动合并下载**;自动标注音视频分离流(DASH) | | 🖼️ **图片** | DOM + 网络双通道扫描;自动过滤装饰图标和小 GIF;支持 base64 内嵌图片;KB 大小筛选;列表/网格视图;全选批量下载;点击放大预览 | | 🎵 **音频** | 自动识别 MP3 / M4A / FLAC / OGG / WAV / OPUS | | 📄 **文档** | 提取页面正文、标题、作者、发布时间,导出 TXT / Markdown;识别 PDF / Office / 压缩包直链 | | 🔗 **手动输入** | 支持手动输入 URL 打开并自动嗅探 | | 📌 **侧边栏** | 钉到浏览器侧边栏,边浏览边嗅探(Chrome 116+) | **快捷键**:`Alt+Shift+M` 打开面板 · `Alt+Shift+D` 嗅探当前页 --- ## 🏗️ 多平台架构 ``` ┌──────────────────────────────────────────────────────────┐ │ Microi吾码视频下载器 │ ├─────────────────────┬────────────────────────────────────┤ │ 浏览器扩展 (src/) │ 桌面应用 (electron/) │ │ MV3 + React 18 │ Electron + BrowserView │ │ Service Worker 嗅探 │ webRequest 拦截 + DOM 注入扫描 │ │ │ 页面渲染后自动扫描(支持 SPA) │ ├─────────────────────┼────────────────────────────────────┤ │ 适用场景: │ 适用场景: │ │ 日常浏览器中使用 │ 独立运行,手动输入 URL 嗅探 │ │ 侧边栏/弹出面板 │ Windows / macOS / Linux │ └─────────────────────┴────────────────────────────────────┘ ``` --- ## 🚀 快速开始 ### 浏览器扩展 ```bash cd Microi.Spider npm install npm run dev # 开发模式(HMR,输出到 dist/) npm run build # 生产构建 npm run pack # 打包 ZIP + 自动升级版本号 ``` 安装到浏览器: 1. 打开扩展页面(Chrome: `chrome://extensions`,Edge: `edge://extensions`,360: `se://extensions`) 2. 开启右上角 **开发者模式** 3. 点击 **加载已解压的扩展程序**,选择 `dist/` 目录 > 同一个包兼容所有 Chromium 内核浏览器,无需分别打包。 ### 桌面应用(Electron) ```bash # 终端 1:启动 renderer 开发服务器 npm run electron:dev:renderer # 终端 2:启动 Electron 主进程 npm run electron:dev ``` 构建安装包: ```bash npm run electron:build:win # Windows(NSIS 安装包) npm run electron:build:mac # macOS(DMG) npm run electron:build:linux # Linux(AppImage) ``` 构建产物在 `release/` 目录。 ### Android APK(规划中) 计划基于 Capacitor 或 Android WebView 实现: - WebView 加载目标网页 + 注入 DOM 扫描脚本 - 使用 OkHttp 拦截网络请求识别媒体资源 - 复用现有 React UI 组件 --- ## 🛠 技术栈 | 层 | 技术 | |----|------| | 扩展标准 | **Manifest V3** + Service Worker | | 桌面应用 | **Electron 33** + BrowserView + webRequest | | 构建 | **Vite 5** + **@crxjs/vite-plugin** + **electron-builder** | | UI | **React 18**,纯 CSS 暗色主题,无第三方 UI 库 | | m3u8 合并 | **Offscreen Document**(绕过 Service Worker 无 DOM/Blob 的限制) | --- ## 📁 项目结构 ``` Microi.Spider/ ├─ src/ # 浏览器扩展源码 │ ├─ manifest.config.js # Manifest V3 配置 │ ├─ background/ │ │ ├─ index.js # Service Worker:webRequest + 消息路由 │ │ ├─ store.js # Tab 资源池(2h 自动过期清理) │ │ ├─ classify.js # URL / Content-Type 分类 │ │ ├─ downloader.js # 下载调度(CDN 防盗链 + data URI) │ │ ├─ filename.js # 文件名清理 │ │ └─ offscreen-bridge.js # Offscreen Document 生命周期管理 │ ├─ content/index.js # Content Script:DOM 扫描 + 正文抽取 │ ├─ injected/media-hook.js # MAIN world 注入:XHR/fetch 拦截 │ ├─ offscreen/ # m3u8 分片下载与合并 │ ├─ popup/ # 暗色酷炫 UI │ └─ sidepanel/ # 侧边栏面板 ├─ electron/ # Electron 桌面应用 │ ├─ main.cjs # 主进程:窗口 + BrowserView + webRequest │ ├─ preload.cjs # 安全 IPC 桥接 │ ├─ scanner.cjs # DOM 扫描器(注入到目标页面) │ └─ renderer/ # 桌面版 UI(React) ├─ scripts/ │ ├─ gen-icons.js # SVG → PNG 多尺寸 │ └─ pack.js # 扩展打包脚本 ├─ vite.config.js # 扩展构建 ├─ vite.electron.config.js # Electron renderer 构建 ├─ electron-builder.yml # 桌面安装包配置 └─ package.json ``` --- ## 🌐 浏览器扩展发布 同一个包兼容所有 Chromium 内核浏览器: | 浏览器 | 发布入口 | 备注 | |--------|----------|------| | Chrome | [Chrome Web Store](https://chrome.google.com/webstore/devconsole) | 注册费 5 USD | | Edge | [Microsoft Partner Center](https://partner.microsoft.com/dashboard/microsoftedge) | 免费 | | 360 极速 / 安全 | [360 扩展中心](http://ext.chrome.360.cn/) | 需申请 | | Brave / Opera / Vivaldi | 同 Chrome Web Store | 兼容 Chrome 包 | --- ## 🔧 嗅探技术原理 所有嗅探均基于浏览器标准扩展 API,不逆向任何网站的私有协议: 1. **webRequest 监听** — Service Worker 通过 `chrome.webRequest.onResponseStarted` 拦截浏览器已发起的网络请求,按 Content-Type 和文件扩展名分类媒体资源 2. **MAIN world 注入** — 通过 `chrome.scripting.executeScript({ world: 'MAIN' })` 向页面注入 XHR/fetch 钩子,捕获 SPA 异步加载的媒体 URL(不受页面 CSP 限制) 3. **DOM 扫描** — Content Script 扫描 `` / `