Skip to content

Latest commit

 

History

763 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nowen Reader(弄文阅读)

License Stars Docker Pulls Image Size Go React

高性能自托管漫画 & 小说管理阅读平台
Go 单二进制构建 · 轻量极速 · AI 智能辅助 · NAS 友好

简体中文 · English

快速开始安装指南配置说明API开发FAQ


问题反馈 QQ 群:1093473044

💡 项目简介

Nowen Reader(弄文阅读)是一个专为 NAS 与个人服务器场景优化的自托管漫画 / 小说管理阅读平台。

🏆 核心优势 说明
💾 极致轻量 内存限制 512 MB 即可流畅运行,Docker 镜像仅约 30 MB
📦 零依赖部署 Go 编译为单个静态二进制,前端通过 go:embed 嵌入其中
🐳 Docker 一键启动 提供通用、生产、NAS 三种 Compose 配置
🤖 AI 智能辅助 可选接入 17+ LLM 供应商(含主流国内大模型)
📚 全格式覆盖 漫画 ZIP / CBZ / CBR / RAR / 7Z / CB7 / PDF;小说 TXT / EPUB / MOBI / AZW3 / HTML
🌐 中文原生支持 中英双语界面、元数据中英翻译
📱 多端访问 Web PWA + Flutter 原生客户端(Android / iOS / 桌面)
🏗️ 多平台架构 amd64 / arm64,覆盖主流 NAS(群晖、威联通、绿联、铁威马等)

✨ 核心特性

  • 📚 内容管理 — 多格式支持、自动扫描入库、标签 & 分类、合并分组、收藏 & 评分、用户级阅读状态(想读/在读/已读完)、按阅读状态筛选、元数据编辑、文件上传、批量操作、重复检测、无效清理
  • 🔍 元数据抓取 — AniList / Bangumi / MangaDex / MangaUpdates / Kitsu 五大数据源,支持 ComicInfo.xml 和小说元数据自动提取
  • 🤖 AI 智能辅助(可选) — 语义搜索、智能摘要、标签 / 分类建议、封面分析、文件名解析、阅读洞察、AI 对话、章节摘要、页面翻译等 18 项能力
  • 📖 阅读体验 — 漫画多种阅读模式(单页/双页/条漫/Webtoon)、图片滤镜与预设、Webtoon 双击缩放、漫画书签、小说章节渲染、PDF 渲染、继续阅读、阅读统计、阅读目标、数据导出
  • 📡 协议集成 — 支持 OPDS(KOReader / Moon+ Reader 等阅读器远程串流)
  • 📱 多端支持 — Web PWA + Flutter 原生客户端(Material 3 设计、手势缩放、沉浸式阅读、阅读进度同步)
  • 🛠️ 部署友好 — Go 单二进制、SQLite 零配置(WAL + FTS5)、Docker 多平台镜像、多语言、深浅主题、响应式布局
  • 🔐 多用户书库权限 — 按书库分配访问权限,支持公开 / 私有 / 用户组继承,无权限内容 403 友好提示

🚀 快速开始

三步完成最小化部署:

# 1. 下载生产配置
curl -O https://raw.githubusercontent.com/cropflre/nowen-reader/main/docker-compose.prod.yml

# 2. 一键启动
docker compose -f docker-compose.prod.yml up -d

# 3. 打开浏览器访问
# http://localhost:6680

首次访问会引导注册管理员账号。将漫画放入 ./comics/、小说放入 ./novels/ 目录即可自动扫描入库。

🔧 需要其他部署方式?参见 安装指南(NAS / 源码构建 / 二进制 / Docker Hub)。

需要部署到 https://example.com/reader/ 时,设置 BASE_PATH=/reader,并让反向代理保留 /reader 前缀。完整 Docker 与 Nginx 示例见 子路径部署说明

📚 文档导航

