Giter VIP home page Giter VIP logo

mangareader's Introduction

MangaReader

platform last commit license issues

一个漫画 APP📱,基于 react-native 构建,兼容 Android、Ios,尽可能适配平板

  • 插件式设计、近十个可用插件
  • 收藏、搜索、批量更新、下载、导出
  • 翻页/条漫/平叛双页模式、无限翻页、保存图片
  • 数据全本地离线化、支持备份和恢复

demo

插件

使用指南

usage1 usage2 usage3 usage4 usage5

下载

Android:下载应用,请到 Google Play / 下载 apk

Ios:未签名 ipa(可能会有 webp 格式的图片,需要 ios14 及以上,否则图片会什么都不显示

使用 Altstore 安装 ipa 文件

cloudflare 校验

下面以 nhentai 为例:

nhentai 开启了 cloudflare 的 ddos 保护,在使用此插件前,请遵循下面流程在 webview 里通过 cloudflare 校验并获得 cookies

webview 存在 bug,需要安卓版本 9 及以上

cloudflare_step1 cloudflare_step2 cloudflare_step3 cloudflare_step4 cloudflare_step5

登录认证相关

下面以哔咔漫画为例:

哔咔漫画需要登录后才能访问,所以请按下面图示流程在 webview 里登录并获取 token

pica_step1 pica_step2 pica_step3

关于 App

很喜欢看漫画,能在一个 APP 里看完所有的漫画,是我一直以来的想法

这个项目是在工作之余开发的,时间有限,如果遇到问题,欢迎 Issues 和 PR

最后如果你觉得本项目对你有所帮助,可以的话帮忙点个 Star 🌟,非常感谢!

mangareader's People

Contributors

raoxiongwen avatar youniaogu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mangareader's Issues

copymanga的条漫显示有问题

以我独自升级为例,图片有接不上去的情况,就是上一张图片的下部和下一张图片的上部对不准,另外条漫的加载延迟有点高,滑下去图片都没加载好,可能要增加预加载量或者别的方式解决一下

爱了爱了💕加油!

太强了,正愁没有这样的集成app,我也很爱看漫画,但是希望能把漫画图片扩大至全屏,感觉放大看有点麻烦。。。😍😍

二维码恢复数据能支持阅读进度吗

*现有功能改进

rt,因为ios经常要自签,有时候手抖自签选错设备码,就需要恢复数据。
但是现在用二维码不能同步观看进度。
不知道能否实现

ipad能用吗

rt,自签完导入到ipad失败。不清楚是不是我的问题

请问可以实现打开本地漫画吗? 如果可以实现像comic screen 那样支持打开压缩包就最好了,非常感谢

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

音量键翻页还是有bug,大概5页就会翻不动

注意

  • 提问前请检索相关 issues,避免重复提问
  • 如遇到无法使用或无法加载的情况,请先去浏览器或 webview 里访问原网站排除网络问题
  • 请按照 issues 模板提供相关信息
  • 请尽可能把多的信息吐出来,避免挤牙膏

问题描述

如何复现

音量键翻页还是有bug,大概翻5页就会翻不动,滑动翻页倒是可以。

错误信息

6.7.mp4

设备信息

联想小新pad pro 2021 华为matepad paper 安卓12

请问可以修改下载路径吗?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

希望添加“已观看”,“最新话”等记录观看进度的字段

现有功能改进还是新功能/插件提议?
新功能提议
请简单描述下你的需求
有些漫画观看进度会失效,我猜测是因为翻译组重新上传了修正后的某一话导致的?
订阅漫画多了经常忘记看到哪一话,希望能增加记录2个字段(“已观看”,“最新话”),显示在漫画详情页甚至是首页。
4430503060138888204
比如上图,我看到108话,可能是翻译组后来修正了108话?或者更新了13卷番外?观看进度失效了,虽然此时还有个缓存标记让我能知道自己的进度,但是如果因某些原因清空了缓存,就不能直观看出观看进度了。

跳转下一话

现在看完当前话只能点击切换下一话 希望增加自动跳转功能 漫画详情页也可以加一个继续阅读的按钮 不然每次都要自己点话数

音量键翻页翻了几页就没响应

注意

  • 提问前请检索相关 issues,避免重复提问
  • 如遇到无法使用或无法加载的情况,请先去浏览器或 webview 里访问原网站排除网络问题
  • 请按照 issues 模板提供相关信息
  • 请尽可能把多的信息吐出来,避免挤牙膏

问题描述

如何复现

音量键翻页时不时失效,下一页已经加载出来了,但是无法音量键翻页,只能滑动。而且音量键翻页不能到下一话或者上一话,滑动是可以的。我以前是用遥控器左右滑动切换,现在更新音量键翻页后,对于遥控的左右键也不响应了。我录了个视频可以看下。还有就是漫画加载页面能不能用白底?黑底的话水墨屏会有印记。或者能够自由切换加载的背景色就好了

错误信息

音量键翻页时不时失效

设备信息
联想小新pad pro 2021
华为matepad paper
安卓12

6.2.1.mp4

JMC的条漫显示不全

谢谢大大开发的这个app,太喜欢了!最近发现,JMC的条漫显示有些问题,有的图片只显示了一部分,有的图片重叠在了一起,还有的蛮模糊的。

麻烦大大抽空看看,谢谢啦!

JMC图片分辨率低

因为canvas绘制有大小限制,为避免绘制失败,宽高都设为较小的值,详细见#244

[feat] 插件支持插入环境变量

禁漫天堂的域名有多个, 有的被墙了, 希望老哥可以支持插入所谓环境变量, 这样就可以自己配置写入一个比较稳的域名(节点)

image

源码里改一下域名可以用

diff --git a/src/plugins/jmc.ts b/src/plugins/jmc.ts
index 2d9ed2e..220b966 100644
--- a/src/plugins/jmc.ts
+++ b/src/plugins/jmc.ts
@@ -46,7 +46,7 @@ class CopyManga extends Base {
       description: '禁漫天堂,主打韩漫、本子类',
       score: 5,
       config: {
-        origin: { label: '域名', value: 'https://18comic.vip' },
+        origin: { label: '域名', value: 'https://jmcomic.me' },
       },
       typeOptions: options.type,
       regionOptions: options.region,
@@ -57,7 +57,7 @@ class CopyManga extends Base {
 
   prepareDiscoveryFetch: Base['prepareDiscoveryFetch'] = (page, type, _region, _status, sort) => {
     return {
-      url: `https://18comic.vip/albums${type === Options.Default ? '' : `/${type}`}`,
+      url: `https://jmcomic.me/albums${type === Options.Default ? '' : `/${type}`}`,
       body: {
         o: sort === Options.Default ? 'mr' : sort,
         page,
@@ -67,7 +67,7 @@ class CopyManga extends Base {
   };
   prepareSearchFetch: Base['prepareSearchFetch'] = (keyword, page) => {
     return {
-      url: 'https://18comic.vip/search/photos',
+      url: 'https://jmcomic.me/search/photos',
       body: {
         main_tag: 0,
         search_query: keyword,
@@ -78,14 +78,14 @@ class CopyManga extends Base {
   };
   prepareMangaInfoFetch: Base['prepareMangaInfoFetch'] = (mangaId) => {
     return {
-      url: `https://18comic.vip/album/${mangaId}`,
+      url: `https://jmcomic.me/album/${mangaId}`,
       headers: new Headers(this.defaultHeaders),
     };
   };
   prepareChapterListFetch: Base['prepareChapterListFetch'] = () => {};
   prepareChapterFetch: Base['prepareChapterFetch'] = (_mangaId, chapterId) => {
     return {
-      url: `https://18comic.vip/photo/${chapterId}`,
+      url: `https://jmcomic.me/photo/${chapterId}`,
       headers: new Headers(this.defaultHeaders),
     };
   };
@@ -127,7 +127,7 @@ class CopyManga extends Base {
           }
 
           list.push({
-            href: 'https://18comic.vip' + href,
+            href: 'https://jmcomic.me' + href,
             hash: Base.combineHash(this.id, mangaId),
             source: this.id,
             sourceName: this.name,
@@ -190,7 +190,7 @@ class CopyManga extends Base {
           }
 
           list.push({
-            href: 'https://18comic.vip' + href,
+            href: 'https://jmcomic.me' + href,
             hash: Base.combineHash(this.id, mangaId),
             source: this.id,
             sourceName: this.name,
@@ -222,7 +222,7 @@ class CopyManga extends Base {
 
       const [, mangaId] =
         ($('meta[property=og:url]').attr('content') || '').match(PATTERN_MANGA_ID) || [];
-      const href = `https://18comic.vip/album/${mangaId}`;
+      const href = `https://jmcomic.me/album/${mangaId}`;
       const title = $('h1#book-name').text() || '';
       const updateTime = $('span[itemprop=datePublished]').last().attr('content') || '';
       const img = $('div#album_photo_cover div.thumb-overlay img').first();
@@ -249,7 +249,7 @@ class CopyManga extends Base {
             hash: Base.combineHash(this.id, mangaId, chapterId),
             mangaId,
             chapterId,
-            href: `https://18comic.vip${chapterHref}`,
+            href: `https://jmcomic.me${chapterHref}`,
             title: chapterTitle.replaceAll('\n', ''),
           };
         })
@@ -271,7 +271,7 @@ class CopyManga extends Base {
           hash: Base.combineHash(this.id, mangaId, firstChapterId),
           mangaId,
           chapterId: firstChapterId,
-          href: `https://18comic.vip${firstChapterHref}`,
+          href: `https://jmcomic.me${firstChapterHref}`,
           title: '开始阅读',
         });
       }
@@ -345,7 +345,7 @@ class CopyManga extends Base {
           title,
           headers: {
             ...this.defaultHeaders,
-            referer: 'https://18comic.vip/',
+            referer: 'https://jmcomic.me/',
             accept: 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8',
             'accept-encoding': 'gzip, deflate, br',
             'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8',

感谢老哥

希望能显示tag

首先感谢作者的制作,app界面简洁,操作直观,已star。
有一个小建议,像jmcomic这种源,如果可以显示tag,并且能点击tag和作者名进行搜索就更加实用了。

收藏按键一直是红的,导致没办法收藏漫画

非常感谢您填写错误报告!

以下是一些注意事项,请务必阅读

  • 提交报告前请检索相关 issues,避免重复提问
  • 提交报告前请先尝试浏览器里访问原网站排除网络问题
  • 请按下边 issues 模板要求提供相关信息,避免挤牙膏式提问

问题描述

如何复现

错误信息

设备信息

导出路径不支持SD卡,提示Failed to create directory

非常感谢您填写错误报告!

以下是一些注意事项,请务必阅读

  • 提交报告前请检索相关 issues,避免重复提问
  • 提交报告前请先尝试浏览器里访问原网站排除网络问题
  • 请按下边 issues 模板要求提供相关信息,避免挤牙膏式提问

问题描述

app可以导出漫画到默认内部存储路径,修改路径也可以,但无法导出漫画到SD卡(额外插的SD卡)

如何复现

1、进About页面,修改导出路径为/storage/F71E-7CAB/漫画
2、进任意一个漫画,长按并点击导出
3、导出失败并提示错误

错误信息

设备信息

设备:手机非平板 android
app:v0.5.4

F-Droid

请问我可以将这个应用打包提交到 F-Droid 吗?

下载路径不支持储存卡吗?

大佬,能添加一键全下载吗?那些漫画多章节的,想全部下载得一个一个按单章节下载,实在有些麻烦。还是说能一键全下载但我没看到?
还有下载路径不支持储存卡吗?

作者你好请问能构建一个未签名的ipa吗

我试了一下自己构建 但是去到pod install的时候出来一堆错误 看了下 估计是我xcode版本不对 但是也搞不懂了 能不能构建一个未签名的ipa呢 我可以装到自己手机上用

fixed [v0.3.2](https://github.com/youniaogu/MangaReader/releases/tag/v0.3.2)

    fixed [v0.3.2](https://github.com/youniaogu/MangaReader/releases/tag/v0.3.2)

Originally posted by @youniaogu in #11 (comment)

0.3.1的ipa有个属性是person.youniaogu.MangaReader
0.3.2的ipa这个属性是person.jigu.MangaReader
是不是因为这个原因导致安装0.3.2时,不是覆盖安装,是新建一个,继而导致书架为空。
顺便提一个建议,增加一个书架备份&导入功能,方便iphone和ipad之间同步书架。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.