Git Product home page Git Product logo

kaizoku's Introduction

kaizoku's People

Contributors

christophersjchow avatar dependabot[bot] avatar github-actions[bot] avatar korewachino avatar oae avatar schklom avatar shivamamin 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  avatar  avatar  avatar  avatar  avatar  avatar

kaizoku's Issues

Server returns empty response

I spun this up with Docker, and cannot do anything with it. curl returns this

$ curl http://localhost:3000
curl: (52) Empty reply from server

I kept the docker-compose.yaml you did (and renamed the containers), set PUID and PGID to 0.
My docker-compose.yaml includes

services:
  kaizoku:
    image: ghcr.io/oae/kaizoku
    container_name: kaizoku
    hostname: kaizoku
    environment:
      DATABASE_URL: "postgresql://kaizoku:kaizoku@kaizoku-db:5432/kaizoku"
      KAIZOKU_PORT: 3000
      REDIS_HOST: kaizoku-redis
      REDIS_PORT: 6379
      PUID: 0
      PGID: 0
      TZ: Europe/Istanbul
    volumes:
      - ${DOCKER}/kaizoku/data:/data
      - ${DOCKER}/kaizoku/config:/config
      - ${DOCKER}/kaizoku/logs:/logs
    depends_on:
      kaizoku-db:
        condition: service_healthy
      kaizoku-redis:
        condition: service_started
    ports:
      - 3000:3000
    networks:
      kaizoku:
  
  kaizoku-redis:
    image: redis:7-alpine
    container_name: kaizoku-redis
    hostname: kaizoku-redis
    volumes:
      - ${DOCKER}/kaizoku-redis:/data
    networks:
      kaizoku:
      
  kaizoku-db:
    image: postgres:alpine
    container_name: kaizoku-db
    hostname: kaizoku-db
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -U kaizoku']
      interval: 5s
      timeout: 5s
      retries: 5
    environment:
      POSTGRES_USER: kaizoku
      POSTGRES_DB: kaizoku
      POSTGRES_PASSWORD: kaizoku
    volumes:
      - ${DOCKER}/kaizoku-db:/var/lib/postgresql/data
    networks:
      kaizoku:

networks:
  kaizoku:
    ipam:
      config:
        - subnet: 192.168.21.0/24

My logs show nothing wrong

$ docker logs kaizoku
[custom-init] No custom services found, skipping...
[migrations] started
[migrations] no migrations found
cont-init: info: running /etc/cont-init.d/40-config

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    0
User gid:    0
-------------------------------------

yarn run v1.22.19
$ /app/node_modules/.bin/prisma migrate deploy
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "kaizoku", schema "public" at "kaizoku-db:5432"

1 migration found in prisma/migrations


No pending migrations to apply.
Done in 2.45s

Any idea what I'm doing wrong?

[Docker] Mangasee source broken

The Mangasee source is broken.
From the logs:
"Failed to get available sources: err: Error: Command failed with exit code 1: mangal inline --source Mangasee --query xxxx -j\nX /config/.config/mangal/sources/Mangasee.lua:46: attempt to index a non-table object(nil) with key 'page'\nstack traceback:\n\t/config/.config/mangal/sources/Mangasee.lua:46: in main chunk\n\t[G]: ?"}

Various errors in the checkChaptersQueue causing massive delays

Describe the bug

I'm not quite sure what makes this happen but I keep getting errors on most of my manga. All of them use Mangasee.

I've seen these 3 types of errors:

image
image
image

And, from what I can tell, these cause chapters to be delayed for actual days. (Most of them I have set to check every 4 or 6 hours)

Reproduction steps

I'm running 1.3.1 on Ubuntu 22.04 and everything permission wise and whatever is the same as in one of the previous issues.

Changing download location

Feature Description

I'd love to use kaizoku, however my current folder structure makes this rather difficult.
It would be awesome if I could manually specify the download location of a manga.

You already present the field of the download location to the user, so maybe this is already planned on?
image

Solution you would like

Manual entry of the path or a graphical path chooser. I'm guessing the first one would be much easier to implement though.

Alternatives you have considered

No response

Additional context

No response

