KindleEar 搭建教程:推送 RSS 订阅到 Kindle
更新时间:2018-10-06 分类:阅读杂记 浏览量:3338
在没有买Kindle之前,听同事说想要买个Kindle看书的时候,觉得好奇怪,为什么不买iPad呢。Kindle仅仅能看书,而iPad不仅可以装个Kindle看书,还可以娱乐等,而且Kindle的价格并不便宜,最便宜的Kindle 8现在也已经是500多了。相信有这样想法的人,不在少数。但是,后来我还是买了Kindle 7。我忘了看什么文章被安利到了,但是真正打动我的原因,还是因为可以静心阅读,电子墨屏,待机长。如果你不知道为什么要买Kindle,那么就安利你看一篇好文章《你也许并不太懂Kindle 2.0》。
拥有Kindle,肯定想要享受好Kindle带来的便利阅读及体验。今天给大家分享此篇,让你的Kindle发挥得更好。
KindleEar 是一个开源的 Python 程序,由网友 cdhigh 发起,目前托管于 Github。Kindleear 一个可以运行在 Google Developer Console 上的 Kindle 个人 RSS 推送服务器,能够生成排版精美的杂志模式的 MOBI 文件,并按照设置定时自动推送至你的 kindle。如果你有一定的 Python 和前端基础,还可以自定义排版,生成你需要的最完美的 MOBI 文件。
应用目前的主要功能有:
- 支持类似Calibre的recipe格式的不限量RSS/ATOM或网页内容收集
- 不限量自定义RSS,直接输入RSS/ATOM链接和标题即可自动推送
- 多账号管理,支持多用户和多Kindle
- 生成带图的杂志格式mobi或带图的有目录epub
- 自动每天定时推送
- 强大而且方便的邮件中转服务
- 和Evernote/Pocket/Instapaper等系统的集成
注:如果您要求不高,自定义RSS推送功能足以应付一般应用,如果要求排版和完美,可以参照books目录下的文件范本自己添加一个文件再重新上传即可,books目录下的书籍文件都不是随意预置的,每个文件都至少演示一个适用的books编写技巧。 在您懂python的前提下,您可以完全的操控网页,可以生成您需要的最完美的MOBI/EPUB文件。
KindleEar后台界面
KindleEar后台设置
目录
本教程适用于 Windows 系统和 Mac OS X 系统,所以请注意下载适合你操作系统的软件,以及选择适合你操作系统的步骤。本文步骤没有多余的废话,请严格按照下面的步骤进行操作。遇到意外情况请留言提问,如果提出的问题文中已有说明将不再重复回答。
免费的程序和免费的服务器,让搭建 KindleEar 成为一件一劳永逸的事儿,虽然对于新手来说步骤可能有些许烦琐,但你的付出是值得的。
一、准备工作
KindleEar 依赖 Google APP Engine,所以你需要有一枚 Google 账号(注册完记得安步骤说明设置一下安全选项),然后创建一个 GAE 应用。以下步骤中,如果某个条件已具备,请忽略相应步骤继续。
1、下载科学上网(fan qiang)软件
因为在国内无法访问 Google App Engine,所以需要先下载科学上网软件。在本教程中,你可以下载使用下面任意一款。为保证正常下载,请复制链接使用迅雷下载。
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 App Engine 应用
KindleEar 就是免费托管到 Google App Engine 中的,所以需要创建一个 GAE 应用,然后获取该应用的 APPID。首先点击下面的链接,使用你的 Google 账号登录。
GAE 项目地址: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。
二、上传程序
下面提供了两种上传 KindleEar 程序到 GAE 的方法。方法一是通过 Google 云端 Shell 的方式,使用 Kindle 伴侣提供的 Shell 脚本,一条命令搞定,推荐使用。方法二是手动配置上网环境,手动输入命令上传,步骤较为繁琐。请根据自己的实际情况择优选用。
方法一:自动上传(强烈推荐!)
1、进入 Google 云端控制台:https://console.cloud.google.com/home/dashboard2、点击右上角的 Shell 图标(如下图所示)激活 Google 云端 Shell。
3、复制下面的代码,粘贴到 Google 云端 Shell(如下图所示),回车执行。
wget https://raw.githubusercontent.com/kindlefere/KindleEar-Uploader/master/uploader.sh && \
chmod +x uploader.sh && \
./uploader.sh
4、按照脚本的提示,输入你的 Gmail 地址和准备好的 APPID,回车,等待上传成功即可。
* 提示:KindleEar 安装脚本托管在 GitHub:https://github.com/kindlefere/KindleEar-Uploader
方法二、标准部署
1、申请google账号 并暂时 启用不够安全的应用的访问权限 以便上传程序。
2、创建一个Application,注意不用申请GCE,那个是60天试用的,而GAE是限额范围内永久免费的。
3、安装 Python 2.7.x。
4、安装 GAE SDK。
5、下载 KindleEar ,解压到一个特定的目录。
6、在以下三个文件中修改一些参数:
文件 | 待修改内容 | 说明 |
---|---|---|
app.yaml | application | 你的ApplicationId |
module-worker.yaml | application | 你的ApplicationId |
config.py | SRC_EMAIL | 创建GAE工程的GMAIL邮箱 |
config.py | DOMAIN | 你申请的应用的域名 |
7、转到GAE SDK安装目录(默认为:C:\Program Files\Google\google_appengine)
8、执行两条Cmd命令:
- c:\python27\python.exe appcfg.py update kindleear目录\app.yaml kindleear目录\module-worker.yaml
- c:\python27\python.exe appcfg.py update kindleear目录
9、全部完成后就可以尝试打开域名:http://appid.appspot.com (appid是你申请的application名字)
比如作者的网站域名为:http://kindleear.appspot.com/
注:初始用户名为 admin,密码为 admin,建议登录后及时修改密码。
更详细一点的说明请参照Github上的 FAQ 或作者网站的 FAQ 链接。有关部署失败,部署后"internal server error"等问题都有解释。
不建议使用GAE Launcher部署KindleEar,除非你知道怎么设置Extra Flags等参数。
具体操作
上传部署 KindleEar 步骤之前,你需要保证已完成下面的准备工作。对于每一项准备工作,如果你已经具备条件,可忽略继续进行下一项。
1、下载并安装 Python 2.7
Mac OS X 系统可略过此步骤。为保证正常下载,请复制下面的链接使用迅雷下载。
Python 下载:Windows | Mac OS X | 官方页面
2、下载并安装 GAE SDK for Python
为保证正常下载,请复制下面的链接使用迅雷下载。
GAE SDK for Python 下载:Windows |Mac OS X | Linux | 官方页面
3、安装配置 SocksiPy
SocksiPy 下载:下载链接 | 官方页面
Mac OS X 无需下载此文件,打开“终端”输入以下命令安装 SocksiPy:
sudo pip install PySocks
*注意,如果提示找不到 pip 命令,请先下载 get-pip.py,然后运行 python get-pip.py 安装 pip。
在 Windows 中,将下载到的 SocksiPy 压缩包解压缩得到文件 socks.py,把这个文件拷贝到 GAE SDK for Python 安装目录,如果你是没有修改安装路径,默认情况下其路径如下所示:
C:\Program Files (x86)\Google\google_appengine
4、为 GAE SDK 配置代理
在 Windows 中,进入 GAE SDK for Python 安装目录,找到文件 appcfg.py,通过右键菜单“Edit with IDLE”,或使用代码编辑软件(如 Sublime Text)将其打开。
在 Mac OS X 中,进入“应用程序”目录,找到并右键点击 GoogleAppEngineLauncher 应用,在弹出的菜单中点击“显示包内内容”,在下面所示的路径中找到 appcfg.py,使用代码编辑器打开。
Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/
找到下面这行代码:
"""Convenience wrapper for starting an appengine tool."""
在它上面添加下列代码:
import socks
import socket
socket.socket = socks.socksocket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 8788)
注意,如果你使用的是 ShadowSocks,请把上面代码中的端口 8788 修改为 1080。
修改完毕后保存。
5、下载 KindleEar 源码
点击下面的链接下载 KindleEar 源码。如果你习惯使用 Git,也可以将项目 Clone 到本地。
6、配置 KindleEar 程序
解压缩下载到的 KindleEar 压缩包(如果是通过 Git 的 Clone 命令获取的则不用解压缩),把 KindleEar 的源代码放到你喜欢的地方。为方便演示,在本例中放置的位置如下所示:
Windows 系统中,将其放到了 C 盘根目录,路径为:
C:\kindleear
Mac OS X 系统中,将其放到了用户目录下,路径为:
/Users/YOURNAME/Applications/kindleear
接下来进入 KindleEar 源代码文件夹,按照下表修改文件并保存:
要修改的文件 | 要修改的内容 | 内容修改说明 |
---|---|---|
app.yaml | application: xxx |
红色部分修改为你创建的 APPID |
module-worker.yaml | application: xxx |
红色部分修改为你创建的 APPID |
config.py | SRC_EMAIL = "xxx@gmail.com" |
红色部分修改为你创建应用的 Gmail 邮箱 |
DOMAIN = "https://xxx.appspot.com “ |
红色部分修改为你创建的 APPID |
7、上传 KindleEar 程序
快捷键 Win + R 调出“运行”对话框,输入“CMD”回车打开命令提示符,然后使用 cd
命令进入 GAE SDK for Python 安装目录。
在 Windows 系统中,如果你是没有修改安装路径,应该是输入以下命令(小窍门:输入 cd 后,把 google_appengine 文件夹拖到命令提示符上):
cd C:\Program Files (x86)\Google\google_appengine
分别输入下面两条命令将 KindleEar 上传到 GAE:
C:\python27\python.exe appcfg.py update C:\kindleear\app.yaml C:\kindleear\module-worker.yaml
C:\python27\python.exe appcfg.py update C:\kindleear
在 MAC OS 系统中,打开“终端”,分别输入下面两条命令上传 KindleEar:
appcfg.py update ~/Applications/kindleear/app.yaml ~/Applications/kindleear/module-worker.yaml
appcfg.py update ~/Applications/kindleear
出现“Email”提示,输入你的 Gmail 邮箱地址,回车;出现“Password for xxx@gmail.com”,输入你的 Gmail 邮箱密码(密码输入时不显示),回车。
等待上传。在上传的过程中,如果第一次上传,会出现一个许可验证消息,如果是同一个电脑,直接打开链接验证即可。如果是不同的电脑,需要添加 –noauth_local_webserver 后缀,打开链接获取验证码,填写验证。
注意,–noauth_local_webserver 后缀是添加到 appcfg.py 后面,如下所示:
python appcfg.py --noauth_local_webserver ...
* 小贴士:
1、如果确认输入的账号密码正确却仍然出现“Invalid username or password.”,请点击这里检查一下相关选项。首先找到“允许不够安全的应用”这个选项,确认是“已启用”状态。然后查看下账号登录是否被 Google 拦截,把可疑操作确认是自己操作,然后重新运行 uploader.bat 走一遍过程。如果取消拦截后还是出现“Invalid username or password.”这样的提示,请先使用浏览器登陆你的 Google 账号,看是否会有短信验证等提示,登录成功后重新运行 uploader.bat 走一遍过程。
2、程序会自动记录登陆邮箱密码,如果需要需要切换账号,请前往目录“C:\用户\你的用户名\”下删除“.appcfg_cookies”,然后重新运行 uploader.bat
3、如果等待很长时间仍然出现“internal serve error”,请尝试:点击这里 进入 GAE 后台,点击左侧的“Dashboard”,然后点击右边页面中“Storage”下的“Cloud Datastore”,然后再点击左侧的“Indexes”就是了,查看一下 Book、DeliverLog、Feed 三项的状态,如果是绿色对勾则正常,否则就需要重新索引一下。具体操作为,KindleEar 目录下执行:appcfg.py update_indexes 更新一下索引。如:python appcfg.py update_indexes KindleEar/ 生成了索引,Data Store Indexes 从 building 变为 Serving 后,正常访问。
三、设置推送
打开浏览器输入:http://你的专案ID.appspot.com
,默认的登录名和密码都是“admin”(建议修改密码),进入推送控制台你会发现以下几个选项卡(若登录时候出现类似“internal serve error”请不要慌,只需要多等候一些时间重试即可),可以根据自己的需要进行设置:
1、我的订阅
可以在这里添加你自己的 RSS 地址。也可以在下方预置的一些订阅里选择自己感兴趣的。
2、基本设置
这里是推送的详细设置,在这里填写你要推送的“Kindle E-mail”,选择投递日,所选投递日的投递时间,建议勾选“多本书籍合并投递为一本”、“使能自动定时投递”、“自动定时投递自定义 RSS”。同时还可以在“书籍标题”项填写显示在 Kindle 里的个性名称。当所有设置完后还可以点击“现在投递”测试一下。
3、投递日志
每次投递的记录。
4、账户管理
可以添加多用户,更改密码等。
5、高级设置
有邮件白名单、归档和分享、URL 过滤等设置。
OK,全部工作完成,在你的 Kindle 联网的状态下,这个你亲手建立的推送服务器就会按照你设置的时间定时把你所添加的 RSS 源生成精美的杂志推送到你的 Kindle 上了!Enjoy it!
* 小贴士:
如果投递日志状态显示为 wrong SRC_EMAIL
,请进入 GAE 后台。在“資訊主頁 (Dashboard)”标签页中找到“App Engine”卡片,点击卡片底部的“前往 App Engine 資訊主頁 (Go to the App Engine dashboard)”,然后点击左侧的的“設定 (settings)”,看看“Email API 已獲授權的寄件者 (Email API authorized senders)”账号里面有没有添加发送邮箱地址,如果没有就点击上方的“編輯 (Edit)”添加一下,即可解决此问题。
四、常见问答
上文已将部署 KindleEar 的步骤详细列出,一般情况下你只需要按照步骤一步步操作就能部署成功。如果遇到问题,请访问 KindleEar 官方常见问答。这里可以解决你在安装 KindleEar 时遇到的绝大部分问题。如果 FAQ 没有解决你的问题,可以自行搜索看是否有可行办法。
实在解决不了可以点击这里向开发者提交一个“New issue”请求解答,也可以在本页留言请求帮助。
另外,如果你觉得 KindleEar 这款软件还不错,可以点击这里捐赠一下作者 cdhigh。
五、付费安装
如果您不愿意折腾,本站可以帮忙搭建,只需要支付一些手工费。有需要请联系QQ:1623153929