Feedr 是一款功能豐富的終端式 RSS 資訊閱讀器,以 Rust 編寫。它提供了一個乾淨、直觀的 TUI 介面,用於管理和閱讀 RSS 資訊,並帶有優雅的視覺效果和流暢的鍵盤導航。

Feedr 在 AUR 上可用。使用您偏好的 AUR helper 進行安裝:

二進位檔將位於 target/release/feedr。

從命令列檢視和修改設定:

可用的設定鍵使用點標記法(例如 general.max_dashboard_items、network.http_timeout、ui.theme、ui.compact_mode)。執行 feedr config list 以查看所有鍵。資訊管理(default_feeds)僅可透過 TUI 編輯器進行。

以下所有按鍵綁定均顯示其預設值。您可以透過設定檔中的 [keybindings] 章節重新映射任何動作 — 請參閱可設定的按鍵綁定。

Feedr 支援透過遵循 XDG Base Directory 規格的 TOML 設定檔進行自訂。您可以直接編輯該檔案,從命令列使用 feedr config get/set,或使用 feedr config --tui 進行互動式編輯。

如果設定檔不存在,首次執行時將自動生成預設值。

啟用每 5 分鐘自動重新整理並進行請求限速:

注意:請求限速會按網域分組資訊,並錯開請求以防止達到 API 限制。例如,如果您有多個 Reddit 資訊,它們將在每次請求之間延遲 2 秒進行擷取,以避免被封鎖。

您可以定義要在首次執行時自動載入的資訊:

某些 RSS 資訊需要驗證或自訂 HTTP 標頭。您可以為每個資訊配置標頭:

標頭將在每次請求該資訊時發送,包括重新整理。

大多數 RSS 資訊僅提供簡短摘要。Feedr 可以擷取連結的文章 URL,並運行 Mozilla Readability(透過 dom_smoothie crate)來提取實際的文章內文並內嵌渲染。

Feedr 支援 newsboat 風格的外部命令,用於兩種工作流程:巨集(按鍵觸發的動作鏈,作用於焦點文章)和 exec_on_new(每次重新整理後針對新出現的項目觸發的通知掛鉤)。

命令不會透過 shell 運行。範本在載入設定時進行一次標記化,並將 %X 佔位符替換到個別的 argv 標記中 — 內容永遠無法逃脫參數。對於管道、重新導向或 globbing,請編寫一個小型 shell 腳本並調用它。

在巨集和掛鉤命令的每個 argv 標記中展開:

當項目沒有媒體時,%m / %M / %i 會展開為空字串 — 它們與 %u(無後備)正交。對於 YouTube 頻道資訊,觀看頁面 URL 是 %u;資訊中的影片 URL 是 %m。對於 RSS 播客,節目頁面是 %u;音訊檔案是 %m。

巨集將一個按鍵綁定到一個有序的步驟鏈。透過 <prefix><key> 觸發(預設前綴是 , )。步驟之間用 ; 分隔。可選的尾隨 -- "description" 會覆蓋說明疊加層標籤。

鏈在第一個步驟錯誤時停止。按下 Esc 鍵(在按下前綴後)可取消;未綁定的後續操作會顯示 "No macro bound" 錯誤。巨集也會在說明疊加層(?)中渲染。

每次重新整理後,針對每個新出現的項目觸發一次命令。每個資訊的第一次成功擷取會靜默地播種已見集合 — 您不會在初始載入或首次運行時收到大量資訊。

子進程以分離模式啟動,因此 TUI 永遠不會被它們阻塞。崩潰語義為最多一次:feedr 在啟動前持久化已見集合,因此中途終止會丟失通知,而不是在下次啟動時重新觸發。請偏好冪等命令(例如 wallabag-cli add 是安全的;mail-me 不是)。

透過在設定檔中添加 [keybindings] 章節來重新映射任何動作。每個動作都可以綁定到一個單一字元鍵字串或一個鍵陣列:

支援的鍵格式:單個字元(q、?、/)、特殊鍵(Enter、Space、Tab、Esc、Backspace、Up、Down、Left、Right、Home、End、PageUp、PageDown、Delete、F1 – F5),以及修飾符組合(Ctrl+q、Shift+Tab、Alt+x)。

Feedr 將您的書籤、類別、已讀/未讀狀態和標記的文章儲存在:

Feedr 會自動將資料從舊版本遷移到新的 XDG 相容位置。您現有的資料將被保留,並在首次運行時自動移動到正確的位置。