Error when adding manga

Describe the bug

Just adding a manga on a fresh installation, fresh library with the normal method in the app yields the following error:

TRPCClientError: Argument characters for data.metadata.create.characters must not be null. Please use undefined instead. Argument synonyms for data.metadata.create.synonyms must not be null. Please use undefined instead. Argument tags for data.metadata.create.tags must not be null. Please use undefined instead. Argument urls for data.metadata.create.urls must not be null. Please use undefined instead.

Reproduction steps

No response

Expected behavior

No response

Additional context

No response

Search limited to 30 results makes finding certain titles impossible

Describe the bug

Since the search when adding new manga is limited to a certain number of results, certain titles can be difficult or impossible to add. The title "Nana" cannot be added to Mangasee, since the results are filled with many titles before "Nana" shows up alphabetically.

Reproduction steps

  1. Add new manga
  2. Search for Nana using the mangasee sourc
  3. Results limit ends at "Koibana! - Koiseyo Hanabi"

Expected behavior

Should either show more results or offer a button to load more.

Additional context

No response

Additional Sources

Feature Description

Not sure if it's already in your plans or not, but consider adding the (non-duplicate) sources contained in https://github.com/metafates/mangal-scrapers, such as AsuraScans and ComicK.
They seem to be ready to be imported and used by mangal.

Solution you would like

No response

Alternatives you have considered

No response

Additional context

No response

Improvement to telegram Bot

Feature Description

When I tried to use the telegram bot the bot likes to send messages for every single chapter found, this is bad when you are downloading a new manga and there are alot of chapters for that one manga.

Solution you would like

a bar like thing where the percent gets edited
for example
"Downloading One Piece 1% [ ]"
instead of
"Chapter Grabbed" over and over
thanks!

Alternatives you have considered

No response

Additional context

No response

[Docker] Changing Mangal config doesn't work

I am trying to change the config values og mangal and they do not seem to stick.
Using "mangal config set" doesn't change anything, as it seems the default location (/config/.config/mangal) isn't being used.
Changing something in the mangal.toml in the default location also doesn't change the mangal settings.

image

I have not tested this with kaizoku outside of docker, tested with mangal on desktop and settings configuration values works as it should then.

Kavita Integration

Feature Description

I saw that you recently added Komga integration, I would love it if Kavita could also have integration. Kavita has a large install base and is a prominent software for manga collectors.

https://github.com/Kareadita/Kavita

Solution you would like

Inform Kavita when a manga has been downloaded via ScanFolder api (which tells Kavita to scan said folder into the system)

Alternatives you have considered

No response

Additional context

I am the developer of Kavita, please reach out if there is anything I can do to help drive integration. A lot of my users are now using this software, so providing integration would be great.

Save config

Feature Description

Settings/User preferences are not exportable

Solution you would like

Having a config file in the kaizoku config folder would be nice, a file like a json or something where the settings are saved in case we re deploy later and want to save our settings.

A backup system can also work instead of a config file, and of course we can also add to the config/backup a list of the mangas monitored maybe ?

Alternatives you have considered

No response

Additional context

No response

Strange error on some chapters

Describe the bug

I've been using the software for a few days and congrats! It's great and has a great interface, it's exactly what i was looking for.

However, out of almost 12k chapters i've been getting some strange errors on about 200 of them. Here's a log excerpt from Bull Dashboard, in case you wanna take a look at it:

Error: Command failed with exit code 2: mangal inline --source Manganelo --query Black Clover --manga first --chapters 347 -d
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x5037e2]

goroutine 1 [running]:
bytes.(*Buffer).WriteTo(0x153e820?, {0x153e820?, 0xc0000ae500?})
	bytes/buffer.go:250 +0x22
io.copyBuffer({0x153e820, 0xc0000ae500}, {0x153e8c0, 0x0}, {0x0, 0x0, 0x0})
	io/io.go:409 +0x16e
io.Copy(...)
	io/io.go:386
github.com/metafates/mangal/converter/cbz.addToZip(0xc0003f3340?, {0x153e8c0, 0x0}, {0xc0007adec0, 0xa})
	github.com/metafates/mangal/converter/cbz/cbz.go:83 +0xa6
