WeWe RSS
扫码查看

将微信公众号转换为RSS信息源的订阅工具

WeWe RSS

综合介绍

WeWe RSS 是一个开源工具,它可以将微信公众号的文章转换成RSS信息源,方便用户在自己喜欢的RSS阅读器中订阅和阅读。这个项目依赖微信读书的接口来获取公众号内容,为用户提供了一种绕过微信闭环生态、聚合阅读信息的解决方案。用户可以自己部署这个服务,通过私有化部署来确保数据安全和服务的稳定性。该工具支持生成多种格式的RSS链接,并且可以输出文章全文,优化了阅读体验。此外,它还具备定时更新、标题过滤和历史文章获取等功能,让公众号的订阅管理更加灵活和高效。

功能列表

  • 公众号订阅: 基于微信读书接口,将微信公众号内容转换为RSS信息源。
  • 多种格式: 支持生成.atom.rss.json三种格式的订阅链接。
  • 全文输出: 能够输出公众号文章的全部内容,避免跳转阅读。
  • 历史文章: 支持获取已关注公众号的历史发布内容。
  • 定时更新: 后台按照预设的Cron表达式(默认为每天5:35和17:35)自动更新订阅内容。
  • OPML导出: 支持将所有订阅源导出为OPML文件,方便在不同RSS阅读器之间迁移。
  • 标题过滤: 可以通过特定参数,在生成的订阅链接中过滤包含或排除某些关键词的标题。
  • 手动更新: 支持通过接口手动触发对单个订阅源的立刻更新。
  • 私有化部署: 支持用户在自己的服务器上使用Docker或直接进行部署。
  • 钉钉通知: 可配置钉钉机器人,将更新动态推送到钉钉。

使用帮助

wewe-rss 提供了多种部署方式,其中使用Docker Compose是最为推荐和便捷的一种。以下将详细介绍如何使用Docker部署和使用wewe-rss。

准备工作

在开始之前,请确保你的服务器已经安装了DockerDocker Compose

第一步:使用Docker Compose部署(推荐)

这种方式适合大多数用户,因为它简化了数据库和主服务的启动流程。项目提供了两种数据库方案:MySQL(推荐)和SQLite(不推荐,仅适合轻度使用)。

使用MySQL数据库(推荐方案)

  1. 创建网络: 为了让主服务和数据库容器能够互相通信,首先创建一个专用的Docker网络。
    docker network create wewe-rss
    
  2. 启动MySQL数据库: 运行以下命令来启动一个MySQL 8.3.0版本的容器。
    • --name db: 将容器命名为db
    • -e MYSQL_ROOT_PASSWORD=123456: 设置数据库的root用户密码为123456请在生产环境中替换为更安全的密码
    • -e MYSQL_DATABASE='wewe-rss': 创建一个名为wewe-rss的数据库。
    • -v db_data:/var/lib/mysql: 将数据库文件持久化存储在名为db_data的Docker数据卷中,防止容器删除后数据丢失。
    • --network wewe-rss: 将容器连接到我们创建的网络。
    docker run -d \
    --name db \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -e TZ='Asia/Shanghai' \
    -e MYSQL_DATABASE='wewe-rss' \
    -v db_data:/var/lib/mysql \
    --network wewe-rss \
    mysql:8.3.0 --mysql-native-password=ON
    
  3. 启动wewe-rss主服务: 运行以下命令启动主服务容器。
    • -p 4000:4000: 将主机的4000端口映射到容器的4000端口。你可以根据需要更改主机端口。
    • -e DATABASE_URL: 设置数据库连接地址。这里的db就是上一步中启动的MySQL容器的名称。
    • -e AUTH_CODE=123567: 设置一个访问授权码,用于保护接口。请在生产环境中替换为更安全的密码。如果留空,则不启用授权。
    • --network wewe-rss: 将该容器也连接到wewe-rss网络。
    docker run -d \
    --name wewe-rss \
    -p 4000:4000 \
    -e DATABASE_URL='mysql://root:123456@db:3306/wewe-rss?schema=public' \
    -e AUTH_CODE=123567 \
    --network wewe-rss \
    cooderl/wewe-rss:latest
    

第二步:访问和配置

