kindle-send

nikhil1raghavAGPL-3.0活跃维护

把网页、文档和书签推送到 Kindle 的 Go 工具,省去手动转换格式和传输的麻烦,适合想随时在电纸书上阅读网络内容的人。

Send webpages, documents and bookmarks to kindle

v2.0.0-rc-2发布于 2023-08-19 18:48 UTC281star31fork同步于 2026-11-11 00:01 UTC

怎么上手

由 README 提炼,执行前请确认
brew install nikhil1raghav/tap/kindle-send
硬件要求按 README 说明

README 未说明,工具本身只依赖编译好的二进制,不涉及 GPU 或显存

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把网页、文档和书签转成 epub 并通过邮件推送到 Kindle 的命令行工具

把网页、文档和书签推送到 Kindle 的 Go 工具,省去手动转换格式和传输的麻烦,适合想随时在电纸书上阅读网络内容的人。

核心能力

  • 把网页抓取并优化排版后转成 epub
  • 把多个链接合并成一本分章节的电子书
  • 自动识别参数是文件、URL 还是链接列表
  • 支持 download 模式只保存文件不发送
  • 用 --mail-timeout 调整大文件的邮件超时

容易踩的坑

首次运行需交互式回答配置问题,生成 KindleConfig.json 后才能用;用 Gmail 发信要单独创建 app password,不能直接用登录密码;默认邮件超时 2 分钟,发大文件需用 -m 调大

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.0.0-rc-2
  1. v2.0.0-rc-2最新正式版2023-08-19 · 2023-08-19 18:48 UTC

    Changelog

    • d418785 Sanitaze file names - draft
    • 6d0211b Update .gitignore, use sanitaze function
    • a546157 Use gosimple/slug for creating file names
    • 779bca4 [fix] return filepath
  2. v2.0.0-rc-1pre-release2023-04-16 · 2023-04-16 13:35 UTC
    查看更新说明

    Changelog

    • kindle-send auto detects the type of file is a url, file or a collection of urls
    • Now you can chain multiple urls and files together and send them all at once
    • kindle-send download option to download the files but not send them
    • Muted the warning "config home not set" if XDG_CONFIG_HOME variable is not set.
    • Older commands will not work with this version, hence versioned as v2.0.0-rc-1. If you're using kindle-send in scripts, this update will break them.
  3. 1.0.32022-09-27 · 2022-09-27 06:49 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/nikhil1raghav/kindle-send/compare/v1.0.2...1.0.3

  4. v1.0.3-rc-2pre-release2022-09-23 · 2022-09-23 04:50 UTC
    查看更新说明

    What's Changed

    Full Changelog: https://github.com/nikhil1raghav/kindle-send/compare/v1.0.3-rc-1...v1.0.3-rc-2

  5. v1.0.3-rc-1pre-release2022-09-08 · 2022-09-08 03:55 UTC
    查看更新说明

    What's Changed

    There was a problem with storing smtp address and port while using different provider other than gmail. Fixed in this pre-release.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Documentation

    kindle-send is a CLI tool to send files and webpages to your e-reader via e-mail.

    Webpages are optimized for viewing on e-reader


    An epub is created from the url, then mailed to the kindle. Amazon converts that epub into azw3 for viewing on kindle. So you can use kindle-send, even if you're using a different ereader like Kobo and Remarkable if it supports pushing ebooks via email.


    Installation

    To run kindle-send you just need the compiled binary, no other dependency is required.

    Brew

    Kindle-send can be installed via brew

    brew install nikhil1raghav/tap/kindle-send
    
    Download binary

    Download the binary for your operating system and architecture from release page and add it to your PATH. If there is no binary compatible for your system. Please create an issue.

    Go install

    If you have golang installed, you can also install kindle-send using

    go install github.com/nikhil1raghav/kindle-send@latest
    

    For the first time when you run kindle-send, you need to answer some questions to create a configuration file, which has options like sender, receiver, password and path to store the generated files.

    If you're using gmail to send mails to kindle, consider creating an app password and then using it.


    Following modes of operation are supported

    1. Send a file

    Using kindle-send to mail an already existing file.

    kindle-send send Jane-eyre-Autobiography.epub
    

    2. Send a webpage

    Quickly send a webpage to kindle

    kindle-send send http://paulgraham.com/hwh.html
    

    3. Multiple webpages combined in a single volume

    Create a text file with new line separated links of webpages and then all the webpages mentioned in the file will be bound in a single ebook as chapters and sent to ereader.

    kindle-send send links.txt
    

    4. Send Multiple files at once

    You can send multiple files or links at once.

    kindle-send auto detects the type of file and takes required action.

    Each argument is sent as a separate file.

    For example, the command below will send an html page (converted to ebook), an ebook and a collection of bookmarks post downloading the webpages and creating an ebook from them.

    kindle-send send http://paulgraham.com/hwh.html jane-eyre-autobiography.epub some-links.txt
    

    5. Download but not send

    If you just want to save a webpage for reading later, replace send with download and the files will be saved in local directory but will not be sent to an ereader.

    Example

    kindle-send download https://blog.maxgio.me/posts/linux-scheduler-journey/
    

    Additional options

    Default timeout for mail is 2 minutes, if you get timeout error while sending bigger files. Increase the timeout using --mail-timeout <number of seconds> or -m option

    Specify a different configuration file using --config or -c option. Configuration is stored in home directory as KindleConfig.json. You can directly edit it if you want.

    When sending a collection of pages if no title is provided, volume takes the title of the first page.

    You can always get more information about usage of commands and options by typing kindle-send help


    Contribute

    Feel free to create an issue and then working on some feature, so that we don't overwrite each other.

    Todo

    • Weekly RSS feed dump, when combined with cron
    • Better CSS & formatting for epub
    • Compressing images before embedding to reduce final file size
    • Simple UI form driven by CLI. Something like kindle-send dashboard. (Until then, KindBeamer is a GUI for the sending side: https://github.com/jooray/kindbeamer)
    • Auto detect file type
    • Option to download but not send the files
    • Remove dependency on percollate and calibre
    • Make installation easier, add brew and other package managers.