
res-downloader 抓包下载失败完整排查指南按链路环节逐级定位修复【免费下载链接】res-downloader视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载!项目地址: https://gitcode.com/GitHub_Trending/re/res-downloaderres-downloader 是一款基于代理抓包的网络资源下载器流量先经过本地代理工具从中筛出视频号、抖音、m3u8、直播流等可用资源下载到本地磁盘落盘前还会做一遍文件完整性校验。做 res-downloader 下载失败排查最省事的办法是先判断卡在哪一段——问题一般只出在四个环节之一落盘、分片下载、完整性校验、抓取。环节定位对了修复动作基本就唯一了。落盘环节查磁盘空间、查保存目录和权限现象进度条走到一半报写盘失败日志或界面上出现write file failed at offset 123456789: no space left on device意思是在偏移量某处往磁盘写数据时失败了原因是设备空间不足。也可能见到create directory failed: permission denied创建目标目录失败或file open failed: …打开目标文件失败。定位为什么该怀疑落盘落盘是整条链路的最后一公里此时数据已经从网络拿回来了剩下的只是写进本地文件。res-downloader 会先把目标文件按完整大小Truncate占位、再按分片写入所以磁盘剩余空间不够、目录不可写、保存路径指向了未挂载的盘都会在这一步翻车。凡是报错里带write、open、truncate字样的先按本地存储问题处理。动作改保存目录、清出空间 打开设置页检查保存位置对应字段SaveDirectory默认是~/Downloads定义在 core/config.go把它改到一个空间充足、你有写权限的目录顺手看一眼系统磁盘剩余容量必要时清理一下。验证文件完整落盘重新下载不再出现no space left on device文件出现在新目录里大小与列表中资源大小一致能正常打开。分片下载环节查 Range 请求、调任务数断流补下现象读到一半断流重试三次仍失败常见报错有三句read response failed: …读取服务端响应流时中断Task 0 failed (attempt 1/3): …某个分片第 1 次尝试失败后面还会有 2、3 次以及重试耗尽后的task 0 failed after 3 attempts: read response failed: …。另一种是server does not support range requests, status: 200——服务端不支持按字节区间取文件。定位Range 请求决定能不能分片分片下载就是把文件切成几段并行下载每段只负责一小块字节。它依赖 HTTP 的 Range 请求只有服务端返回Accept-Ranges: bytes且文件大于 1MBMinPartSize时才会自动分段逻辑在 core/downloader.go 的createDownloadTasks。如果源站只回 200 而不给 206Partial Content说明它根本不接 Range分片策略对它无效报的就是那句server does not support range requests。单次分片的重试上限和间隔是写死的MaxRetries 3 // 最大重试次数 RetryDelay 3 * time.Second // 重试延迟网络抖一下某个分片断流就会看到Task N failed (attempt 1/3)然后隔 3 秒自动补下三次都失败才整体报错。动作调大任务数或让整段兜底 断流频繁的大文件、弱网在设置页把连接数调大字段TaskNumber默认 CPU 核数 ×2见 frontend/src/views/setting.vue切段越多、每段越小断了只需补下一小段。遇到server does not support range requests的不必硬扛代码在分片失败后会自动降级为单任务整段重下等它走完整段即可若反复失败换个网络或稍后再试。验证进度走完不再卡 99%日志里Task N failed (attempt 1/3)出现后自动重试并继续或者自动降级整段下载后进度条按整段走到 100%不再反复刷range requests报错。完整性校验环节查分片是否下全、文件是否读得到现象进度显示完成却提示校验没通过下完后报task 0 not completed某个分片没有被标记为完成或get file info failed: …获取文件信息失败即文件读不到。定位校验查的是齐和读得到所有分片写完之后core/downloader.go 里的verifyDownload会做两件事逐个确认每个任务都标记了isCompleted再对文件做一次Stat确认文件真实存在且可读。文件在写入过程中被别的程序占用、杀毒软件把新建文件隔离了、或磁盘状态异常导致有洞没补上都会让这一步不通过。另外提醒一句中途手动取消任务时半成品文件会被自动删除不会留下 0 字节残件。动作清掉残件重新下载⚠️ 到保存目录删掉对应残件确认没有别的程序在读它然后在资源列表对该项重新发起下载。校验失败时文件本身已不可用不必反复重试同一个残件。验证校验通过、文件可用日志不再出现task N not completed最终文件大小与资源标注一致播放器能完整播放、不再提示文件损坏。抓取环节装好系统证书、确认代理端口 127.0.0.1:8899现象列表始终没有资源或提示不是私密链接打开视频号、小程序等场景后资源列表一直是空的或出现链接不是私密链接的提示。定位抓包是整条链路的起点res-downloader 以本地代理方式工作默认监听127.0.0.1:8899Host和Port见 core/config.go。系统流量必须走这个代理并且工具要能解密 HTTPS 内容——这依赖它自带的 CA 证书被安装为受信任的根证书。证书没装对HTTPS 流量就是解不开的密文表现就是拦截不到资源代理端口没指对流量压根不经过它。动作装证书、指对代理✅ 在软件左下角里下载最新证书按系统安装到受信任的根证书Mac 手动安装可参考 docs/troubleshooting.mdsudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /Users/$(whoami)/Library/Preferences/res-downloader/cert.crt同时把系统代理设为127.0.0.1:8899并确认防火墙没有拦截本机端口。装完证书仍反复提示安装的按 troubleshooting 里安装证书后还会提示安装一节补一个锁文件即可。验证资源能抓出来再次打开视频号、抖音等场景资源列表新增条目状态列显示就绪/完成下载链路后续环节即可正常工作。一张表收口现象对号入座现象所属环节该做的动作做完应看到write file failed … no space left on device落盘清磁盘空间或改保存位置为可写目录文件完整落盘、大小正确read response failed/task N failed after 3 attempts分片下载调大连接数TaskNumber换稳定网络断掉的段自动补下进度走完server does not support range requests分片下载调小任务数等自动降级整段下载按整段走到 100%task N not completed/ 校验不通过完整性校验删除残件、重新下载校验通过文件可正常打开列表无资源 / 不是私密链接抓取装好系统证书确认代理127.0.0.1:8899资源列表能抓到资源环境安装参考 docs/installation.md资源获取流程参考 docs/examples.md。res-downloader 的分片与校验逻辑仍在持续迭代建议定期更新到最新版本——不少下载失败在新版里已经直接修掉了。【免费下载链接】res-downloader视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载!项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考