前言
双十一的时候入了一台Kindle Paper White 4,刚拿到手就开始折腾。没想到一连上wifi,Amazon就自动帮我更新了系统,从出厂原版的5.10.0.1升级到了5.10.1.2。
(╯°A°)╯︵○○○
最新的系统是没办法越狱的。于是开始折腾起了RSS订阅。
说明
KindleEar 是一款开源的 Python 程序,由网友 cdhigh 发起。
Gayhub项目地址:https://github.com/cdhigh/KindleEar
KindleEar是一个运行在Google App Engine(GAE)上的Kindle个人推送服务应用,生成排版精美的杂志模式mobi/epub格式自动每天推送至您的Kindle或其他邮箱。
此应用目前的主要功能有:
- 支持类似Calibre的recipe格式的不限量RSS/ATOM或网页内容收集
- 不限量自定义RSS,直接输入RSS/ATOM链接和标题即可自动推送
- 多账号管理,支持多用户和多Kindle
- 生成带图的杂志格式mobi或带图的有目录epub
- 自动每天定时推送
- 强大而且方便的邮件中转服务
- 和Evernote/Pocket/Instapaper等系统的集成
注:如果您要求不高,自定义RSS推送功能足以应付一般应用,如果要求排版和完美,可以参照books目录下的文件范本自己添加一个文件再重新上传即可,books目录下的书籍文件都不是随意预置的,每个文件都至少演示一个适用的books编写技巧。 在您懂python的前提下,您可以完全的操控网页,可以生成您需要的最完美的MOBI/EPUB文件。
安装
目前KindleEar一共有两种安装方式
简化部署安装步骤(推荐)
开通Google Cloud Platform
申请Google账号,开通GCP平台并暂时 启用不够安全的应用的访问权限 以便上传程序。
创建项目
创建一个Application,注意不用申请GCE,那个是60天试用的,而GAE是限额范围内永久免费的。
并且记录下你的项目的API,接下来要用的。
打开GCP自带的Cloud Shell
gcloud beta app create
命令执行后会出现 Which region would you like to choose? 字样,询问选择应用的位置,输入数字 1,稍等片刻即可完成 GAE 应用的创建。
上传项目至APP ENGINE
同样打开GCP的Cloud Shell,输入:
rm -f uploader.sh* && \
wget https://raw.githubusercontent.com/kindlefere/KindleEar-Uploader/master/uploader.sh && \
chmod +x uploader.sh && \
./uploader.sh
按照脚本的提示,输入你的 Gmail 地址和准备好的 APPID,等待上传成功即可。
标准部署步骤(不推荐)
- 申请google账号 并暂时 启用不够安全的应用的访问权限 以便上传程序。
- 创建一个Application
- 安装 Python 2.7.x。
- 安装 GAE SDK。
- 下载 KindleEar ,解压到一个特定的目录。
- 在以下三个文件中修改一些参数:
如果使用gcloud部署,需要注释掉yaml文件中的application/version项。
- 转到GAE SDK安装目录(默认为:C:Program FilesGooglegoogle_appengine)
- 部署命令: 8.1 使用appcfg.py:
c:python27python.exe appcfg.py update kindleear目录app.yaml kindleear目录module-worker.yaml
c:python27python.exe appcfg.py update kindleear目录 8.2 使用gcloud:
`"C:Program FilesGoogleCloud SDKgoogle-cloud-sdkbingcloud.cmd" app deploy --version=1 KindleEar目录app.yaml KindleEar目录module-worker.yaml
`"C:Program FilesGoogleCloud SDKgoogle-cloud-sdkbingcloud.cmd" app deploy --version=1 KindleEar目录
设置推送
登陆KindleEar
全部完成后就可以尝试打开域名:
http://appid.appspot.com (appid是你申请的application名字)
注:初始用户名为 admin,密码为 admin,建议登录后及时修改密码。
设置KINDLE E-MAIL
设置里面的KINDLE E-MAIL是需要去亚马逊设置的,各位记得把推送用的邮箱加入白名单。
用浏览器登录亚马逊账户,在展开的菜单中找到“管理内容和设备”这个分类。
依次点击【管理我的内容和设备】和【我的设备】选项卡,
在页面中找到【电子邮箱】这一项,有个“*@kindle.cn”字样的邮箱地址,这就是接收推送文档的收件人。
点击【设置】选项卡,
找到个人文档设置,将发件人添加到白名单中:
设置SMTP服务
有一点需要注意的是,GOOGLE家对端口限制得很厉害。之前用过一段时间GOOGLE的服务器,想要部署邮箱服务器,前后折腾了几天,遇到了各种莫名其妙的BUG。最后才发现原来GOOGLE把SMTP服务器常用的25,465,587端口全封了,你自己在GCP上网络里面把端口开放也是无效的。Google这个老贼,Gmail他自己也是用587端口的,测试下来只有Gmail自己的SMTP服务和Sendgrid在GCP的服务器上是可行的,其余的都被封了。
所以各位要注意设置推送的SMTP服务器需要是Gmail的。
博主Gmail出了点小问题,因此用的是Sendgrid,各位可以根据需要去申请
更详细一点的说明请参照Github上的 FAQ 或作者网站的 FAQ 链接。有关部署失败,部署后"internal server error"等问题都有解释。
不建议使用GAE Launcher部署KindleEar,除非你知道怎么设置Extra Flags等参数。