Wechat2RSS作为公开免费服务运行差不多一年了,大概讲讲是怎么做的
目前RSS大概有两种模式
一种是比较常规的,放一个静态文件,更新内容的时候去更新这个文件
一种是类似RSSHub,通过传入参数,动态的去抓取资源,生成RSS的结果,通过控制缓存来控制刷新频率
第一版
第一版用Node.js写的,生成RSS的xml文件,用Nginx把静态文件放出去,然后用Telegram Bot把日志之类的传回来
主要考虑这样会安全一些,没有动态内容暴露出来,而且微信公众号的更新频率不需要太高,本身就只能一天一更,没必要做太复杂
最早这个服务是在境外VPS上跑的,随着RSS数量增加,微信开始有一些限频的操作,需要过验证码,不想费脑子去自动过验证码
后来发现可以手机上过,但是VPS网络和手机网络不在一个地方,经常过不了,然后代理到VPS出口网络就可以了
远程管理
这样用了挺长时间,但不时会有增改公众号的需求,总是上服务器改也挺麻烦的,后来给Bot加了些功能,可以通过Bot来增加公众号
顺便用Go重写了整个服务,部署起来更方便了
访问速度
RSS是通过Cloudflare暴露出来的,有些地方打不开,访问慢,后来了解到Vercel,在国内访问速度非常快,把xml文件推送到Vercel上,就不用Cloudflare了
服务迁移
其实到这里对VPS的要求就不高了,没有直接的对外服务,完全可以在内网运行
随着VPS到期,把这个服务转移到了我的旧笔记本上跑
Cloudflare
随着越来越多的人使用,Vercel的免费流量开始不太够用了,被迫又套上了Cloudflare加一层缓存
开源
这个世界还没有一个self-hosted的微信公众号转RSS的解决方案,我开源岂不是第一个
这个架构部署使用起来比较麻烦,对Telegram Bot有强依赖,用来登录和管理数据,做纯web管理我也想,但没动力/前端做hhh,开源或许有人可以来做
但是我对微信RSS有强需求,比较担心开源后爬微信的这个渠道会被封,这是对开源最大的顾虑了(垃圾代码是第二大)