github.com/metafates/mangal/converter/cbz.SaveTo(0xc00066c700, {0xc0002cbf50?, 0xc0001c9150?})
	github.com/metafates/mangal/converter/cbz/cbz.go:55 +0x36b
github.com/metafates/mangal/converter/cbz.save(0xe5bd00?, 0x1?)
	github.com/metafates/mangal/converter/cbz/cbz.go:35 +0x3f
github.com/metafates/mangal/converter/cbz.(*CBZ).Save(0xc0007ada50, 0xe?)
	github.com/metafates/mangal/converter/cbz/cbz.go:22 +0x1e
github.com/metafates/mangal/downloader.Download(0xc00066c700, 0x12daa30)
	github.com/metafates/mangal/downloader/download.go:104 +0xbe7
github.com/metafates/mangal/inline.Run(0xc0008e7c88)
	github.com/metafates/mangal/inline/inline.go:96 +0x4eb
github.com/metafates/mangal/cmd.glob..func11(0x1cf7b60?, {0x10068d7?, 0x9?, 0x9?})
	github.com/metafates/mangal/cmd/inline.go:147 +0x525
github.com/spf13/cobra.(*Command).execute(0x1cf7b60, {0xc0001a8900, 0x9, 0x9})
	github.com/spf13/[email protected]/command.go:920 +0x847
github.com/spf13/cobra.(*Command).ExecuteC(0x1cfaf20)
	github.com/spf13/[email protected]/command.go:1044 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
	github.com/spf13/[email protected]/command.go:968
github.com/metafates/mangal/cmd.Execute()
	github.com/metafates/mangal/cmd/root.go:109 +0x5e
main.main()
	github.com/metafates/mangal/main.go:13 +0x4d
    at makeError (/app/node_modules/.pnpm/[email protected]/node_modules/execa/lib/error.js:60:11)
    at handlePromise (/app/node_modules/.pnpm/[email protected]/node_modules/execa/index.js:118:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async downloadChapter (/app/.next/server/pages/api/trpc/[trpc].js:1310:48)
    at async external_bullmq_.Worker.concurrency [as processFn] (/app/.next/server/pages/api/trpc/[trpc].js:432:20)
    at async Worker.processJob (/app/node_modules/.pnpm/[email protected]/node_modules/bullmq/dist/cjs/classes/worker.js:343:28)
    at async Worker.retryIfFailed (/app/node_modules/.pnpm/[email protected]/node_modules/bullmq/dist/cjs/classes/worker.js:465:24)
Error: Command failed with exit code 2: mangal inline --source Manganelo --query Black Clover --manga first --chapters 347 -d
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x5037e2]

goroutine 1 [running]:
bytes.(*Buffer).WriteTo(0x153e820?, {0x153e820?, 0xc0001187d0?})
	bytes/buffer.go:250 +0x22
io.copyBuffer({0x153e820, 0xc0001187d0}, {0x153e8c0, 0x0}, {0x0, 0x0, 0x0})
	io/io.go:409 +0x16e
io.Copy(...)
	io/io.go:386
github.com/metafates/mangal/converter/cbz.addToZip(0xc0000a7800?, {0x153e8c0, 0x0}, {0xc000636840, 0xa})
	github.com/metafates/mangal/converter/cbz/cbz.go:83 +0xa6
github.com/metafates/mangal/converter/cbz.SaveTo(0xc0003ac600, {0xc0005bb6b0?, 0xc0006275f0?})
	github.com/metafates/mangal/converter/cbz/cbz.go:55 +0x36b
github.com/metafates/mangal/converter/cbz.save(0xe5bd00?, 0x1?)
	github.com/metafates/mangal/converter/cbz/cbz.go:35 +0x3f
github.com/metafates/mangal/converter/cbz.(*CBZ).Save(0xc0006363d0, 0xe?)
	github.com/metafates/mangal/converter/cbz/cbz.go:22 +0x1e
github.com/metafates/mangal/downloader.Download(0xc0003ac600, 0x12daa30)
	github.com/metafates/mangal/downloader/download.go:104 +0xbe7