部署成功后,通过浏览器访问 http://<你的服务器IP>:4000 即可看到wewe-rss的管理界面。

  1. 登录微信读书账号:
    • 进入左侧菜单的「账号管理」。
    • 点击「添加账号」,页面会显示一个二维码。
    • 使用你的微信扫描该二维码登录微信读书。
    • 重要提示:扫码时,请不要勾选“24小时后自动退出”选项,以保持长期登录状态。但请注意,账号登录状态通常在2-3天后仍会失效,届时需要重新扫码登录。
  2. 订阅公众号:
    • 进入左侧菜单的「公众号源」。
    • 点击「添加」按钮。
    • 你需要提供目标公众号的分享链接。获取方式为:在手机微信中打开任意一篇该公众号的文章,点击右上角的“...”菜单,选择“复制链接”。
    • 将复制的链接粘贴到输入框中提交即可完成订阅。
    • 注意:添加公众号的频率不宜过高,否则可能会被微信暂时限制,需要等待约24小时才能恢复。
  3. 获取RSS链接:
    • 订阅成功后,在「公众号源」列表中,你可以看到每个公众号对应的不同格式的RSS链接(atom, rss, json)。
    • 复制你需要的链接,并将其添加到你的RSS阅读器(如Feedly, Inoreader, Reeder等)中即可开始接收更新。
    • 如果你想一次性订阅所有公众号,可以使用页面顶部提供的“全部订阅”链接。

高级配置与使用

  • 设置公网访问地址: 如果你希望通过域名公开访问你的wewe-rss服务,必须配置SERVER_ORIGIN_URL环境变量。这个变量用于生成正确的RSS订阅链接地址。例如,如果你的域名是https://rss.example.com,则启动主服务时需增加该环境变量:
    -e SERVER_ORIGIN_URL='https://rss.example.com'
    
  • 标题过滤: 在获取的RSS链接后面可以添加参数来进行标题过滤。
    • 包含特定词:?title_include=关键词A|关键词B
    • 排除特定词:?title_exclude=关键词C

应用场景

  1. 聚合信息流,打破信息孤岛对于依赖RSS阅读器作为主要信息获取渠道的用户,可以使用wewe-rss将分散在微信内的优质公众号内容统一整合到自己的阅读器中,与博客、新闻网站等信息源一同阅读,构建属于自己的个性化信息流。
  2. 知识管理与内容存档研究人员、内容创作者或特定领域的爱好者可以利用wewe-rss订阅行业相关的公众号,并结合支持全文保存的RSS阅读器或自动化工具(如IFTTT, Zapier),将有价值的文章自动保存到笔记应用(如Evernote, Notion)中,方便后续的检索、引用和归档。
  3. 团队信息共享与监控企业或团队可以部署一个私有的wewe-rss服务,用于订阅行业动态、竞争对手或合作伙伴的公众号。通过生成的RSS源,可以方便地将这些信息接入团队协作工具(如Slack, Microsoft Teams)或内部看板,实现信息的快速同步和共享。

QA

  1. wewe-rss的原理是什么?它稳定吗?wewe-rss通过模拟用户登录微信读书,利用微信读书的接口来获取已关注公众号的文章列表和内容。它的稳定性主要依赖于微信读书相关接口的稳定。只要这些接口不发生大的调整,服务就可以持续运行。
  2. 为什么部署后需要经常重新扫描二维码登录?这是因为微信读书的登录状态(session)具有时效性,通常在2到3天后会过期。 当状态失效后,wewe-rss就无法获取到账号信息,此时管理界面的“账号状态”会显示为“失效”。你需要进入「账号管理」页面,删除失效的账号并重新扫码添加,以恢复服务。
  3. 部署在公网服务器上,需要注意什么?最重要的一点是必须正确设置AUTH_CODESERVER_ORIGIN_URL这两个环境变量。AUTH_CODE为你的服务提供基础的访问保护,而SERVER_ORIGIN_URL确保生成的RSS链接地址是正确的公网地址,否则你的RSS阅读器将无法抓取到更新。
  4. 添加公众号时提示“添加频率过高”怎么办?这是微信的风控机制导致的。短时间内通过接口频繁请求公众号信息会被限制。通常,这个限制会在大约24小时后自动解除。 建议分批次、间隔一段时间添加公众号,避免触发该限制。
  5. 这个服务是完全私有的吗?会上传我的数据吗?根据项目作者的说明,wewe-rss服务本身是私有化部署的,数据存储在你自己控制的数据库中。但为了确保项目能持续运行,部分接口请求会通过一个公共的转发服务weread.111965.xyz进行。作者声明该转发服务不会保存任何用户数据。
微信微博Email复制链接