wx_channels_download v260118:在 NAS 上部署远程下载服务,统一管理零散的本地下载
桌面应用视频网络MCP 服务【免费下载链接】wx_channels_download微信视频号下载器项目地址https://gitcode.com/gh_mirrors/wx/wx_channels_download点击查看免费下载v260118 是微信视频号下载器 wx_channels_download 的一次重要版本更新核心亮点是引入了「远程下载服务」能力把下载器以server模式部署到 NAS 上本地电脑通过download.remoteServer配置把下载任务提交到 NAS 执行视频文件直接落在 NAS 中彻底解决在不同电脑下载导致文件零散的问题。本文以该版本发布说明为主体结合仓库源码与配置模板完整讲解server命令用法、远程下载配置、任务列表分页、批量下载改进等新能力以及公众号 RSS 服务的调整预告。版本更新总览新功能与问题修复本次版本的主要变更如下新功能将原先的mp命令改为server命令用于在 NAS / Linux 服务器上以服务方式运行下载器提供 API 服务增加download.remoteServer配置开启后下载请求会被转发到该远程服务由远程服务完成视频下载公众号管理页面刷新后仍保留当前筛选项图片类视频图集也支持在后台下载了批量下载过程中支持中断创建下载任务即批量任务可以中途停止继续创建下载任务列表接口支持分页。问题修复修复了公众号管理页面状态筛选项不生效的问题修复了批量下载时存在图片类视频会中断下载的问题修复了批量下载存在同名视频时实际下载到的视频数和展示的下载任务数不一致的问题。以下围绕本次更新最重要的能力——NAS 远程下载服务——展开并逐项说明配套改进。在 NAS 上部署下载服务第一步上传二进制并以 server 模式运行下载linux版本的wx_channels_download二进制上传到 NAS 上然后执行./wx_channels_download server -d其中-d表示以守护进程daemon模式运行服务在后台常驻终端退出后下载服务仍会继续工作。server命令用于在 Linux 服务器上运行提供 API 服务其完整的子命令体系定义在 cmd/server.go命令说明server以前台方式运行服务终端退出后服务随之关闭加-d可守护进程化server status查看服务状态输出进程 PID、API 端点与代理端点的监听情况-q参数仅返回退出码server stop停止服务读取 PID 文件并结束进程等待最多 8 秒server restart重启服务关于server子命令的详细用法前台运行、查看状态、停止、重启可参考 服务器模式文档。从源码看server命令通过 PID 文件机制管理进程生命周期write_server_pidfile 会把当前进程 PID 写入工作目录/wx_video_download.pidserver stop读取该 PID 后调用system.TerminateProcess结束进程server status则会实际探测api.hostname/api.port默认127.0.0.1:2022和proxy.port默认2023端口是否在监听从而判断服务是否真正就绪见 status_command。建议修改 NAS 上config.yaml中的下载目录为./downloads便于集中管理下载文件。第二步本地配置 remoteServer 指向 NAS在本地电脑的config.yaml中增加如下配置download: remoteServer: enabled: true protocol: http hostname: 192.168.1.118 port: 2022各字段含义如下与 配置模板 及 下载配置文档 一致配置项说明默认值download.remoteServer.enabled是否启用远程服务下载falsedownload.remoteServer.protocol远程服务协议httpdownload.remoteServer.hostnameNAS 服务的内网地址192.168.1.2示例download.remoteServer.port远程服务端口与 NAS 上api.port对应2022上例中的192.168.1.118是发布说明作者自己的 NAS 内网地址请替换为你实际部署环境中的地址。修改后启动本地下载器点击视频号页面上的下载按钮任务就会被提交到 NAS 上执行视频文件直接保存到 NAS 的下载目录中。远程下载的底层实现原理远程下载并非本地下载后上传而是通过代理插件把视频号相关的网络请求直接转发到远端服务。在 internal/application/start.go 中当检测到download.remoteServer.enabled为true时会构造一个proxy.Plugin将匹配weixin110.qq.com的请求转发到配置的目标服务器if cfg.GetBool(download.remoteServer.enabled) { target_protocol : cfg.GetString(download.remoteServer.protocol) target_hostname : cfg.GetString(download.remoteServer.hostname) target_port : cfg.GetInt(download.remoteServer.port) plugin : proxy.Plugin{ Match: weixin110.qq.com, Target: proxy.TargetConfig{ Protocol: target_protocol, Host: target_hostname, Port: target_port, }, } interceptor_srv.Interceptor.AddPostPlugin(plugin) }也就是说启用远程模式后本地拦截器捕获到微信视频号weixin110.qq.com的接口请求时会直接把它转发到 NAS 上的下载服务由 NAS 完成视频拉取与落盘。同时服务端会把远程开关注入到前端运行时。在 internal/adapter/wxchannels/adapter.go 的new_interceptor_config中前端变量remoteServerEnabled与remoteServerOrigin分别取自download.remoteServer.enabled与protocol://hostname:port拼接结果下载面板据此切换交互方式。下载面板按钮的变化从打开文件到在新窗口打开视频远程模式下本地没有实际文件因此下载面板上原先的「打开文件」按钮改成了在新窗口打开视频同样可以验证视频是否下载成功。前端判断逻辑位于 frontend/inject/download/model.jsfunction is_download_open_external() { return ( runtime_flag(window.config.remoteServerEnabled) || runtime_flag(window.config.inDocker) ); }当处于远程下载或 Docker 环境本地无文件时openTask会改为调用window.open(APIOrigin /preview?id taskId)在新窗口打开视频预览见 model.js否则才调用文件接口打开本地文件。相应地view.js 中任务条的操作按钮图标也会从「文件夹」切换为「外部链接」图标提示用户此时打开的是在线视频而非本地文件。配套改进详解mp 命令更名为 server原先的mp命令公众号相关服务更名为server命令职责也随之聚焦为在 Linux 服务器上运行下载服务。此前的server模式下需要手动CtrlC结束前台进程现在则可以通过server stop优雅关闭server restart一键重启方便 NAS 这种无人值守场景的运维。图片类视频支持后台下载本次更新后图片类视频图集也可以在后台批量下载了。此前批量下载遇到图集时会中断整个下载流程本次一并修复了批量下载时存在图片类视频会中断下载的问题保证批量任务中图文与视频混排时也能顺利跑完。图片类视频相关的下载与批量能力可参考 视频号批量下载文档。批量下载支持中断创建任务批量下载过程中现在支持中断继续创建下载任务即用户可以在批量任务尚未全部创建完成时停止后续任务的创建避免误触发大量下载配合同名视频去重问题的修复此前同名视频会导致实际下载数与展示任务数不一致批量下载的可控性与一致性都得到了提升。下载任务列表接口分页下载任务列表接口新增了分页参数避免任务数量增长后一次拉取过多数据。从 internal/api/handler_download_task.go 看接口支持以下查询参数参数说明默认值page页码从 1 开始1page_size每页条数范围 110020status状态筛选逗号分隔多个状态值如0,1表示等待中不筛选接口内部会以Offset((page-1)*pageSize)与Limit(pageSize)分页查询并在响应中回传page/page_size见 handler_download_task.go。前端下载面板默认每页 50 条见 frontend/src/pages/downloadv2.model.js且按状态分组统计等待0,1、运行中2,4、暂停3、完成5、错误6,7。公众号管理页面筛选状态保留公众号管理页面在刷新后仍会保留当前选中的筛选项同时修复了此前状态筛选项不生效的问题。这属于前端状态持久化改进让大量公众号订阅的管理操作更顺手。公众号 RSS 服务的后续调整预告发布说明同时预告公众号 RSS 服务在实际使用中并不稳定后续会将其移除改为「公众号文章下载」功能预计包含下载单篇文章下载指定公众号所有文章。这意味着公众号能力重心将从订阅推送转向内容归档下载与当前仓库中 公众号文章下载指南 描述的文章下载方向一致开启mp.enabled后在公众号文章页底部出现下载按钮可将文章下载为 HTML。迁移后原先依赖 RSS 订阅的用户将转向直接的文章下载方案。小结v260118 版本让 wx_channels_download 的部署形态从单机工具扩展为本地 NAS 双端协作NAS 端以server命令常驻并提供 API 服务本地端通过download.remoteServer配置把下载请求转发到 NAS配合下载面板在新窗口打开视频的验证方式形成了一套完整的远程下载闭环。配套的分页任务列表、批量下载中断、图片类视频后台下载等改进则让大量任务场景下的使用体验更加稳定可控。动手部署时只需参照本文的server -d启动与remoteServer配置两步即可完成注意把示例 IP 替换为你自己的 NAS 内网地址并将 NAS 端下载目录设置为./downloads以集中管理文件。赞分享桌面应用视频网络MCP 服务【免费下载链接】wx_channels_download微信视频号下载器项目地址https://gitcode.com/gh_mirrors/wx/wx_channels_download点击查看免费下载相关推荐【免费下载】 MeshCentral服务器完整安装指南从零开始部署远程管理平台MeshCentral服务器完整安装指南从零开始部署远程管理平台 前言 MeshCentral是一款功能强大的开源远程管理平台支持跨平台设备管理、远程桌面控后端运维【免费下载】 OpenPI项目远程推理服务部署与使用指南OpenPI项目远程推理服务部署与使用指南 远程推理服务概述 OpenPI项目提供了远程运行模型的实用工具这种架构设计具有以下优势 1. 计算资源解耦可以人工智能大模型具身智能预训练微调深度学习上一篇终极解决方案如何永久解决JetBrains IDE试用期限制问题下一篇3步解锁Wallpaper Engine壁纸资源RePKG开源工具完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考