github.com/metafates/mangal/inline.Run(0xc0004b5c88)
	github.com/metafates/mangal/inline/inline.go:96 +0x4eb
github.com/metafates/mangal/cmd.glob..func11(0x1cf7b60?, {0x10068d7?, 0x9?, 0x9?})
	github.com/metafates/mangal/cmd/inline.go:147 +0x525
github.com/spf13/cobra.(*Command).execute(0x1cf7b60, {0xc000186900, 0x9, 0x9})
	github.com/spf13/[email protected]/command.go:920 +0x847
github.com/spf13/cobra.(*Command).ExecuteC(0x1cfaf20)
	github.com/spf13/[email protected]/command.go:1044 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
	github.com/spf13/[email protected]/command.go:968
github.com/metafates/mangal/cmd.Execute()
	github.com/metafates/mangal/cmd/root.go:109 +0x5e
main.main()
	github.com/metafates/mangal/main.go:13 +0x4d
    at makeError (/app/node_modules/.pnpm/[email protected]/node_modules/execa/lib/error.js:60:11)
    at handlePromise (/app/node_modules/.pnpm/[email protected]/node_modules/execa/index.js:118:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async downloadChapter (/app/.next/server/pages/api/trpc/[trpc].js:1310:48)
    at async external_bullmq_.Worker.concurrency [as processFn] (/app/.next/server/pages/api/trpc/[trpc].js:432:20)
    at async Worker.processJob (/app/node_modules/.pnpm/[email protected]/node_modules/bullmq/dist/cjs/classes/worker.js:343:28)
    at async Worker.retryIfFailed (/app/node_modules/.pnpm/[email protected]/node_modules/bullmq/dist/cjs/classes/worker.js:465:24)
Error: Command failed with exit code 2: mangal inline --source Manganelo --query Black Clover --manga first --chapters 347 -d
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x5037e2]

goroutine 1 [running]:
bytes.(*Buffer).WriteTo(0x153e820?, {0x153e820?, 0xc000180fa0?})
	bytes/buffer.go:250 +0x22
io.copyBuffer({0x153e820, 0xc000180fa0}, {0x153e8c0, 0x0}, {0x0, 0x0, 0x0})
	io/io.go:409 +0x16e
io.Copy(...)
	io/io.go:386
github.com/metafates/mangal/converter/cbz.addToZip(0xc00047f2c0?, {0x153e8c0, 0x0}, {0xc00038f0c0, 0xa})
	github.com/metafates/mangal/converter/cbz/cbz.go:83 +0xa6
github.com/metafates/mangal/converter/cbz.SaveTo(0xc000448600, {0xc000514060?, 0xc00047b110?})
	github.com/metafates/mangal/converter/cbz/cbz.go:55 +0x36b
github.com/metafates/mangal/converter/cbz.save(0xe5bd00?, 0x1?)
	github.com/metafates/mangal/converter/cbz/cbz.go:35 +0x3f
github.com/metafates/mangal/converter/cbz.(*CBZ).Save(0xc00038ec00, 0xe?)
	github.com/metafates/mangal/converter/cbz/cbz.go:22 +0x1e
github.com/metafates/mangal/downloader.Download(0xc000448600, 0x12daa30)
	github.com/metafates/mangal/downloader/download.go:104 +0xbe7
github.com/metafates/mangal/inline.Run(0xc0008fdc88)
	github.com/metafates/mangal/inline/inline.go:96 +0x4eb
github.com/metafates/mangal/cmd.glob..func11(0x1cf7b60?, {0x10068d7?, 0x9?, 0x9?})
	github.com/metafates/mangal/cmd/inline.go:147 +0x525
github.com/spf13/cobra.(*Command).execute(0x1cf7b60, {0xc000216900, 0x9, 0x9})
	github.com/spf13/[email protected]/command.go:920 +0x847
github.com/spf13/cobra.(*Command).ExecuteC(0x1cfaf20)
	github.com/spf13/[email protected]/command.go:1044 +0x3bd
github.com/spf13/cobra.(*Command).Execute(...)
	github.com/spf13/[email protected]/command.go:968
