每个热爱 RSS 的人都会面临这道砍,而 WeWe RSS 是一个相对优雅的选择。
一点背景
基于 RSS 搭建阅读系统面临的问题之一,是难以兼顾微信生态中的丰富资讯。其中部分有深度价值的内容只此一处,而在开放世界中难寻。
RSSHub 上的微信路由似乎总在 404,曾经好用的第三方订阅源也因为各种原因不再运营(或对新用户开放)。因此在很长一段时间内,我的阅读系统被割裂为 RSS + 微信两部分。
然而公众号推送机制迭代至今天,“订阅”一个公众号已经越来越像“关注”一个社交账号,想注意到更新提醒也需要一些缘分,“已读/未读”功能更是奢求。
还好 今年三月份 WeWe RSS 项目上线,至今已更新半年有余,为有需要的人提供了一个选择。在少数派 RSS 相关文章的评论区出现过,但还缺少一篇正式介绍的文章。
故有此文。
风险提示
处于重重限制下的 WeWe RSS 并不完美,所以有必要先把已知问题罗列出来:
1. 代码并非开源
按照一些渠道的说法,该项目是“不完全开源”;按照作者的说法以及查阅代码,是部分接口请求经过专用服务器转发。只是严格按照开源精神,不完全开源就是不开源,是被特殊处理的“社区版本”。
介意的话,可以注册一个专用的微信号。作者给我们一个方案,我们借他一个账号,"价格”
透明。
2. 订阅数量有限
WeWe RSS 在底层使用了微信读书的接口,关注公众号太多或刷新频率超限都会触发验证码机制(有在微信读书刷公众号的朋友应该遇到过),持续触发还会被关小黑屋。
按照项目 Issues 中的交流,这个限制大概在 10 个公众号乘上每天刷新两次左右。如果需要关注更多公众号,最好按此比例提供更多账号。
3. 项目寿命存疑
从过往历史看,微信公众号的订阅源易暴毙。仅从 GitHub Issues 角度看,该项目存量 issues 已达 160 个(作为对比,项目复杂度更高、影响范围更广的 RSSHub 此时为 300),而维护者就作者一人,不禁令人担忧。
这点无解。好在基于 Zeabur 或 Docker 部署项目十分简便,值得一试。
主要功能
权衡完利弊,WeWe RSS 不失为一种更优雅的选择。使用起来非常简洁直接:
1. 授权微信账号
在账号管理页面添加微信读书账号。点击按钮弹出二维码,微信或微信读书扫码即可完成登录。后续 WeWe RSS 将在特定时间用该账号信息拉取公众号更新。
2. 关注微信公众号
在公众号源页面添加公众号源。这里作者为了简化用户操作,只要求用户提供该公众号下的一篇文章的短链接(形如 https://mp.weixin.qq.com/s/xxxxxx
),系统会在后台解析该公众号的 ID。
3. 单独或全部订阅即可
完成订阅后即可在公众号源页面打开 RSS 链接,支持单个公众号订阅和全部订阅两种方式。修改订阅链接最后的格式后缀,可获取 .atom / .rss / .json 等不同格式的输出。
部署方式
若非要进行本地开发,作者首推了两种方式进行部署:
1. Zeabur
没有或懒于维护服务器资源的,可以有限考虑 Zeabur 方案(少数派的双十一还在,传送门:https://sspai.com/post/93669)。
Zeabur 的底层运行在各大公有云上,也不太容易被针对反爬。
2. Docker Compose
需要更自由控制的话可以用 Docker 镜像。分享一下我的 Compose 文件,和 Fresh RSS 联合部署,订阅的时候需要注意把根路径替换为 wewe-rss:4000
。
services:
freshrss:
image: freshrss/freshrss:latest
restart: always
ports:
- 127.0.0.1:3001:80
volumes:
- freshrss-data:/var/www/FreshRSS/data
- freshrss-extensions:/var/www/FreshRSS/extensions
environment:
CRON_MIN: 13,43
TZ: Asia/Shanghai
wewe-rss:
image: cooderl/wewe-rss-sqlite:latest
restart: always
ports:
- 127.0.0.1:3002:4000
volumes:
- wewe-rss-data:/app/data
environment:
DATABASE_TYPE: sqlite
AUTH_CODE:
MAX_REQUEST_PER_MINUTE: 60
FEED_MODE: fulltext
CRON_EXPRESSION: 41 5,17 * * *
volumes:
freshrss-data:
freshrss-extensions:
wewe-rss-data:
从配置上可以看到我没有直接暴露端口,外网访问还需要通过 Nginx 反向代理另行配置。这里综合考虑了宿主系统上的其他服务,仅供参考~
尾巴
这篇短文就到这里。相信其实大多数有意愿的朋友已经在使用了,但总感觉如果社区里没有这篇文章好像少了点什么。
项目链接放在这里,更多问题欢迎留言交流~