Rumah >php教程 >php手册 >Tiny Tiny RSS–Google Reader的替代

Tiny Tiny RSS–Google Reader的替代

WBOY
WBOYasal
2016-06-06 20:10:142672semak imbas

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/,并执行安装步骤,填写相应的数据库等信息。 安装步骤

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

    username: admin, password: password
    

系统登录

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

导入OPML文件

四、优化配置

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的更新时间。

设置更新时间

说明:

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

2. 安装皮肤

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

定义皮肤

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

clean-greader

3. 安装插件

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

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

  • 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”。

Enable API

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

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

移动客户端

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn