Total Pageviews

Saturday, 6 June 2020

forwarder

简单的HTTP请求转发服务器,配合KIndleEar翻入墙内或绕过部分网站对GAE的IP地址的封锁。灵感来自https://github.com/ohdarling/ZhihuDailyForwarder
#描述:
这是一个很简单很简单的HTTP请求转发服务器,代码只有40行,可以很简单的部署到任何支持WSGI的 云端服务器,然后使用其中转KindleEar的个别HTTP请求,以便绕过墙或绕过部分网站对GAE的IP的封锁。
作者已经将其部署到Heroku上,目前免费提供服务,但不保证一直服务,目前流量已经很大,而Heroku的免费流量又不多,可能会随时出现连接超时或停止服务情况,为了您的推送稳定,建议自己搭建。
http://kforwarder.herokuapp.com/
#使用方法:
仅需要 修改KindleEar的config.py文件,将SHARE_FUCK_GFW_SRV 的值修改为你部署的转发器站点URL,格式为:
http://kforwarder.herokuapp.com/?k=xzSlE&t=timeout&u=URL
其中xzS1E为验证码,timeout为超时时间,可省略,默认为30s,URL则为要转发的URL.
如果你要新增其他需要转发器的书籍,代码样例参照 KindleEar 项目的 books/ZhihuDaily.py (知乎日报)
#部署到Heroku步骤(不需要安装任何软件,可以在几分钟之内部署成功): 参见 DeployToHeroku.md

----------------------------------------------

A website application running in Google app engine, deliver rss news to your kindle. generate mobi using python, multilanguages supported.
Readme of english version refers to Readme_EN.md

简介

这是一个运行在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文件。

标准部署步骤

  1. 创建一个Application,注意不用申请GCE,那个是60天试用的,而GAE是限额范围内永久免费的。
  2. 安装 Python 2.7.x
  3. 安装 GAE SDK
  4. 下载 KindleEar ,解压到一个特定的目录。
  5. 在以下三个文件中修改一些参数:
文件待修改内容说明
app.yamlapplication你的ApplicationId
module-worker.yamlapplication你的ApplicationId
config.pySRC_EMAIL创建GAE工程的GMAIL邮箱
config.pyDOMAIN你申请的应用的域名
如果使用gcloud部署,需要注释掉yaml文件中的application/version项。
  1. 转到GAE SDK安装目录(默认为:C:\Program Files\Google\google_appengine)
  2. 部署命令:
    8.1 使用appcfg.py:
    • c:\python27\python.exe appcfg.py update kindleear目录\app.yaml kindleear目录\module-worker.yaml
    • c:\python27\python.exe appcfg.py update kindleear目录
8.2 使用gcloud:
* 删除app.yaml和module-worker.yaml开头的两行:application / version
gcloud auth login
gcloud config set project 你的ApplicationId
gcloud app deploy --version=1 KindleEar目录\app.yaml KindleEar目录\module-worker.yaml
gcloud app deploy --version=1 KindleEar目录
* [如果服务器没有正常创建数据库索引,可能需要手动执行如下语句]
gcloud datastore indexes create KindleEar目录\index.yaml
  1. 全部完成后就可以尝试打开域名:
    http://appid.appspot.com (appid是你申请的application名字)
    比如作者的网站域名为:http://kindleear.appspot.com/
    注:初始用户名为 admin,密码为 admin,建议登录后及时修改密码。
  2. 更详细一点的说明请参照Github上的 FAQ 或作者网站的 FAQ 链接。有关部署失败,部署后"internal server error"等问题都有解释。
    不建议使用GAE Launcher部署KindleEar,除非你知道怎么设置Extra Flags等参数。

简化的部署步骤(推荐)

假如你不想安装python和GAE SDK,则可以选择如下两种方法之一:
  1. 参考代码库 https://github.com/bookfere/KindleEar-Uploader ,里面有详细的教程和服务器脚本,也很简单。
  2. 使用本机脚本:
    2.1 下载KindleEar 并解压(改目录名为KindleEar)。
    2.2 下载KindleEar-Uploader 并解压。
    3.3 将KindleEar目录放到Uploader目录下,双击uploader.bat即开始上传,根据提示输入你的相关信息即可,在第一次成功部署之后,适用uploader再次升级KindleEar则不需要再次输入。
    此uploader仅适用于Windows系统。

许可协议

KindleEar is licensed under the AGPLv3 license.
大体的许可框架是此应用代码你可以任意使用,任意修改,可以商用,但是必须将你修改后的代码开源并保留原始版权声明。

主要贡献者


No comments:

Post a Comment