KindleEar 搭建教程:推送 RSS 订阅到 Kindle

本文最后更新日期:2016.12.17

KindleEar 是一款开源的 Python 程序,由网友 cdhigh 发起,托管在 Github。它可运行在免费的 Google APP Engine 上,把 RSS 生成排版精美的杂志模式的 MOBI 文件,并按照设置定时自动推送至你的 Kindle。如果你有 Python 和前端基础,还可以自定义排版,生成你需要的最完美的 MOBI 文件。

kindleear-rss

▲ KindleEar 推送 RSS 的效果

KindleEar 目前的功能有:

  • 支持类似 Calibre 的 recipe 格式的不限量 RSS/ATOM 或网页内容收集
  • 不限量自定义 RSS,直接输入 RSS/ATOM 链接和标题即可自动推送
  • 多账号管理,支持多用户和多 Kindle
  • 生成带图的杂志格式 mobi 或带图的有目录 epub
  • 自动每天定时推送
  • 强大而且方便的邮件中转服务
  • 和 Evernote/Pocket/Instapaper 等系统的集成

先来体验一下:http://kindlefere-feed.appspot.com (用户名:test,密码:123456

上面这个是体验账号,可以添加一个 RSS 测试推送一下(需要把邮箱账号 kindlefere@gmail.com 添加到推送信任列表),但请不要正式使用。

看到这些让人心动、那些收费的推送服务网站才有的功能是不是很心动了?其实搭建起来其实很简单,如果你什么都不懂,只要按照本文所给出的步骤一步一步操作就可以搞定。本文是更新后的教程,原方法需要配置上传环境,较为繁琐,现在只需要保证能科学上网,通过 Google 云端 Shell,只需要一行命令就可以搞定。现在,立即开始搭建自己的私有专属的 RSS 推送服务器吧!

目录

一、准备工作
二、上传程序
方法一:自动上传
方法二:手动上传
三、设置推送
四、常见问答
五、付费安装

本教程适用于 Windows 系统和 Mac OS X 系统,所以请注意下载适合你操作系统的软件,以及选择适合你操作系统的步骤。本文步骤没有多余的废话,请严格按照下面的步骤进行操作。遇到意外情况请留言提问,如果提出的问题文中已有说明将不再重复回答。

一、准备工作

KindleEar 依赖 Google APP Engine,所以你需要有一枚 Google 账号(注册完记得安步骤说明设置一下安全选项),然后创建一个 GAE 应用。以下步骤中,如果某个条件已具备,请忽略相应步骤继续。

1、下载科(fan)学(qiang)上网软件

因为在国内无法访问 Google 服务,所以需要先下载科学上网软件。在本教程中,你可以下载使用下面任意一款。为保证正常下载,请复制链接使用迅雷下载。

* 提示:Lantern 免费版限制流量,如果想要购买专业版,使用邀请码 HBNVPW 可获得额外时长。

2、注册 Google 账号

点击下面的链接,注册一枚带 @gmail.com 后缀的 Google 账号。

Google 账号注册地址:https://accounts.google.com/SignUp

3、Google 账号安全设置

Google 账号在默认状态下会拒绝 KindleEar 上传到 GAE,所以需要在 Google 账号中设置一下。点击下面的链接进入你的 Google 账号“登录与安全”设置页面,找到“允许不够安全的应用”这一项,点击右边的按钮,将其状态切换为“已启用”。

Google 账号:https://myaccount.google.com/security#connectedapps

4、创建一个 Google Cloud 项目

KindleEar 就是免费托管到 Google App Engine 中的,所以需要创建一个 GAE 应用,然后获取该应用的 APPID。首先点击下面的链接,使用你的 Google 账号登录。

创建项目地址:https://console.developers.google.com/project?hl=zh-cn

点击页面左上角的“Project”,在弹出菜单中点击“创建项目(Create a project…)”,会弹出一个名为“新增项目(New Project)”的对话框。在“项目名称(Project name)”中输入你喜欢的名称(注意,这里只能输入 4~30 个字符,接受字母、数字、半角引号、连字符、空格、感叹号)。

默认状态下,系统会根据你输入的项目名称自动生成“项目 ID(Project ID)”(即 APPID),但是自动生成的没有意义字符很糟糕,你可以点击“编辑(Edit)”链接将其修改成你喜欢的形式,这样等 KindleEar 部署成功后,你就可以通过 http://你的APPID.appspot.com 访问了。