github.com/metafates/mangal/cmd.Execute()
	github.com/metafates/mangal/cmd/root.go:109 +0x5e
main.main()
	github.com/metafates/mangal/main.go:13 +0x4d
    at makeError (/app/node_modules/.pnpm/[email protected]/node_modules/execa/lib/error.js:60:11)
    at handlePromise (/app/node_modules/.pnpm/[email protected]/node_modules/execa/index.js:118:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Reproduction steps

No response

Expected behavior

No response

Additional context

No response

Adding Manhwa

Feature Description

Will you be adding Manhwa sites in future updates. One i love to use is Toonily!

https://toonily.com/

please add soon

Solution you would like

No response

Alternatives you have considered

No response

Additional context

No response

Unraid

Feature Description

Is there any chance you can add this to unraid or advise how? I would love to use this app.

Solution you would like

No response

Alternatives you have considered

The alternative is FMD2 download but it stalls all the time and can never use it.

Additional context

No response

Select language for each manga, source, or instance of Kaizoku

Feature Description

The ability to select language when setting up each Manga to download. Understandably not all sources have multiple languages.

Solution you would like

No response

Alternatives you have considered

Is there a text file or database location I can alter to have sources be scraped in another language (Japanese)? Happy to run multiple instances of Kaizoku in containers for each language to accomplish this.

Additional context

Multi Lingual household. English and Japanese. Regardless of your response. Enjoying Kaizoku so far. Great job.

Feature request: See missing chapters

Feature Description

I think it would be good to see what chapters are missing from within Kaizoku. For example, if mangal fails like in this issue, Kaizoku show's it in the failed queue just fine, but it's not apparent that a chapter is missing when looking at a manga in Kaizoku. You need to look down the chapter list and notice one is missing

Solution you would like

This could take a variety of forms:

  1. Showing all chapters inline where they are now, but adding missing ones in red
  2. Have a tab that shows missing chapters/failures that are also in the failure queue
  3. If the above are 2 complex, flagging at the manga level that there are failures for that manga. Or, that the number of downloaded manga is less than the total available from the source

Alternatives you have considered

No response

Additional context

No response

Feature Request: Dark Mode

Feature Description

An option for dark mode would be a lovely addition to this program, currently using Dark Reader in the mean time.

Support for more Providers

Feature Description

There aren't many Providers available, having the possibility to download from more providers like FMD2 would be greatly appreciated

Solution you would like

No response

Alternatives you have considered

No response

Additional context

No response

Feature request: Selective download of a manga

Imagine you have a very long series (something like 400+ chapters) and you have the digital volumes for up to ~300. It would be cool if you could make kaizoku only download after a certain chapter number.

I'm not sure if this would need adjustments in mangal though.

Not finding all chapters of a manga

Describe the bug

When I search and add a series, it seems to only find a subset of chapters. For the first manga I tried, Chainsaw Man, the first 31 chapters download and then nothing else.

Reproduction steps

  1. Add Manga.
  2. Select Source (I chose Mangadex for this example).
  3. Search for "Chainsaw Man" and select the first result "Releasing - Chainsaw Man".
  4. Choose an interval of "At 00:00" and leave Location at default.
  5. At the final screen, the chapters section says there are "31" chapters, but I currently see 118 on Mangadex.
  6. Click Add

Expected behavior

I expect all chapters to download. Instead, only 31 chapters download.

Additional context

Strangely, it also says the Download Date was 53 years ago.

Mangasee search not working

When searching for any Manga via Mangasee I get no results found and this error appears in the logs.

[14:04:27.151] ERROR (308): Failed to get available sources: err: Error: Command failed with exit code 1: mangal inline --source Mangasee --query Tomodachi Game -j
X /config/.config/mangal/sources/Mangasee.lua:46: attempt to index a non-table object(nil) with key 'page'
stack traceback:
	/config/.config/mangal/sources/Mangasee.lua:46: in main chunk
	[G]: ?`

Slow Down the Download queue

Feature Description

When downloading a Manga with many Chapters its not uncommon for the later chapters to fail downloading since Kaizoku is sending tens of requests per second.

Solution you would like

Limit the Download Rate per chapter. So something like 5 Chapters per 10 seconds or something along those lines.

Alternatives you have considered

No response

Additional context

No response

Chapters get redownloaded as "fixed" every time manga is checked

Describe the bug

I have multiple manga using the Mangasee source that get redownloaded in its entirety every time it is checked.
It gets downloaded as the type "fixed" according to logs in bull dashboard.

I had the issue with a couple other manga, but when deleting them and their files and re-adding them, the problem went away.
This might be an issue on the Mangal side of things though.

Reproduction steps

  1. Add one of the manga mentioned in additional context
  2. Let it download
  3. Run a check for the manga
  4. Watch it download it again

Expected behavior

Manga doesn't get redownloaded unless necessary.

Additional context

I see it with the following manga:
Jahy-sama wa Kujikenai - 80 Chapters
Please Go Home Akutsu-san - 133 Chapters
Bofuri - I don't Want to Get Hurt so I'll Max Out My Defense - 29 Chapters
Uzaki-chan Wants to Hang Out - 91 Chapters
Kono Subarashii Sekai ni Shukufuku o - 79 Chapters

This totals 412 chapters which is quite a lot to redownload every time checks run.

Feature suggestion: settings ui for mangal

Option to configure mangal directly from kaizoku would be useful.

You can show all available config fields with current value, type and description in json format via mangal config info --json. --json flag was added since v3.13.0

Set value with mangal config set --key <key> --value <value>
Get value with mangal config get --key <key>

Though, not all settings would be useful, but you can filter only those that start with specific domain. E.g. downloader.* related settings

Adding new Manga

Describe the bug

The moment I add a new Manga, it downloads all of the chapter of that manga from the provider (happened with One Piece with 1000+ chapters). It would be nice to have an option when adding a new manga so we can :

  • Download nothing
  • Download future chapters (regex would be nice)
  • Download all missing chapters

Also, when adding info in the settings, filling up certain fields and activating anilist for example, once i close the settings they are not saved. It would be nice to save them automatically or to have a save button for this.

Reproduction steps

  • Add a new manga
  • Change settings

Expected behavior

  • No download
  • Settings saved

Additional context

No response

Docker Synology

this is no bug but a help request.

i ran the composer on my docker hosted on synology via portainer.
3 dockers are created succesfully and are up and running

but somehow i cant connect to the page am i missing something ? or do i need to do something after the dockers are created ?

Wrong metadata pulled from source (wrong match)

Describe the bug

I don't know if this is a problem originating from mangal or some glitch in your code, but i'll post it here.
It doesn't happen with all mangas, just with some that i have yet to see the correlation with.

So what happens is that when you search a source (this is not source specific) for a certain manga, say The Gamer (https://mangadex.org/title/e499ff53-68d3-4c1a-8dbf-3cea42fca501/the-gamer) then UI then shows a list of Mangas with that name included, but when you choose it, the metadata it downloads pertains to another manga of similar name (The Gourmet Gamer - https://mangadex.org/title/da0f55cd-4878-4f65-b56a-25882b6c8376/the-gourmet-gamer). Then, if you click to add it to the library, the wrogn manga actually gets downloaded and not the correct one.

However, some of these get corrected when enabling anilist integration (even without account), but not all
If I use mangal CLI to search for the manga directly, it arrives at the correct one.

I've seen this happening in these:

this is a weird one

Reproduction steps

No response

Expected behavior

No response

Additional context

Restart and recreation of the docker container does not fix it.

Support base path for reverse proxies

Feature Description

Thanks for making an awesome application!

It would be nice if we could run Kaizoku behind a reverse proxy with a custom base url/path, like example.com/kaizoku
At the moment, all I get is a 404 when I try.

Solution you would like

I'm guessing the application have to be changed to support specifying a base path.

Alternatives you have considered

It's not a huge issue, since I can run it under a dedicated subdomain/port, but it would make my setup a bit more clean.

Additional context

No response

Download date is 53 years ago & latest download column not updating

Describe the bug

Hey there,

the download date of all my mangas both in the individual manga view and in the latest download column is 53 years ago. See also the attached screenshot, which shows a newly added manga. The latest download also does not update and always shows the same manga with the download date of 53 years ago.

I can add new mangas, the download completes and is successfully written to the mounted share, but the download dates are wrong.
I run the three docker containers on Unraid.

If you need further information, I'm happy to help. Thanks in any case!
download_date_kaizoku

Reproduction steps

  1. Add Manga
  2. No error displayed and queue is populated and
  3. the queue and thus download of mangas/chapters completes
  4. The download date of the new manga is 53 years ago
  5. The latest download column of the main view also doesn't update and thus shows not the latest download but stays on the same manga and also shows 53 years ago

Expected behavior

Use correct download date on newly added and existing manga as well as update the latest download column.

Additional context

No response

Mangasee broken in ver 1.4.0, works in 1.3.1

Describe the bug

On version 1.4.0 Mangasee source returns: No result found... no matter what is searched.
image
kaizoku.log
On version 1.3.1 Mangasee source functions as expected
image
kaizoku.log

Reproduction steps

On version 1.4.0

  1. Add a new manga
  2. Select a source: Mangasee
  3. click Next step
  4. Search for a manga: type 'bleach'
  5. click arrow (or hit enter)
  6. No result found...

Expected behavior

Return results for search of Mangasee source like it did in version 1.3.1

Additional context

It appears that downgrading to version 1.3.1 fixes the issue entirely.

Thanks for all your work on this, it is amazing!

[Docker] All tasks in bull queue gone after restart

After a restart of my docker containers I noticed that everything in Bull Dashboard is gone.
I stop all my dockers 3 times a week to do a quick backup of important docker related data (configs etc) after yesterdays backup cycle I noticed that everything in the bull dashboard is now gone.
image

Is there some mount point for the docker that I should've had that isn't mentioned in the docker-compose file?

Also is there a faster way to get my scheduled tasks back than re-adding every manga one by one?

Some mangas download and some do not

Describe the bug

I have been adding mangas to my collection and some have blank chapters but on the site they have many chapters. When the time comes to download them at 00 there is no failed logs but the folder is empty.
image

image

Reproduction steps

No response

Expected behavior

No response

Additional context

No response

Feature request: setup Apprise

Apprise is a notification gateway that supports 80+ notification systems.
Basically, with an instance of it, you can send a notification to it, and it will send it to any that you have configured.

All kaizoku has to do is to let the user specify the GET curl request they want to send.

See https://github.com/caronc/apprise-api for self-hosting an instance of Apprise with a GUI and an API.

Unable to download Mangas from MangaDex

Describe the bug

Hello,

I just installed kaizoku on my server, unfortunately I'm encountering the issue of being unable to download Mangas.
When I add a new one to the library it downloads 1-4 chapters and then stops. After looking more into it I can see this error in the logs:

kaizoku  | X /config/.config/mangal/sources/MangaDex.lua:130: attempt to index a non-table object(nil) with key 'body'
kaizoku  | stack traceback:
kaizoku  |      /config/.config/mangal/sources/MangaDex.lua:130: in main chunk
kaizoku  |      [G]: ?

I've also noticed that I'm now unable to open the website beceuase of the error ERR_HTTP2_PROTOCOL_ERROR. Maybe they've implemented some kind of protection in order to avoid mass downloads? Because after a few hours it's possible to access the website again.
Would it be possible to build in a custom delay in order to avoid the issue, or could it be something else?

Many thanks!

Reproduction steps

No response

Expected behavior

No response

Additional context

No response

Feature suggestion: A way to stagger daily checks

It would be nice to have a way to spread out the daily check tasks, to not have all of them run sequentially at 00:00:00 every day.
Personally right now I have over 200 check tasks that run at midnight, and I think spreading these out over the 24 hours through the day would be better to not have a large spike at one specific time per day.

No linux/amd64 docker image available for 1.1.0

The 1.1.0 update seems to only provide an arm64 docker image when trying to install.

WARNING: image with reference ghcr.io/oae/kaizoku was found but does not match the specified platform: wanted linux/amd64, actual: linux/arm64
docker: Error response from daemon: image with reference ghcr.io/oae/kaizoku:v1.1.0 was found but does not match the specified platform: wanted linux/amd64, actual: linux/arm64.

[BUG] Possible memory error

Describe the bug

The 1.4 update solved most of the pending download failures (44 in 11k+ chapters downloaded) down to 8 rare but persistent errors.

The remaining errors seem to be some sort of memory handling issue.

Examples in logs: https://pastebin.com/8qt78CwM

Thank you again for your amazing work, you're a treasure!

Reproduction steps

No response

Expected behavior

No response

Additional context

No response

[Docker] TRPCClientError When Adding Specific Manga

Describe the bug

I've had issues adding some specific manga to my collection. When I get to the end of the process I get the following error:

"TRPCClientError: Cannot find the Yu-Gi-Oh! Duelist."

This has happened for a few series but not all (I can still normally add most series).

Reproduction steps

  1. Add new Manga
  2. Set source to Manganato
  3. Select Yugioh! Duelist OR Yugioh! Millenium World
  4. Select any time interval
  5. Error on main page: TRPCClientError: Cannot find the Yu-Gi-Oh! Duelist.

Expected behavior

No response

Additional context

I have tried investigating logs but couldn't see any errors. It's currently on info level so I assumed that should include any errors?

[Issue] Postgres authentication issues

Following README docker-compose

Logs

DB container

2022-10-28 18:02:31.577 UTC [823] DETAIL:  Connection matched pg_hba.conf line 100: "host all all all scram-sha-256"
2022-10-28 18:02:36.057 UTC [831] FATAL:  password authentication failed for user "kaizoku"

Main app container

[14:04:27.002] ERROR (4491): 
Invalid `prisma.manga.findMany()` invocation:
Authentication failed against database server at `db`, the provided database credentials for `kaizoku` are not valid.
Please make sure to provide valid database credentials for the database server at `db`.

Feature suggestion: Override Anilist match

This issue might have to go through Mangal, but I think it could be done just in the kaizoku UI.

If you're adding a manga that has other listings at anilist with the exact same title, the script will automatically select whicheven one is the oldest for the metadata that is fetched.
As an example if you add Komi-san wa Komyushou desu. It'll match the oneshot from 2015 and pull the metadata for the oneshot, which doesn't match the manga metadata.
It matches this: https://anilist.co/manga/86813/Komisan-wa-Komyushou-desu/
But it should be: https://anilist.co/manga/97852/Komisan-wa-Komyushou-desu/

If there could be any way to add an override to this part of the UI when adding a manga that'd be a great feature.
image

Custom intervals do not work

Describe the bug

When trying to set any interval that isn't the default ones it fails with error "invalid interval"

Reproduction steps

  1. Set an interval that isn't one of the default ones
  2. Get error

Expected behavior

Custom intervals should work and not error

Additional context

I've tried all kinds of cronstrue intervals and none of them will stick
image

Unusually high storage consumption in /tmp

Describe the bug

I was tracking a sudden storage consumption in my system and tracked a portion of it to Docker's overlay2 system, specifically kaizoku container, which was consuming more than 10GB of storage. I tracked this down to temp files that keep piling up in /tmp/rod/user-data.

Is this safe to delete?

Reproduction steps

No response

Expected behavior

No response

Additional context

No response

Large container overhead

Describe the bug

Storage space on my dedicated server was slowly diminishing. After some research I pinpointed the culprit to the Kaizoku container. After recreating the container 147GB was freed up.

Before container recreation:
image

After container recreation:
image

My assumption is that the downloaded chapters are stored within the kaizoku container and never cleaned up. I do have binded volumes for the logs, so unless they are also created within the container and just copied to /logs for some reason, I doubt the logs are to blame.
image

Reproduction steps

  1. Create Kaizoku containers using :latest
  2. Run docker system df and take note of the Containers size
  3. Download a manga with many chapters within Kaizoku
  4. Wait until finished and run docker system df again and compare the Contains sizes
  5. Do this for a week and see the continual growth.

Expected behavior

Container size should not grow continually.

Additional context

Was running :latest but likely v1.2.1 or 1.3.0 (unfortunately I am unsure here as I recreated the container)

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.