文档 内容
安装指南 5 种部署方式:Docker Hub、NAS、源码构建、二进制、Docker Compose
配置说明 环境变量、站点设置、AI 配置、扫描器参数、支持格式
API 文档 完整的 RESTful API 参考
开发指南 前置条件、项目结构、Makefile 命令、技术栈、CI/CD
常见问题 部署、权限、缩略图、PDF、AI、OPDS 等常见问题
Flutter 客户端 移动端开发与构建说明

📸 界面预览

桌面端

列表视图(浅色) 网格视图(浅色)
桌面端 - 列表视图(浅色) 桌面端 - 网格视图(浅色)
网格视图(深色) 列表视图(深色)
桌面端 - 网格视图(深色) 桌面端 - 列表视图(深色)

后台管理

后台管理 - 文件统计

移动端 / PWA

移动端 PWA 界面

🏗️ 架构概览

┌─────────────────────────────────────────────────────────┐
│              Nowen Reader Architecture                  │
├──────────────────────┬──────────────────────────────────┤
│   Frontend (SPA)     │   Backend (Go)                   │
│  React 19 + Vite 6   │   Gin + SQLite (WAL + FTS5)      │
│  Tailwind CSS v4     │   ┌─────────────────────────┐    │
│  React Router v7     │   │ Handler / Middleware    │    │
│  PDF.js              │   │ Service / Store         │    │
│                      │   │ Archive (ZIP/RAR/7Z/..) │    │
│  go:embed ──────────►│   └─────────────────────────┘    │
├──────────────────────┼──────────────────────────────────┤
│   Flutter App        │      ← HTTP API →                │
│  (Android / iOS)     │                                  │
└──────────────────────┴──────────────────────────────────┘

🛠️ 技术栈

  • 后端:Go 1.23 · Gin · SQLite (modernc.org/sqlite) · FTS5 · fsnotify · go:embed
  • 前端:React 19 · Vite 6 · TypeScript 5 · Tailwind CSS v4 · React Router v7 · PDF.js
  • 移动端:Flutter 3.x · Riverpod 2.x · GoRouter · Dio · Material 3
  • 部署:Docker 多阶段构建(约 30 MB) · amd64 + arm64 · GitHub Actions CI/CD

详细技术栈与版本说明参见 开发指南

🤝 参与贡献

欢迎以任何形式参与贡献:

详细开发流程参见 开发指南

⭐ Star History

如果这个项目对你有帮助,欢迎点一个 Star ⭐ 支持一下!

Star History Chart

📮 联系方式

  • 🐛 Bug / 功能建议:GitHub Issues / Discussions
  • 💬 QQ 交流群:1093473044
  • 📢 微信公众号:Nowen 开源实验室

💖 赞赏与交流

如果 Nowen Reader(弄文阅读)对你有帮助,欢迎通过支付宝或微信赞赏支持项目持续维护。也欢迎关注微信公众号「Nowen 开源实验室」或加入 QQ 群交流使用体验、反馈问题和新功能建议。

支付宝赞赏

支付宝赞赏码
微信赞赏

微信赞赏码
微信公众号 · Nowen 开源实验室

微信公众号 · Nowen 开源实验室
QQ 交流群 · 1093473044

Nowen QQ 交流群二维码

赞赏完全自愿,不影响项目的免费开源使用。感谢每一位支持 Nowen 开源项目的朋友 ❤️

📄 开源协议

本项目采用 GNU General Public License v3.0(GPL-3.0)开源协议发布。基于本项目的派生作品在对外分发时必须同样以 GPL-3.0 协议开源,并保留原作者版权声明与许可证全文。

About

NowenReader 是一款轻量开源、本地化优先的漫画 / 同人志管理与阅读一体化工具,对标 LANraragi 核心体验,聚焦本地漫画资源的归档整理、元数据智能管理与沉浸式阅读,为漫画爱好者打造私域、可控、高效的个人漫画图书馆。

Topics

Resources

Stars

146 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages