折騰系列二:RSSHub+TTRSS+Fever插件+自動(dòng)更新+跨域服務(wù)
原文地址:https://bright.htyed.top/index.php/archives/72/
建議打開原文地址瀏覽,也有相應(yīng)文件可供下載
開篇
RSS:?一種好用的信息聚合技術(shù)。
本次折騰目的:
想要做一個(gè)能全平臺獲取rss的服務(wù)
平臺應(yīng)用:
PC:?rss追蹤
Android:?feedme
Ios:?reeder5
分析:
排除掉Inoreader、NewsBlur、feedbin、feedly等之后,就剩下onedriver和fever兩種服務(wù)了
在使用onedriver過程中總會(huì)發(fā)生一些數(shù)據(jù)錯(cuò)亂的情況,所以打算嘗試一下fever
fever需要自己搭建,在這里記錄一下折騰的全過程,主要是利用ttrss和fever插件來實(shí)現(xiàn)這個(gè)功能。
rsshub是用來制作rss的。
[如果在國外?不愿意折騰,建議使用Inoreader服務(wù)]
RSSHub:萬物皆可 RSS
介紹
RSSHub 是一個(gè)開源、簡單易用、易于擴(kuò)展的 RSS 生成器,可以給任何奇奇怪怪的內(nèi)容生成 RSS 訂閱源。RSSHub 借助于開源社區(qū)的力量快速發(fā)展中,目前已適配數(shù)百家網(wǎng)站的上千項(xiàng)內(nèi)容
搭建
首先,在寶塔面板中安裝Docker 管理器
接著,打開 Docker 管理器,在「鏡像管理」中獲取官方庫鏡像 diygod/rsshub。

然后,在「容器列表」創(chuàng)建新的 Docker 容器:

然后,我們創(chuàng)建一個(gè)新的網(wǎng)站,不需要?jiǎng)?chuàng)建新的數(shù)據(jù)庫,PHP 設(shè)置為純靜態(tài):

把文章根目錄下的文件都清空,然后把 RSSHub 源代碼拉取到網(wǎng)站根目錄 /www/wwwroot/rsshub/
最后,設(shè)置反向代理,以便我們可以通過域名來訪問該服務(wù):

這樣,我們的 RSSHub 就完成了搭建,具體的配置和路由可以參見RSSHub 文檔。
原文鏈接:https://blog.dlzhang.com/posts/49/
TTRSS
介紹
Tiny Tiny RSS?Tiny Tiny RSS 是一個(gè)免費(fèi)和開源的基于 Web 的新聞提要 (RSS/Atom) 閱讀器和聚合器

搭建
首先,利用寶塔新建一個(gè)站點(diǎn):xxx.xxx.xxx
,然后配置PHP為7.4
(只要大于5.5就行,7.x性能更好)

然后,安裝PHP的fileinfo
擴(kuò)展

然后,下載源碼,放到xxx.xxx.xxx的目錄下,注意把之前的里面的文件刪掉。
TTRSS源代碼點(diǎn)此處下載
打開xxx.xxx.xxx/install
,開始安裝:

測試配置之后,初始化數(shù)據(jù)庫,然后保存配置文件,再次打開xxx.xxx.xxx
,會(huì)發(fā)現(xiàn)出現(xiàn)了登陸窗口,賬號:admin
,密碼:password
?安裝完成!
細(xì)節(jié)調(diào)整:
修改時(shí)區(qū)

更新:自動(dòng)更新比較簡單,打開根目錄的config.php,然后搜索SIMPLE_UPDATE_MODE,將其設(shè)為true即可。
TTRSS-RSSHUB主題
將 CSS 文件下載到
themes.local
tt-rss 根目錄下進(jìn)入您的 tt-rss 首選項(xiàng)并選擇
rsshub.css
主題
fever插件
將其移至plugins
文件夾中解壓,文件名改成fever

然后打開偏好設(shè)置--用戶插件--fever
,打開,然后刷新,會(huì)看到下面有一行Fever Emulation
選項(xiàng),注意下面的紅框部分:

