docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐

  • 1.1 RSS Funnel簡(jiǎn)介
  • 1.2 RSS Funnel特點(diǎn)
  • 1.3 注意事項(xiàng)
  • 1.4 使用場(chǎng)景
  • 2.1 本地環(huán)境規(guī)劃
  • 2.2 本次實(shí)踐介紹
  • 3.1 檢查Docker服務(wù)狀態(tài)
  • 3.2 檢查Docker版本
  • 3.3 檢查docker compose 版本
  • 5.1創(chuàng)建部署目錄
  • 5.2 編輯funnel.yaml文件
  • 5.3 編輯部署文件
  • 5.4 創(chuàng)建rss-funnel容器
  • 5.5 檢查容器狀態(tài)
  • 5.6 檢查容器日志
  • 6.1 進(jìn)入RSS-Funnel初始頁(yè)
  • 6.2 訪問內(nèi)容
  • 6.3 訂閱RSS源

一、RSS Funnel介紹

1.1 RSS Funnel簡(jiǎn)介

RSS Funnel 是一款模塊化的 RSS 處理管道系統(tǒng),它能夠以多種方式處理 RSS/Atom 源。

1.2 RSS Funnel特點(diǎn)

  • 獲取全文內(nèi)容: RSS Funnel 可以從原始鏈接中抓取完整的文章內(nèi)容。
  • 從 HTML 頁(yè)面生成 RSS 訂閱源: 可以將任意 HTML 頁(yè)面轉(zhuǎn)換成 RSS 訂閱源。
  • 移除不需要的元素或文本: 用戶可以定制規(guī)則來移除 RSS 訂閱源中的無關(guān)內(nèi)容。
  • 關(guān)鍵詞過濾: 支持基于關(guān)鍵詞的過濾機(jī)制,只保留包含特定關(guān)鍵詞的文章。
  • 關(guān)鍵詞高亮: 可以突出顯示文章中的關(guān)鍵詞。
  • 拆分聚合內(nèi)容: 將聚合的內(nèi)容(例如每日前十的文章鏈接)拆分成單獨(dú)的文章。
  • 合并多個(gè)訂閱源: 可以將多個(gè) RSS 訂閱源合并成一個(gè)。
  • 轉(zhuǎn)換訂閱源格式: 支持在不同的 RSS 和 Atom 格式之間進(jìn)行轉(zhuǎn)換。
  • 執(zhí)行任意 JavaScript 轉(zhuǎn)換: 用戶可以編寫自定義的 JavaScript 腳本來處理 RSS 數(shù)據(jù)。
  • 應(yīng)用圖片代理: 可以為 RSS 訂閱源中的圖片添加代理,保護(hù)隱私或優(yōu)化加載速度。
  • 更多功能: RSS Funnel 還提供了更多的定制選項(xiàng)和擴(kuò)展功能。

1.3 注意事項(xiàng)

  • 該項(xiàng)目正處于開發(fā)的早期階段。請(qǐng)注意 bug 和頻繁的重大更改。
  • 請(qǐng)勿在生產(chǎn)環(huán)境使用

1.4 使用場(chǎng)景

  1. 全文 RSS 生成:
    • 如果一個(gè)網(wǎng)站只提供了包含摘要的 RSS 源,RSS Funnel 可以用來抓取網(wǎng)頁(yè)的全文內(nèi)容,并生成一個(gè)新的 RSS 源,其中包含了每篇文章的完整內(nèi)容。
  2. 內(nèi)容過濾與聚合:
    • 用戶可以設(shè)置規(guī)則來過濾特定關(guān)鍵詞的內(nèi)容,比如排除包含特定詞匯的文章,或者只保留與某些主題相關(guān)的條目。這些過濾后的文章可以被聚合到一個(gè)新的 RSS 源中。
  3. 關(guān)鍵詞高亮:
    • 對(duì)于關(guān)注特定話題的用戶,RSS Funnel 可以自動(dòng)高亮顯示文章中的關(guān)鍵詞,幫助快速識(shí)別出感興趣的信息點(diǎn)。
  4. RSS 轉(zhuǎn)發(fā)與通知:
    • 用戶可以配置 RSS Funnel 將匹配特定條件的 RSS 項(xiàng)通過電子郵件或其他即時(shí)通訊工具發(fā)送給自己,實(shí)現(xiàn)個(gè)性化的內(nèi)容推送。
  5. RSS 自動(dòng)歸檔:
    • RSS Funnel 還可以用于自動(dòng)保存所有 RSS 訂閱的內(nèi)容到本地或云存儲(chǔ)服務(wù)中,方便日后檢索和歸檔。
  6. RSS 源轉(zhuǎn)換:
    • 如果用戶想要將一個(gè) RSS 源轉(zhuǎn)換為 Atom 源,或者反過來,RSS Funnel 可以輕松地完成這種轉(zhuǎn)換工作。

二、本地環(huán)境介紹

2.1 本地環(huán)境規(guī)劃

本次實(shí)踐為個(gè)人測(cè)試環(huán)境,操作系統(tǒng)版本為centos7.6。

Docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐

2.2 本次實(shí)踐介紹

1.本次實(shí)踐部署環(huán)境為個(gè)人測(cè)試環(huán)境,生產(chǎn)環(huán)境請(qǐng)謹(jǐn)慎; 2.使用Docker部署RSS Funnel工具。

