欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Tiny Tiny RSS–Google Reader的替代

程序员文章站 2022-06-13 08:46:20
...

Google Reader是一款无可替代的伟大产品,但实实在在地跟我们告别了。一直以来习惯于通过订阅RSS来浏览文章,说实在话并不喜欢通过微博或者微信来浏览,信息量太大,而真正有用的东西又不多,极容易被淹没,不容易沉淀。 Google Reader关闭后,一直用着the O

Google Reader是一款无可替代的伟大产品,但实实在在地跟我们告别了。一直以来习惯于通过订阅RSS来浏览文章,说实在话并不喜欢通过微博或者微信来浏览,信息量太大,而真正有用的东西又不多,极容易被淹没,不容易沉淀。

Google Reader关闭后,一直用着the Old Reader,其使用习惯和界面均比较接近于Google Reader。但比较痛苦的地方在于速度和稳定性均不是很好,经常长时间不能访问,难以忍受。于是便想自己搭建一个平台,先尝试了NewsBlur,基于Django的,步骤相当繁琐。刚好碰到小众软件介绍了Tiny Tiny RSS,基于PHP+MySQL/PostgreSQL,安装起来也很方便。于是便安装了一个试试,发现挺不错的。

Tiny Tiny RSS 是使用 SimplePie 作为 RSS 抓取引擎的,抓取回来的文章数据需要保存在 MySQL/PostgreSQL 数据库里,抓取数据的时候,需要消耗一定的流量,所以,如果你的订阅源多的话,搭建类似的站点的确是一个消耗存储空间、带宽的活。

一、优点

项目主页: http://tt-rss.org/,其优点如下:

  1. feed状况检查:可以检查订阅的feeds是否失效
  2. 支持各种主题,包括模仿Google Reeder、feedly界面的主题
  3. 有适合移动设备的皮肤/插件
  4. 支持插件,其中精品插件包括ff_feedcleaner(feed内容过滤)、af_feedmod(制作全文阅读feed)、oneclickpocket(一键发送到pocket)、fever(模拟fever api,支持更多客户端)等
  5. 支持多种平台的客户端,包括Andriod、WP、iOS等
  6. 可以灵活地设置更新频率,第一时间获得订阅更新
  7. 支持导入OPML
  8. 可以收藏
  9. 有中文版本,但不完全
  10. filter功能:类似gmail的filter。从标题,内容,时间等等中匹配关键词,然后可以选择是打分还是加tag,加label,加星,标记已读,删除条目等,filter可以是作用于所有feed或者指定feed。可以是匹配关键词,或者是剔除关键词。
  11. 条目中的图片可以选择是显示还是隐藏。
  12. 邮件digest。把每天的未读条目作为digest发送到指定邮箱。而且可以选择发送了的条目自动标记为已读。发送时间也可以指定。
  13. 基于sphinx的全文搜索
  14. ...

二、安装要求

要求其实挺简单的,见官方wiki。

1. PHP版本必须高于5.3;
2. 可选PostgreSQL 或 MySQL数据库,其中MySQL数据库必须支持InnoDB.

三、安装步骤

具体安装步骤可参考Installation Notes

  1. 在按照要求配置好服务器环境后,下载安装包 (目前最新版本为1.9,Jul 21, 2013)并解压。

    # tar zxfv Tiny-Tiny-RSS-1.x.x.tar.gz
    # mv Tiny-Tiny-RSS-1.x.x tt-rss
    
  2. 输入http://your.site.com/tt-rss/install/,并执行安装步骤,填写相应的数据库等信息。 Tiny Tiny RSS–Google Reader的替代

  3. 安装完成后,输入网址 http://your.site.com/tt-rss/ 访问系统,系统后台已经部分汉化。默认管理员用户为:

    username: admin, password: password
    

Tiny Tiny RSS–Google Reader的替代

登陆后即可手动添加RSS地址或者直接导入OPML文件了。

