Skip to content

Repository files navigation

漫画阅读器

基于 AI 生成的 Web 版漫画阅读器,适用于 NAS Docker 部署。适配 copymanga-downloader 的下载结构。

功能特性

📖 阅读体验

  • 翻页模式 — 支持从右到左(默认)和从左到右阅读方向
  • 条漫模式 — 垂直长条滚动阅读,适合韩漫/条漫类作品;按漫画独立记忆模式偏好
  • 双页拼合 — 跨页内容的拼页展开模式,可调整拼页偏移
  • 沉浸式阅读 — 点击屏幕中心区域切换 UI 显示
  • 自动章节跳转 — 到达章节边界时自动切换上/下一章(翻页模式和条漫模式均支持)
  • 触摸手势 — 跟手拖拽 + 惯性翻页,方向锁定判定,边界回弹阻尼
  • 键盘导航 — 方向键翻页/滚动,Escape 退出

📚 漫画管理

  • 自动解析元数据(名称、作者、简介、封面、状态等)
  • 章节 / 卷册(分组)浏览,可切换标签页
  • 模糊搜索 — 按名称、别名、作者搜索,支持模糊匹配与相关度排序
  • 多维排序 — 按最近阅读、名称、更新日期、最新添加排序,偏好持久化
  • 元数据编辑、自定义封面上传
  • 章节/图片/漫画的删除管理

💾 进度与同步

  • 阅读进度持久化 — 服务端存储,章节级别精确到页码
  • 继续阅读 — 详情页一键跳转到上次阅读位置
  • 按最近阅读排序 — 漫画列表默认按最近阅读时间排序,有阅读记录的始终排在前面

🔧 部署与性能

  • 简易 JWT 认证,支持环境变量配置账户
  • 服务端漫画列表缓存(2 分钟 TTL)+ chokidar 文件监听自动失效
  • 页面可见性检测,切回时自动刷新列表
  • PWA 支持(Service Worker + Manifest)
  • iPadOS / iOS Safari 视口高度适配

快速开始

Docker Compose

services:
    comic-reader:
        image: evlst/comicreader:latest
        container_name: comicreader
        ports:
            - "13000:13000"
        volumes:
            - /volume2/漫画/comics:/app/comics
            - /volume1/docker/comicreader/data:/app/data
        restart: always
        environment:
            - NODE_ENV=production
            # - ADMIN_USER=admin
            # - ADMIN_PASS=admin
            # - JWT_SECRET=your-secret-key
docker-compose up -d

打开 http://localhost:13000

本地开发

npm install
npm start

漫画目录结构

comics/
└── MangaTitle/
    ├── 元数据.json
    ├── cover.webp          (可选,自定义封面)
    ├── 默認/
    │   ├── 1 第01話/
    │   │   ├── 章节元数据.json
    │   │   ├── 001.webp
    │   │   └── ...
    │   └── 2 第02話/
    └── 单行本/
        └── 1 第01卷/

API

方法 接口路径 描述
GET /health 健康检查
POST /api/login 登录
GET /api/verify 验证 Token
GET /api/progress 获取所有阅读进度
GET /api/progress/:id 获取单本阅读进度
PUT /api/progress/:id 更新阅读进度
GET /api/comics 获取所有漫画
GET /api/comics/search 搜索漫画
GET /api/comics/:id 获取漫画详情
GET /api/comics/:id/cover/:filename 获取封面图片
GET /api/comics/:id/:group/:chapter/images 获取章节图片列表
GET /api/comics/:id/:group/:chapter/image/:filename 获取单张图片
PUT /api/comics/:id/metadata 更新元数据
POST /api/comics/:id/cover 上传封面
DELETE /api/comics/:id/cover 删除封面
DELETE /api/comics/:id/:group/:chapter 删除章节
DELETE /api/comics/:id/:group/:chapter/image/:filename 删除单张图片
DELETE /api/comics/:id 删除漫画

许可证

MIT

About

一个可部署在nas上的轻量级漫画阅读器

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages