15 KiB
微信视频号批量下载工具配置指南
工具:ltaoo/wx_channels_download v260706 平台:macOS Apple Silicon (arm64) 微信版本:4.1.11 (App Store 版) 监控视频号:剑哥聊餐饮(finder:
sphnu5kSqZT224x) 下载目录:/Volumes/Projects/视频/剑哥聊餐饮整理日期:2026-07-14(更新于 2026-07-14)
一、工具简介
wx_channels_download 是一个开源的微信视频号视频下载工具,支持:
- 单个视频下载
- 批量下载某创作者的全部视频
- 自动解密加密视频
- Web 管理页面管理下载任务
- 自动去重,避免重复下载
GitHub 地址:https://github.com/ltaoo/wx_channels_download
二、下载与安装
1. 下载预编译版本
# 创建目录
mkdir -p /Users/freedak/WorkBuddy/2026-07-14-07-31-44/wx_video_download
# 下载 macOS arm64 版本(v260706)
cd /Users/freedak/WorkBuddy/2026-07-14-07-31-44/wx_video_download
curl -L -o wx_video_download_darwin_arm64.zip \
"https://github.com/ltaoo/wx_channels_download/releases/download/v260706/wx_video_download_v260706_darwin_arm64.zip"
2. 解压
unzip -o wx_video_download_darwin_arm64.zip
3. 移除 macOS 隔离标记
xattr -d com.apple.quarantine wx_video_download
4. 文件结构
wx_video_download/
├── wx_video_download # 可执行文件
└── config.yaml # 配置文件
三、配置文件详解
配置文件路径:wx_video_download/config.yaml
# 调试模式(排查问题时开启)
debug:
error: true
echolog: true
# 下载设置
download:
defaultHighest: false # 是否下载最高画质
filenameTemplate: "{{filename}}_{{spec}}"
dir: "/Volumes/Projects/视频/剑哥聊餐饮" # 下载目录(自定义)
pauseWhenDownload: false # 下载时是否暂停视频播放
playDoneAudio: true # 下载完成时播放提示音
frontend: false
# API 服务
api:
protocol: "http"
hostname: "127.0.0.1"
port: 2022 # Web 管理页面端口
# 代理设置
proxy:
system: true # 是否设置系统代理
hostname: "127.0.0.1"
port: 2023 # 代理服务端口
tun: true # TUN 模式(关键!必须开启)
skipInstallRootCert: false # 是否跳过根证书安装
# Cloudflare 配置(可选,用于 API 解析模式)
cloudflare:
accountId: ""
apiToken: ""
sphCookie: "561553b295037d16=..." # 从 yuanbao.tencent.com 获取(已配置)
关键配置说明
| 配置项 | 推荐值 | 说明 |
|---|---|---|
proxy.tun |
true |
TUN 模式通过虚拟网卡拦截流量,是 macOS 上的必选项 |
debug.error |
true |
排查问题时开启,正常运行可关闭 |
debug.echolog |
true |
排查问题时开启,正常运行可关闭 |
download.dir |
/Volumes/Projects/视频/剑哥聊餐饮 |
自定义下载目录,可设为任意路径 |
download.defaultHighest |
false |
设为 true 可下载最高画质 |
cloudflare.sphCookie |
从 yuanbao.tencent.com 获取 | 用于 API 解析模式,可选配置 |
四、启动步骤
第 1 步:禁用 IPv6(macOS 关键步骤!)
⚠️ 这是 macOS 上工具能否正常工作的关键!
macOS 微信视频号浏览器 (WeChatAppEx) 默认使用 IPv6 进行所有网络连接。 TUN 模式仅拦截 IPv4 流量,IPv6 流量会完全绕过工具,导致下载按钮无法注入。
# 禁用 Wi-Fi 接口的 IPv6
sudo networksetup -setv6off Wi-Fi
# 验证是否已禁用
networksetup -getinfo Wi-Fi
# 应显示:IPv6: Off
📌 恢复 IPv6(使用完毕后执行):
sudo networksetup -setv6automatic Wi-Fi
第 2 步:关闭 VPN / 代理软件
⚠️ 如果运行了 LetsVPN、Clash、Surge 等代理软件,必须先关闭!
这些软件会占用代理端口或干扰 TUN 虚拟网卡,导致工具无法正常拦截流量。
# 检查 7890 端口是否被占用(LetsVPN 默认端口)
lsof -i :7890
# 如有占用,退出对应的 VPN 软件
第 3 步:以管理员身份启动工具
sudo /Users/freedak/WorkBuddy/2026-07-14-07-31-44/wx_video_download/wx_video_download
首次运行会自动安装 SunnyNet 根证书(用于 HTTPS 解密),输入电脑密码即可。
第 4 步:确认启动成功
终端应出现以下提示:
v260706
问题反馈 https://github.com/ltaoo/wx_channels_download/issues
配置文件 /Users/freedak/WorkBuddy/2026-07-14-07-31-44/wx_video_download/config.yaml
下载目录 /Users/freedak/Downloads
API服务启动成功, 地址: 127.0.0.1:2022
代理服务启动成功, 地址: 127.0.0.1:2023
已启用 TUN 模式,流量将通过虚拟网卡自动转发
请打开需要下载的视频号页面进行下载
按 Ctrl+C 退出...
第 5 步:重启微信
- 右键 Dock 微信图标 → 退出(确保完全关闭)
- 等待几秒
- 重新打开微信
第 6 步:打开视频号
- 微信 → 发现 → 视频号
- 等首页视频刷出来
- 视频播放后暂停,查看视频下方操作栏是否出现 下载按钮
五、SunnyNet 根证书信任设置
如果首次运行后证书未自动信任,需要手动设置:
方法一:终端命令
# 从钥匙串导出证书
security find-certificate -c "SunnyNet" -a -p /Library/Keychains/System.keychain > /tmp/SunnyNet.pem
# 添加到系统信任
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /tmp/SunnyNet.pem
# 添加到用户信任
security add-trusted-cert -r trustRoot -k ~/Library/Keychains/login.keychain /tmp/SunnyNet.pem
方法二:钥匙串访问 GUI
Cmd + Space搜索 钥匙串访问,打开它- 左侧选择 系统 钥匙串
- 上方标签选 证书
- 找到 SunnyNet → 双击打开
- 展开 信任 那一栏
- 把"使用此证书时"改为 始终信任
- 关闭窗口,输入电脑密码确认
六、下载方式
方式一:单个视频下载
- 在视频号首页刷视频
- 每个视频的操作栏(点赞/评论/转发旁边)会多出一个 下载按钮
- 页面右侧也有一个 悬浮下载按钮
- 点击即可下载当前视频
方式二:微信内批量下载(推荐)
- 在视频号中找到目标创作者 → 点击头像/名称进入 TA 的个人主页
- 主页右上角有一个 下载图标(向下箭头按钮)
- 向下滚动主页,让更多视频加载出来
每刷出一批视频,工具就会自动检测到
- 点击右上角 下载图标 → 弹出下载面板
- 面板中会列出已检测到的所有视频 → 勾选要下载的视频 → 点击下载
方式三:Web 管理页面批量下载
访问地址:http://127.0.0.1:2022/download
- 在微信视频号中浏览/播放视频(工具会自动检测)
- 打开浏览器访问 Web 管理页面
- 页面中会列出所有已检测到的视频
- 全选/多选视频 → 点击批量下载
- 实时查看下载进度
七、下载文件位置
| 配置 | 路径 |
|---|---|
| 当前下载目录 | /Volumes/Projects/视频/剑哥聊餐饮/ |
| 默认下载目录 | %UserDownloads%(即 /Users/freedak/Downloads/) |
| 自定义方法 | 修改 config.yaml 中 download.dir 字段,重启工具生效 |
修改下载目录后需重启工具才能生效。在终端
Ctrl+C停止工具,重新运行启动命令即可。
文件命名格式:视频标题_画质.mp4
示例文件:
餐饮赚钱的本质就是读懂人性#餐饮 #餐饮人_xWT111.mp4
连锁餐饮如何解决餐厅统采统配问题_xWT111.mp4
餐厅从单店到连锁必须经过的五个阶段_xWT111.mp4
八、完整排查过程记录
本次配置过程中遇到的问题及解决方案,按排查顺序记录:
问题 1:nobiyou/wx_channel 不支持 macOS
- 现象:nobiyou 版仅提供 Windows 可执行文件
- 解决:改用 ltaoo/wx_channels_download,明确支持 macOS
问题 2:SunnyNet 证书信任设置不完整
- 现象:证书已安装到钥匙串,但
trust settings: 0(未设为"始终信任") - 解决:导出证书并手动添加信任
security find-certificate -c "SunnyNet" -a -p /Library/Keychains/System.keychain > /tmp/SunnyNet.pem sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /tmp/SunnyNet.pem security add-trusted-cert -r trustRoot -k ~/Library/Keychains/login.keychain /tmp/SunnyNet.pem
问题 3:LetsVPN 占用 7890 端口
- 现象:微信视频号浏览器将流量发到
127.0.0.1:7890(LetsVPN 代理),完全绕过工具 - 解决:关闭 LetsVPN
问题 4:微信沙箱绕过系统代理
- 现象:微信 Mac 客户端运行在 App Sandbox 中,系统代理模式(
tun: false)下部分流量不走代理 - 解决:启用 TUN 模式(
tun: true),通过虚拟网卡在网络层拦截流量
问题 5:微信视频号走 IPv6 绕过 TUN(根因!)
- 现象:TUN 模式仅拦截 IPv4 流量,而 macOS 微信视频号浏览器 (WeChatAppEx) 所有连接走 IPv6,完全绕过 TUN 虚拟网卡
- 诊断:
lsof -i -n -P | grep WeChatApp | grep ESTABLISHED # 所有连接均为 IPv6:[2409:8a00:...] -> [2409:8c02:...]:443 - 解决:禁用 Wi-Fi 接口的 IPv6
sudo networksetup -setv6off Wi-Fi - 验证:禁用后 WeChatApp 所有连接从
10.99.99.1(TUN 虚拟网卡)发出lsof -i -n -P | grep WeChatApp | grep ESTABLISHED # 所有连接均为 IPv4:10.99.99.1:xxxxx -> x.x.x.x:443
问题 6:[FRONTEND ERROR]没有获取到视频详情
- 现象:工具拦截到流量,JS 注入正常,但前端无法获取视频详情
- 原因:间歇性问题(GitHub Issue #415),多刷新几次视频可解决
- 解决:在视频号中上下滑动切换几个视频,错误会自行消失
九、常见问题
| 问题 | 解决方案 |
|---|---|
| 没看到下载按钮 | 1. 检查 IPv6 是否已禁用:networksetup -getinfo Wi-Fi 应显示 IPv6: Off;2. 检查 VPN 是否已关闭;3. 重启微信 |
| 代理服务启动失败 | 检查端口 2022/2023 是否被占用:lsof -i :2022 |
| 与 VPN/翻墙软件冲突 | 关闭 VPN 软件,或设置 proxy.tun: true 使用 TUN 模式 |
| 证书安装失败 | 确保以 sudo 运行,参考第五节手动信任证书 |
| 下载的视频无法播放 | 工具会自动解密,如仍无法播放检查版本是否为最新 |
| 想下载最高画质 | config.yaml 中设 download.defaultHighest: true |
channels.available: false |
不影响微信内下载按钮使用,Web 搜索功能可能受限 |
[FRONTEND ERROR]没有获取到视频详情 |
间歇性问题,在视频号中多切换几个视频即可 |
十、使用完毕后恢复
# 1. 在工具终端按 Ctrl+C 停止工具
# 2. 恢复 IPv6
sudo networksetup -setv6automatic Wi-Fi
# 3. 如需要,重新打开 VPN 软件
十一、sphCookie 配置(API 解析模式)
sphCookie 用于工具的 API 解析模式,可以在不依赖微信客户端 WebSocket 连接的情况下解析视频号分享链接。
获取方法
- 使用 Chrome 浏览器访问
https://yuanbao.tencent.com并登录 - 打开 Chrome 开发者工具(F12)→ Application → Cookies
- 找到
yuanbao.tencent.com域名下的所有 cookie - 复制完整 cookie 字符串
配置方法
将 cookie 写入 config.yaml:
cloudflare:
sphCookie: "561553b295037d16=...; _TDID_CK=..."
自动提取脚本
工具目录下提供了 Python 脚本可自动从 Chrome 提取 cookie:
python3 /Users/freedak/WorkBuddy/2026-07-14-07-31-44/wx_video_download/extract_sph_cookie.py
注意:cookie 有时效性,过期后需重新获取。配置后需重启工具生效。
十二、API 接口说明
工具启动后提供以下 API 接口(基地址 http://127.0.0.1:2022):
| 接口 | 方法 | 说明 |
|---|---|---|
/api/channels/version |
GET | 获取工具版本信息 |
/api/channels/parse_sph |
GET | 解析视频号分享链接(需 url 参数) |
/api/channels/feed/profile |
GET | 获取创作者信息(需微信客户端连接) |
/api/channels/contact/feed/list |
GET | 获取创作者视频列表(需微信客户端连接) |
/api/channels/shared_feed/profile |
GET | 获取分享链接对应的创作者信息 |
/api/sph |
GET | SPH 相关功能 |
/api/open_download_dir |
GET | 打开下载目录 |
/api/task/create_batch |
GET | 创建批量下载任务 |
测试 API
# 检查工具是否运行
curl -s http://127.0.0.1:2022/api/channels/version
# 解析视频号分享链接
curl -s "http://127.0.0.1:2022/api/channels/parse_sph?url=https://weixin.qq.com/sph/xxxxx"
注意:
feed/profile和contact/feed/list接口需要微信客户端通过 WebSocket 连接到工具才能工作。使用前需确保微信已打开且工具成功拦截到微信流量。
十三、自动监控下载(规划中)
目标
每日自动监控指定视频号(剑哥聊餐饮),发现新视频后自动下载。
监控目标
- 视频号:剑哥聊餐饮
- Finder 用户名:
sphnu5kSqZT224x - 下载目录:
/Volumes/Projects/视频/剑哥聊餐饮/
方案设计
由于工具获取视频号完整视频列表的 API(contact/feed/list)依赖微信客户端的 WebSocket 连接,全自动方案需要微信保持运行状态。
流程:
- 检查工具和微信是否在运行
- 通过
/api/channels/contact/feed/listAPI 获取视频号的完整视频列表 - 与已下载文件比对,找出新视频
- 自动下载新视频
- 通过定时任务每日执行
前提条件:
- 工具以
sudo运行 - IPv6 已禁用
- 微信保持后台运行(无需手动操作)
- VPN 已关闭
十四、关键技术要点总结
- IPv6 是 macOS 上的最大坑:微信视频号浏览器默认走 IPv6,必须禁用 IPv6 才能让 TUN 拦截到流量
- TUN 模式优于系统代理模式:系统代理模式无法拦截 WebSocket 连接,TUN 模式可以完整拦截所有流量
- VPN 软件冲突:LetsVPN、Clash 等代理软件会占用端口或干扰 TUN,使用前必须关闭
- 必须 sudo 运行:TUN 模式需要创建虚拟网卡,必须以管理员权限运行
- 首次运行需信任证书:SunnyNet 根证书用于 HTTPS 解密,必须设为"始终信任"
- 下载目录可自定义:修改
config.yaml中download.dir字段,支持绝对路径,重启生效 - sphCookie 可选配置:从 yuanbao.tencent.com 获取,配置后可使用 API 解析模式
- API 接口可用:工具提供 REST API,可用于编程式批量操作和自动化集成
⚠️ 版权提醒:下载的视频仅供个人收藏、学习使用,请勿二次上传到公共平台或用于商业用途,尊重原创。