res-downloader:本地代理捕获并下载网络资源的快速上手
【免费下载链接】res-downloader视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载!项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader
微信视频号的视频、抖音里的无水印原片、网页上成片的图片音频——它们都有真实可下载的文件,只是平台把入口藏起来了。res-downloader 是一款 Go 编写的跨平台网络资源下载工具:在本机起一个本地代理(默认 127.0.0.1:8899),把经过的流量筛一遍,命中媒体类型的资源直接登记成一份可下载列表。它不挑来源,网页、App 网页端、小程序端(http 通讯的)都能嗅探。
先看你跑起来之后会拿到什么
点一下左上角「开启抓取」,去播放一个视频、浏览一个图集,回到列表页,你会看到这样的画面:
每条记录带域名、类型、大小、描述,右侧操作列按行给出「直接下载」「复制链接」「视频解密」等按钮。列表右上角还有「抓取类型」筛选(图片、音频、视频、m3u8、直播流等)、搜索框,以及「批量下载」「批量导入」「批量导出」「清空列表」。换句话说:播放过的媒体变成一张表,想留的勾选后一键落盘到「保存目录」。
安装与首次配置
安装文件按平台区分:Windows 选 .exe,Mac 选 .dmg(拖进应用目录即可,docs/installation.md),Linux 用 .deb 或可执行文件。想自己构建也行,克隆源码即可:
git clone https://gitcode.com/GitHub_Trending/re/res-downloader首次启动有两件事绕不开。
信任证书
工具靠一张自签证书解密 HTTPS 流量,不被信任时浏览器会报「链接不是私密链接」。Windows 安装时先关掉安全管家,首次打开右键选择「以管理员身份运行」;如果之后仍要手动装证书,软件左下角「?」里有「证书下载」入口,手动安装时要装进受信任的根证书。Mac 上在终端执行下面这条命令即可让系统信任它:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Library/Preferences/res-downloader/cert.crt只改保存位置
打开「系统设置」,通常只需要确认「保存目录」指向一个空间够、可写的地方。其余保持默认即可:连接数默认按 CPU 核心数 ×2 计算,用于加速下载;「域名规则」默认*表示对所有域名解密,支持*.qq.com这类通配和!static.qq.com这类排除行。视频号用户可以在「清晰度」里选画质,其余场景保持「默认(推荐)」。
开启与关闭抓取
首页点「开启抓取」,按钮随即变成「关闭抓取」,系统代理被指向 127.0.0.1:8899,列表进入待捕获状态。抓完记得点回「关闭抓取」——系统代理会随之恢复;若发现关掉软件后上不了网,手动关掉系统代理设置即可。
三个高频场景的实际做法
保存微信视频号的视频
保持「全量拦截」开启并「开启抓取」,在微信里打开视频号,把目标视频完整播放一遍;回到列表找 qq.com 域的视频(鼠标悬停可看封面),点「直接下载」。如果下载完的文件打不开或无法播放,点同一行的「视频解密」选中该文件——视频号的资源是加密分发的,插件会取回密钥再还原。
列表刷出一大堆怎么办?把「全量拦截」关掉(它只拦视频详情页),再把目标视频转发给「文件传输助手」后从详情页打开重抓,列表会干净很多。
批量收集网页里的图片与音频
浏览器打开目标网页,用右上角「抓取类型」把列表筛成只剩图片、音频,勾选想要的行点「批量下载」,资源一次性写进保存目录。整张表还能「批量导出」「批量导入」,换电脑时把列表带过去接着用。列表太长翻不到目标时,「清空列表」再刷新网页重新捕获一次。
拿抖音无水印原片
优先用浏览器打开抖音网页版而不是 App,播放目标视频后在列表里找到对应资源,点「直接下载」即可拿到不带平台水印的文件,适合二次创作。如果抓到的是 m3u8(分片流媒体链接)而不是完整视频,点「复制链接」交给专门的 m3u8 工具合并成文件。
抓不到、报证书错、下载慢
| 症状 | 往哪查 | 处理办法 |
|---|---|---|
| 完全没抓到任何资源 | 证书信任与系统代理 | 确认证书已装进受信任根证书、代理指向 127.0.0.1:8899;Mac 顺手关一下防火墙 |
| 浏览器提示「不是私密链接」 | 证书未生效 | 手动装证书到受信任根证书;装完仍反复提示时,按命令行启动提示的 lockfile 路径创建该文件 |
| 视频号刷出一大片内容 | 「全量拦截」处于开启 | 关闭后从视频详情页(转发再打开)捕获 |
| 某网站就是拦不到 | 流量未走代理或站点限制 | 与 Fiddler、Charles 同类原理,拦不到属正常现象;安卓 7.0 以上默认不信任用户证书 |
| 大视频下载中断 | 单链路下载不稳 | 「复制链接」交给第三方下载器,完成后再回软件点「视频解密」 |
| 8899 端口疑似被占用 | 端口冲突 | 终端执行lsof -i :8899查看占用进程 |
| 软件打不开、行为异常 | 本地配置目录损坏 | 删除配置目录后重启(Mac:~/Library/Preferences/res-downloader;Windows:%AppData%\res-downloader) |
| Mac 提示「已损坏,无法打开」 | 隔离属性 | 终端执行sudo xattr -d com.apple.quarantine /Applications/res-downloader.app |
想扩展新平台,代码从哪读起
Go 后端集中在 core/,前端在 frontend/src/。四处值得先看:
- core/proxy.go:本地代理主体,按域名规则决定哪些连接解密、哪些原样放行;
- core/rule.go:域名规则解析,支持
*通配与!排除; - core/config.go:全部配置项,以及 MIME 到资源类型和文件后缀的映射表;
- core/plugins/:插件机制。default 插件做通用的 Content-Type 识别,qq.com 插件会改写视频号页面的 JS 注入钩子、把解密密钥取回来——「视频解密」按钮就是它带来的。
给新平台加支持的路径很直接:新增一个插件文件,并在代理里注册它的域名。工具本质是代理抓包加资源筛选,能力边界和抓包工具一样——把它用在个人学习与素材收集上,记得尊重内容作者的版权。
【免费下载链接】res-downloader视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载!项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考