Files
CIBank/微信视频号批量下载工具配置指南.md
2026-07-20 19:49:27 +08:00

15 KiB
Raw Permalink Blame History

微信视频号批量下载工具配置指南

工具: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 步:重启微信

  1. 右键 Dock 微信图标 → 退出(确保完全关闭)
  2. 等待几秒
  3. 重新打开微信

第 6 步:打开视频号

  1. 微信 → 发现视频号
  2. 等首页视频刷出来
  3. 视频播放后暂停,查看视频下方操作栏是否出现 下载按钮

五、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

  1. Cmd + Space 搜索 钥匙串访问,打开它
  2. 左侧选择 系统 钥匙串
  3. 上方标签选 证书
  4. 找到 SunnyNet → 双击打开
  5. 展开 信任 那一栏
  6. 把"使用此证书时"改为 始终信任
  7. 关闭窗口,输入电脑密码确认

六、下载方式

方式一:单个视频下载

  1. 在视频号首页刷视频
  2. 每个视频的操作栏(点赞/评论/转发旁边)会多出一个 下载按钮
  3. 页面右侧也有一个 悬浮下载按钮
  4. 点击即可下载当前视频

方式二:微信内批量下载(推荐)

  1. 在视频号中找到目标创作者 → 点击头像/名称进入 TA 的个人主页
  2. 主页右上角有一个 下载图标(向下箭头按钮)
  3. 向下滚动主页,让更多视频加载出来

    每刷出一批视频,工具就会自动检测到

  4. 点击右上角 下载图标 → 弹出下载面板
  5. 面板中会列出已检测到的所有视频 → 勾选要下载的视频 → 点击下载

方式三:Web 管理页面批量下载

访问地址http://127.0.0.1:2022/download

  1. 在微信视频号中浏览/播放视频(工具会自动检测)
  2. 打开浏览器访问 Web 管理页面
  3. 页面中会列出所有已检测到的视频
  4. 全选/多选视频 → 点击批量下载
  5. 实时查看下载进度

七、下载文件位置

配置 路径
当前下载目录 /Volumes/Projects/视频/剑哥聊餐饮/
默认下载目录 %UserDownloads%(即 /Users/freedak/Downloads/
自定义方法 修改 config.yamldownload.dir 字段,重启工具生效

修改下载目录后需重启工具才能生效。在终端 Ctrl+C 停止工具,重新运行启动命令即可。

文件命名格式:视频标题_画质.mp4

示例文件:

餐饮赚钱的本质就是读懂人性#餐饮 #餐饮人_xWT111.mp4
连锁餐饮如何解决餐厅统采统配问题_xWT111.mp4
餐厅从单店到连锁必须经过的五个阶段_xWT111.mp4

八、完整排查过程记录

本次配置过程中遇到的问题及解决方案,按排查顺序记录:

问题 1nobiyou/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
    

问题 3LetsVPN 占用 7890 端口

  • 现象:微信视频号浏览器将流量发到 127.0.0.1:7890LetsVPN 代理),完全绕过工具
  • 解决:关闭 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.1TUN 虚拟网卡)发出
    lsof -i -n -P | grep WeChatApp | grep ESTABLISHED
    # 所有连接均为 IPv410.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 连接的情况下解析视频号分享链接。

获取方法

  1. 使用 Chrome 浏览器访问 https://yuanbao.tencent.com 并登录
  2. 打开 Chrome 开发者工具(F12)→ Application → Cookies
  3. 找到 yuanbao.tencent.com 域名下的所有 cookie
  4. 复制完整 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/profilecontact/feed/list 接口需要微信客户端通过 WebSocket 连接到工具才能工作。使用前需确保微信已打开且工具成功拦截到微信流量。


十三、自动监控下载(规划中)

目标

每日自动监控指定视频号(剑哥聊餐饮),发现新视频后自动下载。

监控目标

  • 视频号:剑哥聊餐饮
  • Finder 用户名sphnu5kSqZT224x
  • 下载目录/Volumes/Projects/视频/剑哥聊餐饮/

方案设计

由于工具获取视频号完整视频列表的 API(contact/feed/list)依赖微信客户端的 WebSocket 连接,全自动方案需要微信保持运行状态。

流程

  1. 检查工具和微信是否在运行
  2. 通过 /api/channels/contact/feed/list API 获取视频号的完整视频列表
  3. 与已下载文件比对,找出新视频
  4. 自动下载新视频
  5. 通过定时任务每日执行

前提条件

  • 工具以 sudo 运行
  • IPv6 已禁用
  • 微信保持后台运行(无需手动操作)
  • VPN 已关闭

十四、关键技术要点总结

  1. IPv6 是 macOS 上的最大坑:微信视频号浏览器默认走 IPv6,必须禁用 IPv6 才能让 TUN 拦截到流量
  2. TUN 模式优于系统代理模式:系统代理模式无法拦截 WebSocket 连接,TUN 模式可以完整拦截所有流量
  3. VPN 软件冲突LetsVPN、Clash 等代理软件会占用端口或干扰 TUN,使用前必须关闭
  4. 必须 sudo 运行:TUN 模式需要创建虚拟网卡,必须以管理员权限运行
  5. 首次运行需信任证书SunnyNet 根证书用于 HTTPS 解密,必须设为"始终信任"
  6. 下载目录可自定义:修改 config.yamldownload.dir 字段,支持绝对路径,重启生效
  7. sphCookie 可选配置:从 yuanbao.tencent.com 获取,配置后可使用 API 解析模式
  8. API 接口可用:工具提供 REST API,可用于编程式批量操作和自动化集成

⚠️ 版权提醒:下载的视频仅供个人收藏、学习使用,请勿二次上传到公共平台或用于商业用途,尊重原创。