三、本地環(huán)境檢查

3.1 檢查Docker服務(wù)狀態(tài)

檢查Docker服務(wù)是否正常運(yùn)行,確保Docker正常運(yùn)行。

root@ubuntu-001:~# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2024-08-02 03:27:13 UTC; 4min 57s ago TriggeredBy: ● docker.socket Main PID: 496286 (dockerd) Tasks: 114 Memory: 46.2M CPU: 5.926s CGroup: /system.slice/docker.service ├─496286 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 檢查Docker版本

檢查Docker版本

[root@jeven ~]# docker -v Docker version 20.10.17, build 100c701

3.3 檢查docker compose 版本

檢查Docker compose版本,確保2.0以上版本。

[root@jeven ~]# docker compose version Docker Compose version v2.6.0

四、下載funnel鏡像

拉取funnel鏡像,鏡像為ghcr.io/shouya/rss-funnel:latest

root@ubuntu-001:~# docker pull ghcr.io/shouya/rss-funnel:latest latest: Pulling from shouya/rss-funnel 49f7b6643e3f: Pull complete Digest: sha256:2d51f032607a342ada479ec48943c8561ec11a3d097992a7372d8bc01dd6ae53 Status: Downloaded newer image for ghcr.io/shouya/rss-funnel:latest ghcr.io/shouya/rss-funnel:latest

五、部署RSS-Funnel應(yīng)用

5.1創(chuàng)建部署目錄

  • 創(chuàng)建部署目錄

mkdir -p /data/rss-funnel/ && cd /data/rss-funnel/

5.2 編輯funnel.yaml文件

在部署目錄下,編輯funnel.yaml文件,內(nèi)容如下:

vim funnel.yaml

root@ubuntu-001:/data/rss-funnel# cat funnel.yaml endpoints: - path: /jeven-blog.xml note: jeven-blog-aa source: https://rss.csdn.net/jks212454/rss/map filters: - full_text: {} - simplify_html: {}

  • 相關(guān)解釋

path:是訪問地址,可參考以上寫法; note:是簡(jiǎn)介,可自定義設(shè)置; source:是源地址; filters:過濾器; full_text:此過濾器從文章中獲取文章的完整 HTMLlink并將其填充到content文章的字段中; simplify_html:此過濾器利用readability 庫(kù)簡(jiǎn)化了 HTML ;

5.3 編輯部署文件

  • 編輯docker-compose.yaml部署文件

vim docker-compose.yaml

version: "3.8" services: rss-funnel: image: ghcr.io/shouya/rss-funnel:latest ports: - 5090:4090 volumes: - ./funnel.yaml:/funnel.yaml environment: RSS_FUNNEL_CONFIG: /funnel.yaml RSS_FUNNEL_BIND: 0.0.0.0:4090 RSS_FUNNEL_WATCH: true

5.4 創(chuàng)建rss-funnel容器

  • 使用docker-compose.yaml文件創(chuàng)建rss-funnel容器

root@ubuntu-001:/data/rss-funnel# docker compose up -d [+] Running 2/2 Network rss-funnel_default Created 0.1s Container rss-funnel-rss-funnel-1 Started 0.7s

5.5 檢查容器狀態(tài)

檢查rss-funnel容器狀態(tài),確保rss-funnel容器正常啟動(dòng)。

root@ubuntu-001:/data/rss-funnel# docker compose ps NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS rss-funnel-rss-funnel-1 ghcr.io/shouya/rss-funnel:latest "/rss-funnel server" rss-funnel 48 seconds ago Up 47 seconds 0.0.0.0:5090->4090/tcp, :::5090->4090/tcp

5.6 檢查容器日志

檢查rss-funnel容器,確保服務(wù)運(yùn)行。

docker compose logs Docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐

六、訪問RSS-Funnel首頁(yè)

6.1 進(jìn)入RSS-Funnel初始頁(yè)

訪問地址:http://192.168.3.251:5090,將IP替換為自己服務(wù)器IP地址,進(jìn)入到RSS-Funnel初始頁(yè)。如果無法訪問,則檢查服務(wù)器防火墻是否設(shè)置,云服務(wù)器的安全組端口是否放行等。

Docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐

6.2 訪問內(nèi)容

  • 點(diǎn)擊/jeven-blog.xml

Docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐

我們點(diǎn)擊鏈接可以看到每篇文章都是顯示的全文,此時(shí)我們生成了一個(gè)

Docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐

6.3 訂閱RSS源

我們?cè)趕elfoss工具中,訂閱RSS源:http://192.168.3.251:5090/jeven-blog.xml

Docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐
Docker環(huán)境下RSS Funnel工具的應(yīng)用實(shí)踐

七、總結(jié)

RSS Funnel 作為一款模塊化的 RSS 處理管道系統(tǒng),提供了豐富的功能來定制和管理 RSS/Atom 訂閱源。它不僅可以獲取全文內(nèi)容、生成 RSS 訂閱源,還能進(jìn)行內(nèi)容過濾、關(guān)鍵詞高亮等多種操作,為用戶提供高度個(gè)性化的 RSS 閱讀體驗(yàn)。

作者聲明本文無利益相關(guān),歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。