到此我們完成了fever的布置
在RSS追蹤-設(shè)置-RSS服務(wù)設(shè)置-fever中輸入鏈接-用戶名-密碼 即可完成配置
ttrss自動(dòng)更新
使用 crontab 開啟后臺自動(dòng)更新模式
打開?config.php
?配置文件,將?PHP_EXECUTABLE
?的 PHP 路徑設(shè)置好:
# /usr/bin/php 為我的系統(tǒng)的 php 路徑,僅供參考define('PHP_EXECUTABLE', '/usr/bin/php');
如果找不到 PHP 路徑的話,可以通過在站點(diǎn)目錄下創(chuàng)建?<?phpecho phpinfo();
?的?.php
?文件后打開瀏覽器訪問查看。
改好 config.php 文件后,需要?jiǎng)?chuàng)建一個(gè) Linux 普通用戶,之所以要另外創(chuàng)建一個(gè)用戶,是因?yàn)楦履_本文件?update.php
?或?update_daemon2.php
?不能由 root 用戶來執(zhí)行,但是可以通過?apache
?或者?Nginx
?的運(yùn)行用戶來執(zhí)行腳本計(jì)劃(這里拿創(chuàng)建一個(gè)名叫?ttrss
?的用戶舉例):
# 創(chuàng)建新用戶adduser ttrss# 給新用戶初始化密碼passwd ttrss
給相關(guān)目錄設(shè)置?777
?的權(quán)限:
chmod -R 777 feed-icons
chmod -R 777 lock
chmod -R 777 cache/exportchmod -R 777 cache/images
chmod -R 777 cache/upload
用 crontab 添加一個(gè)定時(shí)運(yùn)行計(jì)劃:
crontab 命令被用來提交和管理用戶需要周期性執(zhí)行的任務(wù),與 windows 下的計(jì)劃任務(wù)類似,當(dāng)安裝完成操作系統(tǒng)后,默認(rèn)會(huì)安裝此服務(wù)工具,并且會(huì)自動(dòng)啟動(dòng) crond 進(jìn)程,crond 進(jìn)程每分鐘會(huì)定期檢查是否有要執(zhí)行的任務(wù),如果有要執(zhí)行的任務(wù),則自動(dòng)執(zhí)行該任務(wù)。
先看下 crontab 定時(shí)計(jì)劃的規(guī)則示例:
# .---------------- minute (0 - 59)# | ?.------------- hour (0 - 23)# | ?| ?.---------- day of month (1 - 31)# | ?| ?| ?.------- month (1 - 12) OR jan,feb,mar,apr ...# | ?| ?| ?| ?.---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat# | ?| ?| ?| ?|
* ?* ?* ?* ?* user-name ?command to be executed
由于 Tiny Tiny RSS 的更新腳本不能用 root 執(zhí)行,所以需要用到上文創(chuàng)建的用戶來執(zhí)行計(jì)劃:
# 編輯 cron 文件,寫入 ttrss 用戶,允許 ttrss 用戶使用 crontab 命令sudo vi /etc/cron.allow# 以 ttrss 用戶身份執(zhí)行 crontab 計(jì)劃crontab -u ttrss -e# 在打開的計(jì)劃編輯頁面輸入指令,每45分鐘執(zhí)行一次計(jì)劃*/45 * * * * /usr/bin/php /你的tinyrss站點(diǎn)目錄/update.php --feeds --quiet
注意:
定時(shí)時(shí)間可以自行修改
為了保證 crontab 正常運(yùn)行,一定先在 cron.allow 中寫入執(zhí)行用戶
/usr/bin/php 為我的系統(tǒng)的 php 路徑,僅供參考
檢查定時(shí)計(jì)劃的配置是否成功:
方法一
# 在 root 身份下,查看 ttrss 用戶的計(jì)劃內(nèi)容cat /var/spool/cron/ttrss# 查看 crontab 的 log 文件是否包含 ttrss 用戶的計(jì)劃內(nèi)容cat /var/log/cron
如圖:

方法二
# 切換到 ttrss 用戶身份下su ttrsscrontab -l# 同樣可以看到該用戶的計(jì)劃內(nèi)容
如圖:

進(jìn)一步確保 crontab 命令是否正常運(yùn)行,在 ttrss 用戶身份下執(zhí)行:
/usr/bin/php /你的tinyrss站點(diǎn)目錄/update.php --feeds
當(dāng)終端開始運(yùn)行計(jì)劃,并顯示信息源的更新時(shí)間,則說明定時(shí)任務(wù)配置成功,如圖:

以上配置都完成后,Tiny Tiny RSS 就可以每45分鐘在后臺自動(dòng)更新信息源了。
跨域服務(wù)
1.下載源文件上傳到你的服務(wù)器并解壓,安裝cors-anywhere,
2.PM2管理器 添加項(xiàng)目、并添加啟動(dòng)文件為server.js

3.點(diǎn)擊映射然后配置跨域服務(wù)域名

4.跨域服務(wù)搭建完成