将Telegram频道显示为一个网页

2025年2月4日 16:30:29

我目前在使用Planet作为博客,它可以管理多个站点,于是我又建了一个作为日常便签使用。唯一不足是Planet iOS端只能通过API连接到电脑上进行发布,所以即便能通过手机发布内容,电脑还得一直开着。

macOS有一个功能“唤醒以供网络访问”,就是在休眠情况下也能使用网络唤醒。可我实践中发现,这样只是有概率能连上,而把电脑设为不休眠就可以稳定连接。我使用Cloudflare Tunnel以实现外部访问,但这样还是有点折腾。

我前几天就发现了一个将Telegram频道作为网页发布的项目,当我昨天创建好频道时却找不到了,忘记是在哪里看见的了。 而且我还发现,和xLog一起的有一个xSync服务,可以将一些平台的内容同步到crossbell链上,我尝试了即刻,可是认证过程中需要改个性签名,但是即刻不让改。我就绑定了我的Telegram频道,这需要将频道设为公开。但是我绑定之后始终无法同步上去,手动和自动都不行,我也不知道是什么原因。

于是我让ChatGPT给我建议,它说可以用RSShub+rss2json来实现。我让它写了一个HTML,能用但是不好用,首先RSShub官方实例缓存时间是1小时,也就是1小时之后才能同步新的内容,而且rss2json有一个跨域请求问题。最终我让AI改了几次,去掉了rss2json,而是直接读取RSS内容。为了修改缓存时间,我自己搭建了一个自用的RSShub,缓存时间设为300秒。这样就完美了。最终的代码在这里: https://github.com/urkbio/rss2web

我本来想直接托管到GitHub Pages上,但是发现Planet有一个发布文件夹功能,就尝试了一下,果然可以用。这样的话,就能保证原始版本在本地电脑上,修改也方便。

我又想起了4everland,我将生成的IPNS添加到4ever部署,并绑定域名,现在它可以被访问了: https://chnl.zyg.im 。由于这是每次访问自动从RSS源拿数据,HTML代码也不会变,所以一旦部署好就能用了,不会被4ever的更新延迟影响。

既然用了IPFS,那也是可以绑定web3域名的,我将我的sol域名添加了一个子域,并将ipns:// 内容添加到record,就可以实现用公共网关 sol.build 访问了。
https://chnl.joomaen.sol.build

公共网关默认不能解析子域,我当时在v2ex评论询问过,Livid大佬帮我手动添加了。