乐于分享
好东西不私藏

微信视频号没有下载按钮?这个开源工具直接在页面上给你加了一个!

微信视频号没有下载按钮?这个开源工具直接在页面上给你加了一个!

你有没有这种经历:

刷视频号看到一个超实用的教程、一段绝美的风景、一首好听的BGM,想保存下来反复看——却发现长按没反应,分享没有”保存”,整个界面找不到下载按钮。

微信视频号是目前唯一没有官方下载入口的主流短视频平台。抖音能存、B站能存、小红书也能存,唯独视频号把门焊死了。

但今天要介绍的这个工具,直接在门上给你开了个洞。

⚠️ 先说在前面:版权与合规

✅ 可以做
个人收藏、离线观看、学习参考
❌ 不可以做
二次分发、商用转载、去除水印冒充原创、批量爬取牟利
⚖️ 法律边界
下载仅供个人合理使用,尊重原作者劳动成果

💡 简单说:自己看没问题,拿去赚钱就是侵权。

主角工具

wx_channels_download — 微信视频号下载器

一款开源工具,在你的微信PC端视频号页面里“凭空”多出一个下载按钮。点一下,视频就保存到本地了。

GitHub Stars
5,700+
最新版本
v260507

(2026年5月7日,2天前更新
价格 / 平台
完全免费 & 开源

 · Windows + macOS(Intel/Apple Silicon)
访问地址

github.com/ltaoo/wx_channels_download

🔥 核心功能一览

✅ 在微信PC端视频号页面自动注入「下载」按钮   

✅ 支持多画质选择(最小体积 / 高清原片)  

✅ 双重按钮机制(操作栏 + 悬浮备用)

✅ 图片内容 + 直播回放下载   

✅ 批量任务管理(暂停/恢复/删除)  

✅ 实时速度 + 圆形进度动画

✅ 下载完成一键打开文件夹   

🔍 源码级解读

它是怎么做到的?

我下载了它的完整源码(Go语言 + JavaScript),用最直白的话给你拆解:

🏗 整体架构:三件套协作

┌─────────────────────────────────────────────────┐ │              👀 你看到的界面                      │ │    微信PC → 视频号 → [多了个下载按钮] ✨          │ ├─────────────────────────────────────────────────┤ │  📜 第一层:JavaScript 注入层(前端 ~30%)        │ │    监听页面变化 → DOM里塞入下载按钮             │ │    点击 → WebSocket告诉后端                       │ │    接收进度 → 更新速度/百分比圆环                 │ ├─────────────────────────────────────────────────┤ │  ⚙️ 第二层:Go语言代理服务(后端核心 ~65%)       │ │    启动本地代理 → 安装SSL证书                   │ │    拦截加密视频流 → 解密出真实链接                │ │    执行文件下载 → 推送进度给前端                  │ ├─────────────────────────────────────────────────┤ │  🖥 第三层:系统层面                              │ │    安装根证书 → 需要管理员权限                   │ │    设置系统代理 → 让微信流量经过本工具            │ │    关闭时自动清理                                │ └─────────────────────────────────────────────────┘  💬 比喻:这个工具在你电脑上装了一个"透明中间人"    微信以为正常播放 → 其实每个视频请求都被拦截了    加密地址被解密出来 → 同时页面上多了一个下载按钮

细节①

入口文件只有 23 行

// main.go — 整个程序的入口 var AppVer = "260507"  // 版本号=日期: 2026.05.07  func main() {     cfg := config.New(AppVer, Mode)  // 读取配置     cmd.Execute(cfg)                   // 一行启动全套流程 }

所有复杂度都封装在内部。对用户来说:双击运行 → 完成。这就是好工具——复杂的留给自己,简单的留给用户。

细节②

按钮注入:像装修队一样精准操作页面

不是简单粗暴地塞一个按钮,而是动态适配

// home.js 核心逻辑(简化) // ① 监听每一个导航动作 WXU.onGotoNextFeed((feed) => {     __wx_insert_download_btn_to_home_page(); }); // ② 从CSS位移反推当前是第几个视频 var idx = matched[1] / 100; // ③ 找到微信原生操作栏位置后插入 $parent.appendChild($btn); // ④ 兜底:主操作栏失败→生成右侧悬浮按钮 __wx_render_sider_tools();

这解释了为什么它在不同微信版本下都能工作——它不依赖固定位置,而是动态适配

细节③

下载管理面板:堪比专业下载器

实时速度显示
自动换算 B/s → KB/s → MB/s
圆形进度条
SVG圆环动画 绿色(下载中)/黄色(暂停)
文件类型图标
MP4(播放) / MP3(音乐) / 图片(相册)
暂停/继续/重试
通过WebSocket发送命令,支持断点续传
实时通信
WebSocket每秒推送进度数据到前端UI

细节④

为什么需要管理员权限?

// interceptor.go 核心步骤 // ① 在你的电脑上生成一对公私钥(只存本地) cert := certificate.GenerateCert() // ② 安装到系统证书存储(用于解密HTTPS) certificate.InstallCertificate(cert) // ③ 用这个证书启动本地HTTPS代理 proxy.NewProxy(cert.Cert, cert.PrivateKey) // ④ 只监听 127.0.0.1(外部无法访问) proxy.Start("127.0.0.1:2023")

证书只装在你自己电脑上,代理只监听本地回环。完全开源可审查,安全可控。

细节⑤

配置系统:默认就够用,进阶有空间

配置项
默认值
作用
defaultHighest
false
改true→直接下载最高画质原片
system
true
改false→配合Clash等代理共存
remoteServer
disabled
开启→视频保存到远程服务器/NAS
pauseWhenDownload
false
开启→下载时自动暂停播放

📝 源码总结

23行入口代码背后是完整的代理+注入+UI体系 | 按钮注入动态适配不依赖固定DOM位置 | 下载管理器体验接近专业IDM/NDM | 版本号用日期命名(260507=2026.5.7)更新节奏快 | Go(65%)负责核心加密解密 + JS(30%)负责UI交互 = 工程完成度极高

安装教程

5步搞定,从零到能下载

1去 GitHub 下载

搜索 ltaoo/wx_channels_download → Releases → 选对应系统的 zip 包

2解压 → 右键以管理员身份运行

首次会弹出证书安装提示 → 点”是” → 看到「代理服务启动成功」即可

3打开微信PC → 视频号 → 正常刷视频

4找到目标视频 → 播放 → 暂停 → 点下载按钮

操作栏出现「下载」或右侧悬浮按钮都行

5选画质(可选)→ 等待下载完成

文件保存在程序目录的 downloads 文件夹

🔧 常见问题排查

问题
原因
解决方法
打开后闪退
没管理员权限
右键→管理员运行
没有下载按钮
微信改了页面结构
用悬浮按钮;重启;等新版本
点了没反应
视频还没加载完
等播放状态后再操作
和Clash冲突
都要占系统代理
config设 system:false
杀毒软件报警
涉及证书+代理触发误报
添加白名单;开源可审查
更新微信后失效
微信改了加密方式
等GitHub新版本(维护很勤)

🔒 三条铁律

01下载的内容仅限个人观看和学习使用

转头发群、发公众号、剪辑后当自己的发 = 侵权

02不要用于商业用途

搬运到其他平台赚取流量收益、加水印出售、批量打包售卖 = 违法

03尊重原创作者

觉得内容好就点赞关注创作者——这是最好的支持方式

5700多人的选择,2天前还在持续更新,跨平台免费开源。

“最好的工具不是功能最多的那一个,而是你能坚持用的那一个——而这个工具,值得成为你的那个选择。”

本文介绍的 wx_channels_download 为 GitHub 开源项目(ltaoo/wx_channels_download,5.7k Star)仅供技术交流和个人学习使用 · 请遵守相关法律法规及平台规则 · 从 GitHub 官方 Releases 页面下载 · 自行承担使用风险