番茄小说下载器实战手册:从首次下载到自动化书架全流程指南
番茄小说下载器实战手册从首次下载到自动化书架全流程指南【免费下载链接】Tomato-Novel-Downloader番茄小说下载器不精简版项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader如果你曾为了把一部番茄小说存进阅读器反复复制粘贴几百个章节或者半夜守着下载进度条生怕断网那么这款基于 Rust 重构的开源工具——番茄小说下载器Tomato-Novel-Downloader值得一试。它是一款专注于番茄平台的小说下载工具提供 EPUB/PDF/TXT 格式转换、断点续传、Edge TTS 有声小说生成与 Web UI 管理界面目标是让保存一本小说这件事从手动劳动变成一条命令。下面这份实战指南会带你从零上手并逐步解锁它的自动化玩法。开箱即用三种运行方式按场景挑选安装非常简单官方提供了一键脚本installer.sh运行后会自动匹配系统架构并部署可执行文件。装好后你会面对一个选择用哪种界面工具其实内置了三条路线对应不同使用场景。Web UI浏览器里完成搜索与下载全流程对于绝大多数用户最省心的入口是 Web UI 模式。用一条命令启动本地服务TOMATO_WEB_ADDR0.0.0.0:18423 tomato-novel-downloader --server这段命令的作用是让程序监听18423端口并且把监听地址设为0.0.0.0这样同一局域网里的手机、平板也能访问。在浏览器打开http://localhost:18423你会看到一个纯 HTML 实现的简洁页面不需要任何前端构建步骤搜索书名、创建下载任务、查看进度、取消任务、浏览下载库甚至可以把整个小说文件夹一键打包成 zip 下载——这对音频这种文件夹套文件夹的产物尤其贴心。如果你的服务要暴露给更多人访问记得加上密码锁tomato-novel-downloader --server --password 你的密码TUI 与老版 CLI终端里的两种姿态喜欢终端操作的用户直接运行tomato-novel-downloader会进入基于 ratatui 的 TUI 界面。值得一提的细节是在程序首次启动时连续按三下o键并回车会切换回面向视障人士保留的老版 CLI 界面成功时会发出一声提示音。老版 CLI 目前仅保留更新本地书籍、查看历史、修改配置等能力首次下载新书仍建议走 TUI 或 Web UI。一次下载的背后断点续传与格式转换的协作机制选好界面、找到书、点下开始下载程序内部其实串联了多个分工明确的模块。理解这套机制你才能知道它为什么比复制粘贴可靠得多。断点续传下载任务的记忆藏在哪整个下载流程由src/download/目录下的引擎编排核心思路是把每一章当作独立的数据单元处理。每完成一章进度就会写入本地记录中途断网或手动中断后重新运行程序会对比已保存的章节只补下载缺失或损坏的部分而不是从头再来。配合src/base_system/下的下载历史与重试机制即使某次请求失败也会按设定策略自动退避重试。EPUB/PDF/TXT从 HTML 到三种阅读格式下载后的原始内容需要经过src/book_parser/里的多级渲染管线才能变成成品先解析 HTML再做中文排版优化——比如标点压缩、段落间距调整、目录结构自动识别最后按目标格式规范输出。三种格式各有分工格式适合场景特点EPUB手机/阅读器主流支持目录、封面、样式兼容性最佳PDF打印、存档版式固定体积偏大TXT老旧设备、纯文本通用性最强但丢失排版在配置里通过novel_format指定默认输出也可在下载完成后询问选择对应配置项ask_format_after_download。官方 API 与第三方双模式网络层src/network_parser/支持两种数据获取策略默认的official-api构建保留官方 API 的搜索、目录、段评能力同时正文可在官方与第三方之间切换use_official_api开关如果你所处的环境拿不到官方 API crate项目还提供no-official-api构建模式目录与书信息走网页解析正文强制使用第三方地址池。构建时把仓库根目录的Cargo_no_official.toml替换为Cargo.toml即可。这也解释了配置里的两个常见字段max_workers并发下载线程数网络不稳时调低到 2~4 更稳妥request_timeout单次请求超时秒数网络环境差时适当调大把小说读出来Edge TTS 有声书生成通勤路上不想盯屏幕工具内置了微软 Edge TTS 语音合成下载完文本后可以顺手生成对应的有声小说。开启配置里的enable_audiobook开关每次下载完成就会自动生成音频默认发音人是zh-CN-XiaoxiaoNeural并支持语速、音量、音调与输出格式mp3 或 wav的调整。enable_audiobook: true # 下载完成后生成有声书 audiobook_voice: zh-CN-XiaoxiaoNeural audiobook_concurrency: 24 # TTS 并发数 audiobook_format: mp3音频会按章节顺序命名存放在{书名}_audio文件夹里如0001-第一章.mp3如果下载到了封面还会生成cover.jpg方便播放器识别。更贴心的是它的断点续跑逻辑已存在且非空的音频会自动跳过只补生成缺失章节——好比施工队每盖完一层楼就做标记第二天从标记处继续而不是推倒重来。需要提醒的是TTS 依赖访问微软在线服务运行环境必须能连上外网。自动化追更用命令行把更新交给定时任务工具的命令行模式是非交互的非常适合写进脚本。它的职责很聚焦更新本地已经下载过的书籍。例如给 Kindle 自动更新一本已入库的小说tomato-novel-downloader --update 7318247498772674083这条命令会直接读取配置里的默认保存路径和下载设置开始更新无需任何手动输入。不过要注意两个约束--update只允许更新默认目录下存在本地下载记录的书籍且只接受 book_id——这是开发者有意为之用来防止脚本被批量滥用。把它交给系统定时任务就能实现无人值守追更# 每天凌晨两点自动更新这本书 0 2 * * * tomato-novel-downloader --update 7318247498772674083如果你手头只有分享链接里面那串长数字就是 Book ID更省事的方式是直接用 Web UI 的搜索功能完全不用手动找 ID。从个人电脑到家庭服务器Docker 一键部署想要全家共享一个下载中心项目提供了开箱即用的 Docker 镜像分两个 taglatest是常规 glibc 版本适合普通服务器latest-musl针对软路由、NAS 这类轻量系统做了静态链接优化。部署命令如下docker run -d \ --name tomato-novel-webui \ -p 18423:18423 \ -v /host/data:/data \ -e TOMATO_WEB_ADDR0.0.0.0:18423 \ zhongbai233/tomato-novel-downloader-webui:latest --server --data-dir /data这里的核心逻辑是-v /host/data:/data把宿主机目录挂载进容器做持久化--data-dir /data让配置文件和日志统一存放到该目录——这样升级容器不会丢数据家庭成员通过局域网 IP 访问 Web UI 就能共享一个下载队列。对应地Docker 专用构建禁用了程序自更新逻辑升级走重新拉取镜像这一条路避免容器内外两套更新机制打架。进阶调优从用户到贡献者的两步走当你把上面的流程跑顺自然会想按自己的习惯微调。项目的配置文件config.yml支持带注释自动生成实现见src/base_system/config.rs字段缺失时会自动补全并写回注释说明Web UI 也提供在线修改入口改完实时写回文件。几个高频调整项save_path默认输出目录建议指向容量充足的磁盘audiobook_concurrency网络与机器性能允许时可适当调高否则保持低值max_workers控制对 API 的压力开发者明确呼吁不要盲目调大线程数如果你有兴趣深入源码推荐按这条路径阅读先看src/download/的下载编排再读src/book_parser/的格式生成最后理解src/ui/web/routes/的 Web 路由结构。项目采用 Cargo features 管理构建模式official-api与no-official-api互斥仓库里还提供了scripts/maintain.sh之类的维护脚本用于在合法 feature 组合下跑格式化、测试和 clippy 检查。写在最后从浏览器里搜索一本书到定时任务自动追更再到 Docker 容器里为全家人服务番茄小说下载器把保存小说这件事拆解成了清晰可靠的流水线。它既照顾了不熟悉命令行的新手也为自动化爱好者和开发者留足了空间。下一步你可以从 Web UI 下载第一本书开始然后试着配置自动追更再决定要不要开启有声书——整个过程不需要写一行代码。如果中途遇到下载失败先别急着怀疑工具检查网络、稍后再试并在日志里确认具体报错即可。提示请仅将本工具用于个人学习与阅读遵守相关平台的服务条款并在阅读后妥善处理下载文件。【免费下载链接】Tomato-Novel-Downloader番茄小说下载器不精简版项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考