📦 QQ闪传 手机端下载接管
修复 QQ闪传(qfile.qq.com)手机端下载文件变成 download.bin、文件名全要手改的问题。 顺带把「下载 / QQ极速下载」弹窗藏掉、显示实时进度和速度、多文件自动打包成一个 zip。
v1.1 · 适用 https://qfile.qq.com/* · 手机端生效(PC 本来就是好的)
😵 之前是什么样
场景 手机端原来的表现
点文件右边的下载图标 弹出「下载 / QQ极速下载」选择框,挡住整个页面 😖
下完的文件 一律叫 download.bin,一个都认不出来
想改名 只能挨个打开记录、对着书名手打,或者干脆不知道是什么书 📖
一次选好几个文件 一个文件弹一次保存框,来回点十几次,手机直接卡住 🥵
😎 装上之后
✨ 功能特性
功能 说明
🏷️ 正确文件名 从列表项取完整书名(不是被站点截断过的 URL 参数),保存时直接用
🚫 弹窗拦截 站点的「下载 / QQ极速下载」弹窗自动隐藏并代点,用户完全无感
📊 进度 / 速度 走 GM_xmlhttpRequest 拿真实字节流,边下边报进度和速度
🗜️ 多文件打包 勾选多个文件时自动合成一个 zip,只弹一次保存框
🔢 智能命名 zip 按 当前文件夹名 + 两位序号 命名:心理01.zip、心理02.zip
🧮 单次上限 一次最多 5 个文件(可改),超出自动取前 5 个并提示
📁 文件夹识别 文件夹里没有下载按钮 → 直接提示"先进目录",不会瞎点
🔁 失败重试 每条任务都有状态,失败可单独重试
💾 再次保存 已保存的任务可以重新保存(不重新下载)
🪶 低开销 事件委托 + 节流刷新,不挂全量属性观察器,不拖慢页面
🖥️ PC 不打扰 电脑端站点的文件名本来就是对的,脚本默认不接管;加 ?qf=1 可强制开启做调试
📱 适用环境
🚀 安装
🎮 使用方法
💡 忘了勾选直接点「下载」会提示先勾选——不会偷偷把整个目录都下下来 😌
🧩 界面说明
┌───────────────────────────────────────────────┐
│ 已选 2 个 · 1.9MB [ 下载 ] │ ← 底部栏,点左侧文字也能展开面板
└───────────────────────────────────────────────┘
┌─── 下载任务 ────────────── [全部保存][清空][收起] ┐
│ 梦的解析 (西格蒙德·弗洛伊德).epub 已完成 │
│ ████████████████████████████░░░░ 62% │
│ 7.3 MB / 11.8 MB · 1.4 MB/s [ 保存 ] │
└───────────────────────────────────────────────┘
元素 作用
底部栏左侧文字 显示已选数量 / 总大小;点一下展开任务面板
底部栏「下载」 开始下载勾选的文件
任务面板 每条任务的名称、状态、进度、速度
「保存」 下载完成后把文件存下来(手机端会弹保存框)
「重试」 下载失败时重新尝试
「全部保存」 把还没保存的任务一次处理(多个会走打包)
「清空」 清掉已完成/失败的任务记录
右下角圆标 任务数量;点一下展开/收起面板
⚙️ 想改点什么(脚本内常量)
在脚本开头几行,改完保存即可:
常量 默认 说明
MAX_FILES 5 一次最多下几个文件
ZIP_MIN_FILES 1 超过几个就打包。设 1 = 只要多于 1 个就打包;想改成"超过 3 个才打包"就填 3
MAX_BLOB_MB 180 单个文件超过这个大小就不走内存 blob(防止手机 OOM)
URL_WAIT_MS 15000 等站点给出直链的超时时间(毫秒)
❓ 常见问题
Q:为什么不勾选就直接点「下载」没反应? 🤔 A:避免误操作把整个目录(几十个文件、几百 MB)都下下来。请先勾选文件,或点进文件夹再选。
Q:为什么一次只能下 5 个? 🐢 A:手机浏览器下载 + 保存非常吃内存,批量下容易直接卡死或闪退,5 个是实测比较稳妥的值(可自行调大)。
Q:文件夹点了没反应? 📁 A:QQ闪传的文件夹是不能直接下载的,点进去(打开分类)再选里面的文件。
Q:下完为什么文件名后面还是有点奇怪的东西? A:如果站点文件名本身带后缀(比如 (z-library.sk, 1lib.sk)),脚本只负责把文件名取对,内容不会去改。
Q:手机上没弹保存框,文件去哪了? 📂 A:部分浏览器会直接存到默认下载目录而不弹框,去「下载管理 / 文件管理」里找;zip 名就是当前文件夹名。
Q:电脑上装了脚本为什么没反应? 🖥️ A:电脑端站点走的是原生下载、文件名本来就对,脚本默认不接管。想验证可以在地址栏加 ?qf=1。
Q:下载失败提示"只支持 QQ 下载"? ⚠️ A:说明站点没给出普通直链(可能限定了只能用 QQ 极速下载/客户端),脚本拿不到地址时不会硬拦。
🔒 权限说明(为什么需要这些)
声明 用途
GM_xmlhttpRequest 拉取文件真实字节流(绕过站点直链的跨域限制),并拿到进度
GM_download 备用下载通道(管理器不支持二进制响应时使用)
@connect qfile.qq.com / *.qfile.qq.com 只允许访问 QQ闪传自己的域名
@run-at document-start 必须抢在站点创建下载 iframe 之前挂钩子,否则拿不到地址
🔧 实现原理(简述)
📝 更新日志
⚠️ 免责声明
本脚本仅用于方便保存自己有权下载的文件、修复官方页面在手机端的中文文件名问题。 请遵守站点服务条款,不要用于批量抓取或二次分发受版权保护的内容。使用者需自行承担相应责任。
🙏 如果你也觉得手机上下载还要手改文件名很麻烦,希望这个脚本能帮上忙~ 有问题欢迎反馈:书名不对 / 弹窗还漏出来 / 某类文件下不了,带上截图更快定位 🔍