wxdown 公众号离线文章保存(GO语言开发)

简介

本来一开始用 nodejs 写的,考虑大小、易操作、高性能、跨平台以及环境等问题,我就想能不能搞个不需依赖开发语言环境就能运行的。所以我就选择 go并且它本身就具备以上优点。作者本身是java开发,第一次使用 go所以过程也是比较艰难,好在 GPT 在学习一门新的开发语言方面还是相当给力!💪💪💪

这是一个用于保存公众号文章到本地离线查看的软件,支持将 HTML 文章保存至本地,并提供 HTML 转 PDF 的功能。此外,软件还支持图片素材管理,可在 Windows、Mac 和 Linux 系统上运行,使用 Go 语言开发,具备轻量级、小体积、高性能和并发支持的特点。不支持批量直接获取文章列表

功能特点

  • 保存公众号文章至本地
  • 支持将 HTML 文章转换为 PDF 格式(需安装 wkhtmltopdf
  • 图片素材管理
  • 保存原始地址
  • 跨平台支持:Windows、Mac 和 Linux
  • 使用 Go 语言开发,轻量级、高性能、高并发
  • 提供简单易用的 Web 界面管理

下载

v1.0.5(当前版本)

替换根目录 webwxdown 文件重新启动完成更新

  • 解决有空格的文件夹路径问题
    • 生成 PDF 失败 issues#4
    • 无法通过浏览器打开文件夹
  • 解决首页合集无法下载 52破解
  • 新增图片预览功能

注意事项:

  1. 不要安装在带有空格的文件路径中,避免不必要的麻烦(该问题已解决)
  2. window 下无法转 PDF 据部分使用者反馈
    可以通过双击 wkhtmltopdf.exe
操作系统 链接 文件大小
Windows wxdown-1.0.5-windows-amd64.zip 18.6 M
Linux wxdown-1.0.5-linux-amd64.zip 6.8 M
ARM Linux wxdown-1.0.5-linux-arm64.zip 6.4 M
macOS wxdown-1.0.5-darwin-amd64.zip 6.5 M
macOS(M 系列) wxdown-1.0.5-darwin-arm64.zip 6.8 M

v1.0.4

替换根目录 webwxdown 文件重新启动完成更新

  • 解决 webp 图片格式无法转PDF问题
  • 解决标签合集不满足分页条件错误问题 issues#4
  • 新增图片集文章类型下载 示例
操作系统 文件名 链接 文件大小
Windows wxdown-1.0.4-windows-amd64.zip https://864000.lanzouj.com/iWeh328yffqb 18.2 M
ARM Linux wxdown-1.0.4-darwin-arm64.zip https://864000.lanzouj.com/iyiSZ28yfi1e 6.6 M
Linux wxdown-1.0.4-linux-amd64.zip https://864000.lanzouj.com/idCnP28yfbef 7.0 M
macOS wxdown-1.0.4-linux-arm64.zip https://864000.lanzouj.com/igmYJ28yfcpc 6.6 M
macOS(Apple Silicon) wxdown-1.0.4-darwin-amd64.zip https://864000.lanzouj.com/iom6a28yfgwd 6.9 M

v1.0.3(当前版本)

替换根目录 webwxdownconfig.yaml 文件重新启动完成更新

  • 增加自定义目录名称
  • 增加启动时默认在浏览器打开管理端
  • 优化公众号最近更新样式问题
  • 优化html、图片异步下载(可能会出现页面下载完了,图片还没有过会就好)
  • 优化管理页面
  • 重构代码
操作系统 文件名 链接 文件大小
Windows wxdown-1.0.3-windows-amd64.zip https://864000.lanzouj.com/iR2ZM24ur81i 18.1 M
ARM Linux wxdown-1.0.3-linux-arm64.zip https://864000.lanzouj.com/iq5LZ24ur59i 6.0 M
Linux wxdown-1.0.3-linux-amd64.zip https://864000.lanzouj.com/iDzcY24ur4be 6.3 M
macOS wxdown-1.0.3-darwin-arm64.zip https://864000.lanzouj.com/i34G224ur3cj 6.0 M
macOS(Apple Silicon) wxdown-1.0.3-darwin-amd64.zip https://864000.lanzouj.com/iwuPf24ur2ef 6.3 M

v1.0.2

替换根目录 webwxdownconfig.yaml 文件重新启动完成更新

  • 增加自定义目录名称(合集)
  • 增加 macOS 打开目录
  • 增加 svg 内嵌图片下载
  • 增加 http 基础认证(详情配置文件)
  • 修改 svg 文件下载 bug
  • 移除自动检测缺少目录上个版本
操作系统 版本/架构 大小
Windows wxdown-1.0.2-windows-amd64.exe 9.23MB
ARM Linux wxdown-1.0.2-linux-arm64 8.75MB
Linux wxdown-1.0.2-linux-amd64 9.04MB
macOS wxdown-1.0.2-darwin-amd64 9.09MB
macOS(Apple Silicon) wxdown-1.0.2-darwin-arm64 8.75MB

v1.0.1

  • 增加音频、视频下载
  • 增加首页合集、标签合集下载
  • 优化页面样式、自适应移动端
  • 部分图片解析异常bug优化
  • 替换根目录的 web 目录和 wxdown 开头可执行文件,重新启动完成更新
操作系统 版本/架构 大小
Windows wxdown-1.0.1-windows-amd64.exe 9.23MB
ARM Linux wxdown-1.0.1-linux-arm64 8.75MB
Linux wxdown-1.0.1-linux-amd64 9.04MB
macOS wxdown-1.0.1-darwin-amd64 9.09MB
macOS(Apple Silicon) wxdown-1.0.1-darwin-arm64 8.75MB

v1.0.0

操作系统 版本/架构 大小
Windows wxdown-1.0.0-windows-amd64.exe 9.23MB
ARM Linux wxdown-1.0.0-linux-arm64 8.75MB
Linux wxdown-1.0.0-linux-amd64 9.04MB
macOS wxdown-1.0.0-darwin-amd64 9.09MB
macOS(Apple Silicon) wxdown-1.0.0-darwin-arm64 8.75MB

安装和运行

Windows

包含了 wkhtmltopdf

  1. 解压缩包
  2. 打开目录
  3. 双击 wxdown-1.0.0-windows-amd64.exe 启动
  4. 浏览器访问 http://127.0.0.1:81

如下所示启动成功:

cwd: E:\code\go\go-wx-download
----------------------------------------
        欢迎使用 wxdown 工具!
----------------------------------------
运行模式 : binary
软件版本 : 1.0.0
操作系统 : windows
系统架构 : amd64
启动时间 : 2024-05-19 00:00:00
----------------------------------------
服务信息
----------------------------------------
服务地址:
        http://192.168.31.209:81        (浏览器访问)
        http://192.168.202.1:81 (浏览器访问)
        http://192.168.11.1:81  (浏览器访问)
        http://172.26.192.1:81  (浏览器访问)
        http://127.0.0.1:81     (浏览器访问)
采集接口:
        http://192.168.31.209:81/gather/        (GET|POST|HEAD)
        http://192.168.202.1:81/gather/ (GET|POST|HEAD)
        http://192.168.11.1:81/gather/  (GET|POST|HEAD)
        http://172.26.192.1:81/gather/  (GET|POST|HEAD)
        http://127.0.0.1:81/gather/     (GET|POST|HEAD)
----------------------------------------
配置信息
----------------------------------------
运行路径 : E:\code\go\go-wx-download
资源路径 : E:\code\go\go-wx-download\data

Linux

添加权限

chmod +x wxdown-1.0.0-linux-amd64

启动程序

root@mac-max:/home/wx# ./wxdown-1.0.0-linux-amd64 
cwd: /home/wx
----------------------------------------
        欢迎使用 wxdown 工具!
----------------------------------------
运行模式 : binary
软件版本 : 1.0.0
操作系统 : linux
系统架构 : amd64
启动时间 : 2024-05-19 00:00:00
----------------------------------------
服务信息
----------------------------------------
服务地址:
        http://192.168.31.156:81        (浏览器访问)
        http://172.17.0.1:81    (浏览器访问)
        http://172.18.0.1:81    (浏览器访问)
        http://127.0.0.1:81     (浏览器访问)
采集接口:
        http://192.168.31.156:81/gather/        (GET|POST|HEAD)
        http://172.17.0.1:81/gather/    (GET|POST|HEAD)
        http://172.18.0.1:81/gather/    (GET|POST|HEAD)
        http://127.0.0.1:81/gather/     (GET|POST|HEAD)
----------------------------------------
配置信息
----------------------------------------
运行路径 : /home/wx
资源路径 : /home/wx/data

Mac

出现 permission denied 表示没有权限

(base) mac@macdeMacBook-Pro-3 ~ % /Users/mac/Desktop/wxdown-1.0.0-darwin-amd64/wxdown-1.0.0-darwin-amd64  
zsh: permission denied: /Users/mac/Desktop/wxdown-1.0.0-darwin-amd64/wxdown-1.0.0-darwin-amd64

添加权限

(base) mac@macdeMacBook-Pro-3 ~ % chmod +x /Users/mac/Desktop/wxdown-1.0.0-darwin-amd64/wxdown-1.0.0-darwin-amd64

双击 wxdown-1.0.0-darwin-amd64 启动或命令启动

(base) mac@macdeMacBook-Pro-3 ~ %  /Users/mac/Desktop/wxdown-1.0.0-darwin-amd64/wxdown-1.0.0-darwin-amd64

执行结果同上

简单使用会下载和安装就可以了,后面都基本没啥用了😄😄,不用再看了

目录结构

  • web:HTML 页面,很简单也可以自己修改
    • index.html 主页面
    • images.html 图片预览页面
  • config.yaml:系统全局配置文件
  • wxdown-1.0.0 可执行文件,程序入口

config.yaml

# 服务端口
port: 81

# 本地数据文件存储路径
path: ./data

# HTML 转 PDF 配置
# 下载 wkhtmltopdf 路径 https://wkhtmltopdf.org/downloads.html
# window 建议下载后将 wkhtmltopdf目录下载所有内容拷贝到项目根目录下
wkhtmltopdf:
  # true 开启 false 关闭 默认关闭
  enable: false
  # linux 例如:/usr/local/wkhtmltopdf/bin/
  # window 例如:E:\Program Files\wkhtmltopdf\bin
  path:

# 采集线程配置
thread:
  # 同时下载 HTML 线程数量
  html: 5
  # 同时下载图片线程数量
  image: 10

接口

采集接口

地址 请求方式 请求参数 请求体
http://127.0.0.1:81/gather/ GET /gather/https://mp.weixin.qq.com/1
HEAD /gather/https://mp.weixin.qq.com/1
POST /gather/ ["https://mp.weixin.qq.com/1","https://mp.weixin.qq.com/2",...]

书签脚本

注意⚠️:如果启动软件的机器和浏览文章的机器不是一台机器,使用局域网 IP(192.168.0.xxx)替换 127.0.0.1

javascript:fetch("http://127.0.0.1:81/gather/" + window.location.href,{mode:"no-cors"});

使用方法:

  1. 浏览器书签栏➡️右键➡️添加网页...➡️名称:随便你能记住就行➡️网址:输入下面js脚本
  2. 打开浏览器公众号文章
  3. 点击上面添加的书签脚本软件会自动采集

资源接口

地址 请求方式 请求参数 请求体
http://127.0.0.1:81/articles GET

打开文件夹接口

地址 请求方式 请求参数 请求体
http://127.0.0.1:81/open/ GET /open/公众号名称

使用示例

主页面

主界面

文章列表

文章列表

图片库

图库

开发和贡献

本软件使用 Go 语言开发,欢迎开发者贡献代码或提出改进建议。请在 GitHub 上提交 issue 或 pull request。

注意事项

  • 请勿传播未经授权的文章或图片。
  • 在保存、转换文章或管理图片时,请注意版权和法律规定。
posted @ 2024-05-20 10:37  天葬  阅读(941)  评论(0编辑  收藏  举报