分享一下自己开发 kindle 电子书下载助手

大家好,我是青空。

最近亚马逊官宣了Kindle业务退出国内市场, 停止kindle电子书的业务。 我之前也买过两个 Kindle 也是买了一些电子书在上面。

前几天看到有人用Python开发了一个电子书下载的命令行工具,感觉挺不错的, 但是感觉还是不太友好,针对小白用户,还是在界面上点点比较合适。

今天就给大家分享下自己开发的一个下载工具。前前后后花了一个星期的样子, 做了一个桌面版和命令行版本。 桌面版针对的是Windows 用户, 命令行针对的是Mac、Linux的用户, 主要是 macOS 签名公证,没有开发者ID,所以没做。这两个版本都在GitHub 上进行开源,有能力的可以自己下载编译,地址我放到最下面了。

桌面版

桌面版的界面大致如下
在这里插入图片描述

有单文件打包版本 和 未打包两个版本

  • 单文件打包包含了运行所需的.NET 6 的依赖, 可以一键运行。 缺点是软件包比较大
  • 未打包版本需要 安装 .NET 6 的runtime 才行。

.NET 6 Runtime 下载地址 https://dotnet.microsoft.com/en-us/download/dotnet/6.0目前支持中亚、美亚、日亚三个渠道

使用说明
  1. 填写cookie 和 csrf token , 具体如何获取,下文有说明。
  2. 选择电子书 或者 个人文档 ,选择对应的地区 - 中亚、美亚、日亚
  3. 点击获取获取书籍列表,需要等待一会
  4. 选择下载保存目录,点击下载全部进行下载
  5. 日志输出栏目中有下载进度条和下载日志输出
  6. 下载列表中,电子书下载完成会及时更新下载状态
    在这里插入图片描述

命令行版本

命令行没有太多可以介绍的,程序员一般都看的懂,直接看下面的参数说明就行,同样依赖于 .NET 6 环境。

.NET 6 Runtime 下载地址 https://dotnet.microsoft.com/en-us/download/dotnet/6.0

使用说明
./KindleHelper --domain cn 

参数说明

Usage:
  KindleHelper [options]

Options:
  -o, --output <output>        目录 [default: ./]
  --domain <domain>            国家地区代码 , cn, jp, com [default: cn]
  --cookie <cookie>            amazon cookie
  --csrf-token <csrf-token>    amazon csrf token
  --resume-from <resume-from>  resume from the index if download filed
  --cut-length <cut-length>    truncate the file name [default: 100]
  --filetype <filetype>        amazon file type , EBOK PDOC [default: EBOK]
  --version                    Show version information
  -?, -h, --help               Show help and usage information

获取 Cookie 和 csrfToken

首先是获取 cookie , 打开亚马逊网站,F12 打开开发者工具中获取
在这里插入图片描述

然后是需要 获取 csrfToken, 打开 https://www.amazon.cn/hz/mycd/myx#/home/content/booksAll/dateDsc/, 查看源码, 搜索 csrfToken 复制后面的值就行。

或者在开发者工具中获取, 你只要点击到 内容和设备管理页面中, 在 开发者工具 找到 https://www.amazon.cn/hz/mycd/ajax ,任何一个上的header 上也是有的。

开源地址:

命令行版本 https://github.com/itgo067/KindleHelper
桌面版 https://github.com/itgo067/KindleHelper-Desktop

下载地址

百度云 :链接:https://pan.baidu.com/s/1y5a0qotYvozdH9FNKJrnjw?pwd=6666 提取码:6666
csdn 下载:https://download.youkuaiyun.com/download/wbf1013/85640991
https://download.youkuaiyun.com/download/wbf1013/85641015

最后

有问题可以联系我 ,跟我反馈,我会及时更新,修bug。 有能力的可以自己提PR 。

我们希望在我们的阅读设备上能够享受这些自由: 数字内容不被局限于特定厂商的专有系统的自由。用户可以获得阅读器软件运行细节,保障数字内容不被非法窥探的自由。用户修改阅读器软件外观和功能的自由。Koreader 正是让我们获得这些自由的一个尝试。Koreader 在 GPLv3 协议下发布,支持开放文档格式 PDF、DJVU、EPUB,个人文档转化为这些开放格式后不会因为特定厂商的消失而使文档失效;任何有兴趣了解 Koreader 运行细节的人都可以拿来研究并修改、添加自己想要的功能。Koreader 项目来源于 Kindlepdfviewer,并重写了 Kindlepdfviewer 界面层的大部分代码,使模块化程度更高。理论上 Koreader 能够运行在所有基于 Linux 的阅读设备上。如果你想要移植 Koreader 到其他阅读器上的话,请参考项目的 Wiki 页面:如何移植 Koreader 到其他系统。Feature List机型支持:Kindle Touch、Kindle PaperWhite (K3,DXG,K4 的支持还在完善中)格式支持:PDF, DJVU, EPUB, HTML, MOBI, TXT, ZIP, CBZ, FB2, RTF, XPS, CHM, DOC功能支持:见参考[4]。ArchitectureKoreader 底层的文档解析和渲染使用了优秀而且成熟的开源实现:PDF 文档的解析渲染使用小巧快速、低内存占用的 MuPDF。DJVU 文档的解析渲染使用了 DJVU 格式的开源实现 DjVuLibre。EPUB 和其他标记文档使用 CoolReader 的渲染引擎 CREngine。使用 K2pdfopt 来优化 PDF/DJVU 文档在小屏幕设备上的排版。效果见这里。其他开源库如 luafilesystem, popen_nonshell 以及 freetype 等等。Koreader 界面层和逻辑层使用嵌入式脚本语言 Lua 编写,运行时通过 LuaJIT 即时编译为机器码来提升运行效率。KOReader 自带一套超轻量级的GUI框架,可直接运行在支持桢缓存(FrameBuffer)设备的阅读器上,也可以通过 SDL 获得跨平台的运行支持。 Koreader 自带一个设备模拟器,方便开发者在桌面系统进行开发。有关开发的详情请参考项目 Wiki 和 README。介绍内容来自 LinuxToy 标签:Koreader
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值