又买了个Kindle,这次搭建个RSS-Server玩玩

2022-08-15 16:57:08 浏览数 (1)

KindleEar

之前尝试过很多 Kindle Rss 推送网站,反正都要钱才能用到所有功能,很早也看到 KindleEar 这个 repo,不过当初看教程觉得有些麻烦于是一直没去搞,为了对新的 Kindle 表示欢迎 o(

 ̄▽ ̄

)o 今天早上我试着按照教程搭建了一下。

本文不含任何自开发内容,完全是经验收集。

项目部署

基于 GAE 的都是好东西

Requirements

看起来很麻烦但实际上半小时就能解决

Google Access(or V**)

搜一下 google hosts 然后添加到自己的 hosts 里面

这里不使用 V** 可以省去后方 socket 配置的步骤

  1. Python
  2. GAE SDK 下载:[GAE SDK](https://storage.googleapis.com/appengine-sdks/featured/Goo 素 gleAppEngine-1.9.40.msi)
  3. KindleEar 直接从 Github clone: KindleEar
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 里面运行

代码语言:javascript复制
D:Tools_For_WorkPythonpython.exe appcfg.py update D:Tools_For_WorkProjsKindlerEarapp.yaml D:Tools_For_WorkProjsKindlerEarmodule-worker.yaml
D:Tools_For_WorkPythonpython.exe appcfg.py update D:Tools_For_WorkProjsKindlerEar

会自动弹出浏览器要求输入密码进行验证,输入完后显示验证通过基本就可以了

这里如果使用了 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 里面重新投递一下,然后就成功了

这个项目做得还算不错

参考文献

  1. KindleEar 搭建教程:推送 RSS 订阅到 Kindle↩
  2. KindleEar FAQ ↩

0 人点赞