利用KindleEar搭建免费的Kindle新闻推送系统
背景
前些日子,对种草已久的Kindle终于入手了。Kindle上那种不伤眼的阅读真是太喜欢了,而且小巧玲珑,走到哪里都可以看,除了平时推送电子书外,更喜欢在这上面看看新闻和短篇。
比如可以将RSS 订阅源制成期刊,按时推送到 Kindle 中,甚至把漫画、微信做成定期内容推送过去。我平时喜欢看的Cnbeta、松鼠会等,利用KindleEar把这些订阅源做成固定时间推送,而且可以把多个信息合集成一本书,提高阅读效率,也不用到处找新闻看了。市面上很多类似的功能还是要收费的呢,比如狗耳朵等,既然有免费的我怎么不研究一下。
今天我就来说说利用KindleEar搭建自己的定时推送系统。文章可能有一点点小技术,但是绝对没有逻辑难度或者过于需要120智商的内容,只需要一点细心和耐心。
什么是KindleEar
KindleEar 是一款开源的 Python 程序,由网友 cdhigh 发起,托管在 Github。它可运行在免费的 Google APP Engine 上,把 RSS 生成排版精美的杂志模式的 MOBI 文件,并按照设置定时自动推送至你的 Kindle。如果你有 Python 和前端基础,还可以自定义排版,生成你需要的最完美的 MOBI 文件。--引用自书伴
cdhigh的原文地址
搭建好的KindleEar运行效果可以看我的Demo站和下图。(用户名、密码都为smzdm,仅供测试,请勿正式使用。连不上的自行更换第三方DNS,我这里移动网居然无法解析Namecheap的这个域名,差评!)
KindleEar能实现啥功能:
定期自动推送。就是定期把一些新闻推送到你的Kindle,完全不用人工干预。
自动生成图文的mobi或者epub格式。在Kindle上的排版和格式非常好。
支持RSS订阅。订阅源一般都是RSS,虽然现在RSS的资源真是越来越少了。
多账号管理,可以和朋友一块使用。自己搭建,邀请几个好友一块用。
其他,自行研究。
搭建KindleEar
搭建GAE平台
KindleEar只能运行在Google的GAE(Google APP Engine),GAE是谷歌的一款产品,它提供了一个web程序的运行空间,而且GAE可是免费的,非常稳定。你需要自己先准备一个google账号。
首先,打开应用的安全设置
创建一个GAE项目
输入项目的名字,可以随便填写。4~30 个字符,接受字母、数字、半角引号、连字符、空格、感叹号。
之后会生成一个带有数字的项目ID,如果不喜欢也可以随便改。这个名字我个人觉着无所谓,用默认就行,反正我会绑定自己的域名,当然如果你有强迫症,自己随便改吧。
上传KindleEar
进入 Google 云端控制台
点击右上角这个小图标,启动Shell,输入:
gcloud beta app create
之后选择地域,可以就近选亚洲4,或者美国。之后再输入:
rm -f uploader.sh* && wget https://raw.githubusercontent.com/kindlefere/KindleEar-Uploader/master/uploader.sh && chmod +x uploader.sh &&
./uploader.sh
一次性全复制进去后回车,之后提示输入你的Gmail邮箱和APP-ID:
注:作者会经常更新,后期如果需要更新的话,直接在这里输入一次 ./uploader.sh
增加发件授权人,进入: https://console.cloud.google.com/appengine/settings?project=(你的APPID)
点击修改,把你gmail的邮箱填上。如果已经有了则不用了,这个必做,否则后面会出错。
到此,就创建完成了,简单吧。你可以访问http://你的APPID.appspot.com来应用了。
绑定域名(可选,但很重要)
到上面为止,你已经可以正常使用KindleEar了,而且上面的内容也是网上能够找到的教程,我想说的是下面的。
你可能有两个方面问题很不爽,一个是这个域名实在太丑陋了,二是appspot.com很有可能上不去。为了解决这两个问题,我利用手头现有的VPS中搭建好的LNMP来解决,主要利用了Nginx中的反向代理功能。
反向代理原本是用来做动静分离或者负载均衡的,那么我们这里相当于用了偏方。
那么如果我有一个域名,为什么不能直接CNAME绑定?因为经过我测试,这个不成功,原因不讲。
这里要用到以前的一些知识,你需要有一个VPS、搭建好LNMP,并且把你的域名指向主机,并建立一个虚拟主机,这些可以从我以前的教程中找到,我不在啰嗦了。
我这次绑定的域名是kindle.sune.me,在lnmp建立好主机后,
进入conf的配置目录:cd /usr/local/nginx/conf/vhost
修改一下conf文件:vi kindle.sune.me.conf
在server部分添加一下代码:
location / {
sub_filter kindle-177810.appspot.com kindle.sune.me;
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://kindle-177810.appspot.com;
proxy_set_header Host kindle-177810.appspot.com;
proxy_pass http://kindle-177810.appspot.com;
proxy_set_header Accept-Encoding "";
}
标记中黑的地方需要修改为自己的内容,之后lnmp nginx restart重启服务。
这样可以访问http://kindle.sune.me相当于访问appspot.com了~
一点小修改:但是你在访问的时候,发现页面整个乱了,如下图。
这是因为一些静态文件可能设置的防盗链,那么简单的办法是把这些文件拷贝到本地。通过Chrome右键-查看网页源文件,发现在头部分有三个静态文件:两个css和一个png。
在本地主机的目录新建一个static目录,之后把这三个文件拷贝到本地,可以用FlashFXP传也可以直接Wget命令。
之后就一切就完美啦!是的,我就是个有点强迫症的人,如果你可以忍受,可选的这部分你可以略过。
KindleEar的简单说明
经过上述工作后,你的推送系统就ok了。那么你还需把gmail邮箱加入到信任地址。请到亚马逊账户中心页面将 你的邮箱@gmail.com 加入 'Approved Personal Document E-mail List'。
登录KindleEar进行具体设置:
1.在我的订阅中可以设置订阅的项目,可以自己添加一些RSS的订阅项目。只要是符合RSS/ATOM订阅(XML格式)的都可以。我搭建的时候发现,最新更新了很多漫画,感谢作者。
2.在设置中,添加你的Kindle的邮箱,还可以设置推送的周期、格式等内容。注意“能使自动定时投递”勾选后才是打开了投递功能,所以必须点上。
3、在投递日志中可以查看投递的结果。
功能说明我就简要的说到这里,其实想要完全掌握推送这个技能,还需要自己在研究一下。推荐查看一下连接:
其实我花费了很大时间,想把这个项目移植到Linux下,但是以失败告终,技不如人甘拜下风,所以只能用Google的GAE平台。
Kindle的推送也是一个小坑,想要弄到完美、称心如意还需要付出一定时间,本文只为大家讲解搭建平台,后期设置和RSS收集还需要时间,我也在研究,欢迎大家评论。
还是那句话,感谢开放的互联网提供这么多资源,且用且珍惜!






















校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
另外有个问题,设置了定时推送,现在每天都有新书,看完想在kindle里直接删掉貌似不行,不能彻底删除,只能用电脑登录亚马逊来删除,有什么好办法可以自动删除过期的书籍吗?
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案