又买了个Kindle,这次搭建个RSS-Server玩玩
目录
收了个Kindle 8,原来那个7的就卖了吧
KindleEar
之前尝试过很多Kindle Rss 推送网站,反正都要钱才能用到所有功能,很早也看到KindleEar这个repo,不过当初看教程觉得有些麻烦于是一直没去搞,为了对新的Kindle表示欢迎o( ̄▽ ̄)o 今天早上我试着按照教程搭建了一下。
本文不含任何自开发内容,完全是经验收集。
项目部署
基于GAE的都是好东西
Requirements
看起来很麻烦但实际上半小时就能解决
Google Access(or VPN)
搜一下google hosts然后添加到自己的hosts里面
这里不使用VPN可以省去后方socket配置的步骤
Google账户
反正就是gmail账户呗
这里需要到Google“登录与安全”-“允许不够安全的应用”将设置改为“已启用”。 因此必须要能先访问Google 很多年前搞Android SDK的时候基本都设置好了
创建一个IMA
GAE 项目地址:https://console.developers.google.com/project?hl=zh-tw
点击页面右上角的“選取一項專案 (Select a project)”,在菜单中点击“建立專案… (Create a project…)”,会弹出一个名为“新增專案 (New Project)”的对话框。在“專案名稱 (Project name)”中输入你喜欢的名称
id在后面会对应用到,同时对应的外部URL就是http://[APPID].appspot.com
Deployment
修改配置文件
|要修改的文件 |要修改的内容 |内容修改说明| | ------------ | ------------ | |app.yaml |application: xxx| xxx修改为你创建的 APPID| |module-worker.yaml| application: xxx| xxx修改为你创建的 APPID| |config.py| SRC_EMAIL = “xxx@gmail.com”| xxx修改为你创建应用的Gmail 邮箱| |config.py| DOMAIN = “https://xxx.appspot.com“| xxx修改为你创建的 APPID|
上传到GAE
cmd里面运行
D:\Tools_For_Work\Python\python.exe appcfg.py update D:\Tools_For_Work\Projs\KindlerEar\app.yaml D:\Tools_For_Work\Projs\KindlerEar\module-worker.yaml
D:\Tools_For_Work\Python\python.exe appcfg.py update D:\Tools_For_Work\Projs\KindlerEar
会自动弹出浏览器要求输入密码进行验证,输入完后显示验证通过基本就可以了
这里如果使用了VPN可能会报错,可能需要使用SocksiPy这个script1
一些问题的解答
1、如果确认输入的账号密码正确却仍然出现“Invalid username or password.”
- 请点击这里检查一下相关选项。首先找到“允许不够安全的应用”这个选项,确认是“已启用”状态。
- 然后查看下账号登录是否被 Google 拦截,把可疑操作确认是自己操作
- 然后重新运行 uploader.bat 走一遍过程。如果取消拦截后还是出现“Invalid username or password.”这样的提示,请先使用浏览器登陆你的 Google 账号,看是否会有短信验证等提示,登录成功后重新运行 uploader.bat 走一遍过程。
2、程序会自动记录登陆邮箱密码,如果需要需要切换账号,请前往目录“C:\用户\你的用户名\”下删除“.appcfg_cookies”,然后重新运行 uploader.bat
关于 internal server error的问题
GAE会自动Index?
查看了一下发现IAM里面还在生成索引

官方FAQ:
如果你部署步骤完全正确的话,可以稍等几分钟到几十分钟,等gae自动生成索引,如果gae没有成功自动生成索引,你也可以手动更新索引:
python appcfg.py update_indexes KindleEar/
在终端窗口执行此命令,注意最后一个KindleEar是你保存的此应用的目录名。 如果出现的异常信息中有“UnknownQueueError”,则说明部署有问题,可以先单独执行此命令上传更新队列配置信息:
python appcfg.py update_queues KindleEar/
这几个命令也可以执行一遍试试。(比如手动可以推送无法自动推送则执行 update_cron)
python appcfg.py update_cron KindleEar/ python appcfg.py update_queues KindleEar/ python appcfg.py update_dispatch KindleEar/
然后再一次更新索引
python appcfg.py update_indexes KindleEar/
如果上面的步骤执行完后还是不行的话,请按照正确步骤重新部署。
最后这样就可以了

推送功能

默认卡密都是admin
具体操作不想写了,记住将自己的gmail邮箱在Amazon设备管理里面设置为允许就行
推送过程中出现 wrong SRC_EMAIL 错误

官方FAQ2中已经有解答
投递日志状态wrong SRC_EMAIL的解决方案。
到Gae后台的Settings页面,看看 已经授权的Email列表里面有没有你的发送邮箱地址,如果没有就添加即可。
然而我找了很久没找到这个页面,因为GAE有了一些改版,最终发现是在这儿
首先选择自己的IAM,进入到App Engine,然后选择Setting,上方有个编辑按钮将gmail邮箱加进去。


然后到KindleEar里面重新投递一下,然后就成功了

这个项目做得还算不错