Mylar3 介绍与选型指南
Mylar3 v0.8.3 认知与选型:定位、核心架构、功能特性与限制、与 Kapowarr/ComicStreamer/LazyLibrarian 的量化对比(数据采集于 2026-10-28)。
Mylar3 介绍与选型指南
目标:回答「Mylar3 是什么、能做什么、值不值得选」三个问题,并给出 Mylar3 与 Kapowarr、ComicStreamer、LazyLibrarian 的量化对比。本篇为纯联网溯源篇,全部数据来自官方仓库与官方文档站,采集日期 2026-10-28;本篇不含本机安装实测,可复现的安装与运行证据见 《Mylar3 0.8.3 Ubuntu 22.04 安装指南》 等实测篇目。
一、环境信息
本篇是认知与选型文档,不涉及本机部署,但为便于读者核对,先列出取证口径与版本基线:
- 调研对象:Mylar3(GitHub 仓库
mylar3/mylar3) - 版本基线:v0.8.3(官方最新稳定版,发布日 2025-08-17)
- 信息采集日期:2026-10-28(星数、提交数、发版记录均为当日快照)
- 取证来源:GitHub 仓库主页、
releases.atom、commits/master.atom、仓库内README.md与requirements.txt、官方文档站mylarcomics.com - 对比对象:Kapowarr(
Casvt/Kapowarr)、ComicStreamer(beville/ComicStreamer)、LazyLibrarian(LazyLibrarian/LazyLibrarian,主仓库在 GitLab) - 单位与口径:Stars/Commits 取 GitHub 仓库页当日报值;版本取 GitHub Releases 的 tag;「最近提交」取默认分支提交 Atom 源的首条时间
💡 说明:GitHub API 有限流,本文的量化数据全部从仓库页面 HTML 与官方 Atom 源读取,未直接调用 API。读者复核时请注意这些数字会随时间变化,复核应以当日页面为准。
二、软件概述
Mylar3 是 Mylar 的 Python 3 分支,定位是「自动化漫画(cbr/cbz)下载器 + 库管理服务」。它维护一份系列(series)订阅清单,按周期去索引器/直链站点搜索新刊,命中后把下载任务交给下载客户端,下载完成再做重命名、移动、写元数据,最终归入本地漫画库。
官方 README 对它的定义是:"Mylar is an automated Comic Book (cbr/cbz) downloader program for use with NZB and torrents." 仓库描述则是 "The python3 version of the automated Comic Book downloader (cbr/cbz) for use with various download clients."(采集日期 2026-10-28)。
| 维度 | 事实 | 来源 |
|---|---|---|
| 项目名 | Mylar3 | GitHub 仓库名 |
| 许可证 | GPL-3.0 | 仓库 LICENSE + 徽章 GPL-3.0 |
| 最新稳定版 | v0.8.3(2025-08-17) | releases.atom |
| Stars | 1,463 | 仓库页 stargazerCount(2026-10-28) |
| Commits | 2,616 | 仓库页 Commits 计数(2026-10-28) |
| 实现语言 | Python(Python 3) | 仓库语言统计 + MINIMUM_PY_VERSION = '3.8.1' |
| 运行形态 | 自带 Web 界面的常驻服务,默认端口 8090 | 源码 mylar/config.py 默认值 HTTP_PORT=8090 |
| 配置载体 | config.ini(首启自动生成,47 个节、359 个键) | 本机首启实测 |
从工程视角看,Mylar3 属于「带 Web 管理界面的后台守护服务」:进程常驻、有 SQLite 数据库、有定时任务调度、有对外 HTTP 接口与 API。它不像纯命令行工具那样一次性执行完就退出,因此部署时必须考虑服务托管(systemd)、日志轮转与数据目录持久化。
💡 技术拓展:同类的漫画自动化工具在「元数据来源」上有两条典型技术路线——在线元数据中心(ComicVine、Metron 等,信息全、可跨库匹配,但依赖外部 Key 与配额)与本地标签解析(读 ComicRack/ComicTagger 写入的 ComicInfo.xml,无外部依赖,但要求文件已带标签)。Mylar3 走的是前者(ComicVine,且必须自带 API Key),ComicStreamer 走的是后者。选型时先确认自己的库是否已带标签,再决定走哪条路线。
三、核心架构
Mylar3 的代码结构很集中:根目录 Mylar.py 是入口(参数解析、启动顺序、备份、维护模式),mylar/ 包承载业务逻辑,data/ 放静态资源与模板,lib/ 放随包内置的第三方组件,requirements.txt 声明外部依赖。
/opt/mylar3
├── Mylar.py # 入口:参数解析、启动、备份、维护模式
├── requirements.txt # 外部 Python 依赖
├── mylar/ # 业务逻辑包
│ ├── webserve.py # CherryPy 路由与页面/接口实现
│ ├── config.py # 配置项定义、读写 config.ini
│ ├── __init__.py # 启动序列、调度器
│ ├── weeklypull.py # 周榜抓取
│ ├── search.py # 索引器/直链搜索
│ ├── PostProcessor.py # 下载后处理(重命名/移动/元数据)
├── data/ # 模板、静态资源、imprint 映射
└── lib/ # 内置组件(含 ComicTagger 相关代码)
核心运行链路可以概括为五段:
- 订阅与调度:用户把系列加入 watchlist,APScheduler 按
search_interval(默认 1440 分钟,v0.8.3 起由 360 调整为 1440)触发搜索。 - 搜索与挑选:通过 Newznab/Torznab 索引器、32P、GetComics 等直链站点匹配期号,按质量、大小、发布时间排序挑选。
- 下发下载:按
nzb_downloader/torrent_downloader配置把任务交给 SABnzbd、NZBGet、Blackhole 或某款 BT 客户端。 - 后处理:下载完成后按
folder_format/file_format重命名、移动,并可调用内置 ComicTagger 写元数据、生成series.json。 - 对外服务:CherryPy 提供 Web 界面、OPDS 与可选的 REST API(形如
/api?cmd=getVersion&apikey=<API Key>)。
技术栈与关键依赖(摘自仓库 requirements.txt,采集日期 2026-10-28):
| 组件 | 版本约束 | 作用 |
|---|---|---|
| Python | >= 3.8.1 | 运行时(源码常量 MINIMUM_PY_VERSION) |
| CherryPy | >= 18.5.0 | Web 服务与路由 |
| cheroot | >= 8.2.1 | CherryPy 的 WSGI 服务器 |
| Mako | >= 1.1.0 | 页面模板 |
| APScheduler | >= 3.6.3 | 定时任务(搜索、周榜、下载扫描) |
| requests[socks] | >= 2.22.0 | HTTP 客户端(支持 SOCKS) |
| beautifulsoup4 | >= 4.8.2 | 页面解析(直链站点) |
| cfscrape | >= 2.0.8 | 处理 CloudFlare 质询 |
| feedparser | >= 5.2.1 | RSS 解析 |
| rarfile / pycryptodome | >= 4.0 / >= 3.19.0 | CBR 解包相关 |
| Pillow | >= 10.1 | 封面处理 |
存储层是单文件 SQLite(数据目录下的 mylar.db),没有独立数据库服务,这一点决定了它的部署门槛很低:装好 Python 依赖、给一个可写数据目录即可跑起来。
💡 技术拓展:漫画库管理类工具的存储方案常见三种——SQLite 单文件(零运维、单机、备份就是拷文件,但并发写弱)、PostgreSQL/MySQL 服务端(多人并发、可远程,但要多维护一个服务)、纯文件系统 + 元数据文件(无数据库,靠
ComicInfo.xml索引,迁移最省事但检索能力弱)。Mylar3 采用 SQLite,适合单机自托管;如果要做多人共享库,应优先评估后两类。
四、功能特性
Mylar3 的功能面覆盖「找刊 → 下载 → 整理 → 通知 → 对外提供」的完整链路。下表按能力域归纳,并标注外部依赖——这是选型时最容易忽略的部分:功能存在不等于开箱可用。
| 能力域 | 具体功能 | 外部依赖 / 备注 |
|---|---|---|
| 订阅与追新 | 系列 watchlist、新刊检测、周榜(可提前查看最多 4 周) | 依赖 ComicVine 元数据与周榜数据源 |
| 补缺 | 扫描本地库,找出缺失期号并下载 | 需正确配置库目录与命名模板 |
| 下载渠道 | SABnzbd、NZBGet、Blackhole;uTorrent、rTorrent、Transmission、Deluge、qBittorrent | 需自备索引器或直链站点 |
| 索引器 | 多个 Newznab、Torznab、32P、GetComics 直链 | Newznab 需 API Key;GetComics 有 CloudFlare 质询 |
| 下载后处理 | 重命名、移动、删除残留目录、失败重试、CRC 校验(v0.8.3 新增) | 依赖下载客户端回传路径 |
| 元数据 | 内置 ComicTagger(启动日志显示 1.3.5)写标签、生成 series.json | CBR 写标签需外部解包工具配合 |
| 通知 | Prowl、Pushover、Boxcar、Pushbullet、Telegram、Slack、Mattermost、Discord、Email、Gotify | 各自需要 Token/Webhook |
| 阅读与对外 | OPDS 目录、REST API、CBL 阅读列表导入 | API 默认关闭,需显式开启并生成 Key |
| 专题收集 | Story Arc 追踪、TPB/GN 支持 | 依赖 ComicVine 的 arc 数据 |
几个容易被宣传语掩盖的限制,选型时必须纳入判断:
- ComicVine API Key 是硬前置:没有 Key 时启动日志直接报错,添加系列会失败(本机实测回显见安装指南「六、安装后验证」),不是「功能退化」而是「加不了库」。
- 元数据体系偏英文漫画:ComicVine 的刊号、出版社、story arc 数据以美漫为主,中文/日漫体系匹配度低。
- 直链站点随时可能失效:GetComics 一类站点有 CloudFlare 质询,v0.8.3 的发布说明里仍在对 403 返回做告警增强,说明这条链路本身不稳定。
- 周榜计算存在年份硬编码缺陷:源码在多处按 2024/2025 做特判,2026 年运行时周榜任务会抛异常(本机实测已复现,详见命令与运维篇的排障小节)。
- 维护类子命令在 Python 3.12 下有兼容问题:
-fs、-xj会因 str/bytes 混用报错(本机实测),主服务功能不受影响。
五、官方快速开始(文档溯源,未在本机复现)
官方 README 给出的源码安装路径非常短:克隆仓库 → 装依赖 → 跑入口脚本。下面命令逐行来自官方 README 与仓库 requirements.txt 的说明,属于文档溯源,未在本机复现;可直接执行的实测版本(含 Python 3.12、systemd 托管、反向代理)见安装指南篇。
# 1) 获取源码(官方 README 指定方式)
git clone https://github.com/mylar3/mylar3.git /opt/mylar3
# 2) 建虚拟环境并装依赖(requirements.txt 为官方声明)
cd /opt/mylar3
python3 -m venv venv
./venv/bin/pip install -r requirements.txt
# 3) 启动(默认监听 8090)
./venv/bin/python Mylar.py
启动后浏览器访问 http://<服务器IP>:8090/,首次进入需要先填 ComicVine API Key 才能添加系列。官方文档站把安装、备份、API 分成三条主线(docs/installation/*、docs/guides/auto_backups、docs/api/*),版本更新说明则集中在 GitHub Releases。
⚠️ 注意:上述命令未包含运行用户、数据目录、服务托管与开机自启,直接照抄会得到「前台进程 + 数据落在代码目录」的原型状态,不适合长期运行。生产化部署请按安装指南篇逐节执行。
六、适用场景与限制
适合的场景:
- 长期追更美漫连载:watchlist + 周榜 + 自动搜索是它的主战场,配合 SABnzbd/NZBGet 可以做到「新刊发布后自动入库」。
- 已有漫画库需要补缺与规范化:扫描本地库、按缺失期号补齐、统一重命名与写元数据,是比手工整理更省事的路径。
- 按故事线收集:Story Arc 追踪对「想按大事件(如 Civil War)收全」的用户很实用,这是纯下载器不具备的能力。
- 单机自托管、低运维预算:SQLite + 单进程,备份就是拷
mylar.db与config.ini,没有额外中间件。
不适合的场景:
- 中文/日漫为主的库:ComicVine 元数据覆盖不到,刊号与卷册体系也对不上。
- 不愿申请第三方 API Key:没有 ComicVine Key 连系列都加不进去。
- 只想在线阅读/串流:Mylar3 是「下载与整理」工具,阅读体验不是它的目标;纯阅读/串流应另选阅读服务器。
- 要求高并发多人使用:SQLite 单写者模型 + CherryPy 默认 backlog 5(本机
ss实测),面向个人/小团队而非多租户。
前置条件清单(选型评审可直接对照):
| 项 | 要求 |
|---|---|
| 操作系统 | Linux 发行版(本文以 Ubuntu 22.04.5 LTS 为基线),Windows/macOS 亦可运行 |
| Python | >= 3.8.1;实测 3.12.16 可跑主服务 |
| 外部账号 | ComicVine API Key(必需) |
| 索引/下载设施 | Newznab/Torznab 或直链站点 + 至少一个下载客户端 |
| 存储 | 代码 ~13 MB + 依赖 + 漫画库容量 |
| 网络 | 能访问 ComicVine 与所选索引器/直链站点 |
七、同类选型对比
选取四个常被放在一起讨论的项目做量化对比。数据口径统一为「GitHub 仓库页 + Releases Atom 源,2026-10-28」,LazyLibrarian 的主开发在 GitLab,额外标注 GitLab 提交时间。
| 维度 | Mylar3 | Kapowarr | LazyLibrarian | ComicStreamer |
|---|---|---|---|---|
| 定位 | 漫画自动下载 + 库管理 | 漫画库管理(*arr 风格) | 电子书/有声书管理 | 漫画媒体服务器 |
| 最新版本 | v0.8.3(2025-08-17) | V1.3.2(2026-09-14) | 无正式 Release,按分支迭代 | 无 Release |
| Stars | 1,463 | 1,104 | 298(GitHub 同步仓) | 164 |
| 许可证 | GPL-3.0 | GPL-3.0 | GPLv3 | Apache-2.0 |
| 实现语言 | Python 3 | Python | Python | Python 2.7 |
| 最近提交 | 2025-08-17 | 2026-09-14 | 2026-10-27(GitLab) | 2014-11-26 |
| 元数据源 | ComicVine(自备 Key) | ComicVine | Hardcover/OpenLibrary/GoodReads 等 | 本地标签(ComicTagger/ComicRack) |
| 下载能力 | NZB / BT / 直链(GetComics) | DDL(Mega、Pixeldrain 等) | NZB / BT | 不下载,仅提供 REST 与浏览 |
| 形态 | 常驻 Web 服务 + SQLite | 常驻 Web 服务 | 常驻 Web 服务 | REST 媒体服务 + Web UI |
| 活跃度判断 | 14 个月无新版本 | 持续发版、当月有提交 | 主仓库持续提交 | 2014 年后停止 |
关键差异解读:
- Mylar3 vs Kapowarr:两者都用 ComicVine,但侧重不同。Mylar3 强在「追连载」——周榜、story arc、失败重试、多下载客户端;Kapowarr 强在「按卷建库」——*arr 风格的批量搜索/手动搜索、导入现有库、下载后解包重命名。如果目标是「每周自动追新刊」,Mylar3 的功能面更对口;如果目标是「把已有收藏按卷管理起来」,Kapowarr 的交互更现代。需要接受的事实是:Mylar3 自 2025-08-17 后没有新版本,Kapowarr 在 2026-09 仍在发版。
- Mylar3 vs LazyLibrarian:不是同赛道。LazyLibrarian 管的是作者/图书/有声书,元数据源是 Hardcover、OpenLibrary、GoodReads;它可以下载「书」,但不理解刊号、卷册、story arc。拿它管漫画会在元数据与期号匹配上持续踩坑。
- Mylar3 vs ComicStreamer:ComicStreamer 是「已整理好的库」的对外服务层——REST API + 网页浏览 + 分页取图,元数据靠文件内的 ComicInfo 标签;它不搜索、不下载。项目最后提交停在 2014-11-26,README 自述仍是 ALPHA 阶段、依赖 Python 2.7,新环境不建议采用。
「如果…则…」选型建议:
| 你的情况 | 建议 |
|---|---|
| 追美漫连载、要周榜与 story arc、已有 NZB/BT 下载栈 | 选 Mylar3 |
| 已有一堆散装漫画,想按卷建库并统一重命名 | 优先 Kapowarr |
| 主要收电子书/有声书,漫画只是顺带 | 选 LazyLibrarian,别用它硬管漫画 |
| 库已整理好,只需要网页浏览与 REST 接口 | 评估 ComicStreamer 的替代品(它已停更),不要新部署 |
| 完全不想申请 ComicVine Key | 上述前三款都不适配,改用本地标签路线 |
八、版本与社区活跃度
Mylar3 的发版节奏可以直接从 releases.atom 读出。下表列出近两年全部 10 个 tag 及其发布时间(采集日期 2026-10-28):
| 版本 | 发布时间 | 间隔 |
|---|---|---|
| v0.8.3 | 2025-08-17 | 5 个月 |
| v0.8.2 | 2025-03-11 | 2 个月 |
| v0.8.1.1 | 2025-01-13 | 同日补丁 |
| v0.8.1 | 2025-01-13 | 10 个月 |
| v0.8.0 | 2024-03-14 | 2 个月 |
| v0.7.8 | 2024-01-16 | 20 天 |
| v0.7.7 | 2023-12-27 | 39 天 |
| v0.7.6 | 2023-11-18 | 84 天 |
| v0.7.5 | 2023-08-26 | 8 天 |
| v0.7.4 | 2023-08-18 | — |
据此可以算出两个对选型有用的事实:
- 历史节奏:2023-08-18 至 2025-08-17 共 24 个月发了 10 个版本,平均约 2.7 个月一版,属于「小步快跑」型维护。
- 当前状态:截至 2026-10-28,距最近一版 v0.8.3 已 14 个月,默认分支最近提交同样停在 2025-08-17(
commits/master.atom)。这说明项目进入低频维护期,而非停止——代码仍在、issue 仍在收,但不要预期「新功能很快落地」。
社区入口方面,官方 README 指向 Discord、GitHub Issues、官方论坛与 IRC;文档站 mylarcomics.com 提供安装、自动备份、API 三块文档。对自托管用户而言,这意味着遇到问题时「官方文档 + issue 检索」是主要支持渠道,没有商业支持兜底。
⚠️ 注意:低频维护期的项目要额外评估「上游服务变更」风险。Mylar3 的关键链路依赖 ComicVine、GetComics 与各家索引器,这些外部站点一改接口,工具就可能失效;选型时应把「能否自行改代码/换源」纳入运维能力评估。
九、参考链接
| 内容 | 地址 | 采集日期 |
|---|---|---|
| 项目主页与 README | https://github.com/mylar3/mylar3 | 2026-10-28 |
| 发布记录(Atom) | https://github.com/mylar3/mylar3/releases.atom | 2026-10-28 |
| 默认分支提交记录(Atom) | https://github.com/mylar3/mylar3/commits/master.atom | 2026-10-28 |
| 依赖清单 | https://github.com/mylar3/mylar3/blob/master/requirements.txt | 2026-10-28 |
| 官方文档站 | https://mylarcomics.com/docs/introduction | 2026-10-28 |
| 自动备份说明 | https://mylarcomics.com/docs/guides/auto_backups | 2026-10-28 |
| API 文档 | https://mylarcomics.com/docs/api/endpoints | 2026-10-28 |
| Kapowarr 仓库 | https://github.com/Casvt/Kapowarr | 2026-10-28 |
| Kapowarr 发布记录 | https://github.com/Casvt/Kapowarr/releases.atom | 2026-10-28 |
| LazyLibrarian 主仓库(GitLab) | https://gitlab.com/LazyLibrarian/LazyLibrarian | 2026-10-28 |
| ComicStreamer 仓库 | https://github.com/beville/ComicStreamer | 2026-10-28 |
| 站内:安装部署 | 《Mylar3 0.8.3 Ubuntu 22.04 安装指南》 | 2026-10-28 |
| 站内:配置参数 | 《Mylar3 0.8.3 配置参数详解》 | 2026-10-28 |
| 站内:命令与运维 | 《Mylar3 0.8.3 常用 CLI 与运维命令详解》 | 2026-10-28 |