WeWe RSS:为微信公众号生成RSS订阅源

什么是 WeWe RSS ?

WeWe RSS 支持基于微信读书的微信公众号订阅,能为微信公众号生成 RSS,支持.atom.rss.json格式,支持全文内容输出,让阅读无障碍,实现更优雅的微信公众号订阅方式。

软件功能:

  • ✅  v2.x 版本使用全新接口,更加稳定
  • ✅  支持微信公众号订阅(基于微信读书)
  • ✅  后台自动定时更新内容
  • ✅  微信公众号 RSS 生成(支持.atom.rss.json格式)
  • ✅  支持全文内容输出,让阅读无障碍
  • ✅  所有订阅源导出 OPML

建数据库

WeWe RSS 支持 SqliteMySQL 两种数据库,但分别是两个镜像:cooderl/wewe-rss-sqlitecooderl/wewe-rss,老苏只演示了 MySQL 版的安装

老苏用了群晖自带的 MariaDB 10 数据库。

phpMyAdmin 中创建名为 werss 的空数据库。

为便于说明,假设数据库密码为 123456

所以根据上面的设置,最后得到的数据库相关的参数如下:

  • 数据库主机:192.168.0.197,与群晖主机 IP 一致;
  • 数据库端口:3307,如果用 MariaDB 5 就是 3306,但老苏没测;
  • 数据库用户:werss
  • 数据库密码:123456
  • 数据库库名:werss,因为勾选了与用户同名;

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 wewe-rss ,选择第二个 cooderl/wewe-rss,版本选择 latest

本文写作时, latest 版本对应为 v2.2.3

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
4500 4000

环境

可变
DATABASE_URL 数据库连接地址
AUTH_CODE 服务接口请求授权码
  • DATABASE_URL :数据库地址的格式是mysql://username:password@localhost:port/mydb?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30,按照我们之前的设定,拼接后的地址是这样的:mysql://werss:123456@192.168.0.197:3307/werss?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30
  • AUTH_CODE:服务接口请求授权码,登录后台管理页面时需要

环境 界面下拉到底,找到这两个参数,填入相应的值即可

更多的环境变量请参考官方的说明:https://github.com/cooderl/wewe-rss#环境变量

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
# 运行容器
docker run -d \
--restart unless-stopped \
--name wewe-rss \
-p 4500:4000 \
-e DATABASE_URL='mysql://werss:123456@192.168.0.197:3307/werss?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30' \
-e AUTH_CODE=123567 \
cooderl/wewe-rss:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
version: '3'

services:
wewe-rss:
image: cooderl/wewe-rss:latest
container_name: wewe-rss
restart: unless-stopped
ports:
- 4500:4000
environment:
- DATABASE_URL=mysql://werss:123456@192.168.0.197:3307/werss?schema=public&connect_timeout=30&pool_timeout=30&socket_timeout=30
- AUTH_CODE=123567

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 werss 
mkdir -p /volume1/docker/werss

# 进入 werss 目录
cd /volume1/docker/werss

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:4500 就能看到主界面,点中间的链接

需要用环境变量 AUTH_CODE 设置的密码登录

登录成功后的主界面,暂时还扫码都没有

账号管理

进入 账号管理,点击 添加账号,微信扫码登录微信读书账号

扫码登录成功后

账号状态说明

  • 今日小黑屋

    账号被封控,等一天恢复,如果账号正常,可以通过重启容器清除小黑屋记录

  • 禁用

    不使用该账号

  • 失效

    账号登录状态失效,需要重新登录

公众号源

进入 公众号源 ,点击 添加 ,通过提交微信公众号分享链接,订阅微信公众号。 

【注意】:添加频率过高容易被封控,等24小时解封

例如老苏的文章:简单的链接中心软件yal

添加成功后会显示公众号的文章列表

获取 RSS 地址:

  • ①:选中全部或者单个公众号
  • ②:获取订阅地址
    • 单个公众号格式类似于:http://192.168.0.197:4500/feeds/MP_WXS_3255413770.atom
    • 全部公众号格式类似于:http://192.168.0.197:4500/feeds/all.atom

目前 WeWe RSS 还不支持分类和搜索,订阅源多的话就会比较难找,暂时只能借助其他软件

FreshRSS 中可正常订阅,但因为没有开启全文,所以只能点标题在浏览器中新开页面查看

小结

  1. 如果你要放在公网访问,不仅仅是需要反代,别忘了还需要增加环境变量 SERVER_ORIGIN_URL,用于生成 RSS的完整路径

  2. 虽然是自托管部署,但某些接口请求是通过 weread.111965.xyz 转发的,因此并不是所有的数据都在你自己的服务器上。官方申明了转发服务不会保存任何数据

  3. 当出现暂无可用读书号时,需要进 账号管理 ,用微信重新扫码,基本上 2~3 天需要扫一次

  1. 似乎订阅号的数量存在限制,没有看到官方说明,还在摸索中

参考文档

cooderl/wewe-rss: 🤗更优雅的微信公众号订阅方式,支持私有化部署、微信公众号RSS生成(基于微信读书)v2.x
地址:https://github.com/cooderl/wewe-rss