{"repo":"Messiahhh/wenku8-downloader","free":true,"listed":false,"github":"https://github.com/Messiahhh/wenku8-downloader","clone":"git clone https://github.com/Messiahhh/wenku8-downloader.git","description":"轻小说文库的命令行小说下载器","language":"TypeScript","stars":153,"topics":["command-line","scawler","downloader","cli"],"license":null,"category":"cli-tools","readme_excerpt":"wenku8 一个可恢复、图片完整性优先的轻小说 EPUB 下载器。 特性 - 下载详情、目录、章节、封面和插图后再生成 EPUB - 章节与图片均支持断点恢复 - 图片经过格式、尺寸和解码校验 - WebP、AVIF 等格式自动转为兼容性更好的 JPEG - 默认拒绝生成缺章或缺图的电子书 - 输出 EPUB 3，并支持调用官方 EPUBCheck 校验 - 原始 HTML、结构化书稿和资源 manifest 均保留在工作区 - 交互模式支持搜索、选择下载、返回上级菜单和更清晰的任务进度反馈 用户使用 环境要求 需要 Node.js 22.13 或更高版本。推荐直接使用 Node.js 24 LTS。 安装 也可以不全局安装，直接用 npx 运行： 安装后确认 CLI 可用： 快速开始 wenku8 login 会要求粘贴 www.wenku8.net 域名下的完整 Cookie。保存后，搜索、查看详情、下载等命令会自动使用这个登录态。 常用命令 常用下载选项 不带子命令运行 wenku8 会进入交互模式，默认展示“搜索下载”、五个榜单入口、“轻小说大赏”、“检查环境”和“退出”。搜索下载支持按小说名模糊搜索、作者名搜索，或直接输入小说 ID；小说 ID 输入也兼容从浏览器复制的详情页 URL。轻小说大赏支持选择 2026 到 2005 年。交互子菜单支持选择“返回上级”，输入类页面可留空或输入 q 返回；下载或环境检查执行完成后会直接退出 CLI。 榜单命令别名： 登录态 搜索、榜单、详情和下载等需要访问 wenku8 的命令都必须提供 Cookie。Cookie 读取优先级为： --cookie 参数 WENKU8 COOKIE 环境变量 --cookie-file 指定文件 当前目录 .wenku8-cookie 用户配置目录 Cookie。没有任何 Cookie 时，CLI 会提前提示先执行 wenku8 login ，不会继续发起请求。 推荐做法是在浏览器登录后，复制 www.wenku8.net 域名下的完整 Cookie，然后执行： 它会把 Cookie 写入用户配置目录，npm 包更新、重新安装或全局安装都不会把 Cookie 打进包产物里： 可以用 wenku8 config 查看当前机器实际路径，用 wenku8 logout 删除。 wenku8 config 也会显示默认 EPUB 输出目录和工作区目录。文件内容兼容直接写原始 Cookie： 也可以使用 .env 风格： 如果只想给某个项目临时使用，也可以放在当前目录的 .wenku8-cookie 。这个文件已被 .gitignore 忽略。 如果站点返回 Cloudflare challenge，CLI 会明确报错。请先在浏览器中完成验证，然后复制当前 wenku8.net Cookie 后运行 wenku8 login ，或使用 --cookie / WENKU8 COOKIE 传入；本工具不会尝试绕过站点防护。 数据与恢复 默认不再把 EPUB 和工作区写入当前目录，而是写入用户级目录，方便长期管理已下载小说： 可恢复工作区默认为同一用户目录下的 workspace/ / ： 所有文件先写入临时文件，再原子替换目标文件。重新执行 download 或 resume 时，已完成资源不会重复下载。 图片完整性 正文中的每个图片引用必须对应一个已下载、可解码且登记在 EPUB manifest 中的本地文件。源站仅提供 【图片】 占位符却没有图片地址时，默认构建失败并","default_branch":null,"files":null,"tree":[],"storefront":"/r/Messiahhh","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Messiahhh/wenku8-downloader/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}