Tiny Tiny RSS–Google Reader的替代

四、优化配置

1. 配置订阅条目自动更新

详细操作说明见官方wiki,可以采用三种方式,本站使用的是第二种,即通过crontab来定时更新feeds。

这里需要注意的是更新脚本文件update.phpupdate_daemon2.php不能由root用户来执行,可以通过apache或者Nginx的运行用户来执行,如apache或者www等。

当我们以root用户直接执行命令时,会出现如下错误:

[root@localhost ~]# php /home/wwwroot/具体路径/update.php 
Tiny Tiny RSS was unable to start properly. This usually means a misconfiguration or an incomplete upgrade.
Please fix errors indicated by the following messages:
 * Please don't run this script as root.
You might want to check tt-rss wiki or the forums for more information.
Please search the forums before creating new topic for your question.

即提示不能以root用户运行脚本,否则订阅条目不能自动更新。因此,可以通过给普通用户如www添加crontab运行脚本:

#crontab -u www -e

添加如下内容:

*/30 * * * * /usr/bin/php /home/wwwroot/具体路径/update.php --feeds --quiet

同时在后台可以设置feeds的更新时间。

Tiny Tiny RSS–Google Reader的替代

说明:

  1. 必须用普通用户来运行更新脚本;
  2. 更新时间这里设置为每30分钟更新一次,具体可调;
  3. 若你的系统中php的路径不是/usr/bin/php,需要修改之,同时也注意修改config.php中的内容;
  4. 修改/home/wwwroot/具体路径/update.php为你的具体路径。

2. 安装皮肤

Tiny Tiny RSS安装皮肤挺简单的,将CSS文件放入themes目录下,并在管理员后台进行选择就可以了,当然也可以通过自定义CSS的方式。

Tiny Tiny RSS–Google Reader的替代

推荐一款仿Google Reader的皮肤: clean-greader,更多的可在官方论坛中寻找。

Tiny Tiny RSS–Google Reader的替代

3. 安装插件

系统后台自带了很多系统插件以及第三方插件,我们只需要启用就好,当然也可以去论坛寻找插件。

Tiny Tiny RSS–Google Reader的替代

付上大多数插件的说明,所有插件一般有三种,在文章右下角生成响应图标的、在设置标签生成设置页面的、其他无图标无设置的插件[参考]

  • af_unburn:解决feedburner等rss链接跳转。
  • bookmarklets:在设置-信息源生成bookmarklets标签。
  • embed_original:图标插件,点击图标会显示文章原始内容,而不是rss。
  • fever:模拟fever api,在设置-Fver Emulation,设置好密码,可以和tt-rss的登录密码不同,然后就能支持fever的客户端比如reeder、Mr. Reader。
  • ff_feedcleaner:feed广告过滤,在设置标签生成FeecCleaner标签,过滤规则要用正则表达式,比较复杂。
  • googlereaderkeys:模拟google reader快捷键,如J、K等。
  • import_export:在设置-信息源,导入导出配置。
  • mail:图标插件,点击通过邮件分享。
  • mark_button:文章右下角能够快速将文章标记为已读未读。
  • mobilize:图标插件,点击显示readability简化的页面。
  • note:图标插件。
  • nsfw:根据标签隐藏文章内容。
  • share:图标插件,点击生成唯一的url方便分享。
  • swap_jk:添加j、k快捷键,类似vim。

4. 移动端支持

要支持移动端,既可以通过手机、平板电脑等设备进行访问,必须先开启系统支持,即在管理后台偏好设置里面勾选“Enable API”。

Tiny Tiny RSS–Google Reader的替代

官方开发的Andriod客户端:Tiny Tiny RSS

同时也推荐一下Nils Braden 开发的 TTRSS-Reader 这个 Android 手机客户端,这个客户端提供针对Tiny Tiny RSS的手机离线阅读功能,还可以离线缓存图片。

Tiny Tiny RSS–Google Reader的替代