wechat-versions项目快速入门:5分钟学会使用GitHub Actions自动抓取微信版本
2026/6/16 6:04:49 网站建设 项目流程

wechat-versions项目快速入门:5分钟学会使用GitHub Actions自动抓取微信版本

【免费下载链接】wechat-versions保存微信历史版本项目地址: https://gitcode.com/gh_mirrors/we/wechat-versions

想要自动获取微信Mac版本并保存历史版本吗?wechat-versions项目是一个强大的GitHub Actions自动化工具,专门用于自动抓取微信Mac官网的最新版本并保存到GitHub Releases中。这个开源工具通过定时任务自动检测微信更新,下载安装包,计算哈希值,并创建版本发布,让您轻松管理和备份微信历史版本。🚀

📦 项目简介与核心功能

wechat-versions是一个专门为Mac用户设计的微信版本存档工具。它通过智能的自动化流程,每天自动检查微信官网是否有新版本发布,一旦发现更新,立即下载并保存到GitHub Releases中,同时提供完整的文件完整性验证信息。

主要特性亮点 ✨

  • 自动检测更新:每天定时检查微信官网版本更新
  • 完整版本信息:精确获取微信版本号,包括小版本号
  • 文件完整性验证:自动计算MD5和SHA256哈希值
  • 历史版本存档:所有版本都保存在GitHub Releases中
  • 开源免费:完全开源,可自定义配置

🔧 快速开始指南

环境准备

要使用wechat-versions项目,您需要:

  1. GitHub账户- 用于创建仓库和运行GitHub Actions
  2. GitHub CLI工具- 用于自动化发布流程
  3. Python 3环境- 运行核心脚本

一键部署步骤

首先克隆项目到本地:

git clone https://gitcode.com/gh_mirrors/we/wechat-versions cd wechat-versions

项目结构非常简单:

wechat-versions/ ├── .github/workflows/destversion.yml # GitHub Actions工作流 ├── scripts/destVersionForMac.py # 核心Python脚本 └── README.md # 项目说明文档

⚙️ GitHub Actions配置详解

项目的核心是GitHub Actions工作流文件 .github/workflows/destversion.yml,它定义了自动化的整个流程:

name: Wechat Dest Version on: schedule: - cron: '0 7 * * *' # 每天UTC时间7:00运行 workflow_dispatch: # 支持手动触发

工作流执行流程

  1. 定时触发:每天UTC时间7:00自动运行
  2. 手动触发:支持通过GitHub界面手动执行
  3. 环境检测:使用macOS-latest作为运行环境
  4. 版本检查:自动检测是否有新版本

🔍 核心技术实现

版本检测机制

核心脚本 scripts/destVersionForMac.py 实现了智能版本检测:

# 从微信官网获取下载链接 WEBSITE_URL = "https://mac.weixin.qq.com/?t=mac&lang=zh_CN" # 解析HTML获取下载按钮 class DownloadLinkParser(html.parser.HTMLParser): def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: if tag != "a" or self.link: return attrs_dict = {key: value or "" for key, value in attrs} classes = attrs_dict.get("class", "").split() if "download-button" in classes: self.link = attrs_dict.get("href", "").strip()

版本号精确提取

项目通过挂载DMG镜像文件,从Info.plist中精确提取版本信息:

def get_tag_from_plist(mount_dir: str) -> str: info_plist = Path(mount_dir) / "WeChat.app" / "Contents" / "Info.plist" with info_plist.open("rb") as handle: data = plistlib.load(handle) short_version = str(data.get("CFBundleShortVersionString", "")).strip() build = str(data.get("CFBundleVersion", "")).strip() version = str(data.get("WeChatBundleVersion", "")).strip() if version: tag = version else: tag = f"{short_version}+build.{build}" return tag

📊 完整性验证系统

双重哈希验证

为确保文件完整性,项目实现了双重验证机制:

  1. MD5验证:从HTTP头中获取服务器端MD5值
  2. SHA256验证:本地计算文件SHA256哈希值
  3. 版本去重:避免重复发布相同版本
def compute_sha256(file_path: Path) -> str: digest = hashlib.sha256() with file_path.open("rb") as handle: for chunk in iter(lambda: handle.read(1024 * 1024), b""): digest.update(chunk) return digest.hexdigest()

🚀 高级配置与自定义

自定义运行时间

您可以修改cron表达式来调整自动运行时间:

schedule: - cron: '0 12 * * *' # 改为每天UTC时间12:00运行

强制发布模式

工作流支持手动触发时的强制发布选项:

workflow_dispatch: inputs: force_release: description: 'Force create release (ignore version checks)' type: boolean default: false

🔧 故障排除指南

常见问题解决

  1. 下载失败:检查网络连接和代理设置
  2. 版本检测失败:微信官网页面结构可能发生变化
  3. GitHub API限制:确保GitHub Token有足够权限

调试技巧

启用详细日志输出:

def log(message: str) -> None: print(message, flush=True)

📈 版本历史与更新

项目持续优化版本检测算法:

  • 2026.2.12:使用Python重写脚本,优化版本号获取逻辑
  • 2024.10.1:改进DMG解析方法,获取精确版本号
  • 未来计划:支持更多平台和版本类型

🎯 最佳实践建议

仓库管理技巧

  1. 定期清理:GitHub Releases空间有限,建议定期清理旧版本
  2. 备份策略:重要版本建议本地备份
  3. 版本标签:使用有意义的版本标签便于查找

自动化集成

可以将此项目集成到您的自动化流程中:

  • CI/CD管道:作为版本管理的一部分
  • 监控系统:监控微信版本更新状态
  • 备份系统:构建完整的版本备份方案

💡 实用场景应用

开发者使用场景

  1. 版本兼容性测试:保留历史版本进行兼容性测试
  2. 版本回滚:当新版本有问题时可以快速回退
  3. 版本分析:分析微信版本更新趋势和变化

普通用户使用场景

  1. 版本收藏:收藏自己喜欢的微信版本
  2. 安全备份:备份稳定版本以防新版出现问题
  3. 多版本管理:同时管理多个微信版本

📚 学习资源与扩展

相关技术学习

  • GitHub Actions:深入了解自动化工作流
  • Python网络爬虫:学习网页解析技术
  • macOS应用分析:了解DMG和plist文件格式

项目扩展思路

  1. Windows版本支持:扩展支持微信Windows版本
  2. 多平台支持:支持更多操作系统平台
  3. 版本比较工具:开发版本差异对比功能

🎉 开始您的自动化之旅

现在您已经了解了wechat-versions项目的全部功能!只需简单的几个步骤,您就可以搭建自己的微信版本自动化存档系统。无论是为了开发测试还是个人收藏,这个工具都能为您提供稳定可靠的版本管理解决方案。

记住,自动化是提高效率的关键。通过GitHub Actions的定时任务,您可以完全解放双手,让系统自动为您监控和保存微信版本更新。立即开始使用wechat-versions,体验自动化带来的便利吧!✨

温馨提示:项目仅抓取官网的Mac安装包,不包含App Store中的版本。各版本更新日志可参见微信官网的更新说明。

【免费下载链接】wechat-versions保存微信历史版本项目地址: https://gitcode.com/gh_mirrors/we/wechat-versions

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询