Joomaen

Joomaen's xlog

Joomaen
tg_channel
jike

將Telegram頻道顯示為一個網頁微博客

更新#

在網友評論提醒下找到了這個將 Telegram Channel 轉換為網頁微博客的文章以及源碼倉庫

https://chi.miantiao.me/posts/broadcast-channel/

按照 GitHub 倉庫的說明即可配置,不過我嘗試下來,只有 Cloudflare Pages 可以正常部署,Vercel 遇到了運行環境錯誤。
它有許多個環境變量配置,最小配置的話就設定一下頻道用戶名就行。

我之前用 Ai 寫的一個簡單的網頁,是通過 RSS 來抓取 Telegram Channel 並逐條顯示,不過還是這個項目更加成熟,部署方便,界面好看。

下面是我的折騰過程,沒什麼用,如果只是想將 Telegram 頻道顯示為一個網頁微博客,用上述項目部署就行了。


👇以下原文#

我目前在使用 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 大佬幫我手動添加了。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。