记下你的 APPID。

5、创建 Google App Engine 应用

可能因为 Google Cloud 更改了策略,创建项目后不会自动创建 GAE 应用了。根据小伙伴们的反馈,如果掠过本步骤直接上传 KindleEar 就会出现下面这样的错误提示:

Error 404: --- begin server output ---
This application does not exist (project_id=u'sample-appid'). To create an App Engine application in this project, run "gcloud beta app create" in your console.
--- end server output ---

所以,当创建完成 Google Cloud 项目后,还需要手动创建一个 Google App Engine 应用。方法有两种:一种是使用云端 Shell 创建;另一种是在 Console 页面上进行。可根据自己的喜好选用。

方法一:上面那个错误提示给出了解决方案,直接在云端 Shell 中使用一行命令就能搞定。具体步骤为:点击页面右上角的 [ >_ ] 图标按钮(如下图所示),调出云端 Shell,输入以下命令按回车:

active-google-cloud-shell

gcloud beta app create

命令执行后会出现“Which region would you like to choose?”字样,询问选择应用的位置,在“Please enter your numeric choice:”之后输入 1 即可完成 GAE 的创建。

方法二:在 Google Cloud 页面上,点击左上角的菜单按钮,在弹出的菜单中点击“App 引擎”。在“您的第一个应用”那里点击“选择一种语言”,选择“Python”。接下来“选择位置”中页面中选择“us-central”,最后点击下一步就等待它自动部署,只到出现“让我们开始吧”的字样,就表示 GAE 创建成功。

二、上传程序

下面提供了两种上传 KindleEar 程序到 GAE 的方法。方法一是通过 Google 云端 Shell 的方式,使用 Kindle 伴侣提供的 Shell 脚本,一条命令搞定,推荐使用。方法二是手动配置上网环境,手动输入命令上传,步骤较为繁琐。请根据自己的实际情况择优选用。

方法一:自动上传(强烈推荐!)

1、进入 Google 云端控制台:https://console.cloud.google.com/home/dashboard

2、点击右上角的 Shell 图标(如下图所示)激活 Google 云端 Shell。

active-google-cloud-shell

3、复制下面的代码,粘贴到 Google 云端 Shell(如下图所示),回车执行。

rm -f uploader.sh* && \
wget https://raw.githubusercontent.com/kindlefere/KindleEar-Uploader/master/uploader.sh && \
chmod +x uploader.sh && \
./uploader.sh

4、按照脚本的提示,输入你的 Gmail 地址和准备好的 APPID,回车,等待上传成功即可。

注意,上面的代码只需要执行一次即可,如果想要重新上传或要更新代码,只需要直接运行 uploader.sh 这个 Shell 文件即可,即在云终端中输入下面这行代码即可:

./uploader.sh

* 提示:KindleEar 安装脚本托管在 GitHub:https://github.com/kindlefere/KindleEar-Uploader

方法二:手动上传

再开始手动上传部署 KindleEar 步骤之前,你需要保证已完成下面的准备工作。对于每一项准备工作,如果你已经具备条件,可忽略继续进行下一项。

[ 展开步骤 ]

* 小贴士:

1、如果确认输入的账号密码正确却仍然出现“Invalid username or password.”,请点击这里检查一下相关选项。首先找到“允许不够安全的应用”这个选项,确认是“已启用”状态。然后查看下账号登录是否被 Google 拦截,把可疑操作确认是自己操作,然后重新运行 uploader.bat 走一遍过程。如果取消拦截后还是出现“Invalid username or password.”这样的提示,请先使用浏览器登陆你的 Google 账号,看是否会有短信验证等提示,登录成功后重新运行 uploader.bat 走一遍过程。

2、程序会自动记录登陆邮箱密码,这样使用其它账号就无法上传了。想要切换帐号,Windows 系统请前往目录“C:\用户\你的用户名\”下删除“.appcfg_cookies”,然后重新运行 uploader.bat。Mac 或 Linux 系统遇到同样问题,使用命令 rm ~/.appcfg_oauth2_tokens 删除。

3、如果等待很长时间仍然出现“internal serve error”,请尝试:点击这里 进入 GAE 后台,点击左上角的菜单,然后在弹出的菜单中点击“Datastore(数据存储)”,然后再点击左侧的“Indexes(索引)”。

然后查看一下 Book、DeliverLog、Feed 三项的状态,如果是绿色对勾则正常,否则就需要重新索引一下。具体操作为,KindleEar 目录下面这条命令更新一下索引:

$ python appcfg.py update_indexes ./

注意,如果使用的是 Google 云端 Shell 直接使用 appcfg.py 命令即可:

$ appcfg.py update_indexes ./

待 Data Store Indexes 从 building 变为 Serving 后,即可正常访问。

三、设置推送

打开浏览器输入:http://你的APPID.appspot.com,默认的登录名和密码都是“admin”(建议修改密码),进入推送控制台你会发现以下几个选项卡(若登录时候出现类似“internal serve error”请不要慌,只需要多等候一些时间重试即可),可以根据自己的需要进行设置:

1、我的订阅

可以在这里添加你自己的 RSS 地址。也可以在下方预置的一些订阅里选择自己感兴趣的。

* 提示:在添加自定义 RSS 地址的时候请注意。KindleEar 仅支持 RSS/ATOM 格式的订阅(XML 格式),如果遇到添加的自定义 RSS 无法成功推送,请留意是否是格式错误导致的。比如有些 FeedBurner 烧制的 RSS 默认是 HTML 格式(可以通过查看源代码辨别),直接添加这种 RSS 地址不能成功推送,需要在添加的 RSS 地址后面添加一个参数 ?format=xml?fmt=xml 才行。

2、基本设置

这里是推送的详细设置,在这里填写你要推送的“Kindle E-mail”,选择投递日,所选投递日的投递时间,建议勾选“多本书籍合并投递为一本”、“使能自动定时投递”、“自动定时投递自定义 RSS”。同时还可以在“书籍标题”项填写显示在 Kindle 里的个性名称。当所有设置完后还可以点击“现在投递”测试一下。

3、投递日志

每次投递的记录。

4、账户管理

可以添加多用户,更改密码等。

5、高级设置

有邮件白名单、归档和分享、URL 过滤等设置。

OK,全部步骤结束。在你的 Kindle 处于联网状态时,这个你亲手建立的推送服务器,就会按照你设置的时间定时把精美的电子杂志推送到你的 Kindle 上了!Enjoy it!

* 小贴士:

如果投递日志状态显示为 wrong SRC_EMAIL,请进入以下网址:

https://console.cloud.google.com/appengine/settings?project=【 APPID 】

* 也可以点击左上角的菜单,在弹出的菜单中点击“APP 引擎(App Engine)”,然后再点击 APP 引擎页面左侧的“设置(settings)”

看一下“Email API 已获授权发件人(Email API authorized senders)”账号里面有无添加发送邮箱地址,如果没有就点击上方的“编辑(Edit)”添加一下并保存,此问题即可解决。

四、其它事项

上文已将 KindleEar 的部署步骤和使用方法详细列出,一般情况下你只需要按照步骤一步步操作就能部署成功。如果遇到问题,请访问 KindleEar 项目提供的常见问答(FAQ)。那里可以解决你在安装 KindleEar 时遇到的绝大部分问题。如果 FAQ 没有解决你的问题,可以自行搜索看是否有可行办法。

实在解决不了可以点击这里向开发者提交一个“New issue”请求解答,也可以在本页留言请求帮助。

另外,如果你觉得 KindleEar 这款软件还不错,可以点击这里捐赠一下作者 cdhigh。

五、付费安装

如果你懒得折腾,可以支付一点儿费用,让 Kindle 伴侣帮你安装,你支付的费用将用于 Kindle 伴侣网站的运营。具体方法为:进入“捐助页面”选用页面中提供的任意方式支付 ¥50(你支付的费用不会列在捐助列表中),然后写一封邮件发送到 ,邮件必须包含以下内容:

  • 你支付时所用昵称以及付款时间(或截图)
  • 你的 Google (Gmail) 账号和登录密码

在收到你的邮件后,Kindle 伴侣会在 1 天之内为你配置好 KindleEar,并回复一封邮件给你。

注意!你支付的费用仅包含成功安装 KindleEar,并能正常推送 RSS。不包括升级等后期维护,以及在使用过程中如遇到功能性问题,如遇到由于不标准的 RSS 内容导致的推送错误、无法抓取全文等问题。

有帮助,[ 捐助本站 ] 或分享给小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。

小伙伴们发表了 410 条评论

  1. 如果投递日志状态显示为 wrong SRC_EMAI

    这里要添加的email的账号是kindle的还是Google的那个,添加谷歌的那个还是wrong,添加kindle的提示“”无法添加已获授权的发件人”