Code Monkey home page Code Monkey logo

kinoko's Introduction

kinoko

Awesome manga reader.

Download

Get it on F-Droid Get it on Google Play

Description

Load the online comic content supported by any plug-in project to provide a convenient online comic viewing experience.

Features:

  • Plug-in support, using git to manage plug-ins, you can use the plug-ins provided by developers to browse the corresponding network resources, or input any git address to load the plug-in.
  • Collections, Add to favorites, easy and quick viewing at any time.
  • Download comics, download managa, and browse at any time without internet.
  • Flip page by Volume key, which can be easily flip page with one hand.
  • Multiple browsing modes, turning pages horizontally or vertically.

Home History Favorites Picture

The Default Plugins List

All the plugins are list in gitissue

Making Plugin

Please check plugin document

kinoko's People

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  avatar  avatar  avatar  avatar

kinoko's Issues

Can't see images

Thumbnails are shown, but when I open the reader no images are displayed, here is error log from ADB:

10-22 00:10:31.379 13417 13442 E flutter : [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: DioError [DioErrorType.other]: RangeError (index): Invalid value: Only valid value is 0: 1
10-22 00:10:31.379 13417 13442 E flutter : #0      _GrowableList.[] (dart:core-patch/growable_array.dart:254)
10-22 00:10:31.379 13417 13442 E flutter : #1      RequestOptions.uri (package:dio/src/options.dart:540)
10-22 00:10:31.379 13417 13442 E flutter : #2      DefaultHttpClientAdapter.fetch (package:dio/src/adapters/io_adapter.dart:35)
10-22 00:10:31.379 13417 13442 E flutter : #3      DioMixin._dispatchRequest (package:dio/src/dio_mixin.dart:632)
10-22 00:10:31.379 13417 13442 E flutter : <asynchronous suspension>
10-22 00:10:31.379 13417 13442 E flutter : #4      DioMixin.fetch.<anonymous closure>.<anonymous closure> (package:dio/src/dio_mixin.dart:586)
10-22 00:10:31.379 13417 13442 E flutter : <asynchronous suspension>
10-22 00:10:31.379 13417 13442 E flutter :
10-22 00:10:31.379 13417 13442 E flutter : #0      DioMixin.fetch.<anonymous closure> (package:dio/src/dio_mixin.dart:618)
10-22 00:10:31.379 13417 13442 E flutter : #1      _rootRunBinary (dart:async/zone.dart:1378)
10-22 00:10:31.379 13417 13442 E flutter : #2      _CustomZone.runBinary (dart:async/zone.dart:1272)
10-22 00:10:31.379 13417 13442 E flutter : #3      _FutureListener.handleError (dart:async/future_impl.dart:169)
10-22 00:10:31.379 13417 13442 E flutter : #4      Future._propagateToListeners.handleError (dart:async/future_impl.dart:719)
10-22 00:10:31.379 13417 13442 E flutter : #5      Future._propagateToListeners (dart:async/future_impl.dart:740)
10-22 00:10:31.379 13417 13442 E flutter : #6      Future._completeError (dart:async/future_impl.dart:550)
10-22 00:10:31.379 13417 13442 E flutter : #7      _SyncCompleter._completeError (dart:async/future_impl.dart:61)
10-22 00:10:31.379 13417 13442 E flutter : #8      _Completer.completeError (dart:async/future_impl.dart:33)
10-22 00:10:31.379 13417 13442 E flutter : #9      Future.any.onError (dart:async/future.dart:466)
10-22 00:10:31.379 13417 13442 E flutter : #10     _rootRunBinary (dart:async/zone.dart:1378)
10-22 00:10:31.379 13417 13442 E flutter : #11     _CustomZone.runBinary (dart:async/zone.dart:1272)
10-22 00:10:31.379 13417 13442 E flutter : #12     _FutureListener.handleError (dart:async/future_impl.dart:169)
10-22 00:10:31.379 13417 13442 E flutter : #13     Future._propagateToListeners.handleError (dart:async/future_impl.dart:719)
10-22 00:10:31.379 13417 13442 E flutter : #14     Future._propagateToListeners (dart:async/future_impl.dart:740)
10-22 00:10:31.379 13417 13442 E flutter : #15     Future._completeError (dart:async/future_impl.dart:550)
10-22 00:10:31.379 13417 13442 E flutter : #16     Future._chainForeignFuture.<anonymous closure> (dart:async/future_impl.dart:495)
10-22 00:10:31.379 13417 13442 E flutter : #17     _rootRun (dart:async/zone.dart:1354)
10-22 00:10:31.379 13417 13442 E flutter : #18     _CustomZone.run (dart:async/zone.dart:1258)
10-22 00:10:31.379 13417 13442 E flutter : #19     _CustomZone.runGuarded (dart:async/zone.dart:1162)
10-22 00:10:31.379 13417 13442 E flutter : #20     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1202)
10-22 00:10:31.379 13417 13442 E flutter : #21     _microtaskLoop (dart:async/schedule_microtask.dart:40)
10-22 00:10:31.379 13417 13442 E flutter : #22     _startMicrotaskLoop (dart:async/schedule_microtask.dart:49)
10-22 00:10:31.379 13417 13442 E flutter :

Also, Export downloads not working too, I get empty folders.

[Suggestion] Add an option to switch branchs of a project

Using "main" as the default branch name becomes more and more popular.
So user might want to select (or input) a non-master branch of a project in the Project Manager.

Currently, error reference 'refs/remotes/origin/master' not found will occur when the added project doesn't have the "master" branch.

Implement Viewer Navigation

I used to read manga by tachiyomi app, they implemented several viewer navigation types beside up down volume buttons, I think it is good if you support one of these kinds:

RightAndLeftNavigation
/**

  • Visualization of default state without any inversion
  • +---+---+---+
  • | N | M | P | P: Move Right
  • +---+---+---+
  • | N | M | P | M: Menu
  • +---+---+---+
  • | N | M | P | N: Move Left
  • +---+---+---+
    */

KindlishNavigation
/**

  • Visualization of default state without any inversion
  • +---+---+---+
  • | M | M | M | P: Previous
  • +---+---+---+
  • | P | N | N | M: Menu
  • +---+---+---+
  • | P | N | N | N: Next
  • +---+---+---+
    */

EdgeNavigation
/**

  • Visualization of default state without any inversion
  • +---+---+---+
  • | N | N | N | P: Previous
  • +---+---+---+
  • | N | M | N | M: Menu
  • +---+---+---+
  • | N | P | N | N: Next
  • +---+---+---+
    */

LNavigation
/**

  • Visualization of default state without any inversion
  • +---+---+---+
  • | P | P | P | P: Previous
  • +---+---+---+
  • | P | M | N | M: Menu
  • +---+---+---+
  • | N | N | N | N: Next
  • +---+---+---+
    */

Webtoon onNext not working properly

Android and iOS, if last page of a chapter have a height less than a half of screen height, when we tap next, it will not working properly, and the totals page and last page not the same.

Screen record of android emulator

next_page.mp4

This is another clip, if a page is too height, it will scroll only half of page height when I tap next, I have to drag over that page, the next page also tap next on first half of page.

output.mp4
output2.mp4

Cant clone if I compile myself

If I try to clone a plugin, always get

W/1.ui    ( 5968): type=1400 audit(0.0:1598): avc: denied { link } for name="HEAD.lock" dev="dm-4" ino=8175 scontext=u:r:untrusted_app:s0:c153,c256,c512,c768 tcontext=u:object_r:app_data_file:s0:c153,c256,c512,c768 tclass=file permissive=0 app=com.ero.kinoko
I/flutter ( 5968): [Clone] Exception: the SSL certificate is invalid
E/flutter ( 5968): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Exception: the SSL certificate is invalid
E/flutter ( 5968):

Computer: M1 Macbook Pro
Device: Android-arm64 Emulator

I've found a bug

In this application there's a bug in a search bar that do that when you search anything in this search bar you can't access to the results the results appear but you press in these you can't access to this result this bug that I know be in the version 4.0.7 of the program

Zooming in tries to turn the page

When ever I zoom in and/or try to move the zoomed image, the app most of the time interprets my action as a turn page gesture, making zooming and panning in very difficult.

Retrying several times eventually gives the desired outcome, but I need to retry at least 5-6 times.

I don't have this issues on other apps on this phone. One example is https://github.com/SimpleMobileTools/Simple-Gallery.

v4 iOS build release stripped code on glib

Runner[23289:3357608] flutter: Error Invalid argument(s): Failed to lookup symbol (dlsym(RTLD_DEFAULT, dart_decodeBit64): symbol not found)

Runner[23289:3357608] flutter: Error Invalid argument(s): Failed to lookup symbol (dlsym(RTLD_DEFAULT, dart_tokenVerify): symbol not found)

Runner[23289:3357738] +[NativeMainThreadPlugin sendEvent:withData:]: unrecognized selector sent to class 0x1035e4b38

Download confirmation button gets pushed off screen

On larger font sizes, the download checkmark will get pushed off the screen, especially noticeable when the last-viewed-chapter link is there.

S20 running Kinoko 4.3.9 from F-Droid (I believe this is the default size font).

download-issue.mp4

请求适配 E-ink 墨水屏设备

由于墨水屏刷新慢的特点,希望能添加一个设置能关闭所有UI动画,特别是翻页动画

PS:开放Android系统墨水屏阅读器品牌有:Boox、墨案、海信

Questions and suggestions

Questions

  • Can plug-ins be unloaded/removed?
  • Are book.js, chapter.js, collection.js, config.json, index.js and search.js minimal requirements for a plug-in?
    (Looking through a few plug-ins, they appear to be required.)

Suggestions

  • Documentation for plug-in creation or sample/template plug-ins. (Link to sample/template or documentation linked in readme would be useful.)
  • Ability to open Favorites on start. (The way Manga Home works with main project.)
  • Ability to uninstall plug-ins. (If it's not currently possible.)

Remove glib

I think we should remove glib, everything could do with other packages, the glib now contains alot of unused code, slow to build.

crashes on startup

Nexus 7
Android 6.0.1
Kernel 3.4.0

Starts the splash screen and tries to come a GitHub repo and then crashes

Auto next chapter

When reach the last page, swipe next, auto goto next chapter or show message was the last chapter.

Sort Favorites?

It'd be great if there was a way to sort the favorites! Maybe by a last updated, A-Z, last viewed, etc? I just discovered the app and loved it so much I've started moving over my manga from other apps. But I have too many to spend time scrolling down trying to find the one I want. Would be nice if there was some kind of order so I could more quickly find the one I want!

Delete all for a specific manga

A suggestion that I have is for adding a delete all button for the mangas I have that way I don't have to manually go through and delete them all.

Finding

Ummm.... I got a question, where can I get Nhentai plug-ins?

.

.

REQUEST: Gyro controls for scrolling and zooming

lots of phones have built in gyro control's now, and they can be used to scroll threw a manga like if you were holding a book rather then needing touch screen to scroll.

this could be used in meany situations like, sliding the phone across the table or holding it in the air like a searing weal, or in the sky laying down on your back.

another setting could contain a way to zoom in and out the picture from moving the phone in and out.

but the thing we need most of all is when using gyro a good option would be just to tap and hold the screen to keep the picture in place no matter what so you can then get comfy and let go back to normal, or even to just read it still temp.

i truly think this would be a wonderful quality of life setting that could change how we read manga on phones. oc it should be a setting for people to disable.

ninemanga dont work

At ninemanga the error message: TypeError: cannot read property 'querySelector' of null at parseHomeData (/main.js:188) at parseData (/main.js:150) at reload (/main.js:121)

FR: Option: Respect zoom for all pages

It would be nice if all pages respected the zoom in or out of the current viewing page instead of having to do it every page to the same distance. Maybe as an option, maybe as default.

Thanks

Zoom doesn't work properly

When I zoom in, I can't move the page around freely. It zooms in only in the middle and it's very annoying. Please fix the issue.

question

I have two questions about plugins, the first is if it is possible to import the plugin codes from a local directory on the smartphone, and the second is if it is possible to create a plugin via the interface directly from kinoko

Support headless browser and webview to login to a site

The v3 plugin system is great, I could add new site easily, but it is great if the core support more functions for crawling:

  • Some sites using encrypted script to generate content, or they are using cloudflare to prevent bot, if we could using a headless browser, we could pass the block.

  • Some sites protect their content behind membership (vip member), if we could open a webview for user login, after user loggedin to that site, we could share the cookie with script.

Save manga in other storage

Is there a way to save the downloaded manga in other storage than the external storage or the storage that the app set by default?

Page mode bugs

Can't change page mode, the app just isn't don't do it, no matter how many times I try, and there are so many Mangas/Mawhas that just don't charge when you use the vs 4.3.6

How to build for ios

I’ve tried to build ios but failed with error: symbols not found
_setupLibrary
_destroyLibrary
_postSetup
_setCacertPath
_runOnMainThread

I think I should link with the ouput of library glib, but I dont know where to add the glib.a.

Thank you

Suggestion

My suggestion is you make a video tutorial on how to make a plugin

漫画源丢失

最新版是否已不再提供漫画源?我在卸载重装之后发现之前自带的漫画源消失了,可否提供自己制作漫画源的教程?

F-Droid build failed

With Flutter 3.0.3 I got

Note: Recompile with -Xlint:deprecation for details.
/home/vagrant/.pub-cache/hosted/pub.dartlang.org/xml_layout-2.3.14/lib/types/icons.dart:3532:18: Error: Member not found: 'class__outlined'.
    return Icons.class__outlined;
                 ^^^^^^^^^^^^^^^
/home/vagrant/.pub-cache/hosted/pub.dartlang.org/xml_layout-2.3.14/lib/types/icons.dart:3535:18: Error: Member not found: 'class__rounded'.
    return Icons.class__rounded;
                 ^^^^^^^^^^^^^^
/home/vagrant/.pub-cache/hosted/pub.dartlang.org/xml_layout-2.3.14/lib/types/icons.dart:3538:18: Error: Member not found: 'class__sharp'.
    return Icons.class__sharp;
                 ^^^^^^^^^^^^
/home/vagrant/.pub-cache/git/filesystem_picker-9b1a077183580f2b329707a85a25e1aeda48517f/package/lib/src/breadcrumbs.dart:53:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../srclib/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.addPostFrameCallback((_) => _scrollToEnd());
                   ^
/home/vagrant/.pub-cache/hosted/pub.dartlang.org/flutter_staggered_animations-1.0.0/lib/src/animation_limiter.dart:43:20: Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../srclib/flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance!.addPostFrameCallback((Duration value) {
                   ^
/home/vagrant/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/cached_network_image_provider.dart:109:29: Warning: Operand of null-aware operation '?.' has type 'PaintingBinding' which excludes null.
 - 'PaintingBinding' is from 'package:flutter/src/painting/binding.dart' ('../srclib/flutter/packages/flutter/lib/src/painting/binding.dart').
      () => PaintingBinding.instance?.imageCache?.evict(key),
                            ^
/home/vagrant/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/multi_image_stream_completer.dart:152:22: Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../srclib/flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance?.scheduleFrameCallback(_handleAppFrame);
                     ^
plugins/my_scrollable_positioned_list/lib/src/scrollable_positioned_list.dart:425:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../srclib/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.addPostFrameCallback((_) {
                       ^
plugins/my_scrollable_positioned_list/lib/src/scrollable_positioned_list.dart:472:26: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../srclib/flutter/packages/flutter/lib/src/scheduler/binding.dart').
        SchedulerBinding.instance!.addPostFrameCallback((_) {
                         ^
plugins/my_scrollable_positioned_list/lib/src/positioned_list.dart:298:24: Warning: Operand of null-aware operation '!' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../srclib/flutter/packages/flutter/lib/src/scheduler/binding.dart').
      SchedulerBinding.instance!.addPostFrameCallback((_) {
                       ^
FAILURE: Build failed with an exception.
* Where:
Script '/builds/linsui/fdroiddata/build/srclib/flutter/packages/flutter_tools/gradle/flutter.gradle' line: 1156
* What went wrong:
Execution failed for task ':app:compileFlutterBuildRelease'.
> Process 'command '/builds/linsui/fdroiddata/build/srclib/flutter/bin/flutter'' finished with non-zero exit value 1
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org/
BUILD FAILED in 4m 50s
Running Gradle task 'assembleRelease'...                          294.0s
Gradle task assembleRelease failed with exit code 1

It also failed with 2.10.1. Which version should I use? Thanks!

Feature request - Select all or multiple items for downloading

I often need offline access to my manga when I read them. This implies I need to select the volumes I want to download and then download them.

The current possibility is to select volumes one by one, which is tedious when selecting all or a larger number of volumes.

A select all button, or better yet a start and stop selection functionality (where one would select the first and last item and the app would automatically select all items in between), would be very useful.

Won't open searched manga

Last night I restored default my cellphone, before that Kinoko was working well, after restore it I have been experiencing problems.

Problem: The problem is that when I search a manga in the search bar, it won't open [watch attached video (uploaded to Cloud by Mail.Ru)].
If you watched the video, you can see that:

  1. I start the application and open a manga from the main page (that works good, but the problem is the next).
  2. Then I search the following mangas: Aharen-san, Koe no Katachi, Azumanga Daioh, Yotsubato (the title doesn't matter, it won't open).
  3. I try to open it touching the title, but it doesn't work.

Specifications:

  • S.O.: MIUI 12.0.1 (Android 9)
  • Bootloader: locked 🔒 (I don't know if this is related, but I restored my phone in order to relock it)
  • App version: 4.0.6 (downloaded from F-Droid, but also I have the same problem with the app from Play Store)

Pages Will Not Load In Flip Mode

I was trying to continue reading something I needed to catch up on when suddenly the pages stopped loading. I can see thumbnails, but the pages infinitely tell me to reload them. I tried exporting, but the folders turn out empty. I'm not sure what's causing this.
Edit: I have just downloaded version 4.2.3 from F-Droid, however, the problem still persists. I have also tried disabling my firewall and deleting and reinstalling chapters, neither have worked.
Edit as of 03/26/22: It works just fine now except for flip mode. This only happens in flip mode and I'm confused as to why. Flip mode just isn't working.

Suggestion: Notifications

i would greatly appreciate it if you could give the app notifications for when new chapters of a manga come out, that way i and other people could be sure to stay updated on what we're reading. i don't know if this is even possible because of the "plugin" and other coding issues that might exist (i have no coding experience), but i would be super grateful for that feature.
p.s.
A) sorry if any of that sounded agressive, i can be a shitty typist
B) sorry again if this shoulda just been under the other conversation that had to do w/questions and suggestions, i wasnt sure

"App not installed" error after new update

Unable to launch even though it is installed, receiving "app not installed" error. Was working fine in the previous versions. After re-installing, same error.

Android Version: 10
Downloaded from: Google play store

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.