{"id":19064961,"url":"https://github.com/netkiller/kindle","last_synced_at":"2026-06-17T06:32:24.356Z","repository":{"id":69703482,"uuid":"362298214","full_name":"netkiller/kindle","owner":"netkiller","description":"Python kindle tools","archived":false,"fork":false,"pushed_at":"2021-04-28T13:32:25.000Z","size":25860,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-06T23:18:08.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netkiller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-28T01:13:03.000Z","updated_at":"2021-04-28T13:32:28.000Z","dependencies_parsed_at":"2023-02-27T09:46:11.399Z","dependency_job_id":null,"html_url":"https://github.com/netkiller/kindle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/netkiller/kindle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netkiller%2Fkindle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netkiller%2Fkindle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netkiller%2Fkindle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netkiller%2Fkindle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netkiller","download_url":"https://codeload.github.com/netkiller/kindle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netkiller%2Fkindle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34437449,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T00:48:03.281Z","updated_at":"2026-06-17T06:32:24.336Z","avatar_url":"https://github.com/netkiller.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kindle ebook tools\n\n## Setup\n\n    [root@localhost ~]# cd /usr/local/src/\n\n    [root@localhost src]# git clone https://github.com/netkiller/kindle.git\n\n    [root@localhost src]# cd kindle/\n\n    [root@localhost kindle]# python3 setup.py sdist install \n\n    [root@localhost kindle]# kindle -h\n    Usage: kindle [option] example@kindle.cn\n\n    Kindle book push\n\n    Options:\n    --version             show program's version number and exit\n    -h, --help            show this help message and exit\n    -p /var/book/, --path=/var/book/\n                            The path of library\n    -f, --force           force sendmail\n    -b /path/to/book.mobi, --book=/path/to/book.mobi\n                            book path\n    -g {kindle|phone|ipad|email|other}, --group={kindle|phone|ipad|email|other}\n                            User group\n    -a, --all             Push all of books to friends\n    -n, --netkiller       Push books to mine\u003cnetkiller@kindle.cn\u003e\n    -e {mobi|pdf}, --ext={mobi|pdf}\n                            file extention name, default: .mobi\n    -d, --debug           debug mode\n\n    Database:\n        -l, --library       list library\n        -u, --user          list kindle users\n        -s, --bibliography  list the user's bibliography\n\n    Advanced:\n        --smtp=SMTP         smtp server default: msn\n        --size=40           file size (MB)\n        -k, --azw3          azw3 file first\n        -o 10, --offset=10  Index offset number\n        -D 2019-01-01, --date=2019-01-01\n                            from date\n\n## 配置 SMTP\n\n    neo@MacBook-Pro-Neo ~/git/kindle % cat ~/.kindle/smtp.ini        \n    [default]\n    smtp=smtp-mail.outlook.com:587\n    username=netkiller@msn.com\n    password=\n    tls=True\n## 准备电子书\n\n    在当前目录下创建一个 Book 目录，将后缀为 .mobi 的电子书复制进去。\n    [root@localhost ~]# ls -1 Book/\n    Netkiller-Architect.mobi\n    Netkiller-Blockchain.mobi\n    Netkiller-Docbook.mobi\n    Netkiller-Java-Spring.mobi\n    Netkiller-Java.mobi\n    Netkiller-Linux.mobi\n    Netkiller-Management.mobi\n\n## Manual\n\n    [root@localhost kindle]# kindle -a netkiller@msn.com\n    SEND: netkiller@msn.com =\u003e Book/Netkiller-Architect.mobi (2.98 MB)\n\n    [root@localhost ~]# kindle netkiller@kindle.cn\n    SEND: netkiller@kindle.cn =\u003e Book/Netkiller-Architect.mobi (2.98 MB)\n\n    指定电子书推送使用 -b 参数\n    [root@localhost ~]# kindle -b Book/Netkiller-Architect.mobi netkiller@kindle.cn\n\n    强制推送，当推送失败，用户没有接受到，再次推送就需要使用 -f 参数。\n    [root@localhost ~]# kindle -f -b Book/Netkiller-Architect.mobi netkiller@kindle.cn    \n\n### 查看书库\n\n    [root@localhost ~]# kindle -l\n    1\t2021-04-28 16:08:17\t3124624(2.98 MB)\t/Netkiller-Architect.mobi\n    2\t2021-04-28 16:08:17\t9464863(9.03 MB)\t/Netkiller-Blockchain.mobi\n    3\t2021-04-28 16:08:17\t421122(411.25 KB)\t/Netkiller-Docbook.mobi\n    4\t2021-04-28 16:08:17\t952569(930.24 KB)\t/Netkiller-Java-Spring.mobi\n    5\t2021-04-28 16:08:17\t2212841(2.11 MB)\t/Netkiller-Java.mobi\n    6\t2021-04-28 16:08:17\t15817932(15.09 MB)\t/Netkiller-Linux.mobi\n    7\t2021-04-28 16:08:17\t1120324(1.07 MB)\t/Netkiller-Management.mobi\n\n### SMTP\n\n    [default]\n    smtp=smtp-mail.outlook.com:587\n    username=netkiller@msn.com\n    password=\n    tls=True\n\n    [msn]\n    smtp=smtp-mail.outlook.com:587\n    username=netkiller@msn.com\n    password=\n    tls=True\n\n    [163]\n    smtp=smtp.163.com\n    username=openx@163.com\n    password=\n    tls=False\n\n    [openunix]\n    smtp=smtp.163.com\n    username=openunix@163.com\n    password=\n    tls=\n\n    [local]\n    smtp=localhost\n    username=netkiller@msn.com\n    password=\n    tls=\n\n    [postfix]\n    smtp=192.168.3.5\n    username=netkiller@msn.com\n    password=\n    tls=False\n\n    [root@localhost kindle]# kindle -a netkiller@msn.com --smtp=163\n\n### 分组管理\n\n    分组可以将用户归类管理，例如不同兴趣，不同专业，为他们单独建立分组\n\n    计算机组\n    [root@localhost ~]# kindle -g computer netkiller@kindle.cn\n    SEND: netkiller@kindle.cn =\u003e Book/Netkiller-Architect.mobi (2.98 MB)\n    文学组\n    [root@localhost ~]# kindle -g literary tom@kindle.cn\n    哲学组\n    [root@localhost ~]# kindle -g philosophy jerry@kindle.cn","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetkiller%2Fkindle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetkiller%2Fkindle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetkiller%2Fkindle/lists"}