diff --git a/.run/A3MangaGenerator.run.xml b/.run/A3MangaGenerator.run.xml deleted file mode 100644 index 20a4a7526..000000000 --- a/.run/A3MangaGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/BakaMangaGenerator.run.xml b/.run/BakaMangaGenerator.run.xml deleted file mode 100644 index 3166fb8f9..000000000 --- a/.run/BakaMangaGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/BakkinGenerator.run.xml b/.run/BakkinGenerator.run.xml deleted file mode 100644 index 077e52980..000000000 --- a/.run/BakkinGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/BilibiliGenerator.run.xml b/.run/BilibiliGenerator.run.xml deleted file mode 100644 index 35d79c7d4..000000000 --- a/.run/BilibiliGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ChanGenerator.run.xml b/.run/ChanGenerator.run.xml deleted file mode 100644 index f4f915b37..000000000 --- a/.run/ChanGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ComiCakeGenerator.run.xml b/.run/ComiCakeGenerator.run.xml deleted file mode 100644 index b033d1410..000000000 --- a/.run/ComiCakeGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ComicGammaGenerator.run.xml b/.run/ComicGammaGenerator.run.xml deleted file mode 100644 index 8b8c6d2be..000000000 --- a/.run/ComicGammaGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/EroMuseGenerator.run.xml b/.run/EroMuseGenerator.run.xml deleted file mode 100644 index fe4ababf5..000000000 --- a/.run/EroMuseGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/FMReaderGenerator.run.xml b/.run/FMReaderGenerator.run.xml deleted file mode 100644 index efc32a260..000000000 --- a/.run/FMReaderGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/FansubsCatGenerator.run.xml b/.run/FansubsCatGenerator.run.xml deleted file mode 100644 index 3609da5d0..000000000 --- a/.run/FansubsCatGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/FlixScansGenerator.run.xml b/.run/FlixScansGenerator.run.xml deleted file mode 100644 index bbb4ce682..000000000 --- a/.run/FlixScansGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/FoolSlideGenerator.run.xml b/.run/FoolSlideGenerator.run.xml deleted file mode 100644 index 044043f70..000000000 --- a/.run/FoolSlideGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/GattsuGenerator.run.xml b/.run/GattsuGenerator.run.xml deleted file mode 100644 index 771b6a20e..000000000 --- a/.run/GattsuGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/GigaViewerGenerator.run.xml b/.run/GigaViewerGenerator.run.xml deleted file mode 100644 index f51346317..000000000 --- a/.run/GigaViewerGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/GroupLeGenerator.run.xml b/.run/GroupLeGenerator.run.xml deleted file mode 100644 index 4f5aeff14..000000000 --- a/.run/GroupLeGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/GuyaGenerator.run.xml b/.run/GuyaGenerator.run.xml deleted file mode 100644 index b24a84cec..000000000 --- a/.run/GuyaGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/HeanCmsGenerator.run.xml b/.run/HeanCmsGenerator.run.xml deleted file mode 100644 index f3b736bdd..000000000 --- a/.run/HeanCmsGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/HentaiHandGenerator.run.xml b/.run/HentaiHandGenerator.run.xml deleted file mode 100644 index af0be7fcc..000000000 --- a/.run/HentaiHandGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/KemonoGenerator.run.xml b/.run/KemonoGenerator.run.xml deleted file mode 100644 index c68bc4a86..000000000 --- a/.run/KemonoGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/LibGenerator.run.xml b/.run/LibGenerator.run.xml deleted file mode 100644 index b65311b42..000000000 --- a/.run/LibGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MCCMSGenerator.run.xml b/.run/MCCMSGenerator.run.xml deleted file mode 100644 index 054dc8fc1..000000000 --- a/.run/MCCMSGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MMRCMSGenerator.run.xml b/.run/MMRCMSGenerator.run.xml deleted file mode 100644 index 81eaf7690..000000000 --- a/.run/MMRCMSGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MadThemeGenerator.run.xml b/.run/MadThemeGenerator.run.xml deleted file mode 100644 index 2124d454f..000000000 --- a/.run/MadThemeGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangAdventureGenerator.run.xml b/.run/MangAdventureGenerator.run.xml deleted file mode 100644 index 521635b46..000000000 --- a/.run/MangAdventureGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaBoxGenerator.run.xml b/.run/MangaBoxGenerator.run.xml deleted file mode 100644 index f6c2f5537..000000000 --- a/.run/MangaBoxGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaCatalogGenerator.run.xml b/.run/MangaCatalogGenerator.run.xml deleted file mode 100644 index 551633cfd..000000000 --- a/.run/MangaCatalogGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaHubGenerator.run.xml b/.run/MangaHubGenerator.run.xml deleted file mode 100644 index f9af265a8..000000000 --- a/.run/MangaHubGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaMainacGenerator.run.xml b/.run/MangaMainacGenerator.run.xml deleted file mode 100644 index 05aedc7ee..000000000 --- a/.run/MangaMainacGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaRawGenerator.run.xml b/.run/MangaRawGenerator.run.xml deleted file mode 100644 index 792265395..000000000 --- a/.run/MangaRawGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaReaderGenerator.run.xml b/.run/MangaReaderGenerator.run.xml deleted file mode 100644 index f92f92a8c..000000000 --- a/.run/MangaReaderGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaSarGenerator.run.xml b/.run/MangaSarGenerator.run.xml deleted file mode 100644 index 06529fe67..000000000 --- a/.run/MangaSarGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MangaWorldGenerator.run.xml b/.run/MangaWorldGenerator.run.xml deleted file mode 100644 index f8a837107..000000000 --- a/.run/MangaWorldGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MonochromeGenerator.run.xml b/.run/MonochromeGenerator.run.xml deleted file mode 100644 index 11059802d..000000000 --- a/.run/MonochromeGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/MyMangaCMSGenerator.run.xml b/.run/MyMangaCMSGenerator.run.xml deleted file mode 100644 index 861655d3d..000000000 --- a/.run/MyMangaCMSGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/NepNepGenerator.run.xml b/.run/NepNepGenerator.run.xml deleted file mode 100644 index 2792cfeb8..000000000 --- a/.run/NepNepGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/OtakuSanctuaryGenerator.run.xml b/.run/OtakuSanctuaryGenerator.run.xml deleted file mode 100644 index 3cc3e7220..000000000 --- a/.run/OtakuSanctuaryGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/PaprikaAltGenerator.run.xml b/.run/PaprikaAltGenerator.run.xml deleted file mode 100644 index 88fb4350f..000000000 --- a/.run/PaprikaAltGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/PaprikaGenerator.run.xml b/.run/PaprikaGenerator.run.xml deleted file mode 100644 index 6475c4950..000000000 --- a/.run/PaprikaGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/PizzaReaderGenerator.run.xml b/.run/PizzaReaderGenerator.run.xml deleted file mode 100644 index 392c3d85c..000000000 --- a/.run/PizzaReaderGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ReadAllComicsGenerator.run.xml b/.run/ReadAllComicsGenerator.run.xml deleted file mode 100644 index f37bf1f8f..000000000 --- a/.run/ReadAllComicsGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ReaderFrontGenerator.run.xml b/.run/ReaderFrontGenerator.run.xml deleted file mode 100644 index 20e8685d7..000000000 --- a/.run/ReaderFrontGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/SinMHGenerator.run.xml b/.run/SinMHGenerator.run.xml deleted file mode 100644 index fb16f608a..000000000 --- a/.run/SinMHGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/WPComicsGenerator.run.xml b/.run/WPComicsGenerator.run.xml deleted file mode 100644 index a03ca1563..000000000 --- a/.run/WPComicsGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/WebtoonsGenerator.run.xml b/.run/WebtoonsGenerator.run.xml deleted file mode 100644 index 9dbe554c3..000000000 --- a/.run/WebtoonsGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/WebtoonsTranslateGenerator.run.xml b/.run/WebtoonsTranslateGenerator.run.xml deleted file mode 100644 index a7ade27bb..000000000 --- a/.run/WebtoonsTranslateGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ZMangaGenerator.run.xml b/.run/ZMangaGenerator.run.xml deleted file mode 100644 index e47185c93..000000000 --- a/.run/ZMangaGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ZbuluGenerator.run.xml b/.run/ZbuluGenerator.run.xml deleted file mode 100644 index 7374b7d71..000000000 --- a/.run/ZbuluGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/.run/ZeistMangaGenerator.run.xml b/.run/ZeistMangaGenerator.run.xml deleted file mode 100644 index 59bd062e9..000000000 --- a/.run/ZeistMangaGenerator.run.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index c0001e988..000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,126 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -We as members, contributors, and leaders pledge to make participation in our -community a harassment-free experience for everyone, regardless of age, body -size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, -nationality, personal appearance, race, caste, color, religion, or sexual identity -and orientation. - -We pledge to act and interact in ways that contribute to an open, welcoming, -diverse, inclusive, and healthy community. - -## Our Standards - -Examples of behavior that contributes to a positive environment for our -community include: - -* Demonstrating empathy and kindness toward other people -* Being respectful of differing opinions, viewpoints, and experiences -* Giving and gracefully accepting constructive feedback -* Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -* Focusing on what is best not just for us as individuals, but for the - overall community - -Examples of unacceptable behavior include: - -* The use of sexualized language or imagery, and sexual attention or - advances of any kind -* Trolling, insulting or derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or email - address, without their explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Enforcement Responsibilities - -Community moderators are responsible for clarifying and enforcing our standards of -acceptable behavior and will take appropriate and fair corrective action in -response to any behavior that they deem inappropriate, threatening, offensive, -or harmful. - -Community moderators have the right and responsibility to remove, edit, or reject -comments, commits, code, wiki edits, issues, and other contributions that are -not aligned to this Code of Conduct, and will communicate reasons for moderation -decisions when appropriate. - -## Scope - -This Code of Conduct applies within all community spaces, and also applies when -an individual is officially representing the community in public spaces. -Examples of representing our community include using an official e-mail address, -posting via an official social media account, or acting as an appointed -representative at an online or offline event. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported to the community moderators responsible for enforcement at -the [Tachiyomi Discord server](https://discord.gg/tachiyomi). -All complaints will be reviewed and investigated promptly and fairly. - -All community moderators are obligated to respect the privacy and security of the -reporter of any incident. - -## Enforcement Guidelines - -Community moderators will follow these Community Impact Guidelines in determining -the consequences for any action they deem in violation of this Code of Conduct: - -### 1. Correction - -**Community Impact**: Use of inappropriate language or other behavior deemed -unprofessional or unwelcome in the community. - -**Consequence**: A private, written warning from community moderators, providing -clarity around the nature of the violation and an explanation of why the -behavior was inappropriate. A public apology may be requested. - -### 2. Warning - -**Community Impact**: A violation through a single incident or series -of actions. - -**Consequence**: A warning with consequences for continued behavior. No -interaction with the people involved, including unsolicited interaction with -those enforcing the Code of Conduct, for a specified period of time. This -includes avoiding interactions in community spaces as well as external channels -like social media. Violating these terms may lead to a temporary or -permanent ban. - -### 3. Temporary Ban - -**Community Impact**: A serious violation of community standards, including -sustained inappropriate behavior. - -**Consequence**: A temporary ban from any sort of interaction or public -communication with the community for a specified period of time. No public or -private interaction with the people involved, including unsolicited interaction -with those enforcing the Code of Conduct, is allowed during this period. -Violating these terms may lead to a permanent ban. - -### 4. Permanent Ban - -**Community Impact**: Demonstrating a pattern of violation of community -standards, including sustained inappropriate behavior, harassment of an -individual, or aggression toward or disparagement of classes of individuals. - -**Consequence**: A permanent ban from any sort of public interaction within -the community. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org/), -version 2.1, available at -[v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html). - -Community Impact Guidelines were inspired by -[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). - -For answers to common questions about this code of conduct, see the FAQ at -[FAQ](https://www.contributor-covenant.org/faq). Translations are available -at [translations](https://www.contributor-covenant.org/translations). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5528943c9..5a16bc391 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,63 +1,45 @@ # Contributing -This guide have some instructions and tips on how to create a new Tachiyomi extension. Please **read it carefully** if you're a new contributor or don't have any experience on the required languages and knowledges. +This guide have some instructions and tips on how to create a new Tachiyomi extension. Please **read +it carefully** if you're a new contributor or don't have any experience on the required languages +and knowledges. -This guide is not definitive and it's being updated over time. If you find any issue on it, feel free to report it through a [Meta Issue](https://github.com/tachiyomiorg/tachiyomi-extensions/issues/new?assignees=&labels=Meta+request&template=request_meta.yml) or fixing it directly by submitting a Pull Request. +This guide is not definitive and it's being updated over time. If you find any issue on it, feel +free to report it through a [Meta Issue](https://github.com/keiyoushi/extensions-source/issues/new?assignees=&labels=Meta+request&template=06_request_meta.yml) +or fixing it directly by submitting a Pull Request. ## Table of Contents -- [Contributing](#contributing) - - [Table of Contents](#table-of-contents) - - [Prerequisites](#prerequisites) - - [Tools](#tools) - - [Cloning the repository](#cloning-the-repository) - - [Getting help](#getting-help) - - [Writing an extension](#writing-an-extension) - - [Setting up a new Gradle module](#setting-up-a-new-gradle-module) - - [Loading a subset of Gradle modules](#loading-a-subset-of-gradle-modules) - - [Extension file structure](#extension-file-structure) - - [AndroidManifest.xml](#androidmanifestxml) - - [build.gradle](#buildgradle) - - [Core dependencies](#core-dependencies) - - [Extension API](#extension-api) - - [DataImage library](#dataimage-library) - - [i18n library](#i18n-library) - - [Additional dependencies](#additional-dependencies) - - [Extension main class](#extension-main-class) - - [Main class key variables](#main-class-key-variables) - - [Extension call flow](#extension-call-flow) - - [Popular Manga](#popular-manga) - - [Latest Manga](#latest-manga) - - [Manga Search](#manga-search) - - [Filters](#filters) - - [Manga Details](#manga-details) - - [Chapter](#chapter) - - [Chapter Pages](#chapter-pages) - - [Misc notes](#misc-notes) - - [Advanced Extension features](#advanced-extension-features) - - [URL intent filter](#url-intent-filter) - - [Update strategy](#update-strategy) - - [Renaming existing sources](#renaming-existing-sources) - - [Multi-source themes](#multi-source-themes) - - [The directory structure](#the-directory-structure) - - [Development workflow](#development-workflow) - - [Scaffolding overrides](#scaffolding-overrides) - - [Additional Notes](#additional-notes) - - [Running](#running) - - [Debugging](#debugging) - - [Android Debugger](#android-debugger) - - [Logs](#logs) - - [Inspecting network calls](#inspecting-network-calls) - - [Using external network inspecting tools](#using-external-network-inspecting-tools) - - [Setup your proxy server](#setup-your-proxy-server) - - [OkHttp proxy setup](#okhttp-proxy-setup) - - [Building](#building) - - [Submitting the changes](#submitting-the-changes) - - [Pull Request checklist](#pull-request-checklist) +1. [Prerequisites](#prerequisites) + 1. [Tools](#tools) + 2. [Cloning the repository](#cloning-the-repository) +2. [Getting help](#getting-help) +3. [Writing an extension](#writing-an-extension) + 1. [Setting up a new Gradle module](#setting-up-a-new-gradle-module) + 2. [Core dependencies](#core-dependencies) + 3. [Extension main class](#extension-main-class) + 4. [Extension call flow](#extension-call-flow) + 5. [Misc notes](#misc-notes) + 6. [Advanced extension features](#advanced-extension-features) +4. [Multi-source themes](#multi-source-themes) + 1. [The directory structure](#the-directory-structure) + 2. [Development workflow](#development-workflow) + 3. [Scaffolding overrides](#scaffolding-overrides) + 4. [Additional Notes](#additional-notes) +5. [Running](#running) +6. [Debugging](#debugging) + 1. [Android Debugger](#android-debugger) + 2. [Logs](#logs) + 3. [Inspecting network calls](#inspecting-network-calls) + 4. [Using external network inspecting tools](#using-external-network-inspecting-tools) +7. [Building](#building) +8. [Submitting the changes](#submitting-the-changes) + 1. [Pull Request checklist](#pull-request-checklist) ## Prerequisites -Before you start, please note that the ability to use following technologies is **required** and that existing contributors will not actively teach them to you. +Before you start, please note that the ability to use following technologies is **required** and +that existing contributors will not actively teach them to you. - Basic [Android development](https://developer.android.com/) - [Kotlin](https://kotlinlang.org/) @@ -75,20 +57,20 @@ Before you start, please note that the ability to use following technologies is ### Cloning the repository -Some alternative steps can be followed to ignore "repo" branch and skip unrelated sources, which will make it faster to pull, navigate and build. This will also reduce disk usage and network traffic. +Some alternative steps can be followed to skip unrelated sources, which will make it faster to pull, +navigate and build. This will also reduce disk usage and network traffic. + +**These steps are only needed when the repo is huge and contains a lot of sources. If the repo is +small, just do a normal full clone instead.**
Steps -1. Make sure to delete "repo" branch in your fork. You may also want to disable Actions in the repo settings. - - **Also make sure you are using the latest version of Git as many commands used here are pretty new.** - -2. Do a partial clone. +1. Do a partial clone. ```bash git clone --filter=blob:none --sparse - cd tachiyomi-extensions/ + cd extensions/ ``` -3. Configure sparse checkout. +2. Configure sparse checkout. There are two modes of pattern matching. The default is cone (🔺) mode. Cone mode enables significantly faster pattern matching for big monorepos @@ -144,37 +126,34 @@ Some alternative steps can be followed to ignore "repo" branch and skip unrelate Explanation: the rules are like `gitignore`. We first exclude all sources while retaining project folders, then add the needed sources back manually. -4. Configure remotes. +3. Configure remotes. ```bash # add upstream - git remote add upstream + git remote add upstream # optionally disable push to upstream git remote set-url --push upstream no_pushing - # ignore 'repo' branch of upstream - # option 1: use negative refspec - git config --add remote.upstream.fetch "^refs/heads/repo" - # option 2: fetch master only (ignore all other branches) - git config remote.upstream.fetch "+refs/heads/master:refs/remotes/upstream/master" + # optionally fetch main only (ignore all other branches) + git config remote.upstream.fetch "+refs/heads/main:refs/remotes/upstream/main" # update remotes git remote update - # track master of upstream instead of fork - git branch master -u upstream/master + # track main of upstream instead of fork + git branch main -u upstream/main ``` -5. Useful configurations. (optional) +4. Useful configurations. (optional) ```bash # prune obsolete remote branches on fetch git config remote.origin.prune true - # fast-forward only when pulling master branch + # fast-forward only when pulling main branch git config pull.ff only - # Add an alias to sync master branch without fetching useless blobs. + # Add an alias to sync main branch without fetching useless blobs. # If you run `git pull` to fast-forward in a blobless clone like this, # all blobs (files) in the new commits are still fetched regardless of # sparse rules, which makes the local repo accumulate unused files. - # Use `git sync-master` to avoid this. Be careful if you have changes - # on master branch, which is not a good practice. - git config alias.sync-master '!git switch master && git fetch upstream && git reset --keep FETCH_HEAD' + # Use `git sync-main` to avoid this. Be careful if you have changes + # on main branch, which is not a good practice. + git config alias.sync-main '!git switch main && git fetch upstream && git reset --keep FETCH_HEAD' ``` -6. Later, if you change the sparse checkout filter, run `git sparse-checkout reapply`. +5. Later, if you change the sparse checkout filter, run `git sparse-checkout reapply`. Read more on [Git's object model](https://github.blog/2020-12-17-commits-are-snapshots-not-diffs/), @@ -186,22 +165,28 @@ and [negative refspecs](https://github.blog/2020-10-19-git-2-29-released/#user-c ## Getting help -- Join [the Discord server](https://discord.gg/tachiyomi) for online help and to ask questions while developing your extension. When doing so, please ask it in the `#programming` channel. -- There are some features and tricks that are not explored in this document. Refer to existing extension code for examples. +- Join [the Discord server](https://discord.gg/3FbCpdKbdY) for online help and to ask questions while +developing your extension. When doing so, please ask it in the `#programming` channel. +- There are some features and tricks that are not explored in this document. Refer to existing +extension code for examples. ## Writing an extension -The quickest way to get started is to copy an existing extension's folder structure and renaming it as needed. We also recommend reading through a few existing extensions' code before you start. +The quickest way to get started is to copy an existing extension's folder structure and renaming it +as needed. We also recommend reading through a few existing extensions' code before you start. ### Setting up a new Gradle module -Each extension should reside in `src//`. Use `all` as `` if your target source supports multiple languages or if it could support multiple sources. +Each extension should reside in `src//`. Use `all` as `` if your target +source supports multiple languages or if it could support multiple sources. -The `` used in the folder inside `src` should be the major `language` part. For example, if you will be creating a `pt-BR` source, use `` here as `pt` only. Inside the source class, use the full locale string instead. +The `` used in the folder inside `src` should be the major `language` part. For example, if +you will be creating a `pt-BR` source, use `` here as `pt` only. Inside the source class, use +the full locale string instead. ### Loading a subset of Gradle modules -By default, all individual and generated multisrc extensions are loaded for local development. +By default, all individual and generated multisrc extensions are loaded for local development. This may be inconvenient if you only need to work on one extension at a time. To adjust which modules are loaded, make adjustments to the `settings.gradle.kts` file as needed. @@ -238,8 +223,14 @@ src/// 13 directories, 9 files ``` +`` should be an ISO 639-1 compliant language code (two letters or `all`). `` +should be adapted from the site name, and can only contain lowercase ASCII letters and digits. +Your extension code must be placed in the package `eu.kanade.tachiyomi.extension..`. + #### AndroidManifest.xml -A minimal [Android manifest file](https://developer.android.com/guide/topics/manifest/manifest-intro) is needed for Android to recognize a extension when it's compiled into an APK file. You can also add intent filters inside this file (see [URL intent filter](#url-intent-filter) for more information). +A minimal [Android manifest file](https://developer.android.com/guide/topics/manifest/manifest-intro) +is needed for Android to recognize an extension when it's compiled into an APK file. You can also add +intent filters inside this file (see [URL intent filter](#url-intent-filter) for more information). #### build.gradle Make sure that your new extension's `build.gradle` file follows the following structure: @@ -247,7 +238,6 @@ Make sure that your new extension's `build.gradle` file follows the following st ```gradle ext { extName = '' - pkgNameSuffix = '.' extClass = '.' extVersionCode = 1 isNsfw = true @@ -256,26 +246,31 @@ ext { apply from: "$rootDir/common.gradle" ``` -| Field | Description | -| ----- | ----------- | -| `extName` | The name of the extension. | -| `pkgNameSuffix` | A unique suffix added to `eu.kanade.tachiyomi.extension`. The language and the site name should be enough. Remember your extension code implementation must be placed in this package. | -| `extClass` | Points to the class that implements `Source`. You can use a relative path starting with a dot (the package name is the base path). This is used to find and instantiate the source(s). | -| `extVersionCode` | The extension version code. This must be a positive integer and incremented with any change to the code. | -| `libVersion` | (Optional, defaults to `1.4`) The version of the [extensions library](https://github.com/tachiyomiorg/extensions-lib) used. | -| `isNsfw` | (Optional, defaults to `false`) Flag to indicate that a source contains NSFW content. | +| Field | Description | +|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `extName` | The name of the extension. Should be romanized if site name is not in English. | +| `extClass` | Points to the class that implements `Source`. You can use a relative path starting with a dot (the package name is the base path). This is used to find and instantiate the source(s). | +| `extVersionCode` | The extension version code. This must be a positive integer and incremented with any change to the code. | +| `libVersion` | (Optional, defaults to `1.4`) The version of the [extensions library](https://github.com/tachiyomiorg/extensions-lib) used. | +| `isNsfw` | (Optional, defaults to `false`) Flag to indicate that a source contains NSFW content. | -The extension's version name is generated automatically by concatenating `libVersion` and `extVersionCode`. With the example used above, the version would be `1.4.1`. +The extension's version name is generated automatically by concatenating `libVersion` and `extVersionCode`. +With the example used above, the version would be `1.4.1`. ### Core dependencies #### Extension API -Extensions rely on [extensions-lib](https://github.com/tachiyomiorg/extensions-lib), which provides some interfaces and stubs from the [app](https://github.com/tachiyomiorg/tachiyomi) for compilation purposes. The actual implementations can be found [here](https://github.com/tachiyomiorg/tachiyomi/tree/master/app/src/main/java/eu/kanade/tachiyomi/source). Referencing the actual implementation will help with understanding extensions' call flow. +Extensions rely on [extensions-lib](https://github.com/tachiyomiorg/extensions-lib), which provides +some interfaces and stubs from the [app](https://github.com/tachiyomiorg/tachiyomi) for compilation +purposes. The actual implementations can be found [here](https://github.com/tachiyomiorg/tachiyomi/tree/master/app/src/main/java/eu/kanade/tachiyomi/source). +Referencing the actual implementation will help with understanding extensions' call flow. #### DataImage library -[`lib-dataimage`](https://github.com/tachiyomiorg/tachiyomi-extensions/tree/master/lib/dataimage) is a library for handling [base 64 encoded image data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) using an [OkHttp interceptor](https://square.github.io/okhttp/interceptors/). +[`lib-dataimage`](https://github.com/keiyoushi/extensions-source/tree/main/lib/dataimage) is a library +for handling [base 64 encoded image data](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) +using an [OkHttp interceptor](https://square.github.io/okhttp/interceptors/). ```gradle dependencies { @@ -285,7 +280,9 @@ dependencies { #### i18n library -[`lib-i18n`](https://github.com/tachiyomiorg/tachiyomi-extensions/tree/master/lib/i18n) is a library for handling internationalization in the sources. It allows loading `.properties` files with messages located under the `assets/i18n` folder of each extension, that can be used to translate strings under the source. +[`lib-i18n`](https://github.com/keiyoushi/extensions-source/tree/main/lib/i18n) is a library for handling +internationalization in the sources. It allows loading `.properties` files with messages located under +the `assets/i18n` folder of each extension, that can be used to translate strings under the source. ```gradle dependencies { @@ -295,36 +292,41 @@ dependencies { #### Additional dependencies -If you find yourself needing additional functionality, you can add more dependencies to your `build.gradle` file. -Many of [the dependencies](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/build.gradle.kts) from the main Tachiyomi app are exposed to extensions by default. +If you find yourself needing additional functionality, you can add more dependencies to your `build.gradle` +file. Many of [the dependencies](https://github.com/tachiyomiorg/tachiyomi/blob/master/app/build.gradle.kts) +from the main Tachiyomi app are exposed to extensions by default. > [!NOTE] > Several dependencies are already exposed to all extensions via Gradle's version catalog. > To view which are available check the `gradle/libs.versions.toml` file. -Notice that we're using `compileOnly` instead of `implementation` if the app already contains it. You could use `implementation` instead for a new dependency, or you prefer not to rely on whatever the main app has at the expense of app size. +Notice that we're using `compileOnly` instead of `implementation` if the app already contains it. +You could use `implementation` instead for a new dependency, or you prefer not to rely on whatever +the main app has at the expense of app size. > [!IMPORTANT] -> Using `compileOnly` restricts you to versions that must be compatible with those used in [the latest stable version of Tachiyomi](https://github.com/tachiyomiorg/tachiyomi/releases/latest). +> Using `compileOnly` restricts you to versions that must be compatible with those used in +> [the latest stable version of Tachiyomi](https://github.com/tachiyomiorg/tachiyomi/releases/latest). ### Extension main class -The class which is referenced and defined by `extClass` in `build.gradle`. This class should implement either `SourceFactory` or extend one of the `Source` implementations: `HttpSource` or `ParsedHttpSource`. +The class which is referenced and defined by `extClass` in `build.gradle`. This class should implement +either `SourceFactory` or extend one of the `Source` implementations: `HttpSource` or `ParsedHttpSource`. -| Class | Description | -| ----- | ----------- | -|`SourceFactory`| Used to expose multiple `Source`s. Use this in case of a source that supports multiple languages or mirrors of the same website. For similar websites use [theme sources](#multi-source-themes). | -| `HttpSource`| For online source, where requests are made using HTTP. | -| `ParsedHttpSource`| Similar to `HttpSource`, but has methods useful for scraping pages. | +| Class | Description | +|--------------------|----------------------------------------------------------------------------------------------------------------------------------| +| `SourceFactory` | Used to expose multiple `Source`s. Use this in case of a source that supports multiple languages or mirrors of the same website. | +| `HttpSource` | For online source, where requests are made using HTTP. | +| `ParsedHttpSource` | Similar to `HttpSource`, but has methods useful for scraping pages. | #### Main class key variables -| Field | Description | -| ----- | ----------- | -| `name` | Name displayed in the "Sources" tab in Tachiyomi. | -| `baseUrl` | Base URL of the source without any trailing slashes. | -| `lang` | An ISO 639-1 compliant language code (two letters in lower case in most cases, but can also include the country/dialect part by using a simple dash character). | -| `id` | Identifier of your source, automatically set in `HttpSource`. It should only be manually overriden if you need to copy an existing autogenerated ID. | +| Field | Description | +|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `name` | Name displayed in the "Sources" tab in Tachiyomi. | +| `baseUrl` | Base URL of the source without any trailing slashes. | +| `lang` | An ISO 639-1 compliant language code (two letters in lower case in most cases, but can also include the country/dialect part by using a simple dash character). | +| `id` | Identifier of your source, automatically set in `HttpSource`. It should only be manually overriden if you need to copy an existing autogenerated ID. | ### Extension call flow @@ -332,40 +334,53 @@ The class which is referenced and defined by `extClass` in `build.gradle`. This a.k.a. the Browse source entry point in the app (invoked by tapping on the source name). -- The app calls `fetchPopularManga` which should return a `MangasPage` containing the first batch of found `SManga` entries. - - This method supports pagination. When user scrolls the manga list and more results must be fetched, the app calls it again with increasing `page` values (starting with `page=1`). This continues while `MangasPage.hasNextPage` is passed as `true` and `MangasPage.mangas` is not empty. -- To show the list properly, the app needs `url`, `title` and `thumbnail_url`. You **must** set them here. The rest of the fields could be filled later (refer to Manga Details below). - - You should set `thumbnail_url` if is available, if not, `getMangaDetails` will be **immediately** called (this will increase network calls heavily and should be avoided). +- The app calls `fetchPopularManga` which should return a `MangasPage` containing the first batch of +found `SManga` entries. + - This method supports pagination. When user scrolls the manga list and more results must be fetched, + the app calls it again with increasing `page` values (starting with `page=1`). This continues while + `MangasPage.hasNextPage` is passed as `true` and `MangasPage.mangas` is not empty. +- To show the list properly, the app needs `url`, `title` and `thumbnail_url`. You **must** set them +here. The rest of the fields could be filled later (refer to Manga Details below). + - You should set `thumbnail_url` if is available, if not, `getMangaDetails` will be **immediately** + called (this will increase network calls heavily and should be avoided). #### Latest Manga -a.k.a. the Latest source entry point in the app (invoked by tapping on the "Latest" button beside the source name). +a.k.a. the Latest source entry point in the app (invoked by tapping on the "Latest" button beside +the source name). - Enabled if `supportsLatest` is `true` for a source - Similar to popular manga, but should be fetching the latest entries from a source. #### Manga Search -- When the user searches inside the app, `fetchSearchManga` will be called and the rest of the flow is similar to what happens with `fetchPopularManga`. +- When the user searches inside the app, `fetchSearchManga` will be called and the rest of the flow +is similar to what happens with `fetchPopularManga`. - If search functionality is not available, return `Observable.just(MangasPage(emptyList(), false))` - `getFilterList` will be called to get all filters and filter types. ##### Filters -The search flow have support to filters that can be added to a `FilterList` inside the `getFilterList` method. When the user changes the filters' state, they will be passed to the `searchRequest`, and they can be iterated to create the request (by getting the `filter.state` value, where the type varies depending on the `Filter` used). You can check the filter types available [here](https://github.com/tachiyomiorg/tachiyomi/blob/master/source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/model/Filter.kt) and in the table below. +The search flow have support to filters that can be added to a `FilterList` inside the `getFilterList` +method. When the user changes the filters' state, they will be passed to the `searchRequest`, and they +can be iterated to create the request (by getting the `filter.state` value, where the type varies +depending on the `Filter` used). You can check the filter types available [here](https://github.com/tachiyomiorg/tachiyomi/blob/master/source-api/src/commonMain/kotlin/eu/kanade/tachiyomi/source/model/Filter.kt) +and in the table below. -| Filter | State type | Description | -| ------ | ---------- | ----------- | -| `Filter.Header` | None | A simple header. Useful for separating sections in the list or showing any note or warning to the user. | -| `Filter.Separator` | None | A line separator. Useful for visual distinction between sections. | -| `Filter.Select` | `Int` | A select control, similar to HTML's ``. | -| `Filter.CheckBox` | `Boolean` | A checkbox control, similar to HTML's ``. The state is `true` if it's checked. | -| `Filter.TriState` | `Int` | A enhanced checkbox control that supports an excluding state. The state can be compared with `STATE_IGNORE`, `STATE_INCLUDE` and `STATE_EXCLUDE` constants of the class. | -| `Filter.Group` | `List` | A group of filters (preferentially of the same type). The state will be a `List` with all the states. | -| `Filter.Sort` | `Selection` | A control for sorting, with support for the ordering. The state indicates which item index is selected and if the sorting is `ascending`. | +| Filter | State type | Description | +|--------------------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `Filter.Header` | None | A simple header. Useful for separating sections in the list or showing any note or warning to the user. | +| `Filter.Separator` | None | A line separator. Useful for visual distinction between sections. | +| `Filter.Select` | `Int` | A select control, similar to HTML's ``. | +| `Filter.CheckBox` | `Boolean` | A checkbox control, similar to HTML's ``. The state is `true` if it's checked. | +| `Filter.TriState` | `Int` | A enhanced checkbox control that supports an excluding state. The state can be compared with `STATE_IGNORE`, `STATE_INCLUDE` and `STATE_EXCLUDE` constants of the class. | +| `Filter.Group` | `List` | A group of filters (preferentially of the same type). The state will be a `List` with all the states. | +| `Filter.Sort` | `Selection` | A control for sorting, with support for the ordering. The state indicates which item index is selected and if the sorting is `ascending`. | -All control filters can have a default state set. It's usually recommended if the source have filters to make the initial state match the popular manga list, so when the user open the filter sheet, the state is equal and represents the current manga showing. +All control filters can have a default state set. It's usually recommended if the source have filters +to make the initial state match the popular manga list, so when the user open the filter sheet, the +state is equal and represents the current manga showing. The `Filter` classes can also be extended, so you can create new custom filters like the `UriPartFilter`: @@ -378,26 +393,35 @@ open class UriPartFilter(displayName: String, private val vals: Array 0.13.4. + - The default date has [changed](https://github.com/tachiyomiorg/tachiyomi/pull/7197) in + preview ≥ r4442 or stable > 0.13.4. - In older versions, the default date is always the fetch date. - In newer versions, this is the same if every (new) chapter has `0L` returned. - - However, if the source only provides the upload date of the latest chapter, you can now set it to the latest chapter and leave other chapters default. The app will automatically set it (instead of fetch date) to every new chapter and leave old chapters' dates untouched. + - However, if the source only provides the upload date of the latest chapter, you can now set + it to the latest chapter and leave other chapters default. The app will automatically set it (instead of fetch date) to every new chapter and leave old chapters' dates untouched. - `getChapterUrl` is called when the user taps "Open in WebView" in the reader. - - If the source uses an API to fetch the data, consider overriding this method to return the chapter absolute URL in the website instead. + - If the source uses an API to fetch the data, consider overriding this method to return the + chapter absolute URL in the website instead. - It defaults to the URL provided to the request in `pageListRequest`. #### Chapter Pages - When user opens a chapter, `getPageList` will be called and it will return a list of `Page`s. -- While a chapter is open in the reader or is being downloaded, `fetchImageUrl` will be called to get URLs for each page of the manga if the `Page.imageUrl` is empty. -- If the source provides all the `Page.imageUrl`'s directly, you can fill them and let the `Page.url` empty, so the app will skip the `fetchImageUrl` source and call directly `fetchImage`. +- While a chapter is open in the reader or is being downloaded, `fetchImageUrl` will be called to get +URLs for each page of the manga if the `Page.imageUrl` is empty. +- If the source provides all the `Page.imageUrl`'s directly, you can fill them and let the `Page.url` +empty, so the app will skip the `fetchImageUrl` source and call directly `fetchImage`. - The `Page.url` and `Page.imageUrl` attributes **should be set as an absolute URL**. - Chapter pages numbers start from `0`. - The list of `Page`s should be returned already sorted, the `index` field is ignored. @@ -449,9 +481,11 @@ them may cause you more headache than necessary. #### URL intent filter Extensions can define URL intent filters by defining it inside a custom `AndroidManifest.xml` file. -For an example, refer to [the NHentai module's `AndroidManifest.xml` file](https://github.com/tachiyomiorg/tachiyomi-extensions/blob/master/src/all/nhentai/AndroidManifest.xml) and [its corresponding `NHUrlActivity` handler](https://github.com/tachiyomiorg/tachiyomi-extensions/blob/master/src/all/nhentai/src/eu/kanade/tachiyomi/extension/all/nhentai/NHUrlActivity.kt). +(Example TBD.) -To test if the URL intent filter is working as expected, you can try opening the website in a browser and navigating to the endpoint that was added as a filter or clicking a hyperlink. Alternatively, you can use the `adb` command below. +To test if the URL intent filter is working as expected, you can try opening the website in a browser +and navigating to the endpoint that was added as a filter or clicking a hyperlink. Alternatively, +you can use the `adb` command below. ```console $ adb shell am start -d "" -a android.intent.action.VIEW @@ -467,27 +501,40 @@ $ adb shell am start -d "" -a android.intent.action.VIEW #### Update strategy -There is some cases where titles in a source will always only have the same chapter list (i.e. immutable), and don't need to be included in a global update of the app because of that, saving a lot of requests and preventing causing unnecessary damage to the source servers. To change the update strategy of a `SManga`, use the `update_strategy` field. You can find below a description of the current possible values. +There is some cases where titles in a source will always only have the same chapter list +(i.e. immutable), and don't need to be included in a global update of the app because of that, saving +a lot of requests and preventing causing unnecessary damage to the source servers. To change the +update strategy of a `SManga`, use the `update_strategy` field. You can find below a description of +the current possible values. -- `UpdateStrategy.ALWAYS_UPDATE`: Titles marked as always update will be included in the library update if they aren't excluded by additional restrictions. -- `UpdateStrategy.ONLY_FETCH_ONCE`: Titles marked as only fetch once will be automatically skipped during library updates. Useful for cases where the series is previously known to be finished and have only a single chapter, for example. +- `UpdateStrategy.ALWAYS_UPDATE`: Titles marked as always update will be included in the library +update if they aren't excluded by additional restrictions. +- `UpdateStrategy.ONLY_FETCH_ONCE`: Titles marked as only fetch once will be automatically skipped +during library updates. Useful for cases where the series is previously known to be finished and have +only a single chapter, for example. If not set, it defaults to `ALWAYS_UPDATE`. #### Renaming existing sources -There is some cases where existing sources changes their name on the website. To correctly reflect these changes in the extension, you need to explicity set the `id` to the same old value, otherwise it will get changed by the new `name` value and users will be forced to migrate back to the source. +There is some cases where existing sources changes their name on the website. To correctly reflect +these changes in the extension, you need to explicity set the `id` to the same old value, otherwise +it will get changed by the new `name` value and users will be forced to migrate back to the source. -To get the current `id` value before the name change, you can search the source name in the [repository JSON file](https://github.com/tachiyomiorg/tachiyomi-extensions/blob/repo/index.json) by looking into the `sources` attribute of the extension. When you have the `id` copied, you can override it in the source: +To get the current `id` value before the name change, you can search the source name in the [repository JSON file](https://github.com/keiyoushi/extensions/blob/repo/index.json) +by looking into the `sources` attribute of the extension. When you have the `id` copied, you can +override it in the source: ```kotlin override val id: Long = ``` -Then the class name and the `name` attribute value can be changed. Also don't forget to update the extension name and class name in the individual Gradle file if it is not a multisrc extension. +Then the class name and the `name` attribute value can be changed. Also don't forget to update the +extension name and class name in the individual Gradle file. > [!IMPORTANT] -> The package name **needs** to be the same (even if it has the old name), otherwise users will not receive the extension update when it gets published in the repository. If you're changing the name of a multisrc source, you can manually set it in the generator class of the theme by using `pkgName = "oldpackagename"`. +> The package name **needs** to be the same (even if it has the old name), otherwise users will not +> receive the extension update when it gets published in the repository. The `id` also needs to be explicity set to the old value if you're changing the `lang` attribute. @@ -497,9 +544,14 @@ The `id` also needs to be explicity set to the old value if you're changing the > a new `id` will be generated and users will be forced to migrate. ## Multi-source themes -The `multisrc` module houses source code for generating extensions for cases where multiple source sites use the same site generator tool(usually a CMS) for bootsraping their website and this makes them similar enough to prompt code reuse through inheritance/composition; which from now on we will use the general **theme** term to refer to. +The `multisrc` module houses source code for generating extensions for cases where multiple source +sites use the same site generator tool (usually a CMS) for bootsraping their website and this makes +them similar enough to prompt code reuse through inheritance/composition; which from now on we will +use the general **theme** term to refer to. -This module contains the *default implementation* for each theme and definitions for each source that builds upon that default implementation and also it's overrides upon that default implementation, all of this becomes a set of source code which then is used to generate individual extensions from. +This module contains the *default implementation* for each theme and definitions for each source that +builds upon that default implementation and also it's overrides upon that default implementation, +all of this becomes a set of source code which then is used to generate individual extensions from. ### The directory structure ```console @@ -554,15 +606,22 @@ multisrc └── ThemeSourceGenerator.kt ``` -- `multisrc/src/main/java/eu/kanade/tachiyomi/multisrc//.kt` defines the the theme's default implementation. -- `multisrc/src/main/java/eu/kanade/tachiyomi/multisrc//Generator.kt` defines the the theme's generator class, this is similar to a `SourceFactory` class. -- `multisrc/overrides//default/res` is the theme's default icons, if a source doesn't have overrides for `res`, then default icons will be used. -- `multisrc/overrides//default/additional.gradle` defines additional gradle code, this will be copied at the end of all generated sources from this theme. -- `multisrc/overrides//` contains overrides for a source that is defined inside the `Generator.kt` class. +- `multisrc/src/main/java/eu/kanade/tachiyomi/multisrc//.kt` defines the the theme's +default implementation. +- `multisrc/src/main/java/eu/kanade/tachiyomi/multisrc//Generator.kt` defines the the +theme's generator class, this is similar to a `SourceFactory` class. +- `multisrc/overrides//default/res` is the theme's default icons, if a source doesn't have +overrides for `res`, then default icons will be used. +- `multisrc/overrides//default/additional.gradle` defines additional gradle code, this will +be copied at the end of all generated sources from this theme. +- `multisrc/overrides//` contains overrides for a source that is defined inside +the `Generator.kt` class. - `multisrc/overrides///src` contains source overrides. - `multisrc/overrides///res` contains override for icons. -- `multisrc/overrides///additional.gradle` defines additional gradle code, this will be copied at the end of the generated gradle file below the theme's `additional.gradle`. -- `multisrc/overrides///AndroidManifest.xml` is copied as an override to the default `AndroidManifest.xml` generation if it exists. +- `multisrc/overrides///additional.gradle` defines additional gradle code, this +will be copied at the end of the generated gradle file below the theme's `additional.gradle`. +- `multisrc/overrides///AndroidManifest.xml` is copied as an override to the +default `AndroidManifest.xml` generation if it exists. > [!NOTE] > Files ending with `Gen.kt` (i.e. `multisrc/src/main/java/eu/kanade/tachiyomi/multisrc//XxxGen.kt`) @@ -573,19 +632,27 @@ There are three steps in running and testing a theme source: 1. Generate the sources - **Option 1: Only generate sources from one theme** - - **Method 1:** Find and run `Generator` run configuration form the `Run/Debug Configuration` menu. - - **Method 2:** Directly run `.Generator.main` by pressing the play button in front of the method shown inside Android Studio's Code Editor to generate sources from the said theme. + - **Method 1:** Find and run `Generator` run configuration from the + `Run/Debug Configuration` menu. + - **Method 2:** Directly run `.Generator.main` by pressing the play + button in front of the method shown inside Android Studio's Code Editor to generate sources + from the said theme. - **Option 2: Generate sources from all themes** - - **Method 1:** Run `./gradlew multisrc:generateExtensions` from a terminal window to generate all sources. - - **Method 2:** Directly run `Generator.GeneratorMain.main` by pressing the play button in front of the method shown inside Android Studio's Code Editor to generate all sources. + - **Method 1:** Run `./gradlew multisrc:generateExtensions` from a terminal window to + generate all sources. + - **Method 2:** Directly run `Generator.GeneratorMain.main` by pressing the play button + in front of the method shown inside Android Studio's Code Editor to generate all sources. 2. Sync gradle to import the new generated sources inside `generated-src` - **Method 1:** Android Studio might prompt to sync the gradle. Click on `Sync Now`. - - **Method 2:** Manually re-sync by opening `File` -> `Sync Project with Gradle Files` or by pressing `Alt+f` then `g`. + - **Method 2:** Manually re-sync by opening `File` -> `Sync Project with Gradle Files` or by + pressing `Alt+f` then `g`. 3. Build and test the generated Extention like normal `src` sources. - - It's recommended to make changes here to skip going through step 1 and 2 multiple times, and when you are done, copying the changes back to `multisrc`. + - It's recommended to make changes here to skip going through step 1 and 2 multiple times, and + when you are done, copying the changes back to `multisrc`. ### Scaffolding overrides -You can use this python script to generate scaffolds for source overrides. Put it inside `multisrc/overrides//` as `scaffold.py`. +You can use this python script to generate scaffolds for source overrides. +Put it inside `multisrc/overrides//` as `scaffold.py`. ```python import os, sys from pathlib import Path @@ -612,19 +679,26 @@ with open(f"{package}/src/{source}.kt", "w") as f: ``` ### Additional Notes -- Generated sources extension version code is calculated as `baseVersionCode + overrideVersionCode + multisrcLibraryVersion`. +- Generated sources extension version code is calculated as +`baseVersionCode + overrideVersionCode + multisrcLibraryVersion`. - Currently `multisrcLibraryVersion` is `0` - When a new source is added, it doesn't need to set `overrideVersionCode` as it's default is `0`. - - For each time a source changes in a way that should the version increase, `overrideVersionCode` should be increased by one. - - When a theme's default implementation changes, `baseVersionCode` should be increased, the initial value should be `1`. + - For each time a source changes in a way that should the version increase, `overrideVersionCode` + should be increased by one. + - When a theme's default implementation changes, `baseVersionCode` should be increased, the + initial value should be `1`. - For example, for a new theme with a new source, extention version code will be `0 + 0 + 1 = 1`. - `IntelijConfigurationGeneratorMainKt` should be run on creating or removing a multisrc theme. - - On removing a theme, you can manually remove the corresponding configuration in the `.run` folder instead. - - Be careful if you're using sparse checkout. If other configurations are accidentally removed, `git add` the file you want and `git restore` the others. Another choice is to allow `/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/*` before running the generator. + - On removing a theme, you can manually remove the corresponding configuration in the `.run` + folder instead. + - Be careful if you're using sparse checkout. If other configurations are accidentally removed, + `git add` the file you want and `git restore` the others. Another choice is to allow + `/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/*` before running the generator. ## Running -To make local development more convenient, you can use the following run configuration to launch Tachiyomi directly at the Browse panel: +To make local development more convenient, you can use the following run configuration to launch +Tachiyomi directly at the Browse panel: ![](https://i.imgur.com/STy0UFY.png) @@ -649,9 +723,11 @@ And for a release build of Tachiyomi: You can leverage the Android Debugger to step through your extension while debugging. -You *cannot* simply use Android Studio's `Debug 'module.name'` -> this will most likely result in an error while launching. +You *cannot* simply use Android Studio's `Debug 'module.name'` -> this will most likely result in an +error while launching. -Instead, once you've built and installed your extension on the target device, use `Attach Debugger to Android Process` to start debugging Tachiyomi. +Instead, once you've built and installed your extension on the target device, use +`Attach Debugger to Android Process` to start debugging Tachiyomi. ![](https://i.imgur.com/muhXyfu.png) @@ -663,22 +739,31 @@ show up in the [`Logcat`](https://developer.android.com/studio/debug/am-logcat) ### Inspecting network calls -One of the easiest way to inspect network issues (such as HTTP errors 404, 429, no chapter found etc.) is to use the [`Logcat`](https://developer.android.com/studio/debug/am-logcat) panel of Android Studio and filtering by the `OkHttpClient` tag. +One of the easiest way to inspect network issues (such as HTTP errors 404, 429, no chapter found etc.) +is to use the [`Logcat`](https://developer.android.com/studio/debug/am-logcat) panel of Android Studio +and filtering by the `OkHttpClient` tag. -To be able to check the calls done by OkHttp, you need to enable verbose logging in the app, that is not enabled by default and is only included in the Preview versions of Tachiyomi. To enable it, go to More -> Settings -> Advanced -> Verbose logging. After enabling it, don't forget to restart the app. +To be able to check the calls done by OkHttp, you need to enable verbose logging in the app, that is +not enabled by default and is only included in the Preview versions of Tachiyomi. To enable it, go to +More -> Settings -> Advanced -> Verbose logging. After enabling it, don't forget to restart the app. -Inspecting the Logcat allows you to get a good look at the call flow and it's more than enough in most cases where issues occurs. However, alternatively, you can also use an external tool like `mitm-proxy`. For that, refer to the subsequent sections. +Inspecting the Logcat allows you to get a good look at the call flow and it's more than enough in most +cases where issues occurs. However, alternatively, you can also use an external tool like `mitm-proxy`. +For that, refer to the subsequent sections. On newer Android Studio versions, you can use its built-in Network Inspector inside the App Inspection tool window. This feature provides a nice GUI to inspect the requests made in the app. -To use it, follow the [official documentation](https://developer.android.com/studio/debug/network-profiler) and select Tachiyomi package name in the process list. +To use it, follow the [official documentation](https://developer.android.com/studio/debug/network-profiler) +and select Tachiyomi package name in the process list. ### Using external network inspecting tools -If you want to take a deeper look into the network flow, such as taking a look into the request and response bodies, you can use an external tool like `mitm-proxy`. +If you want to take a deeper look into the network flow, such as taking a look into the request and +response bodies, you can use an external tool like `mitm-proxy`. #### Setup your proxy server -We are going to use [mitm-proxy](https://mitmproxy.org/) but you can replace it with any other Web Debugger (i.e. Charles, Burp Suite, Fiddler etc). To install and execute, follow the commands bellow. +We are going to use [mitm-proxy](https://mitmproxy.org/) but you can replace it with any other Web +Debugger (i.e. Charles, Burp Suite, Fiddler etc). To install and execute, follow the commands below. ```console Install the tool. @@ -699,14 +784,14 @@ $ docker run --rm -it -p 8080:8080 \ After installing and running, open your browser and navigate to http://127.0.0.1:8081. #### OkHttp proxy setup -Since most of the manga sources are going to use HTTPS, we need to disable SSL verification in order to use the web debugger. For that, add this code to inside your source class: - +Since most of the manga sources are going to use HTTPS, we need to disable SSL verification in order +to use the web debugger. For that, add this code to inside your source class: ```kotlin -package eu.kanade.tachiyomi.extension.en.mangasource -import eu.kanade.tachiyomi.multisrc.mangatheme.mangasource +package eu.kanade.tachiyomi.extension.en.mysource import android.annotation.SuppressLint +import eu.kanade.tachiyomi.source.online.HttpSource import okhttp3.OkHttpClient import java.net.InetSocketAddress import java.net.Proxy @@ -716,11 +801,7 @@ import javax.net.ssl.SSLContext import javax.net.ssl.TrustManager import javax.net.ssl.X509TrustManager -class MangaSource : MangaTheme( - "MangaSource", - "https://example.com", - "en" -) { +class MySource : HttpSource() { private fun OkHttpClient.Builder.ignoreAllSSLErrors(): OkHttpClient.Builder { val naiveTrustManager = @SuppressLint("CustomX509TrustManager") object : X509TrustManager { @@ -746,26 +827,38 @@ class MangaSource : MangaTheme( } ``` -Note: `10.0.2.2` is usually the address of your loopback interface in the android emulator. If Tachiyomi tells you that it's unable to connect to 10.0.2.2:8080 you will likely need to change it (the same if you are using hardware device). +Note: `10.0.2.2` is usually the address of your loopback interface in the android emulator. If +Tachiyomi tells you that it's unable to connect to 10.0.2.2:8080 you will likely need to change it +(the same if you are using hardware device). -If all went well, you should see all requests and responses made by the source in the web interface of `mitmweb`. +If all went well, you should see all requests and responses made by the source in the web interface +of `mitmweb`. ## Building -APKs can be created in Android Studio via `Build > Build Bundle(s) / APK(s) > Build APK(s)` or `Build > Generate Signed Bundle / APK`. +APKs can be created in Android Studio via `Build > Build Bundle(s) / APK(s) > Build APK(s)` or +`Build > Generate Signed Bundle / APK`. ## Submitting the changes -When you feel confident about your changes, submit a new Pull Request so your code can be reviewed and merged if it's approved. We encourage following a [GitHub Standard Fork & Pull Request Workflow](https://gist.github.com/Chaser324/ce0505fbed06b947d962) and following the good practices of the workflow, such as not commiting directly to `master`: always create a new branch for your changes. +When you feel confident about your changes, submit a new Pull Request so your code can be reviewed +and merged if it's approved. We encourage following a [GitHub Standard Fork & Pull Request Workflow](https://gist.github.com/Chaser324/ce0505fbed06b947d962) +and following the good practices of the workflow, such as not commiting directly to `main`: always +create a new branch for your changes. -If you are more comfortable about using Git GUI-based tools, you can refer to [this guide](https://learntodroid.com/how-to-use-git-and-github-in-android-studio/) about the Git integration inside Android Studio, specifically the "How to Contribute to an to Existing Git Repository in Android Studio" section of the guide. +If you are more comfortable about using Git GUI-based tools, you can refer to [this guide](https://learntodroid.com/how-to-use-git-and-github-in-android-studio/) +about the Git integration inside Android Studio, specifically the "How to Contribute to an to Existing +Git Repository in Android Studio" section of the guide. > [!IMPORTANT] > Make sure you have generated the extension icon using the linked Icon Generator tool in the [Tools](#tools) > section. The icon **must follow the pattern** adopted by all other extensions: a square with rounded > corners. Make sure to remove the generated `web_hi_res_512.png`. -Please **do test your changes by compiling it through Android Studio** before submitting it. Obvious untested PRs will not be merged, such as ones created with the GitHub web interface. Also make sure to follow the PR checklist available in the PR body field when creating a new PR. As a reference, you can find it below. +Please **do test your changes by compiling it through Android Studio** before submitting it. Obvious +untested PRs will not be merged, such as ones created with the GitHub web interface. Also make sure +to follow the PR checklist available in the PR body field when creating a new PR. As a reference, you +can find it below. ### Pull Request checklist diff --git a/README.md b/README.md index f06855a21..2a9883b91 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,18 @@ +### Please give the repo a :star: + | Build | Support Server | |-------|---------| -| [![CI](https://github.com/tachiyomiorg/tachiyomi-extensions/workflows/CI/badge.svg?event=push)](https://github.com/tachiyomiorg/tachiyomi-extensions/actions/workflows/build_push.yml) | [![Discord](https://img.shields.io/discord/349436576037732353.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/tachiyomi) | - -# ![app icon](./.github/readme-images/app-icon.png)Tachiyomi Extensions -Tachiyomi is a free and open source manga reader for Android 6.0 and above. - -This repository contains the available extension catalogues for the [Tachiyomi](https://github.com/tachiyomiorg/tachiyomi) app. +| [![CI](https://github.com/keiyoushi/extensions-source/actions/workflows/build_push.yml/badge.svg)](https://github.com/keiyoushi/extensions-source/actions/workflows/build_push.yml) | [![Discord](https://img.shields.io/discord/1193460528052453448.svg?label=discord&labelColor=7289da&color=2c2f33&style=flat)](https://discord.gg/3FbCpdKbdY) | # Usage -Extension sources can be downloaded, installed, and uninstalled via the main Tachiyomi app. They are installed and uninstalled like regular apps, in `.apk` format. - -## Downloads - -If you prefer to directly download the APK files, they are available via https://tachiyomi.org/extensions/ or directly in this GitHub repository in the [`repo` branch](https://github.com/tachiyomiorg/tachiyomi-extensions/tree/repo/apk). - -# Requests - -To request a new source or bug fix, [create an issue](https://github.com/tachiyomiorg/tachiyomi-extensions/issues/new/choose). - -Note that requesting something does not imply that something will be added or fixed in a timely fashion or at all since the work is volunteer-based. Furthermore, some sources may be impossible to do or prohibitively difficult to maintain. - -If you would like to see a request fulfilled and have the necessary skills to do so, consider contributing! Issues are up-for-grabs for any developer if there is no assigned user already. +https://github.com/keiyoushi/extensions/blob/main/README.md # Contributing Contributions are welcome! -Check out the repo's [issue backlog](https://github.com/tachiyomiorg/tachiyomi-extensions/issues) for source requests and bug reports. - -To get started with development, see [CONTRIBUTING.md](./CONTRIBUTING.md). - -It might also be good to read our [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md). +Check out the repo's [issue backlog](https://github.com/keiyoushi/extensions-source/issues) for source requests and bug reports. ## License @@ -51,4 +32,5 @@ It might also be good to read our [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md). ## Disclaimer -The developer of this application does not have any affiliation with the content providers available. +This project is not affiliated with Tachiyomi. Don't ask for help about these extensions at the official support means of Tachiyomi. All credits to the codebase goes to the original contributors. + diff --git a/REMOVED_SOURCES.md b/REMOVED_SOURCES.md deleted file mode 100644 index d56c5dfff..000000000 --- a/REMOVED_SOURCES.md +++ /dev/null @@ -1,78 +0,0 @@ -**There is no timetable on when or if a source request may be filled (also applies to bug reports and enhancement requests).** - -### In General the following sources that won't be added as an extension -- In general heavily paywalled sites -- Sources that require cracking some app's source code (realistically, no one's going to put in the effort to do it) -- Sources that are known for filling a lot of DMCA complaints over repositories on GitHub - -Here is a list of known sources that were removed. -## Removed sources - -### Too difficult to maintain - -- Anchira https://github.com/tachiyomiorg/tachiyomi-extensions/pull/19149 -- Bakai https://github.com/tachiyomiorg/tachiyomi-extensions/pull/17890 -- Blackout Comics and Izakaya https://github.com/tachiyomiorg/tachiyomi-extensions/pull/18500 -- ColaManhua (COLA漫画) https://github.com/tachiyomiorg/tachiyomi-extensions/pull/11445 -- Comikey https://github.com/tachiyomiorg/tachiyomi-extensions/pull/11971 -- Constellar Scans https://github.com/tachiyomiorg/tachiyomi-extensions/pull/17277 -- CopyManga (æ‹·è´æ¼«ç”») https://github.com/tachiyomiorg/tachiyomi-extensions/pull/12376 -- Cứu Truyện https://github.com/tachiyomiorg/tachiyomi-extensions/pull/16654 -- Hentai Kai https://github.com/tachiyomiorg/tachiyomi-extensions/issues/9999 -- Hitomi.la https://github.com/tachiyomiorg/tachiyomi-extensions/pull/11613 -- HQ Dragon https://github.com/tachiyomiorg/tachiyomi-extensions/pull/7065 -- Japscan https://github.com/tachiyomiorg/tachiyomi-extensions/pull/17892 -- Koushoku https://github.com/tachiyomiorg/tachiyomi-extensions/pull/13329 -- LeerCapitulo https://github.com/tachiyomiorg/tachiyomi-extensions/pull/16255 -- Mangá Host https://github.com/tachiyomiorg/tachiyomi-extensions/pull/7065 -- Mangá Livre and Leitor.net https://github.com/tachiyomiorg/tachiyomi-extensions/pull/8679 -- MangaDig https://github.com/tachiyomiorg/tachiyomi-extensions/pull/14974 -- Mangas.pw (Mangas.in) https://github.com/tachiyomiorg/tachiyomi-extensions/pull/9489 -- MangaYabu! https://github.com/tachiyomiorg/tachiyomi-extensions/pull/9336 -- ManhuaScan https://github.com/tachiyomiorg/tachiyomi-extensions/pull/7129 -- ManhwaHot https://github.com/tachiyomiorg/tachiyomi-extensions/pull/7129 -- Mode Scanlator https://github.com/tachiyomiorg/tachiyomi-extensions/pull/17865 -- Neox/Nexo Scanlator https://github.com/tachiyomiorg/tachiyomi-extensions/pull/12695 -- Reaper Scans (EN) https://github.com/tachiyomiorg/tachiyomi-extensions/pull/16819 -- SuperMangás and SuperHentais https://github.com/tachiyomiorg/tachiyomi-extensions/pull/6348 -- TopToon+/Day Comics https://github.com/tachiyomiorg/tachiyomi-extensions/pull/10851 -- Tsuki Mangás https://github.com/tachiyomiorg/tachiyomi-extensions/pull/8609 -- Union Mangás https://github.com/tachiyomiorg/tachiyomi-extensions/pull/7065 -- YES Mangás https://github.com/tachiyomiorg/tachiyomi-extensions/pull/7065 - -### Requested removal by the scanlator team - -- ARES Manga https://github.com/tachiyomiorg/tachiyomi-extensions/issues/15396 -- Astra Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/13845 -- Dat-Gar Scan https://github.com/tachiyomiorg/tachiyomi-extensions/issues/18441 -- Gourmet Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/6192 -- Hikari Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/6611 -- Hunter Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/12392 -- JuinJutsuReader https://github.com/tachiyomiorg/tachiyomi-extensions/issues/2958 -- Knightnoscanlation https://github.com/tachiyomiorg/tachiyomi-extensions/issues/4240 -- KomikTap/KomikTap.in https://github.com/tachiyomiorg/tachiyomi-extensions/issues/6133 -- Luminous Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/9923 -- MangaPro https://github.com/tachiyomiorg/tachiyomi-extensions/issues/13989 -- MangaSY https://github.com/tachiyomiorg/tachiyomi-extensions/issues/12007 -- Mangawow https://github.com/tachiyomiorg/tachiyomi-extensions/issues/5367 -- MHScans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/15319 -- Mono Manga https://github.com/tachiyomiorg/tachiyomi-extensions/issues/17634 -- Moon Daisy Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/17929 -- NarTag https://github.com/tachiyomiorg/tachiyomi-extensions/issues/8038 -- Plot-twistnf-scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/4242 -- Realm Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/15586 -- Remangas https://github.com/tachiyomiorg/tachiyomi-extensions/issues/18807 -- Reset Scans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/13168 -- SetsuScans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/11040 -- ShinobiScans https://github.com/tachiyomiorg/tachiyomi-extensions/issues/14457 -- XXX Yaoi https://github.com/tachiyomiorg/tachiyomi-extensions/issues/9535 - -### Requested removal by copyright holders - -By request of [Kakao Entertainment](https://www.kakaoent.com/): - -- 1st Kiss-Manga -- Bato.to -- Mangadex -- NewToki / ManaToki -- S2Manga diff --git a/common.gradle b/common.gradle index 2ba07ee7a..0e2d7f801 100644 --- a/common.gradle +++ b/common.gradle @@ -25,11 +25,11 @@ android { defaultConfig { minSdkVersion AndroidConfig.minSdk targetSdkVersion AndroidConfig.targetSdk - applicationIdSuffix pkgNameSuffix + applicationIdSuffix project.parent.name + "." + project.name versionCode extVersionCode versionName project.ext.properties.getOrDefault("libVersion", "1.4") + ".$extVersionCode" base { - archivesName = "tachiyomi-$pkgNameSuffix-v$versionName" + archivesName = "tachiyomi-$applicationIdSuffix-v$versionName" } def readmes = project.projectDir.listFiles({ File file -> file.name == "README.md" || file.name == "CHANGELOG.md" diff --git a/gradlew.bat b/gradlew.bat index 6689b85be..93e3f59f1 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,92 +1,92 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/lib/unpacker/bin/main/eu/kanade/tachiyomi/lib/unpacker/SubstringExtractor.kt b/lib/unpacker/bin/main/eu/kanade/tachiyomi/lib/unpacker/SubstringExtractor.kt deleted file mode 100644 index a5f43e017..000000000 --- a/lib/unpacker/bin/main/eu/kanade/tachiyomi/lib/unpacker/SubstringExtractor.kt +++ /dev/null @@ -1,34 +0,0 @@ -package eu.kanade.tachiyomi.lib.unpacker - -/** - * A helper class to extract substrings efficiently. - * - * Note that all methods move [startIndex] over the ending delimiter. - */ -class SubstringExtractor(private val text: String) { - private var startIndex = 0 - - fun skipOver(str: String) { - val index = text.indexOf(str, startIndex) - if (index == -1) return - startIndex = index + str.length - } - - fun substringBefore(str: String): String { - val index = text.indexOf(str, startIndex) - if (index == -1) return "" - val result = text.substring(startIndex, index) - startIndex = index + str.length - return result - } - - fun substringBetween(left: String, right: String): String { - val index = text.indexOf(left, startIndex) - if (index == -1) return "" - val leftIndex = index + left.length - val rightIndex = text.indexOf(right, leftIndex) - if (rightIndex == -1) return "" - startIndex = rightIndex + right.length - return text.substring(leftIndex, rightIndex) - } -} diff --git a/lib/unpacker/bin/main/eu/kanade/tachiyomi/lib/unpacker/Unpacker.kt b/lib/unpacker/bin/main/eu/kanade/tachiyomi/lib/unpacker/Unpacker.kt deleted file mode 100644 index 1c4b5bd6c..000000000 --- a/lib/unpacker/bin/main/eu/kanade/tachiyomi/lib/unpacker/Unpacker.kt +++ /dev/null @@ -1,76 +0,0 @@ -package eu.kanade.tachiyomi.lib.unpacker - -/** - * Helper class to unpack JavaScript code compressed by [packer](http://dean.edwards.name/packer/). - * - * Source code of packer can be found [here](https://github.com/evanw/packer/blob/master/packer.js). - */ -object Unpacker { - - /** - * Unpacks JavaScript code compressed by packer. - * - * Specify [left] and [right] to unpack only the data between them. - * - * Note: single quotes `\'` in the data will be replaced with double quotes `"`. - */ - fun unpack(script: String, left: String? = null, right: String? = null): String = - unpack(SubstringExtractor(script), left, right) - - /** - * Unpacks JavaScript code compressed by packer. - * - * Specify [left] and [right] to unpack only the data between them. - * - * Note: single quotes `\'` in the data will be replaced with double quotes `"`. - */ - fun unpack(script: SubstringExtractor, left: String? = null, right: String? = null): String { - val packed = script - .substringBetween("}('", ".split('|'),0,{}))") - .replace("\\'", "\"") - - val parser = SubstringExtractor(packed) - val data: String - if (left != null && right != null) { - data = parser.substringBetween(left, right) - parser.skipOver("',") - } else { - data = parser.substringBefore("',") - } - if (data.isEmpty()) return "" - - val dictionary = parser.substringBetween("'", "'").split("|") - val size = dictionary.size - - return wordRegex.replace(data) { - val key = it.value - val index = parseRadix62(key) - if (index >= size) return@replace key - dictionary[index].ifEmpty { key } - } - } - - private val wordRegex by lazy { Regex("""\w+""") } - - private fun parseRadix62(str: String): Int { - var result = 0 - for (ch in str.toCharArray()) { - result = result * 62 + when { - ch.code <= '9'.code -> { // 0-9 - ch.code - '0'.code - } - - ch.code >= 'a'.code -> { // a-z - // ch - 'a' + 10 - ch.code - ('a'.code - 10) - } - - else -> { // A-Z - // ch - 'A' + 36 - ch.code - ('A'.code - 36) - } - } - } - return result - } -} diff --git a/multisrc/build.gradle.kts b/multisrc/build.gradle.kts index 7b2948f27..2f1bc16ee 100644 --- a/multisrc/build.gradle.kts +++ b/multisrc/build.gradle.kts @@ -35,7 +35,7 @@ dependencies { // Note that this does not mean that generated sources are going to // implement them too; this is just to be able to compile and generate sources. rootProject.subprojects - .filter { it.path.startsWith(":lib") } + .filter { it.path.startsWith(":lib:") } .forEach(::implementation) } diff --git a/multisrc/overrides/a3manga/a3manga/res/web_hi_res_512.png b/multisrc/overrides/a3manga/a3manga/res/web_hi_res_512.png deleted file mode 100644 index 678499563..000000000 Binary files a/multisrc/overrides/a3manga/a3manga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/a3manga/ngonphong/res/web_hi_res_512.png b/multisrc/overrides/a3manga/ngonphong/res/web_hi_res_512.png deleted file mode 100644 index 6e3ea71cc..000000000 Binary files a/multisrc/overrides/a3manga/ngonphong/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/a3manga/ocumeo/res/web_hi_res_512.png b/multisrc/overrides/a3manga/ocumeo/res/web_hi_res_512.png deleted file mode 100644 index dfff10b7b..000000000 Binary files a/multisrc/overrides/a3manga/ocumeo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/a3manga/teamlanhlung/res/web_hi_res_512.png b/multisrc/overrides/a3manga/teamlanhlung/res/web_hi_res_512.png deleted file mode 100644 index bc89f156a..000000000 Binary files a/multisrc/overrides/a3manga/teamlanhlung/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/bakamanga/manhwaxxl/res/web_hi_res_512.png b/multisrc/overrides/bakamanga/manhwaxxl/res/web_hi_res_512.png deleted file mode 100644 index ba821393b..000000000 Binary files a/multisrc/overrides/bakamanga/manhwaxxl/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/bakkin/default/res/web_hi_res_512.png b/multisrc/overrides/bakkin/default/res/web_hi_res_512.png deleted file mode 100644 index 2a5a78c7b..000000000 Binary files a/multisrc/overrides/bakkin/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/bakkin/ultralightscans/res/web_hi_res_512.png b/multisrc/overrides/bakkin/ultralightscans/res/web_hi_res_512.png deleted file mode 100644 index 78cd17a58..000000000 Binary files a/multisrc/overrides/bakkin/ultralightscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/bilibili/bilibilimanga/res/web_hi_res_512.png b/multisrc/overrides/bilibili/bilibilimanga/res/web_hi_res_512.png deleted file mode 100644 index b11094b2b..000000000 Binary files a/multisrc/overrides/bilibili/bilibilimanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/bilibili/default/res/web_hi_res_512.png b/multisrc/overrides/bilibili/default/res/web_hi_res_512.png deleted file mode 100644 index a7e5653eb..000000000 Binary files a/multisrc/overrides/bilibili/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/comicgamma/webcomicgamma/res/web_hi_res_512.png b/multisrc/overrides/comicgamma/webcomicgamma/res/web_hi_res_512.png deleted file mode 100644 index d2a131003..000000000 Binary files a/multisrc/overrides/comicgamma/webcomicgamma/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/comicgamma/webcomicgammaplus/res/web_hi_res_512.png b/multisrc/overrides/comicgamma/webcomicgammaplus/res/web_hi_res_512.png deleted file mode 100644 index d009e4545..000000000 Binary files a/multisrc/overrides/comicgamma/webcomicgammaplus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/eromuse/default/res/web_hi_res_512.png b/multisrc/overrides/eromuse/default/res/web_hi_res_512.png deleted file mode 100644 index 7be23d2f2..000000000 Binary files a/multisrc/overrides/eromuse/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/eromuse/eightmuses/res/web_hi_res_512.png b/multisrc/overrides/eromuse/eightmuses/res/web_hi_res_512.png deleted file mode 100644 index 6d603377b..000000000 Binary files a/multisrc/overrides/eromuse/eightmuses/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/eromuse/erofus/res/web_hi_res_512.png b/multisrc/overrides/eromuse/erofus/res/web_hi_res_512.png deleted file mode 100644 index af8faeac6..000000000 Binary files a/multisrc/overrides/eromuse/erofus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fansubscat/fansubscat/res/web_hi_res_512.png b/multisrc/overrides/fansubscat/fansubscat/res/web_hi_res_512.png deleted file mode 100644 index 9e00dbe6e..000000000 Binary files a/multisrc/overrides/fansubscat/fansubscat/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fansubscat/fansubscathentai/res/web_hi_res_512.png b/multisrc/overrides/fansubscat/fansubscathentai/res/web_hi_res_512.png deleted file mode 100644 index c2546bc59..000000000 Binary files a/multisrc/overrides/fansubscat/fansubscathentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/flixscans/flixscans/res/web_hi_res_512.png b/multisrc/overrides/flixscans/flixscans/res/web_hi_res_512.png deleted file mode 100644 index 8ac2f0947..000000000 Binary files a/multisrc/overrides/flixscans/flixscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/flixscans/galaxymanga/res/web_hi_res_512.png b/multisrc/overrides/flixscans/galaxymanga/res/web_hi_res_512.png deleted file mode 100644 index e37dad0c0..000000000 Binary files a/multisrc/overrides/flixscans/galaxymanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fmreader/default/res/web_hi_res_512.png b/multisrc/overrides/fmreader/default/res/web_hi_res_512.png deleted file mode 100644 index 1519d51a8..000000000 Binary files a/multisrc/overrides/fmreader/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fmreader/epikmanga/res/web_hi_res_512.png b/multisrc/overrides/fmreader/epikmanga/res/web_hi_res_512.png deleted file mode 100644 index f8d907de4..000000000 Binary files a/multisrc/overrides/fmreader/epikmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fmreader/kisslove/res/web_hi_res_512.png b/multisrc/overrides/fmreader/kisslove/res/web_hi_res_512.png deleted file mode 100644 index c9a9c3134..000000000 Binary files a/multisrc/overrides/fmreader/kisslove/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fmreader/manga1000/res/web_hi_res_512.png b/multisrc/overrides/fmreader/manga1000/res/web_hi_res_512.png deleted file mode 100644 index c9b408fa6..000000000 Binary files a/multisrc/overrides/fmreader/manga1000/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fmreader/mangatr/res/web_hi_res_512.png b/multisrc/overrides/fmreader/mangatr/res/web_hi_res_512.png deleted file mode 100644 index 35a7f9deb..000000000 Binary files a/multisrc/overrides/fmreader/mangatr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fmreader/rawlh/res/web_hi_res_512.png b/multisrc/overrides/fmreader/rawlh/res/web_hi_res_512.png deleted file mode 100644 index 79d602018..000000000 Binary files a/multisrc/overrides/fmreader/rawlh/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/fmreader/saytruyen/res/web_hi_res_512.png b/multisrc/overrides/fmreader/saytruyen/res/web_hi_res_512.png deleted file mode 100644 index a3c22ed92..000000000 Binary files a/multisrc/overrides/fmreader/saytruyen/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/anatanomotokare/res/web_hi_res_512.png b/multisrc/overrides/foolslide/anatanomotokare/res/web_hi_res_512.png deleted file mode 100644 index e4db940d4..000000000 Binary files a/multisrc/overrides/foolslide/anatanomotokare/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/baixarhentai/res/web_hi_res_512.png b/multisrc/overrides/foolslide/baixarhentai/res/web_hi_res_512.png deleted file mode 100644 index d1fca9c9b..000000000 Binary files a/multisrc/overrides/foolslide/baixarhentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/deathtollscans/res/web_hi_res_512.png b/multisrc/overrides/foolslide/deathtollscans/res/web_hi_res_512.png deleted file mode 100644 index fce3855e9..000000000 Binary files a/multisrc/overrides/foolslide/deathtollscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/default/res/web_hi_res_512.png b/multisrc/overrides/foolslide/default/res/web_hi_res_512.png deleted file mode 100644 index f6a0233e7..000000000 Binary files a/multisrc/overrides/foolslide/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/evilflowers/res/web_hi_res_512.png b/multisrc/overrides/foolslide/evilflowers/res/web_hi_res_512.png deleted file mode 100644 index 55197a99f..000000000 Binary files a/multisrc/overrides/foolslide/evilflowers/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/hniscantrad/res/web_hi_res_512.png b/multisrc/overrides/foolslide/hniscantrad/res/web_hi_res_512.png deleted file mode 100644 index 65e239da8..000000000 Binary files a/multisrc/overrides/foolslide/hniscantrad/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/lecercleduscan/res/web_hi_res_512.png b/multisrc/overrides/foolslide/lecercleduscan/res/web_hi_res_512.png deleted file mode 100644 index 6be01acd6..000000000 Binary files a/multisrc/overrides/foolslide/lecercleduscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/lilyreader/res/web_hi_res_512.png b/multisrc/overrides/foolslide/lilyreader/res/web_hi_res_512.png deleted file mode 100644 index 29709b5f4..000000000 Binary files a/multisrc/overrides/foolslide/lilyreader/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/mangascouts/res/web_hi_res_512.png b/multisrc/overrides/foolslide/mangascouts/res/web_hi_res_512.png deleted file mode 100644 index efaa7f1a3..000000000 Binary files a/multisrc/overrides/foolslide/mangascouts/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/mangatellers/res/web_hi_res_512.png b/multisrc/overrides/foolslide/mangatellers/res/web_hi_res_512.png deleted file mode 100644 index e40a6cb99..000000000 Binary files a/multisrc/overrides/foolslide/mangatellers/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/menudofansub/res/web_hi_res_512.png b/multisrc/overrides/foolslide/menudofansub/res/web_hi_res_512.png deleted file mode 100644 index aac59dd15..000000000 Binary files a/multisrc/overrides/foolslide/menudofansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/nifteam/res/web_hi_res_512.png b/multisrc/overrides/foolslide/nifteam/res/web_hi_res_512.png deleted file mode 100644 index 575982ef9..000000000 Binary files a/multisrc/overrides/foolslide/nifteam/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/powermangait/res/web_hi_res_512.png b/multisrc/overrides/foolslide/powermangait/res/web_hi_res_512.png deleted file mode 100644 index a0fb44eb3..000000000 Binary files a/multisrc/overrides/foolslide/powermangait/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/rama/res/web_hi_res_512.png b/multisrc/overrides/foolslide/rama/res/web_hi_res_512.png deleted file mode 100644 index e41de9e7b..000000000 Binary files a/multisrc/overrides/foolslide/rama/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/russification/res/web_hi_res_512.png b/multisrc/overrides/foolslide/russification/res/web_hi_res_512.png deleted file mode 100644 index a23fdafe9..000000000 Binary files a/multisrc/overrides/foolslide/russification/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/foolslide/silentsky/res/web_hi_res_512.png b/multisrc/overrides/foolslide/silentsky/res/web_hi_res_512.png deleted file mode 100644 index 64bafecb6..000000000 Binary files a/multisrc/overrides/foolslide/silentsky/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gattsu/default/res/web_hi_res_512.png b/multisrc/overrides/gattsu/default/res/web_hi_res_512.png deleted file mode 100644 index 52482b2d7..000000000 Binary files a/multisrc/overrides/gattsu/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gattsu/hentaiseason/res/web_hi_res_512.png b/multisrc/overrides/gattsu/hentaiseason/res/web_hi_res_512.png deleted file mode 100644 index b3e3b5ba7..000000000 Binary files a/multisrc/overrides/gattsu/hentaiseason/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gattsu/universohentai/res/web_hi_res_512.png b/multisrc/overrides/gattsu/universohentai/res/web_hi_res_512.png deleted file mode 100644 index 9ea229683..000000000 Binary files a/multisrc/overrides/gattsu/universohentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/comicdays/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/comicdays/res/web_hi_res_512.png deleted file mode 100644 index eb2b71413..000000000 Binary files a/multisrc/overrides/gigaviewer/comicdays/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/comicgardo/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/comicgardo/res/web_hi_res_512.png deleted file mode 100644 index 076ace3fa..000000000 Binary files a/multisrc/overrides/gigaviewer/comicgardo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/comiplex/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/comiplex/res/web_hi_res_512.png deleted file mode 100644 index ce32c1d8c..000000000 Binary files a/multisrc/overrides/gigaviewer/comiplex/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/corocoroonline/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/corocoroonline/res/web_hi_res_512.png deleted file mode 100644 index 4155b33a2..000000000 Binary files a/multisrc/overrides/gigaviewer/corocoroonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/default/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/default/res/web_hi_res_512.png deleted file mode 100644 index 151769b0e..000000000 Binary files a/multisrc/overrides/gigaviewer/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/kuragebunch/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/kuragebunch/res/web_hi_res_512.png deleted file mode 100644 index 374bde806..000000000 Binary files a/multisrc/overrides/gigaviewer/kuragebunch/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/magazinepocket/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/magazinepocket/res/web_hi_res_512.png deleted file mode 100644 index 543956ca4..000000000 Binary files a/multisrc/overrides/gigaviewer/magazinepocket/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/magcomi/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/magcomi/res/web_hi_res_512.png deleted file mode 100644 index e807b364f..000000000 Binary files a/multisrc/overrides/gigaviewer/magcomi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/shonenjumpplus/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/shonenjumpplus/res/web_hi_res_512.png deleted file mode 100644 index d6916e649..000000000 Binary files a/multisrc/overrides/gigaviewer/shonenjumpplus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/sundaywebevery/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/sundaywebevery/res/web_hi_res_512.png deleted file mode 100644 index 877db8184..000000000 Binary files a/multisrc/overrides/gigaviewer/sundaywebevery/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/gigaviewer/tonarinoyoungjump/res/web_hi_res_512.png b/multisrc/overrides/gigaviewer/tonarinoyoungjump/res/web_hi_res_512.png deleted file mode 100644 index e29bcbaf0..000000000 Binary files a/multisrc/overrides/gigaviewer/tonarinoyoungjump/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/grouple/allhentai/res/web_hi_res_512.png b/multisrc/overrides/grouple/allhentai/res/web_hi_res_512.png deleted file mode 100644 index f73d9a578..000000000 Binary files a/multisrc/overrides/grouple/allhentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/grouple/mintmanga/res/web_hi_res_512.png b/multisrc/overrides/grouple/mintmanga/res/web_hi_res_512.png deleted file mode 100644 index 659735502..000000000 Binary files a/multisrc/overrides/grouple/mintmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/grouple/readmanga/res/web_hi_res_512.png b/multisrc/overrides/grouple/readmanga/res/web_hi_res_512.png deleted file mode 100644 index a2cba1ddc..000000000 Binary files a/multisrc/overrides/grouple/readmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/grouple/rumix/res/web_hi_res_512.png b/multisrc/overrides/grouple/rumix/res/web_hi_res_512.png deleted file mode 100644 index 87cb89581..000000000 Binary files a/multisrc/overrides/grouple/rumix/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/grouple/selfmanga/res/web_hi_res_512.png b/multisrc/overrides/grouple/selfmanga/res/web_hi_res_512.png deleted file mode 100644 index 85a865456..000000000 Binary files a/multisrc/overrides/grouple/selfmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/guya/dankefurslesen/res/web_hi_res_512.png b/multisrc/overrides/guya/dankefurslesen/res/web_hi_res_512.png deleted file mode 100644 index 9edd4f98a..000000000 Binary files a/multisrc/overrides/guya/dankefurslesen/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/guya/default/res/web_hi_res_512.png b/multisrc/overrides/guya/default/res/web_hi_res_512.png deleted file mode 100644 index b367e0c8c..000000000 Binary files a/multisrc/overrides/guya/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/guya/guya/res/web_hi_res_512.png b/multisrc/overrides/guya/guya/res/web_hi_res_512.png deleted file mode 100644 index b367e0c8c..000000000 Binary files a/multisrc/overrides/guya/guya/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/guya/hachirumi/res/web_hi_res_512.png b/multisrc/overrides/guya/hachirumi/res/web_hi_res_512.png deleted file mode 100644 index ca0f08f8c..000000000 Binary files a/multisrc/overrides/guya/hachirumi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/guya/magicaltranslators/res/web_hi_res_512.png b/multisrc/overrides/guya/magicaltranslators/res/web_hi_res_512.png deleted file mode 100755 index f14298820..000000000 Binary files a/multisrc/overrides/guya/magicaltranslators/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/heancms/default/res/web_hi_res_512.png b/multisrc/overrides/heancms/default/res/web_hi_res_512.png deleted file mode 100644 index 42d475ae1..000000000 Binary files a/multisrc/overrides/heancms/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/heancms/omegascans/res/web_hi_res_512.png b/multisrc/overrides/heancms/omegascans/res/web_hi_res_512.png deleted file mode 100644 index 22189cf74..000000000 Binary files a/multisrc/overrides/heancms/omegascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/heancms/perfscan/res/web_hi_res_512.png b/multisrc/overrides/heancms/perfscan/res/web_hi_res_512.png deleted file mode 100644 index dfdba5083..000000000 Binary files a/multisrc/overrides/heancms/perfscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/heancms/templescan/res/web_hi_res_512.png b/multisrc/overrides/heancms/templescan/res/web_hi_res_512.png deleted file mode 100644 index 58e3613f9..000000000 Binary files a/multisrc/overrides/heancms/templescan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/heancms/yugenmangas/res/web_hi_res_512.png b/multisrc/overrides/heancms/yugenmangas/res/web_hi_res_512.png deleted file mode 100644 index 6e3163991..000000000 Binary files a/multisrc/overrides/heancms/yugenmangas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/hentaihand/hentaihand/res/web_hi_res_512.png b/multisrc/overrides/hentaihand/hentaihand/res/web_hi_res_512.png deleted file mode 100644 index 9a2c58d6d..000000000 Binary files a/multisrc/overrides/hentaihand/hentaihand/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/hentaihand/hentaisphere/res/web_hi_res_512.png b/multisrc/overrides/hentaihand/hentaisphere/res/web_hi_res_512.png deleted file mode 100644 index 0d9f6f3b7..000000000 Binary files a/multisrc/overrides/hentaihand/hentaisphere/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/hentaihand/manhwaclub/res/web_hi_res_512.png b/multisrc/overrides/hentaihand/manhwaclub/res/web_hi_res_512.png deleted file mode 100644 index 2fa146c86..000000000 Binary files a/multisrc/overrides/hentaihand/manhwaclub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/hentaihand/nhentaicom/res/web_hi_res_512.png b/multisrc/overrides/hentaihand/nhentaicom/res/web_hi_res_512.png deleted file mode 100644 index f3e4f213f..000000000 Binary files a/multisrc/overrides/hentaihand/nhentaicom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/hentaihand/readmanhwa/res/web_hi_res_512.png b/multisrc/overrides/hentaihand/readmanhwa/res/web_hi_res_512.png deleted file mode 100644 index 2c4e51d3c..000000000 Binary files a/multisrc/overrides/hentaihand/readmanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/kemono/coomer/res/web_hi_res_512.png b/multisrc/overrides/kemono/coomer/res/web_hi_res_512.png deleted file mode 100644 index 0f401f9eb..000000000 Binary files a/multisrc/overrides/kemono/coomer/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/kemono/default/res/web_hi_res_512.png b/multisrc/overrides/kemono/default/res/web_hi_res_512.png deleted file mode 100644 index e5cbe8a72..000000000 Binary files a/multisrc/overrides/kemono/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/libgroup/hentailib/res/web_hi_res_512.png b/multisrc/overrides/libgroup/hentailib/res/web_hi_res_512.png deleted file mode 100644 index ace364704..000000000 Binary files a/multisrc/overrides/libgroup/hentailib/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/libgroup/mangalib/res/web_hi_res_512.png b/multisrc/overrides/libgroup/mangalib/res/web_hi_res_512.png deleted file mode 100644 index 4963da6f8..000000000 Binary files a/multisrc/overrides/libgroup/mangalib/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/libgroup/yaoilib/res/web_hi_res_512.png b/multisrc/overrides/libgroup/yaoilib/res/web_hi_res_512.png deleted file mode 100644 index 6b6759355..000000000 Binary files a/multisrc/overrides/libgroup/yaoilib/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/adonisfansub/res/web_hi_res_512.png b/multisrc/overrides/madara/adonisfansub/res/web_hi_res_512.png deleted file mode 100644 index d9c77d336..000000000 Binary files a/multisrc/overrides/madara/adonisfansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/adultwebtoon/res/web_hi_res_512.png b/multisrc/overrides/madara/adultwebtoon/res/web_hi_res_512.png deleted file mode 100644 index 60fea3af4..000000000 Binary files a/multisrc/overrides/madara/adultwebtoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/akumanga/res/web_hi_res_512.png b/multisrc/overrides/madara/akumanga/res/web_hi_res_512.png deleted file mode 100644 index ee37f2220..000000000 Binary files a/multisrc/overrides/madara/akumanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/akuzenaiarts/res/web_hi_res_512.png b/multisrc/overrides/madara/akuzenaiarts/res/web_hi_res_512.png deleted file mode 100644 index 94e20bd1f..000000000 Binary files a/multisrc/overrides/madara/akuzenaiarts/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/allporncomic/res/web_hi_res_512.png b/multisrc/overrides/madara/allporncomic/res/web_hi_res_512.png deleted file mode 100644 index 8a6d006d7..000000000 Binary files a/multisrc/overrides/madara/allporncomic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/anikiga/res/web_hi_res_512.png b/multisrc/overrides/madara/anikiga/res/web_hi_res_512.png deleted file mode 100644 index 425da497e..000000000 Binary files a/multisrc/overrides/madara/anikiga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/anisamanga/res/web_hi_res_512.png b/multisrc/overrides/madara/anisamanga/res/web_hi_res_512.png deleted file mode 100644 index 673b88e3e..000000000 Binary files a/multisrc/overrides/madara/anisamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/anshscans/res/web_hi_res_512.png b/multisrc/overrides/madara/anshscans/res/web_hi_res_512.png deleted file mode 100644 index 2e76822bf..000000000 Binary files a/multisrc/overrides/madara/anshscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/apollcomics/res/web_hi_res_512.png b/multisrc/overrides/madara/apollcomics/res/web_hi_res_512.png deleted file mode 100644 index fdc03274e..000000000 Binary files a/multisrc/overrides/madara/apollcomics/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/apolltoons/res/web_hi_res_512.png b/multisrc/overrides/madara/apolltoons/res/web_hi_res_512.png deleted file mode 100644 index 6d285f76d..000000000 Binary files a/multisrc/overrides/madara/apolltoons/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/aquamanga/res/web_hi_res_512.png b/multisrc/overrides/madara/aquamanga/res/web_hi_res_512.png deleted file mode 100644 index f2f4d1d98..000000000 Binary files a/multisrc/overrides/madara/aquamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/arabtoons/res/web_hi_res_512.png b/multisrc/overrides/madara/arabtoons/res/web_hi_res_512.png deleted file mode 100644 index c681a1ad1..000000000 Binary files a/multisrc/overrides/madara/arabtoons/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/araznovel/res/web_hi_res_512.png b/multisrc/overrides/madara/araznovel/res/web_hi_res_512.png deleted file mode 100644 index 576ca90e4..000000000 Binary files a/multisrc/overrides/madara/araznovel/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/arcanescans/res/web_hi_res_512.png b/multisrc/overrides/madara/arcanescans/res/web_hi_res_512.png deleted file mode 100644 index 87716454e..000000000 Binary files a/multisrc/overrides/madara/arcanescans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/archerscans/res/web_hi_res_512.png b/multisrc/overrides/madara/archerscans/res/web_hi_res_512.png deleted file mode 100644 index d97452a25..000000000 Binary files a/multisrc/overrides/madara/archerscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/arthurscan/res/web_hi_res_512.png b/multisrc/overrides/madara/arthurscan/res/web_hi_res_512.png deleted file mode 100644 index 7a7994716..000000000 Binary files a/multisrc/overrides/madara/arthurscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/astrallibrary/res/web_hi_res_512.png b/multisrc/overrides/madara/astrallibrary/res/web_hi_res_512.png deleted file mode 100644 index 8de6c6ba1..000000000 Binary files a/multisrc/overrides/madara/astrallibrary/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/astralmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/astralmanga/res/web_hi_res_512.png deleted file mode 100644 index e989911fb..000000000 Binary files a/multisrc/overrides/madara/astralmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/asurascansus/res/web_hi_res_512.png b/multisrc/overrides/madara/asurascansus/res/web_hi_res_512.png deleted file mode 100644 index 688ccf4f0..000000000 Binary files a/multisrc/overrides/madara/asurascansus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/atlantisscan/res/web_hi_res_512.png b/multisrc/overrides/madara/atlantisscan/res/web_hi_res_512.png deleted file mode 100644 index 45c43a06a..000000000 Binary files a/multisrc/overrides/madara/atlantisscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/azmanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/azmanhwa/res/web_hi_res_512.png deleted file mode 100644 index be3ae7464..000000000 Binary files a/multisrc/overrides/madara/azmanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/azora/res/web_hi_res_512.png b/multisrc/overrides/madara/azora/res/web_hi_res_512.png deleted file mode 100644 index bb0f0d57e..000000000 Binary files a/multisrc/overrides/madara/azora/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/babelwuxia/res/web_hi_res_512.png b/multisrc/overrides/madara/babelwuxia/res/web_hi_res_512.png deleted file mode 100644 index c7fba670a..000000000 Binary files a/multisrc/overrides/madara/babelwuxia/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/bakaman/res/web_hi_res_512.png b/multisrc/overrides/madara/bakaman/res/web_hi_res_512.png deleted file mode 100644 index e5c98137b..000000000 Binary files a/multisrc/overrides/madara/bakaman/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/bakamh/res/web_hi_res_512.png b/multisrc/overrides/madara/bakamh/res/web_hi_res_512.png deleted file mode 100644 index 938842a0d..000000000 Binary files a/multisrc/overrides/madara/bakamh/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/bananamanga/res/web_hi_res_512.png b/multisrc/overrides/madara/bananamanga/res/web_hi_res_512.png deleted file mode 100644 index e07dd4031..000000000 Binary files a/multisrc/overrides/madara/bananamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/barmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/barmanga/res/web_hi_res_512.png deleted file mode 100644 index ccc6ce08b..000000000 Binary files a/multisrc/overrides/madara/barmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/bestmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/bestmanga/res/web_hi_res_512.png deleted file mode 100644 index 31a327be2..000000000 Binary files a/multisrc/overrides/madara/bestmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/bestmanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/bestmanhua/res/web_hi_res_512.png deleted file mode 100644 index 6882d5de3..000000000 Binary files a/multisrc/overrides/madara/bestmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/birdtoon/res/web_hi_res_512.png b/multisrc/overrides/madara/birdtoon/res/web_hi_res_512.png deleted file mode 100644 index 7f6a66fb2..000000000 Binary files a/multisrc/overrides/madara/birdtoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/blogmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/blogmanga/res/web_hi_res_512.png deleted file mode 100644 index e9a3cf259..000000000 Binary files a/multisrc/overrides/madara/blogmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/bluesolo/res/web_hi_res_512.png b/multisrc/overrides/madara/bluesolo/res/web_hi_res_512.png deleted file mode 100644 index e3f91b4ed..000000000 Binary files a/multisrc/overrides/madara/bluesolo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/bokugentranslation/res/web_hi_res_512.png b/multisrc/overrides/madara/bokugentranslation/res/web_hi_res_512.png deleted file mode 100644 index b50481c74..000000000 Binary files a/multisrc/overrides/madara/bokugentranslation/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/borutoexplorer/res/web_hi_res_512.png b/multisrc/overrides/madara/borutoexplorer/res/web_hi_res_512.png deleted file mode 100644 index 2201d3d8d..000000000 Binary files a/multisrc/overrides/madara/borutoexplorer/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/boyslove/res/web_hi_res_512.png b/multisrc/overrides/madara/boyslove/res/web_hi_res_512.png deleted file mode 100644 index 6297fb06d..000000000 Binary files a/multisrc/overrides/madara/boyslove/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/cat300/res/web_hi_res_512.png b/multisrc/overrides/madara/cat300/res/web_hi_res_512.png deleted file mode 100644 index d1a00f726..000000000 Binary files a/multisrc/overrides/madara/cat300/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/catonheadtranslations/res/web_hi_res_512.png b/multisrc/overrides/madara/catonheadtranslations/res/web_hi_res_512.png deleted file mode 100644 index b4ebe461a..000000000 Binary files a/multisrc/overrides/madara/catonheadtranslations/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/cattranslator/res/web_hi_res_512.png b/multisrc/overrides/madara/cattranslator/res/web_hi_res_512.png deleted file mode 100644 index 881cdb0a4..000000000 Binary files a/multisrc/overrides/madara/cattranslator/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/cerisescans/res/web_hi_res_512.png b/multisrc/overrides/madara/cerisescans/res/web_hi_res_512.png deleted file mode 100644 index 40e649e15..000000000 Binary files a/multisrc/overrides/madara/cerisescans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/cizgiromanarsivi/res/web_hi_res_512.png b/multisrc/overrides/madara/cizgiromanarsivi/res/web_hi_res_512.png deleted file mode 100644 index 3d8565a10..000000000 Binary files a/multisrc/overrides/madara/cizgiromanarsivi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/clovermanga/res/web_hi_res_512.png b/multisrc/overrides/madara/clovermanga/res/web_hi_res_512.png deleted file mode 100644 index 53a1a272a..000000000 Binary files a/multisrc/overrides/madara/clovermanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/cocorip/res/web_hi_res_512.png b/multisrc/overrides/madara/cocorip/res/web_hi_res_512.png deleted file mode 100644 index 50f591bdc..000000000 Binary files a/multisrc/overrides/madara/cocorip/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/coffeemanga/res/web_hi_res_512.png b/multisrc/overrides/madara/coffeemanga/res/web_hi_res_512.png deleted file mode 100644 index 1dc0d24e4..000000000 Binary files a/multisrc/overrides/madara/coffeemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/coffeemangatop/res/web_hi_res_512.png b/multisrc/overrides/madara/coffeemangatop/res/web_hi_res_512.png deleted file mode 100644 index dae6bccb4..000000000 Binary files a/multisrc/overrides/madara/coffeemangatop/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/coloredmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/coloredmanga/res/web_hi_res_512.png deleted file mode 100644 index 0d2534635..000000000 Binary files a/multisrc/overrides/madara/coloredmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/comicarab/res/web_hi_res_512.png b/multisrc/overrides/madara/comicarab/res/web_hi_res_512.png deleted file mode 100644 index 41b33859c..000000000 Binary files a/multisrc/overrides/madara/comicarab/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/comicsvalley/res/web_hi_res_512.png b/multisrc/overrides/madara/comicsvalley/res/web_hi_res_512.png deleted file mode 100644 index f38128a3f..000000000 Binary files a/multisrc/overrides/madara/comicsvalley/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/comicsworld/res/web_hi_res_512.png b/multisrc/overrides/madara/comicsworld/res/web_hi_res_512.png deleted file mode 100644 index bde0e674d..000000000 Binary files a/multisrc/overrides/madara/comicsworld/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/comicznetv2/res/web_hi_res_512.png b/multisrc/overrides/madara/comicznetv2/res/web_hi_res_512.png deleted file mode 100644 index 081e77762..000000000 Binary files a/multisrc/overrides/madara/comicznetv2/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/cookiekiara/res/web_hi_res_512.png b/multisrc/overrides/madara/cookiekiara/res/web_hi_res_512.png deleted file mode 100644 index 8d8d9f2c1..000000000 Binary files a/multisrc/overrides/madara/cookiekiara/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/copypastescan/res/web_hi_res_512.png b/multisrc/overrides/madara/copypastescan/res/web_hi_res_512.png deleted file mode 100644 index af8ece1f0..000000000 Binary files a/multisrc/overrides/madara/copypastescan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/creepyscans/res/web_hi_res_512.png b/multisrc/overrides/madara/creepyscans/res/web_hi_res_512.png deleted file mode 100644 index 6ac625b8b..000000000 Binary files a/multisrc/overrides/madara/creepyscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/daprob/res/web_hi_res_512.png b/multisrc/overrides/madara/daprob/res/web_hi_res_512.png deleted file mode 100644 index cd85d05ae..000000000 Binary files a/multisrc/overrides/madara/daprob/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/darkscans/res/web_hi_res_512.png b/multisrc/overrides/madara/darkscans/res/web_hi_res_512.png deleted file mode 100644 index 012928faa..000000000 Binary files a/multisrc/overrides/madara/darkscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/decadencescans/res/web_hi_res_512.png b/multisrc/overrides/madara/decadencescans/res/web_hi_res_512.png deleted file mode 100644 index 032a3db93..000000000 Binary files a/multisrc/overrides/madara/decadencescans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/default/additional.gradle b/multisrc/overrides/madara/default/additional.gradle index 214a0df0e..48c2499a0 100644 --- a/multisrc/overrides/madara/default/additional.gradle +++ b/multisrc/overrides/madara/default/additional.gradle @@ -1,4 +1,4 @@ dependencies { - implementation(project(":lib-cryptoaes")) - implementation(project(":lib-randomua")) + implementation(project(":lib:cryptoaes")) + implementation(project(":lib:randomua")) } diff --git a/multisrc/overrides/madara/default/res/web_hi_res_512.png b/multisrc/overrides/madara/default/res/web_hi_res_512.png deleted file mode 100644 index a62cfe72f..000000000 Binary files a/multisrc/overrides/madara/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/detectiveconanar/res/web_hi_res_512.png b/multisrc/overrides/madara/detectiveconanar/res/web_hi_res_512.png deleted file mode 100644 index 3fb5ff0c0..000000000 Binary files a/multisrc/overrides/madara/detectiveconanar/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/diamondfansub/res/web_hi_res_512.png b/multisrc/overrides/madara/diamondfansub/res/web_hi_res_512.png deleted file mode 100644 index bd53d5283..000000000 Binary files a/multisrc/overrides/madara/diamondfansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/dokkomanga/res/web_hi_res_512.png b/multisrc/overrides/madara/dokkomanga/res/web_hi_res_512.png deleted file mode 100644 index 924bb7c0e..000000000 Binary files a/multisrc/overrides/madara/dokkomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/doodmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/doodmanga/res/web_hi_res_512.png deleted file mode 100644 index bbbb26f18..000000000 Binary files a/multisrc/overrides/madara/doodmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/doujinhentai/res/web_hi_res_512.png b/multisrc/overrides/madara/doujinhentai/res/web_hi_res_512.png deleted file mode 100644 index b11aff911..000000000 Binary files a/multisrc/overrides/madara/doujinhentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/dragontea/res/web_hi_res_512.png b/multisrc/overrides/madara/dragontea/res/web_hi_res_512.png deleted file mode 100644 index 845fde910..000000000 Binary files a/multisrc/overrides/madara/dragontea/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/dragontranslationnet/res/web_hi_res_512.png b/multisrc/overrides/madara/dragontranslationnet/res/web_hi_res_512.png deleted file mode 100644 index b39ae07d2..000000000 Binary files a/multisrc/overrides/madara/dragontranslationnet/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/drakescans/res/web_hi_res_512.png b/multisrc/overrides/madara/drakescans/res/web_hi_res_512.png deleted file mode 100644 index 144e10722..000000000 Binary files a/multisrc/overrides/madara/drakescans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/dreammanga/res/web_hi_res_512.png b/multisrc/overrides/madara/dreammanga/res/web_hi_res_512.png deleted file mode 100644 index 5d2402819..000000000 Binary files a/multisrc/overrides/madara/dreammanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/dropescan/res/web_hi_res_512.png b/multisrc/overrides/madara/dropescan/res/web_hi_res_512.png deleted file mode 100644 index ee89747c3..000000000 Binary files a/multisrc/overrides/madara/dropescan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/elitemanga/res/web_hi_res_512.png b/multisrc/overrides/madara/elitemanga/res/web_hi_res_512.png deleted file mode 100644 index eee33c177..000000000 Binary files a/multisrc/overrides/madara/elitemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/emperorscan/res/web_hi_res_512.png b/multisrc/overrides/madara/emperorscan/res/web_hi_res_512.png deleted file mode 100644 index ea4563f31..000000000 Binary files a/multisrc/overrides/madara/emperorscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/empirewebtoon/res/web_hi_res_512.png b/multisrc/overrides/madara/empirewebtoon/res/web_hi_res_512.png deleted file mode 100644 index f6793c742..000000000 Binary files a/multisrc/overrides/madara/empirewebtoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/eromiau/res/web_hi_res_512.png b/multisrc/overrides/madara/eromiau/res/web_hi_res_512.png deleted file mode 100644 index 3056569c6..000000000 Binary files a/multisrc/overrides/madara/eromiau/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/esomanga/res/web_hi_res_512.png b/multisrc/overrides/madara/esomanga/res/web_hi_res_512.png deleted file mode 100644 index 67088a0c7..000000000 Binary files a/multisrc/overrides/madara/esomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/evascans/res/web_hi_res_512.png b/multisrc/overrides/madara/evascans/res/web_hi_res_512.png deleted file mode 100644 index c25804179..000000000 Binary files a/multisrc/overrides/madara/evascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/factmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/factmanga/res/web_hi_res_512.png deleted file mode 100644 index 08868e573..000000000 Binary files a/multisrc/overrides/madara/factmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/falconmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/falconmanga/res/web_hi_res_512.png deleted file mode 100644 index ac86b8566..000000000 Binary files a/multisrc/overrides/madara/falconmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/fayscans/res/web_hi_res_512.png b/multisrc/overrides/madara/fayscans/res/web_hi_res_512.png deleted file mode 100644 index 618dcd51a..000000000 Binary files a/multisrc/overrides/madara/fayscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/finalscans/res/web_hi_res_512.png b/multisrc/overrides/madara/finalscans/res/web_hi_res_512.png deleted file mode 100644 index 4a74da996..000000000 Binary files a/multisrc/overrides/madara/finalscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/firescans/res/web_hi_res_512.png b/multisrc/overrides/madara/firescans/res/web_hi_res_512.png deleted file mode 100644 index e06e29a8a..000000000 Binary files a/multisrc/overrides/madara/firescans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/firstkissdashmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/firstkissdashmanga/res/web_hi_res_512.png deleted file mode 100644 index c9559e92f..000000000 Binary files a/multisrc/overrides/madara/firstkissdashmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/firstkissmangablog/res/web_hi_res_512.png b/multisrc/overrides/madara/firstkissmangablog/res/web_hi_res_512.png deleted file mode 100644 index a624bd17d..000000000 Binary files a/multisrc/overrides/madara/firstkissmangablog/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/firstkissmangaclub/res/web_hi_res_512.png b/multisrc/overrides/madara/firstkissmangaclub/res/web_hi_res_512.png deleted file mode 100644 index 92587e7c0..000000000 Binary files a/multisrc/overrides/madara/firstkissmangaclub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/firstkissmangatv/res/web_hi_res_512.png b/multisrc/overrides/madara/firstkissmangatv/res/web_hi_res_512.png deleted file mode 100644 index 2f86f7755..000000000 Binary files a/multisrc/overrides/madara/firstkissmangatv/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/firstmanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/firstmanhwa/res/web_hi_res_512.png deleted file mode 100644 index 0d4551248..000000000 Binary files a/multisrc/overrides/madara/firstmanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/fleurblanche/res/web_hi_res_512.png b/multisrc/overrides/madara/fleurblanche/res/web_hi_res_512.png deleted file mode 100644 index 968834342..000000000 Binary files a/multisrc/overrides/madara/fleurblanche/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/flextapescans/res/web_hi_res_512.png b/multisrc/overrides/madara/flextapescans/res/web_hi_res_512.png deleted file mode 100644 index 181cc58c6..000000000 Binary files a/multisrc/overrides/madara/flextapescans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/foxwhite/res/web_hi_res_512.png b/multisrc/overrides/madara/foxwhite/res/web_hi_res_512.png deleted file mode 100644 index db22f79a9..000000000 Binary files a/multisrc/overrides/madara/foxwhite/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/frdashscan/res/web_hi_res_512.png b/multisrc/overrides/madara/frdashscan/res/web_hi_res_512.png deleted file mode 100644 index 55ef17f48..000000000 Binary files a/multisrc/overrides/madara/frdashscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/freemanga/res/web_hi_res_512.png b/multisrc/overrides/madara/freemanga/res/web_hi_res_512.png deleted file mode 100644 index 3f741f09c..000000000 Binary files a/multisrc/overrides/madara/freemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/freemanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/freemanhwa/res/web_hi_res_512.png deleted file mode 100644 index 15f3102c8..000000000 Binary files a/multisrc/overrides/madara/freemanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/freewebtooncoins/res/web_hi_res_512.png b/multisrc/overrides/madara/freewebtooncoins/res/web_hi_res_512.png deleted file mode 100644 index af03ed77c..000000000 Binary files a/multisrc/overrides/madara/freewebtooncoins/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/galaxydegenscans/res/web_hi_res_512.png b/multisrc/overrides/madara/galaxydegenscans/res/web_hi_res_512.png deleted file mode 100644 index 3fbec01bc..000000000 Binary files a/multisrc/overrides/madara/galaxydegenscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/gatemanga/res/web_hi_res_512.png b/multisrc/overrides/madara/gatemanga/res/web_hi_res_512.png deleted file mode 100644 index 6a9a3dc69..000000000 Binary files a/multisrc/overrides/madara/gatemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/gekkouscan/res/web_hi_res_512.png b/multisrc/overrides/madara/gekkouscan/res/web_hi_res_512.png deleted file mode 100644 index 8ec9354b4..000000000 Binary files a/multisrc/overrides/madara/gekkouscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/girlslovemanga/res/web_hi_res_512.png b/multisrc/overrides/madara/girlslovemanga/res/web_hi_res_512.png deleted file mode 100644 index 6f26e4d46..000000000 Binary files a/multisrc/overrides/madara/girlslovemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/glorymanga/res/web_hi_res_512.png b/multisrc/overrides/madara/glorymanga/res/web_hi_res_512.png deleted file mode 100644 index f42e96b35..000000000 Binary files a/multisrc/overrides/madara/glorymanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/goodgirlsscan/res/web_hi_res_512.png b/multisrc/overrides/madara/goodgirlsscan/res/web_hi_res_512.png deleted file mode 100644 index f5ea283b4..000000000 Binary files a/multisrc/overrides/madara/goodgirlsscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/gooffansub/res/web_hi_res_512.png b/multisrc/overrides/madara/gooffansub/res/web_hi_res_512.png deleted file mode 100644 index 0feb8d0a8..000000000 Binary files a/multisrc/overrides/madara/gooffansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/grabberzone/res/web_hi_res_512.png b/multisrc/overrides/madara/grabberzone/res/web_hi_res_512.png deleted file mode 100644 index f831ed685..000000000 Binary files a/multisrc/overrides/madara/grabberzone/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/guncelmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/guncelmanga/res/web_hi_res_512.png deleted file mode 100644 index 68a951953..000000000 Binary files a/multisrc/overrides/madara/guncelmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hadesnofansub/res/web_hi_res_512.png b/multisrc/overrides/madara/hadesnofansub/res/web_hi_res_512.png deleted file mode 100644 index 5467903eb..000000000 Binary files a/multisrc/overrides/madara/hadesnofansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hadesnofansubhentai/res/web_hi_res_512.png b/multisrc/overrides/madara/hadesnofansubhentai/res/web_hi_res_512.png deleted file mode 100644 index 5467903eb..000000000 Binary files a/multisrc/overrides/madara/hadesnofansubhentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/harimanga/res/web_hi_res_512.png b/multisrc/overrides/madara/harimanga/res/web_hi_res_512.png deleted file mode 100644 index 36a125aa3..000000000 Binary files a/multisrc/overrides/madara/harimanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hattorimanga/res/web_hi_res_512.png b/multisrc/overrides/madara/hattorimanga/res/web_hi_res_512.png deleted file mode 100644 index 89d2a6ba0..000000000 Binary files a/multisrc/overrides/madara/hattorimanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hayalistic/res/web_hi_res_512.png b/multisrc/overrides/madara/hayalistic/res/web_hi_res_512.png deleted file mode 100644 index 4fece056a..000000000 Binary files a/multisrc/overrides/madara/hayalistic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentai20/res/web_hi_res_512.png b/multisrc/overrides/madara/hentai20/res/web_hi_res_512.png deleted file mode 100644 index a108f7186..000000000 Binary files a/multisrc/overrides/madara/hentai20/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentai3z/res/web_hi_res_512.png b/multisrc/overrides/madara/hentai3z/res/web_hi_res_512.png deleted file mode 100644 index a6f227e83..000000000 Binary files a/multisrc/overrides/madara/hentai3z/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentai4free/res/web_hi_res_512.png b/multisrc/overrides/madara/hentai4free/res/web_hi_res_512.png deleted file mode 100644 index 13412e22b..000000000 Binary files a/multisrc/overrides/madara/hentai4free/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaicube/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaicube/res/web_hi_res_512.png deleted file mode 100644 index cc3958a38..000000000 Binary files a/multisrc/overrides/madara/hentaicube/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaimanga/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaimanga/res/web_hi_res_512.png deleted file mode 100644 index bc66167b8..000000000 Binary files a/multisrc/overrides/madara/hentaimanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentairead/res/web_hi_res_512.png b/multisrc/overrides/madara/hentairead/res/web_hi_res_512.png deleted file mode 100644 index 075e8bee4..000000000 Binary files a/multisrc/overrides/madara/hentairead/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaiscantrad/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaiscantrad/res/web_hi_res_512.png deleted file mode 100644 index 5302c3131..000000000 Binary files a/multisrc/overrides/madara/hentaiscantrad/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaiwebtoon/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaiwebtoon/res/web_hi_res_512.png deleted file mode 100644 index f4f560d71..000000000 Binary files a/multisrc/overrides/madara/hentaiwebtoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaixcomic/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaixcomic/res/web_hi_res_512.png deleted file mode 100644 index 9c8ca45e9..000000000 Binary files a/multisrc/overrides/madara/hentaixcomic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaixdickgirl/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaixdickgirl/res/web_hi_res_512.png deleted file mode 100644 index 520536178..000000000 Binary files a/multisrc/overrides/madara/hentaixdickgirl/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaixyuri/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaixyuri/res/web_hi_res_512.png deleted file mode 100644 index 5da408088..000000000 Binary files a/multisrc/overrides/madara/hentaixyuri/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hentaizone/res/web_hi_res_512.png b/multisrc/overrides/madara/hentaizone/res/web_hi_res_512.png deleted file mode 100644 index 1f002cf5e..000000000 Binary files a/multisrc/overrides/madara/hentaizone/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/herenscan/res/web_hi_res_512.png b/multisrc/overrides/madara/herenscan/res/web_hi_res_512.png deleted file mode 100644 index e8a6308df..000000000 Binary files a/multisrc/overrides/madara/herenscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hipercool/res/web_hi_res_512.png b/multisrc/overrides/madara/hipercool/res/web_hi_res_512.png deleted file mode 100644 index 0843ac4cb..000000000 Binary files a/multisrc/overrides/madara/hipercool/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hiperdex/res/web_hi_res_512.png b/multisrc/overrides/madara/hiperdex/res/web_hi_res_512.png deleted file mode 100644 index 073470d4d..000000000 Binary files a/multisrc/overrides/madara/hiperdex/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/histoiredhentai/res/web_hi_res_512.png b/multisrc/overrides/madara/histoiredhentai/res/web_hi_res_512.png deleted file mode 100644 index 15b33efd5..000000000 Binary files a/multisrc/overrides/madara/histoiredhentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hizomanga/res/web_hi_res_512.png b/multisrc/overrides/madara/hizomanga/res/web_hi_res_512.png deleted file mode 100644 index 9a157af65..000000000 Binary files a/multisrc/overrides/madara/hizomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hm2d/res/web_hi_res_512.png b/multisrc/overrides/madara/hm2d/res/web_hi_res_512.png deleted file mode 100644 index 10f163e23..000000000 Binary files a/multisrc/overrides/madara/hm2d/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hmanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/hmanhwa/res/web_hi_res_512.png deleted file mode 100644 index 5b9eddfde..000000000 Binary files a/multisrc/overrides/madara/hmanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/housemangas/res/web_hi_res_512.png b/multisrc/overrides/madara/housemangas/res/web_hi_res_512.png deleted file mode 100644 index f91e7a213..000000000 Binary files a/multisrc/overrides/madara/housemangas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/hreads/res/web_hi_res_512.png b/multisrc/overrides/madara/hreads/res/web_hi_res_512.png deleted file mode 100644 index 4a179ddad..000000000 Binary files a/multisrc/overrides/madara/hreads/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/ikifeng/res/web_hi_res_512.png b/multisrc/overrides/madara/ikifeng/res/web_hi_res_512.png deleted file mode 100644 index bb3c63f40..000000000 Binary files a/multisrc/overrides/madara/ikifeng/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/illusionscan/res/web_hi_res_512.png b/multisrc/overrides/madara/illusionscan/res/web_hi_res_512.png deleted file mode 100644 index 87f603558..000000000 Binary files a/multisrc/overrides/madara/illusionscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/ilovemanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/ilovemanhwa/res/web_hi_res_512.png deleted file mode 100644 index bf4ba350d..000000000 Binary files a/multisrc/overrides/madara/ilovemanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/immortalupdates/res/web_hi_res_512.png b/multisrc/overrides/madara/immortalupdates/res/web_hi_res_512.png deleted file mode 100644 index ed173018e..000000000 Binary files a/multisrc/overrides/madara/immortalupdates/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/imperioscans/res/web_hi_res_512.png b/multisrc/overrides/madara/imperioscans/res/web_hi_res_512.png deleted file mode 100644 index 33d7b045e..000000000 Binary files a/multisrc/overrides/madara/imperioscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/infrafandub/res/web_hi_res_512.png b/multisrc/overrides/madara/infrafandub/res/web_hi_res_512.png deleted file mode 100644 index 84df1cfdf..000000000 Binary files a/multisrc/overrides/madara/infrafandub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/inmortalscan/res/web_hi_res_512.png b/multisrc/overrides/madara/inmortalscan/res/web_hi_res_512.png deleted file mode 100644 index 3cf25fe19..000000000 Binary files a/multisrc/overrides/madara/inmortalscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/instamanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/instamanhwa/res/web_hi_res_512.png deleted file mode 100644 index 81bc4a6c4..000000000 Binary files a/multisrc/overrides/madara/instamanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/isekaiscancom/res/web_hi_res_512.png b/multisrc/overrides/madara/isekaiscancom/res/web_hi_res_512.png deleted file mode 100644 index 6d008f059..000000000 Binary files a/multisrc/overrides/madara/isekaiscancom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/isekaiscaneu/res/web_hi_res_512.png b/multisrc/overrides/madara/isekaiscaneu/res/web_hi_res_512.png deleted file mode 100644 index 23fbe992d..000000000 Binary files a/multisrc/overrides/madara/isekaiscaneu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/isekaiscanmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/isekaiscanmanga/res/web_hi_res_512.png deleted file mode 100644 index 9c57e4179..000000000 Binary files a/multisrc/overrides/madara/isekaiscanmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/isekaiscantop/res/web_hi_res_512.png b/multisrc/overrides/madara/isekaiscantop/res/web_hi_res_512.png deleted file mode 100644 index 8dd18f43e..000000000 Binary files a/multisrc/overrides/madara/isekaiscantop/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/itsyourrightmanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/itsyourrightmanhua/res/web_hi_res_512.png deleted file mode 100644 index a4aae16ee..000000000 Binary files a/multisrc/overrides/madara/itsyourrightmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/kamisamaexplorer/res/web_hi_res_512.png b/multisrc/overrides/madara/kamisamaexplorer/res/web_hi_res_512.png deleted file mode 100644 index 1ca38eb53..000000000 Binary files a/multisrc/overrides/madara/kamisamaexplorer/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/karatcamscans/res/web_hi_res_512.png b/multisrc/overrides/madara/karatcamscans/res/web_hi_res_512.png deleted file mode 100644 index f8dc87ea0..000000000 Binary files a/multisrc/overrides/madara/karatcamscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/kataitake/res/web_hi_res_512.png b/multisrc/overrides/madara/kataitake/res/web_hi_res_512.png deleted file mode 100644 index 6b3e83781..000000000 Binary files a/multisrc/overrides/madara/kataitake/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/kawascans/res/web_hi_res_512.png b/multisrc/overrides/madara/kawascans/res/web_hi_res_512.png deleted file mode 100644 index 8c3e900c2..000000000 Binary files a/multisrc/overrides/madara/kawascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/kenhuascan/res/web_hi_res_512.png b/multisrc/overrides/madara/kenhuascan/res/web_hi_res_512.png deleted file mode 100644 index 1d0dc80ea..000000000 Binary files a/multisrc/overrides/madara/kenhuascan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/kingsmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/kingsmanga/res/web_hi_res_512.png deleted file mode 100644 index c15978aa1..000000000 Binary files a/multisrc/overrides/madara/kingsmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/kissmangain/res/web_hi_res_512.png b/multisrc/overrides/madara/kissmangain/res/web_hi_res_512.png deleted file mode 100644 index 057c59e14..000000000 Binary files a/multisrc/overrides/madara/kissmangain/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/klikmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/klikmanga/res/web_hi_res_512.png deleted file mode 100644 index 8a18d4dfe..000000000 Binary files a/multisrc/overrides/madara/klikmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/koinoboriscan/res/web_hi_res_512.png b/multisrc/overrides/madara/koinoboriscan/res/web_hi_res_512.png deleted file mode 100644 index 54ec5ad66..000000000 Binary files a/multisrc/overrides/madara/koinoboriscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/komikchan/res/web_hi_res_512.png b/multisrc/overrides/madara/komikchan/res/web_hi_res_512.png deleted file mode 100644 index 779a5a0a5..000000000 Binary files a/multisrc/overrides/madara/komikchan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/komikgue/res/web_hi_res_512.png b/multisrc/overrides/madara/komikgue/res/web_hi_res_512.png deleted file mode 100644 index 2a283540a..000000000 Binary files a/multisrc/overrides/madara/komikgue/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/komikrame/res/web_hi_res_512.png b/multisrc/overrides/madara/komikrame/res/web_hi_res_512.png deleted file mode 100644 index e6ebec60e..000000000 Binary files a/multisrc/overrides/madara/komikrame/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/ksgroupscans/res/web_hi_res_512.png b/multisrc/overrides/madara/ksgroupscans/res/web_hi_res_512.png deleted file mode 100644 index e4994fbed..000000000 Binary files a/multisrc/overrides/madara/ksgroupscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/kunmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/kunmanga/res/web_hi_res_512.png deleted file mode 100644 index 88a572a3e..000000000 Binary files a/multisrc/overrides/madara/kunmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/lalamanga/res/web_hi_res_512.png b/multisrc/overrides/madara/lalamanga/res/web_hi_res_512.png deleted file mode 100644 index cb084c124..000000000 Binary files a/multisrc/overrides/madara/lalamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/laramanga/res/web_hi_res_512.png b/multisrc/overrides/madara/laramanga/res/web_hi_res_512.png deleted file mode 100644 index cbbda4348..000000000 Binary files a/multisrc/overrides/madara/laramanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/lectormangalat/res/web_hi_res_512.png b/multisrc/overrides/madara/lectormangalat/res/web_hi_res_512.png deleted file mode 100644 index a1283b4ac..000000000 Binary files a/multisrc/overrides/madara/lectormangalat/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/leviatanscans/res/web_hi_res_512.png b/multisrc/overrides/madara/leviatanscans/res/web_hi_res_512.png deleted file mode 100644 index 76b4aaaf1..000000000 Binary files a/multisrc/overrides/madara/leviatanscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/lhtranslation/res/web_hi_res_512.png b/multisrc/overrides/madara/lhtranslation/res/web_hi_res_512.png deleted file mode 100644 index 4848e91b2..000000000 Binary files a/multisrc/overrides/madara/lhtranslation/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/lilymanga/res/web_hi_res_512.png b/multisrc/overrides/madara/lilymanga/res/web_hi_res_512.png deleted file mode 100644 index f746f4918..000000000 Binary files a/multisrc/overrides/madara/lilymanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/lkscanlation/res/web_hi_res_512.png b/multisrc/overrides/madara/lkscanlation/res/web_hi_res_512.png deleted file mode 100644 index 6883f143b..000000000 Binary files a/multisrc/overrides/madara/lkscanlation/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/lolicon/res/web_hi_res_512.png b/multisrc/overrides/madara/lolicon/res/web_hi_res_512.png deleted file mode 100644 index 31dd8f75a..000000000 Binary files a/multisrc/overrides/madara/lolicon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/lordmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/lordmanga/res/web_hi_res_512.png deleted file mode 100644 index 67958d28d..000000000 Binary files a/multisrc/overrides/madara/lordmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/luffymanga/res/web_hi_res_512.png b/multisrc/overrides/madara/luffymanga/res/web_hi_res_512.png deleted file mode 100644 index 61ff34eee..000000000 Binary files a/multisrc/overrides/madara/luffymanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/madaradex/res/web_hi_res_512.png b/multisrc/overrides/madara/madaradex/res/web_hi_res_512.png deleted file mode 100644 index e0a57d19b..000000000 Binary files a/multisrc/overrides/madara/madaradex/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manga18fx/res/web_hi_res_512.png b/multisrc/overrides/madara/manga18fx/res/web_hi_res_512.png deleted file mode 100644 index d00490515..000000000 Binary files a/multisrc/overrides/madara/manga18fx/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manga18x/res/web_hi_res_512.png b/multisrc/overrides/madara/manga18x/res/web_hi_res_512.png deleted file mode 100644 index 99c220a07..000000000 Binary files a/multisrc/overrides/madara/manga18x/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manga247/res/web_hi_res_512.png b/multisrc/overrides/madara/manga247/res/web_hi_res_512.png deleted file mode 100644 index ae5b6d652..000000000 Binary files a/multisrc/overrides/madara/manga247/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manga347/res/web_hi_res_512.png b/multisrc/overrides/madara/manga347/res/web_hi_res_512.png deleted file mode 100644 index 317663ff5..000000000 Binary files a/multisrc/overrides/madara/manga347/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manga3asq/res/web_hi_res_512.png b/multisrc/overrides/madara/manga3asq/res/web_hi_res_512.png deleted file mode 100644 index fa03dab05..000000000 Binary files a/multisrc/overrides/madara/manga3asq/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manga3s/res/web_hi_res_512.png b/multisrc/overrides/madara/manga3s/res/web_hi_res_512.png deleted file mode 100644 index f49672635..000000000 Binary files a/multisrc/overrides/madara/manga3s/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manga68/res/web_hi_res_512.png b/multisrc/overrides/madara/manga68/res/web_hi_res_512.png deleted file mode 100644 index 9caac9cbf..000000000 Binary files a/multisrc/overrides/madara/manga68/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaaction/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaaction/res/web_hi_res_512.png deleted file mode 100644 index 545a85d46..000000000 Binary files a/multisrc/overrides/madara/mangaaction/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangabaz/res/web_hi_res_512.png b/multisrc/overrides/madara/mangabaz/res/web_hi_res_512.png deleted file mode 100644 index c474381b7..000000000 Binary files a/multisrc/overrides/madara/mangabaz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangabee/res/web_hi_res_512.png b/multisrc/overrides/madara/mangabee/res/web_hi_res_512.png deleted file mode 100644 index cc60e72e2..000000000 Binary files a/multisrc/overrides/madara/mangabee/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangabin/res/web_hi_res_512.png b/multisrc/overrides/madara/mangabin/res/web_hi_res_512.png deleted file mode 100644 index 9d71dd953..000000000 Binary files a/multisrc/overrides/madara/mangabin/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangabob/res/web_hi_res_512.png b/multisrc/overrides/madara/mangabob/res/web_hi_res_512.png deleted file mode 100644 index b52395701..000000000 Binary files a/multisrc/overrides/madara/mangabob/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaboss/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaboss/res/web_hi_res_512.png deleted file mode 100644 index abb0b4ad7..000000000 Binary files a/multisrc/overrides/madara/mangaboss/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangacc/res/web_hi_res_512.png b/multisrc/overrides/madara/mangacc/res/web_hi_res_512.png deleted file mode 100644 index 32f995d77..000000000 Binary files a/multisrc/overrides/madara/mangacc/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangachill/res/web_hi_res_512.png b/multisrc/overrides/madara/mangachill/res/web_hi_res_512.png deleted file mode 100644 index ab35cbb08..000000000 Binary files a/multisrc/overrides/madara/mangachill/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaclash/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaclash/res/web_hi_res_512.png deleted file mode 100644 index 8213bf381..000000000 Binary files a/multisrc/overrides/madara/mangaclash/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaclashtv/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaclashtv/res/web_hi_res_512.png deleted file mode 100644 index b64f6b956..000000000 Binary files a/multisrc/overrides/madara/mangaclashtv/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangacrab/res/web_hi_res_512.png b/multisrc/overrides/madara/mangacrab/res/web_hi_res_512.png deleted file mode 100644 index ba40fa999..000000000 Binary files a/multisrc/overrides/madara/mangacrab/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangacrazy/res/web_hi_res_512.png b/multisrc/overrides/madara/mangacrazy/res/web_hi_res_512.png deleted file mode 100644 index 2880c3b52..000000000 Binary files a/multisrc/overrides/madara/mangacrazy/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangacultivator/res/web_hi_res_512.png b/multisrc/overrides/madara/mangacultivator/res/web_hi_res_512.png deleted file mode 100644 index b609a612a..000000000 Binary files a/multisrc/overrides/madara/mangacultivator/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangacv/res/web_hi_res_512.png b/multisrc/overrides/madara/mangacv/res/web_hi_res_512.png deleted file mode 100644 index 69f7e480a..000000000 Binary files a/multisrc/overrides/madara/mangacv/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangadash1001com/res/web_hi_res_512.png b/multisrc/overrides/madara/mangadash1001com/res/web_hi_res_512.png deleted file mode 100644 index a2cb2b986..000000000 Binary files a/multisrc/overrides/madara/mangadash1001com/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangadeemak/res/web_hi_res_512.png b/multisrc/overrides/madara/mangadeemak/res/web_hi_res_512.png deleted file mode 100644 index 9e93102b1..000000000 Binary files a/multisrc/overrides/madara/mangadeemak/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangadinotop/res/web_hi_res_512.png b/multisrc/overrides/madara/mangadinotop/res/web_hi_res_512.png deleted file mode 100644 index a624bd17d..000000000 Binary files a/multisrc/overrides/madara/mangadinotop/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangadistrict/res/web_hi_res_512.png b/multisrc/overrides/madara/mangadistrict/res/web_hi_res_512.png deleted file mode 100644 index eb35fee9a..000000000 Binary files a/multisrc/overrides/madara/mangadistrict/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangadiyari/res/web_hi_res_512.png b/multisrc/overrides/madara/mangadiyari/res/web_hi_res_512.png deleted file mode 100644 index 029668419..000000000 Binary files a/multisrc/overrides/madara/mangadiyari/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangadods/res/web_hi_res_512.png b/multisrc/overrides/madara/mangadods/res/web_hi_res_512.png deleted file mode 100644 index bbe1e2fce..000000000 Binary files a/multisrc/overrides/madara/mangadods/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangadol/res/web_hi_res_512.png b/multisrc/overrides/madara/mangadol/res/web_hi_res_512.png deleted file mode 100644 index 72dd69fbc..000000000 Binary files a/multisrc/overrides/madara/mangadol/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaeffect/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaeffect/res/web_hi_res_512.png deleted file mode 100644 index 9756f350c..000000000 Binary files a/multisrc/overrides/madara/mangaeffect/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangafastcom/res/web_hi_res_512.png b/multisrc/overrides/madara/mangafastcom/res/web_hi_res_512.png deleted file mode 100644 index 384825759..000000000 Binary files a/multisrc/overrides/madara/mangafastcom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangafenix/res/web_hi_res_512.png b/multisrc/overrides/madara/mangafenix/res/web_hi_res_512.png deleted file mode 100644 index ee8e959b3..000000000 Binary files a/multisrc/overrides/madara/mangafenix/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangafirstonline/res/web_hi_res_512.png b/multisrc/overrides/madara/mangafirstonline/res/web_hi_res_512.png deleted file mode 100644 index 683aba87f..000000000 Binary files a/multisrc/overrides/madara/mangafirstonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaforfree/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaforfree/res/web_hi_res_512.png deleted file mode 100644 index 4a3ce3884..000000000 Binary files a/multisrc/overrides/madara/mangaforfree/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaforfreecom/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaforfreecom/res/web_hi_res_512.png deleted file mode 100644 index 194d7cb93..000000000 Binary files a/multisrc/overrides/madara/mangaforfreecom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangafoxfull/res/web_hi_res_512.png b/multisrc/overrides/madara/mangafoxfull/res/web_hi_res_512.png deleted file mode 100644 index 7025642f0..000000000 Binary files a/multisrc/overrides/madara/mangafoxfull/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangafreakonline/res/web_hi_res_512.png b/multisrc/overrides/madara/mangafreakonline/res/web_hi_res_512.png deleted file mode 100644 index 47ca8336e..000000000 Binary files a/multisrc/overrides/madara/mangafreakonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangagalaxy/res/web_hi_res_512.png b/multisrc/overrides/madara/mangagalaxy/res/web_hi_res_512.png deleted file mode 100644 index 45ee4d677..000000000 Binary files a/multisrc/overrides/madara/mangagalaxy/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangagg/res/web_hi_res_512.png b/multisrc/overrides/madara/mangagg/res/web_hi_res_512.png deleted file mode 100644 index 64603da6e..000000000 Binary files a/multisrc/overrides/madara/mangagg/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangagoyaoi/res/web_hi_res_512.png b/multisrc/overrides/madara/mangagoyaoi/res/web_hi_res_512.png deleted file mode 100644 index a9978cae1..000000000 Binary files a/multisrc/overrides/madara/mangagoyaoi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangahentai/res/web_hi_res_512.png b/multisrc/overrides/madara/mangahentai/res/web_hi_res_512.png deleted file mode 100644 index 5ddd93c8c..000000000 Binary files a/multisrc/overrides/madara/mangahentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangahubfr/res/web_hi_res_512.png b/multisrc/overrides/madara/mangahubfr/res/web_hi_res_512.png deleted file mode 100644 index e6c32ebe8..000000000 Binary files a/multisrc/overrides/madara/mangahubfr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangahz/res/web_hi_res_512.png b/multisrc/overrides/madara/mangahz/res/web_hi_res_512.png deleted file mode 100644 index b33fe9a16..000000000 Binary files a/multisrc/overrides/madara/mangahz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangak2/res/web_hi_res_512.png b/multisrc/overrides/madara/mangak2/res/web_hi_res_512.png deleted file mode 100644 index c47749810..000000000 Binary files a/multisrc/overrides/madara/mangak2/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangakakalotio/res/web_hi_res_512.png b/multisrc/overrides/madara/mangakakalotio/res/web_hi_res_512.png deleted file mode 100644 index 202ad7c00..000000000 Binary files a/multisrc/overrides/madara/mangakakalotio/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangakeyfi/res/web_hi_res_512.png b/multisrc/overrides/madara/mangakeyfi/res/web_hi_res_512.png deleted file mode 100644 index 727e2b176..000000000 Binary files a/multisrc/overrides/madara/mangakeyfi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangakik/res/web_hi_res_512.png b/multisrc/overrides/madara/mangakik/res/web_hi_res_512.png deleted file mode 100644 index cfeb7b925..000000000 Binary files a/multisrc/overrides/madara/mangakik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaking/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaking/res/web_hi_res_512.png deleted file mode 100644 index 5a5a21245..000000000 Binary files a/multisrc/overrides/madara/mangaking/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangakiss/res/web_hi_res_512.png b/multisrc/overrides/madara/mangakiss/res/web_hi_res_512.png deleted file mode 100644 index 03366a72a..000000000 Binary files a/multisrc/overrides/madara/mangakiss/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangakitsune/res/web_hi_res_512.png b/multisrc/overrides/madara/mangakitsune/res/web_hi_res_512.png deleted file mode 100644 index 01e809369..000000000 Binary files a/multisrc/overrides/madara/mangakitsune/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangakl/res/web_hi_res_512.png b/multisrc/overrides/madara/mangakl/res/web_hi_res_512.png deleted file mode 100644 index 16263c0f8..000000000 Binary files a/multisrc/overrides/madara/mangakl/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangakomi/res/web_hi_res_512.png b/multisrc/overrides/madara/mangakomi/res/web_hi_res_512.png deleted file mode 100644 index 74cd477cf..000000000 Binary files a/multisrc/overrides/madara/mangakomi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaland/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaland/res/web_hi_res_512.png deleted file mode 100644 index e7d3a3f40..000000000 Binary files a/multisrc/overrides/madara/mangaland/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangalek/res/web_hi_res_512.png b/multisrc/overrides/madara/mangalek/res/web_hi_res_512.png deleted file mode 100644 index 68bdb88c2..000000000 Binary files a/multisrc/overrides/madara/mangalek/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaleks/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaleks/res/web_hi_res_512.png deleted file mode 100644 index 242a833da..000000000 Binary files a/multisrc/overrides/madara/mangaleks/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaleveling/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaleveling/res/web_hi_res_512.png deleted file mode 100644 index 374b9f427..000000000 Binary files a/multisrc/overrides/madara/mangaleveling/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangalinkio/res/web_hi_res_512.png b/multisrc/overrides/madara/mangalinkio/res/web_hi_res_512.png deleted file mode 100644 index 9bc3d12b6..000000000 Binary files a/multisrc/overrides/madara/mangalinkio/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangalionz/res/web_hi_res_512.png b/multisrc/overrides/madara/mangalionz/res/web_hi_res_512.png deleted file mode 100644 index 2ffd12834..000000000 Binary files a/multisrc/overrides/madara/mangalionz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangalord/res/web_hi_res_512.png b/multisrc/overrides/madara/mangalord/res/web_hi_res_512.png deleted file mode 100644 index 2093e38dc..000000000 Binary files a/multisrc/overrides/madara/mangalord/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangamammy/res/web_hi_res_512.png b/multisrc/overrides/madara/mangamammy/res/web_hi_res_512.png deleted file mode 100644 index afa989091..000000000 Binary files a/multisrc/overrides/madara/mangamammy/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangamaniacs/res/web_hi_res_512.png b/multisrc/overrides/madara/mangamaniacs/res/web_hi_res_512.png deleted file mode 100644 index fbc87d5a9..000000000 Binary files a/multisrc/overrides/madara/mangamaniacs/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangamitsu/res/web_hi_res_512.png b/multisrc/overrides/madara/mangamitsu/res/web_hi_res_512.png deleted file mode 100644 index af1672eaf..000000000 Binary files a/multisrc/overrides/madara/mangamitsu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manganelobiz/res/web_hi_res_512.png b/multisrc/overrides/madara/manganelobiz/res/web_hi_res_512.png deleted file mode 100644 index a624bd17d..000000000 Binary files a/multisrc/overrides/madara/manganelobiz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manganelowebsite/res/web_hi_res_512.png b/multisrc/overrides/madara/manganelowebsite/res/web_hi_res_512.png deleted file mode 100644 index c6bad55ed..000000000 Binary files a/multisrc/overrides/madara/manganelowebsite/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manganerds/res/web_hi_res_512.png b/multisrc/overrides/madara/manganerds/res/web_hi_res_512.png deleted file mode 100644 index 723ae884e..000000000 Binary files a/multisrc/overrides/madara/manganerds/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaonelove/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaonelove/res/web_hi_res_512.png deleted file mode 100644 index a14411700..000000000 Binary files a/multisrc/overrides/madara/mangaonelove/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaonlineteam/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaonlineteam/res/web_hi_res_512.png deleted file mode 100644 index 228d458cd..000000000 Binary files a/multisrc/overrides/madara/mangaonlineteam/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaonlineteamunoriginal/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaonlineteamunoriginal/res/web_hi_res_512.png deleted file mode 100644 index 24c0b68c3..000000000 Binary files a/multisrc/overrides/madara/mangaonlineteamunoriginal/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaowlblog/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaowlblog/res/web_hi_res_512.png deleted file mode 100644 index 29e87c79b..000000000 Binary files a/multisrc/overrides/madara/mangaowlblog/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaowlio/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaowlio/res/web_hi_res_512.png deleted file mode 100644 index 1b7dc6b6b..000000000 Binary files a/multisrc/overrides/madara/mangaowlio/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaowlus/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaowlus/res/web_hi_res_512.png deleted file mode 100644 index 7f5c02843..000000000 Binary files a/multisrc/overrides/madara/mangaowlus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangapt/res/web_hi_res_512.png b/multisrc/overrides/madara/mangapt/res/web_hi_res_512.png deleted file mode 100644 index 2ad87b86c..000000000 Binary files a/multisrc/overrides/madara/mangapt/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangapure/res/web_hi_res_512.png b/multisrc/overrides/madara/mangapure/res/web_hi_res_512.png deleted file mode 100644 index f8a8d7c11..000000000 Binary files a/multisrc/overrides/madara/mangapure/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaqueen/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaqueen/res/web_hi_res_512.png deleted file mode 100644 index 174043d12..000000000 Binary files a/multisrc/overrides/madara/mangaqueen/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaqueencom/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaqueencom/res/web_hi_res_512.png deleted file mode 100644 index b888d7534..000000000 Binary files a/multisrc/overrides/madara/mangaqueencom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaqueenonline/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaqueenonline/res/web_hi_res_512.png deleted file mode 100644 index ee69bd153..000000000 Binary files a/multisrc/overrides/madara/mangaqueenonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangarawinfo/res/web_hi_res_512.png b/multisrc/overrides/madara/mangarawinfo/res/web_hi_res_512.png deleted file mode 100644 index a7b94c377..000000000 Binary files a/multisrc/overrides/madara/mangarawinfo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaread/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaread/res/web_hi_res_512.png deleted file mode 100644 index cc8cce49d..000000000 Binary files a/multisrc/overrides/madara/mangaread/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangareadorg/res/web_hi_res_512.png b/multisrc/overrides/madara/mangareadorg/res/web_hi_res_512.png deleted file mode 100644 index 74db06f0b..000000000 Binary files a/multisrc/overrides/madara/mangareadorg/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangarockteam/res/web_hi_res_512.png b/multisrc/overrides/madara/mangarockteam/res/web_hi_res_512.png deleted file mode 100644 index 66b69cfa9..000000000 Binary files a/multisrc/overrides/madara/mangarockteam/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangarockteamunoriginal/res/web_hi_res_512.png b/multisrc/overrides/madara/mangarockteamunoriginal/res/web_hi_res_512.png deleted file mode 100644 index 86f271f4d..000000000 Binary files a/multisrc/overrides/madara/mangarockteamunoriginal/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangarocky/res/web_hi_res_512.png b/multisrc/overrides/madara/mangarocky/res/web_hi_res_512.png deleted file mode 100644 index 2234decc8..000000000 Binary files a/multisrc/overrides/madara/mangarocky/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangarolls/res/web_hi_res_512.png b/multisrc/overrides/madara/mangarolls/res/web_hi_res_512.png deleted file mode 100644 index 5bad8dd76..000000000 Binary files a/multisrc/overrides/madara/mangarolls/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangarose/res/web_hi_res_512.png b/multisrc/overrides/madara/mangarose/res/web_hi_res_512.png deleted file mode 100644 index 4aba20450..000000000 Binary files a/multisrc/overrides/madara/mangarose/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangarosie/res/web_hi_res_512.png b/multisrc/overrides/madara/mangarosie/res/web_hi_res_512.png deleted file mode 100644 index bad73d3e3..000000000 Binary files a/multisrc/overrides/madara/mangarosie/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaryu/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaryu/res/web_hi_res_512.png deleted file mode 100644 index 552c952df..000000000 Binary files a/multisrc/overrides/madara/mangaryu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangascantrad/res/web_hi_res_512.png b/multisrc/overrides/madara/mangascantrad/res/web_hi_res_512.png deleted file mode 100644 index fb94be929..000000000 Binary files a/multisrc/overrides/madara/mangascantrad/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangasco/res/web_hi_res_512.png b/multisrc/overrides/madara/mangasco/res/web_hi_res_512.png deleted file mode 100644 index d2b3a096d..000000000 Binary files a/multisrc/overrides/madara/mangasco/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangasehri/res/web_hi_res_512.png b/multisrc/overrides/madara/mangasehri/res/web_hi_res_512.png deleted file mode 100644 index ca0dae173..000000000 Binary files a/multisrc/overrides/madara/mangasehri/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangasiro/res/web_hi_res_512.png b/multisrc/overrides/madara/mangasiro/res/web_hi_res_512.png deleted file mode 100644 index 36df4d821..000000000 Binary files a/multisrc/overrides/madara/mangasiro/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangasnosekai/res/web_hi_res_512.png b/multisrc/overrides/madara/mangasnosekai/res/web_hi_res_512.png deleted file mode 100644 index 840547ea9..000000000 Binary files a/multisrc/overrides/madara/mangasnosekai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangasorigines/res/web_hi_res_512.png b/multisrc/overrides/madara/mangasorigines/res/web_hi_res_512.png deleted file mode 100644 index 87dbfb91c..000000000 Binary files a/multisrc/overrides/madara/mangasorigines/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangasoriginesfr/res/web_hi_res_512.png b/multisrc/overrides/madara/mangasoriginesfr/res/web_hi_res_512.png deleted file mode 100644 index f465790ac..000000000 Binary files a/multisrc/overrides/madara/mangasoriginesfr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaspark/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaspark/res/web_hi_res_512.png deleted file mode 100644 index 8c1d63630..000000000 Binary files a/multisrc/overrides/madara/mangaspark/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangastarz/res/web_hi_res_512.png b/multisrc/overrides/madara/mangastarz/res/web_hi_res_512.png deleted file mode 100644 index 210e788b8..000000000 Binary files a/multisrc/overrides/madara/mangastarz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangastic/res/web_hi_res_512.png b/multisrc/overrides/madara/mangastic/res/web_hi_res_512.png deleted file mode 100644 index 731fa82eb..000000000 Binary files a/multisrc/overrides/madara/mangastic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangasushi/res/web_hi_res_512.png b/multisrc/overrides/madara/mangasushi/res/web_hi_res_512.png deleted file mode 100644 index 6abf5a153..000000000 Binary files a/multisrc/overrides/madara/mangasushi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangatone/res/web_hi_res_512.png b/multisrc/overrides/madara/mangatone/res/web_hi_res_512.png deleted file mode 100644 index 4779db57a..000000000 Binary files a/multisrc/overrides/madara/mangatone/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangatoo/res/web_hi_res_512.png b/multisrc/overrides/madara/mangatoo/res/web_hi_res_512.png deleted file mode 100644 index 95cd111f2..000000000 Binary files a/multisrc/overrides/madara/mangatoo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangatoread/res/web_hi_res_512.png b/multisrc/overrides/madara/mangatoread/res/web_hi_res_512.png deleted file mode 100644 index b1824bbe1..000000000 Binary files a/multisrc/overrides/madara/mangatoread/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangatx/res/web_hi_res_512.png b/multisrc/overrides/madara/mangatx/res/web_hi_res_512.png deleted file mode 100644 index 8f2ab96f6..000000000 Binary files a/multisrc/overrides/madara/mangatx/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangatxunoriginal/res/web_hi_res_512.png b/multisrc/overrides/madara/mangatxunoriginal/res/web_hi_res_512.png deleted file mode 100644 index 44faa144b..000000000 Binary files a/multisrc/overrides/madara/mangatxunoriginal/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangatyrant/res/web_hi_res_512.png b/multisrc/overrides/madara/mangatyrant/res/web_hi_res_512.png deleted file mode 100644 index be48a766b..000000000 Binary files a/multisrc/overrides/madara/mangatyrant/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaupdatestop/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaupdatestop/res/web_hi_res_512.png deleted file mode 100644 index a624bd17d..000000000 Binary files a/multisrc/overrides/madara/mangaupdatestop/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaus/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaus/res/web_hi_res_512.png deleted file mode 100644 index 097e97156..000000000 Binary files a/multisrc/overrides/madara/mangaus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaweebs/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaweebs/res/web_hi_res_512.png deleted file mode 100644 index 73c83e523..000000000 Binary files a/multisrc/overrides/madara/mangaweebs/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangax1/res/web_hi_res_512.png b/multisrc/overrides/madara/mangax1/res/web_hi_res_512.png deleted file mode 100644 index 20122fa35..000000000 Binary files a/multisrc/overrides/madara/mangax1/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaxico/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaxico/res/web_hi_res_512.png deleted file mode 100644 index 01a54a032..000000000 Binary files a/multisrc/overrides/madara/mangaxico/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangaxp/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaxp/res/web_hi_res_512.png deleted file mode 100644 index 9867dc41b..000000000 Binary files a/multisrc/overrides/madara/mangaxp/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mangayami/res/web_hi_res_512.png b/multisrc/overrides/madara/mangayami/res/web_hi_res_512.png deleted file mode 100644 index 3c22ceaa7..000000000 Binary files a/multisrc/overrides/madara/mangayami/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhatic/res/web_hi_res_512.png b/multisrc/overrides/madara/manhatic/res/web_hi_res_512.png deleted file mode 100644 index ec6b4466d..000000000 Binary files a/multisrc/overrides/madara/manhatic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuabox/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuabox/res/web_hi_res_512.png deleted file mode 100644 index 7cc49eddb..000000000 Binary files a/multisrc/overrides/madara/manhuabox/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuachill/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuachill/res/web_hi_res_512.png deleted file mode 100644 index ba7db5273..000000000 Binary files a/multisrc/overrides/madara/manhuachill/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuadex/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuadex/res/web_hi_res_512.png deleted file mode 100644 index 2bcad01a4..000000000 Binary files a/multisrc/overrides/madara/manhuadex/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuaes/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuaes/res/web_hi_res_512.png deleted file mode 100644 index 4d49ec2fe..000000000 Binary files a/multisrc/overrides/madara/manhuaes/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuafast/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuafast/res/web_hi_res_512.png deleted file mode 100644 index 80441a379..000000000 Binary files a/multisrc/overrides/madara/manhuafast/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuaga/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuaga/res/web_hi_res_512.png deleted file mode 100644 index cc81014e4..000000000 Binary files a/multisrc/overrides/madara/manhuaga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuahot/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuahot/res/web_hi_res_512.png deleted file mode 100644 index cb38bb21e..000000000 Binary files a/multisrc/overrides/madara/manhuahot/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuakiss/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuakiss/res/web_hi_res_512.png deleted file mode 100644 index 35de407d7..000000000 Binary files a/multisrc/overrides/madara/manhuakiss/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuaplus/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuaplus/res/web_hi_res_512.png deleted file mode 100644 index 5f54f72c0..000000000 Binary files a/multisrc/overrides/madara/manhuaplus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuascaninfo/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuascaninfo/res/web_hi_res_512.png deleted file mode 100644 index 79d6a8907..000000000 Binary files a/multisrc/overrides/madara/manhuascaninfo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuasnet/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuasnet/res/web_hi_res_512.png deleted file mode 100644 index 37d6b1ce5..000000000 Binary files a/multisrc/overrides/madara/manhuasnet/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuasy/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuasy/res/web_hi_res_512.png deleted file mode 100644 index 0adc0ae8b..000000000 Binary files a/multisrc/overrides/madara/manhuasy/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuaus/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuaus/res/web_hi_res_512.png deleted file mode 100644 index 9e76a5ab5..000000000 Binary files a/multisrc/overrides/madara/manhuaus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuazone/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuazone/res/web_hi_res_512.png deleted file mode 100644 index 7d1008db9..000000000 Binary files a/multisrc/overrides/madara/manhuazone/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhuazonghe/res/web_hi_res_512.png b/multisrc/overrides/madara/manhuazonghe/res/web_hi_res_512.png deleted file mode 100644 index c01736a24..000000000 Binary files a/multisrc/overrides/madara/manhuazonghe/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwa18app/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwa18app/res/web_hi_res_512.png deleted file mode 100644 index fbe237a10..000000000 Binary files a/multisrc/overrides/madara/manhwa18app/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwa18cc/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwa18cc/res/web_hi_res_512.png deleted file mode 100644 index 7b78edc10..000000000 Binary files a/multisrc/overrides/madara/manhwa18cc/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwa18org/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwa18org/res/web_hi_res_512.png deleted file mode 100644 index a30a5c7a6..000000000 Binary files a/multisrc/overrides/madara/manhwa18org/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwa2read/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwa2read/res/web_hi_res_512.png deleted file mode 100644 index cfc34d4db..000000000 Binary files a/multisrc/overrides/madara/manhwa2read/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwa365/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwa365/res/web_hi_res_512.png deleted file mode 100644 index 8ceb6a6d6..000000000 Binary files a/multisrc/overrides/madara/manhwa365/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwa68/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwa68/res/web_hi_res_512.png deleted file mode 100644 index c8f228017..000000000 Binary files a/multisrc/overrides/madara/manhwa68/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwabookshelf/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwabookshelf/res/web_hi_res_512.png deleted file mode 100644 index bd101dc82..000000000 Binary files a/multisrc/overrides/madara/manhwabookshelf/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwaclan/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwaclan/res/web_hi_res_512.png deleted file mode 100644 index 5896e9c0a..000000000 Binary files a/multisrc/overrides/madara/manhwaclan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwadashraw/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwadashraw/res/web_hi_res_512.png deleted file mode 100644 index 7959338bc..000000000 Binary files a/multisrc/overrides/madara/manhwadashraw/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwafull/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwafull/res/web_hi_res_512.png deleted file mode 100644 index 104910e64..000000000 Binary files a/multisrc/overrides/madara/manhwafull/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwahentaime/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwahentaime/res/web_hi_res_512.png deleted file mode 100644 index 782baca97..000000000 Binary files a/multisrc/overrides/madara/manhwahentaime/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwalatino/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwalatino/res/web_hi_res_512.png deleted file mode 100644 index 6568583f2..000000000 Binary files a/multisrc/overrides/madara/manhwalatino/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwamanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwamanhua/res/web_hi_res_512.png deleted file mode 100644 index 0b35f1159..000000000 Binary files a/multisrc/overrides/madara/manhwamanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwanew/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwanew/res/web_hi_res_512.png deleted file mode 100644 index 7cf4f9172..000000000 Binary files a/multisrc/overrides/madara/manhwanew/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwaraw/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwaraw/res/web_hi_res_512.png deleted file mode 100644 index 3e6909e38..000000000 Binary files a/multisrc/overrides/madara/manhwaraw/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwasmen/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwasmen/res/web_hi_res_512.png deleted file mode 100644 index 9f947f84a..000000000 Binary files a/multisrc/overrides/madara/manhwasmen/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwatop/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwatop/res/web_hi_res_512.png deleted file mode 100644 index 4b7b312ac..000000000 Binary files a/multisrc/overrides/madara/manhwatop/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwaworld/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwaworld/res/web_hi_res_512.png deleted file mode 100644 index 7e6e09ee3..000000000 Binary files a/multisrc/overrides/madara/manhwaworld/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwaz/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwaz/res/web_hi_res_512.png deleted file mode 100644 index 724881f85..000000000 Binary files a/multisrc/overrides/madara/manhwaz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manhwuafans/res/web_hi_res_512.png b/multisrc/overrides/madara/manhwuafans/res/web_hi_res_512.png deleted file mode 100644 index 1a1228433..000000000 Binary files a/multisrc/overrides/madara/manhwuafans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mantrazscan/res/web_hi_res_512.png b/multisrc/overrides/madara/mantrazscan/res/web_hi_res_512.png deleted file mode 100644 index 0c24dc41c..000000000 Binary files a/multisrc/overrides/madara/mantrazscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manycomic/res/web_hi_res_512.png b/multisrc/overrides/madara/manycomic/res/web_hi_res_512.png deleted file mode 100644 index 07c9e4e67..000000000 Binary files a/multisrc/overrides/madara/manycomic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manytoon/res/web_hi_res_512.png b/multisrc/overrides/madara/manytoon/res/web_hi_res_512.png deleted file mode 100644 index 46cab055b..000000000 Binary files a/multisrc/overrides/madara/manytoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manytoonclub/res/web_hi_res_512.png b/multisrc/overrides/madara/manytoonclub/res/web_hi_res_512.png deleted file mode 100644 index 2c268062e..000000000 Binary files a/multisrc/overrides/madara/manytoonclub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/manytoonme/res/web_hi_res_512.png b/multisrc/overrides/madara/manytoonme/res/web_hi_res_512.png deleted file mode 100644 index 6c601c016..000000000 Binary files a/multisrc/overrides/madara/manytoonme/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mgkomik/res/web_hi_res_512.png b/multisrc/overrides/madara/mgkomik/res/web_hi_res_512.png deleted file mode 100644 index 0becfc2fe..000000000 Binary files a/multisrc/overrides/madara/mgkomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/midnightmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/midnightmanga/res/web_hi_res_512.png deleted file mode 100644 index 7a1414369..000000000 Binary files a/multisrc/overrides/madara/midnightmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/midnightmessscans/res/web_hi_res_512.png b/multisrc/overrides/madara/midnightmessscans/res/web_hi_res_512.png deleted file mode 100644 index caf5a693b..000000000 Binary files a/multisrc/overrides/madara/midnightmessscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/milftoon/res/web_hi_res_512.png b/multisrc/overrides/madara/milftoon/res/web_hi_res_512.png deleted file mode 100644 index 877314890..000000000 Binary files a/multisrc/overrides/madara/milftoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mmscans/res/web_hi_res_512.png b/multisrc/overrides/madara/mmscans/res/web_hi_res_512.png deleted file mode 100644 index c42ab5fb1..000000000 Binary files a/multisrc/overrides/madara/mmscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/momonohanascan/res/web_hi_res_512.png b/multisrc/overrides/madara/momonohanascan/res/web_hi_res_512.png deleted file mode 100644 index 3cc1e8110..000000000 Binary files a/multisrc/overrides/madara/momonohanascan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/monarcamanga/res/web_hi_res_512.png b/multisrc/overrides/madara/monarcamanga/res/web_hi_res_512.png deleted file mode 100644 index 0fe17a112..000000000 Binary files a/multisrc/overrides/madara/monarcamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mortalsgroove/res/web_hi_res_512.png b/multisrc/overrides/madara/mortalsgroove/res/web_hi_res_512.png deleted file mode 100644 index 6e0a94fe0..000000000 Binary files a/multisrc/overrides/madara/mortalsgroove/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/muctau/res/web_hi_res_512.png b/multisrc/overrides/madara/muctau/res/web_hi_res_512.png deleted file mode 100644 index d64b05840..000000000 Binary files a/multisrc/overrides/madara/muctau/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/murimscan/res/web_hi_res_512.png b/multisrc/overrides/madara/murimscan/res/web_hi_res_512.png deleted file mode 100644 index c90eab691..000000000 Binary files a/multisrc/overrides/madara/murimscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mymanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/mymanhwa/res/web_hi_res_512.png deleted file mode 100644 index b47fa5b8b..000000000 Binary files a/multisrc/overrides/madara/mymanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/mysticalmerries/res/web_hi_res_512.png b/multisrc/overrides/madara/mysticalmerries/res/web_hi_res_512.png deleted file mode 100644 index e844b0e99..000000000 Binary files a/multisrc/overrides/madara/mysticalmerries/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/neatmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/neatmanga/res/web_hi_res_512.png deleted file mode 100644 index 3918896cc..000000000 Binary files a/multisrc/overrides/madara/neatmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/nekopostco/res/web_hi_res_512.png b/multisrc/overrides/madara/nekopostco/res/web_hi_res_512.png deleted file mode 100644 index 8f8ae9aa7..000000000 Binary files a/multisrc/overrides/madara/nekopostco/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/nekoscan/res/web_hi_res_512.png b/multisrc/overrides/madara/nekoscan/res/web_hi_res_512.png deleted file mode 100644 index f7363debc..000000000 Binary files a/multisrc/overrides/madara/nekoscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/newmanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/newmanhua/res/web_hi_res_512.png deleted file mode 100644 index b191a5470..000000000 Binary files a/multisrc/overrides/madara/newmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/nightcomic/res/web_hi_res_512.png b/multisrc/overrides/madara/nightcomic/res/web_hi_res_512.png deleted file mode 100644 index eddc78199..000000000 Binary files a/multisrc/overrides/madara/nightcomic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/nijitranslations/res/web_hi_res_512.png b/multisrc/overrides/madara/nijitranslations/res/web_hi_res_512.png deleted file mode 100644 index 77f039eec..000000000 Binary files a/multisrc/overrides/madara/nijitranslations/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/nitroscans/res/web_hi_res_512.png b/multisrc/overrides/madara/nitroscans/res/web_hi_res_512.png deleted file mode 100644 index e7cf0eda0..000000000 Binary files a/multisrc/overrides/madara/nitroscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/noblessetranslations/res/web_hi_res_512.png b/multisrc/overrides/madara/noblessetranslations/res/web_hi_res_512.png deleted file mode 100644 index e61eec02d..000000000 Binary files a/multisrc/overrides/madara/noblessetranslations/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/noindexscan/res/web_hi_res_512.png b/multisrc/overrides/madara/noindexscan/res/web_hi_res_512.png deleted file mode 100644 index acbefccd6..000000000 Binary files a/multisrc/overrides/madara/noindexscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/novelcrow/res/web_hi_res_512.png b/multisrc/overrides/madara/novelcrow/res/web_hi_res_512.png deleted file mode 100644 index e4b5385be..000000000 Binary files a/multisrc/overrides/madara/novelcrow/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/novelmic/res/web_hi_res_512.png b/multisrc/overrides/madara/novelmic/res/web_hi_res_512.png deleted file mode 100644 index 283ec82ff..000000000 Binary files a/multisrc/overrides/madara/novelmic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/ohnomanga/res/web_hi_res_512.png b/multisrc/overrides/madara/ohnomanga/res/web_hi_res_512.png deleted file mode 100644 index 2d57b8e28..000000000 Binary files a/multisrc/overrides/madara/ohnomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pantheonscan/res/web_hi_res_512.png b/multisrc/overrides/madara/pantheonscan/res/web_hi_res_512.png deleted file mode 100644 index 62f530a34..000000000 Binary files a/multisrc/overrides/madara/pantheonscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/paragonscans/res/web_hi_res_512.png b/multisrc/overrides/madara/paragonscans/res/web_hi_res_512.png deleted file mode 100644 index 916b36bee..000000000 Binary files a/multisrc/overrides/madara/paragonscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pawmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/pawmanga/res/web_hi_res_512.png deleted file mode 100644 index 72158ffb5..000000000 Binary files a/multisrc/overrides/madara/pawmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/petrotechsociety/res/web_hi_res_512.png b/multisrc/overrides/madara/petrotechsociety/res/web_hi_res_512.png deleted file mode 100644 index 1b6a3c9c0..000000000 Binary files a/multisrc/overrides/madara/petrotechsociety/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pianmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/pianmanga/res/web_hi_res_512.png deleted file mode 100644 index 8574c4fd7..000000000 Binary files a/multisrc/overrides/madara/pianmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pikiranwibu/res/web_hi_res_512.png b/multisrc/overrides/madara/pikiranwibu/res/web_hi_res_512.png deleted file mode 100644 index b8e2b20a9..000000000 Binary files a/multisrc/overrides/madara/pikiranwibu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pirulitorosa/res/web_hi_res_512.png b/multisrc/overrides/madara/pirulitorosa/res/web_hi_res_512.png deleted file mode 100644 index b2f656154..000000000 Binary files a/multisrc/overrides/madara/pirulitorosa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/platinumcrown/res/web_hi_res_512.png b/multisrc/overrides/madara/platinumcrown/res/web_hi_res_512.png deleted file mode 100644 index 204767388..000000000 Binary files a/multisrc/overrides/madara/platinumcrown/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pmscans/res/web_hi_res_512.png b/multisrc/overrides/madara/pmscans/res/web_hi_res_512.png deleted file mode 100644 index a174dd63b..000000000 Binary files a/multisrc/overrides/madara/pmscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pojokmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/pojokmanga/res/web_hi_res_512.png deleted file mode 100644 index 55bab9f25..000000000 Binary files a/multisrc/overrides/madara/pojokmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pomanga/res/web_hi_res_512.png b/multisrc/overrides/madara/pomanga/res/web_hi_res_512.png deleted file mode 100644 index efb6b14aa..000000000 Binary files a/multisrc/overrides/madara/pomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/ponymanga/res/web_hi_res_512.png b/multisrc/overrides/madara/ponymanga/res/web_hi_res_512.png deleted file mode 100644 index b86a13bad..000000000 Binary files a/multisrc/overrides/madara/ponymanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/porncomix/res/web_hi_res_512.png b/multisrc/overrides/madara/porncomix/res/web_hi_res_512.png deleted file mode 100644 index 93fd7842d..000000000 Binary files a/multisrc/overrides/madara/porncomix/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pornhwa18/res/web_hi_res_512.png b/multisrc/overrides/madara/pornhwa18/res/web_hi_res_512.png deleted file mode 100644 index 4437eddd5..000000000 Binary files a/multisrc/overrides/madara/pornhwa18/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/pornwha/res/web_hi_res_512.png b/multisrc/overrides/madara/pornwha/res/web_hi_res_512.png deleted file mode 100644 index 242964b42..000000000 Binary files a/multisrc/overrides/madara/pornwha/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/prismascans/res/web_hi_res_512.png b/multisrc/overrides/madara/prismascans/res/web_hi_res_512.png deleted file mode 100644 index f2042137e..000000000 Binary files a/multisrc/overrides/madara/prismascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/projetoscanlator/res/web_hi_res_512.png b/multisrc/overrides/madara/projetoscanlator/res/web_hi_res_512.png deleted file mode 100644 index 1bad07cee..000000000 Binary files a/multisrc/overrides/madara/projetoscanlator/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/ragnarokscan/res/web_hi_res_512.png b/multisrc/overrides/madara/ragnarokscan/res/web_hi_res_512.png deleted file mode 100644 index 27b9c8112..000000000 Binary files a/multisrc/overrides/madara/ragnarokscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/raijinscans/res/web_hi_res_512.png b/multisrc/overrides/madara/raijinscans/res/web_hi_res_512.png deleted file mode 100644 index e03b14cf2..000000000 Binary files a/multisrc/overrides/madara/raijinscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/randomscan/res/web_hi_res_512.png b/multisrc/overrides/madara/randomscan/res/web_hi_res_512.png deleted file mode 100644 index e287535d6..000000000 Binary files a/multisrc/overrides/madara/randomscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/rawdex/res/web_hi_res_512.png b/multisrc/overrides/madara/rawdex/res/web_hi_res_512.png deleted file mode 100644 index a71d1bf2b..000000000 Binary files a/multisrc/overrides/madara/rawdex/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/readadult/res/web_hi_res_512.png b/multisrc/overrides/madara/readadult/res/web_hi_res_512.png deleted file mode 100644 index e01aa90d9..000000000 Binary files a/multisrc/overrides/madara/readadult/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/readergen/res/web_hi_res_512.png b/multisrc/overrides/madara/readergen/res/web_hi_res_512.png deleted file mode 100644 index d79614b27..000000000 Binary files a/multisrc/overrides/madara/readergen/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/readfreecomics/res/web_hi_res_512.png b/multisrc/overrides/madara/readfreecomics/res/web_hi_res_512.png deleted file mode 100644 index 6eba8be25..000000000 Binary files a/multisrc/overrides/madara/readfreecomics/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/readmangafree/res/web_hi_res_512.png b/multisrc/overrides/madara/readmangafree/res/web_hi_res_512.png deleted file mode 100644 index 6babc6a2b..000000000 Binary files a/multisrc/overrides/madara/readmangafree/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/readmanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/readmanhua/res/web_hi_res_512.png deleted file mode 100644 index a804f7a83..000000000 Binary files a/multisrc/overrides/madara/readmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/reaperscans/res/web_hi_res_512.png b/multisrc/overrides/madara/reaperscans/res/web_hi_res_512.png deleted file mode 100644 index 1c6f8c99c..000000000 Binary files a/multisrc/overrides/madara/reaperscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/resetscans/res/web_hi_res_512.png b/multisrc/overrides/madara/resetscans/res/web_hi_res_512.png deleted file mode 100644 index 7cfb852a2..000000000 Binary files a/multisrc/overrides/madara/resetscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/rh2plusmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/rh2plusmanga/res/web_hi_res_512.png deleted file mode 100644 index 7eb5bb5bc..000000000 Binary files a/multisrc/overrides/madara/rh2plusmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/rightdarkscan/res/web_hi_res_512.png b/multisrc/overrides/madara/rightdarkscan/res/web_hi_res_512.png deleted file mode 100644 index 4e58fd473..000000000 Binary files a/multisrc/overrides/madara/rightdarkscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/rio2manga/res/web_hi_res_512.png b/multisrc/overrides/madara/rio2manga/res/web_hi_res_512.png deleted file mode 100644 index fe38e733d..000000000 Binary files a/multisrc/overrides/madara/rio2manga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/romantikmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/romantikmanga/res/web_hi_res_512.png deleted file mode 100644 index a94de3e07..000000000 Binary files a/multisrc/overrides/madara/romantikmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/ruyamanga/res/web_hi_res_512.png b/multisrc/overrides/madara/ruyamanga/res/web_hi_res_512.png deleted file mode 100644 index 097591b1b..000000000 Binary files a/multisrc/overrides/madara/ruyamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/s2manga/res/web_hi_res_512.png b/multisrc/overrides/madara/s2manga/res/web_hi_res_512.png deleted file mode 100644 index c39e43b09..000000000 Binary files a/multisrc/overrides/madara/s2manga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/samuraiscan/res/web_hi_res_512.png b/multisrc/overrides/madara/samuraiscan/res/web_hi_res_512.png deleted file mode 100644 index 2e112e30a..000000000 Binary files a/multisrc/overrides/madara/samuraiscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sawamics/res/web_hi_res_512.png b/multisrc/overrides/madara/sawamics/res/web_hi_res_512.png deleted file mode 100644 index 3f315b3f0..000000000 Binary files a/multisrc/overrides/madara/sawamics/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/scambertraslator/res/web_hi_res_512.png b/multisrc/overrides/madara/scambertraslator/res/web_hi_res_512.png deleted file mode 100644 index ae806aa90..000000000 Binary files a/multisrc/overrides/madara/scambertraslator/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/scanhentaimenu/res/web_hi_res_512.png b/multisrc/overrides/madara/scanhentaimenu/res/web_hi_res_512.png deleted file mode 100644 index f43dc1b8d..000000000 Binary files a/multisrc/overrides/madara/scanhentaimenu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/scantradvf/res/web_hi_res_512.png b/multisrc/overrides/madara/scantradvf/res/web_hi_res_512.png deleted file mode 100644 index 38dbd0a52..000000000 Binary files a/multisrc/overrides/madara/scantradvf/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sdlscans/res/web_hi_res_512.png b/multisrc/overrides/madara/sdlscans/res/web_hi_res_512.png deleted file mode 100644 index a6d9c2b3c..000000000 Binary files a/multisrc/overrides/madara/sdlscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/setsuscans/res/web_hi_res_512.png b/multisrc/overrides/madara/setsuscans/res/web_hi_res_512.png deleted file mode 100644 index af6c6d024..000000000 Binary files a/multisrc/overrides/madara/setsuscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shadowtrad/res/web_hi_res_512.png b/multisrc/overrides/madara/shadowtrad/res/web_hi_res_512.png deleted file mode 100644 index a9e1b31ef..000000000 Binary files a/multisrc/overrides/madara/shadowtrad/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shavelproiection/res/web_hi_res_512.png b/multisrc/overrides/madara/shavelproiection/res/web_hi_res_512.png deleted file mode 100644 index 02663d9a1..000000000 Binary files a/multisrc/overrides/madara/shavelproiection/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shayami/res/web_hi_res_512.png b/multisrc/overrides/madara/shayami/res/web_hi_res_512.png deleted file mode 100644 index e7f7c7588..000000000 Binary files a/multisrc/overrides/madara/shayami/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shibamanga/res/web_hi_res_512.png b/multisrc/overrides/madara/shibamanga/res/web_hi_res_512.png deleted file mode 100644 index ddb05c289..000000000 Binary files a/multisrc/overrides/madara/shibamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shieldmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/shieldmanga/res/web_hi_res_512.png deleted file mode 100644 index 8657455a0..000000000 Binary files a/multisrc/overrides/madara/shieldmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shinigami/additional.gradle b/multisrc/overrides/madara/shinigami/additional.gradle index 56e3d5c86..0ffbe4386 100644 --- a/multisrc/overrides/madara/shinigami/additional.gradle +++ b/multisrc/overrides/madara/shinigami/additional.gradle @@ -1,3 +1,3 @@ dependencies { - implementation(project(":lib-synchrony")) + implementation(project(":lib:synchrony")) } diff --git a/multisrc/overrides/madara/shinigami/res/web_hi_res_512.png b/multisrc/overrides/madara/shinigami/res/web_hi_res_512.png deleted file mode 100644 index 5a88d48f8..000000000 Binary files a/multisrc/overrides/madara/shinigami/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shootingstarscans/res/web_hi_res_512.png b/multisrc/overrides/madara/shootingstarscans/res/web_hi_res_512.png deleted file mode 100644 index 3cbd4982b..000000000 Binary files a/multisrc/overrides/madara/shootingstarscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/shoujohearts/res/web_hi_res_512.png b/multisrc/overrides/madara/shoujohearts/res/web_hi_res_512.png deleted file mode 100644 index 2fe740be6..000000000 Binary files a/multisrc/overrides/madara/shoujohearts/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sinensis/res/web_hi_res_512.png b/multisrc/overrides/madara/sinensis/res/web_hi_res_512.png deleted file mode 100644 index 8911a7ec5..000000000 Binary files a/multisrc/overrides/madara/sinensis/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sisigelap/res/web_hi_res_512.png b/multisrc/overrides/madara/sisigelap/res/web_hi_res_512.png deleted file mode 100644 index afa32700a..000000000 Binary files a/multisrc/overrides/madara/sisigelap/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/siyahmelek/res/web_hi_res_512.png b/multisrc/overrides/madara/siyahmelek/res/web_hi_res_512.png deleted file mode 100644 index e18de1809..000000000 Binary files a/multisrc/overrides/madara/siyahmelek/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/skymangaxyz/res/web_hi_res_512.png b/multisrc/overrides/madara/skymangaxyz/res/web_hi_res_512.png deleted file mode 100644 index 3cdbdc144..000000000 Binary files a/multisrc/overrides/madara/skymangaxyz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sleepytranslations/res/web_hi_res_512.png b/multisrc/overrides/madara/sleepytranslations/res/web_hi_res_512.png deleted file mode 100644 index f3d538376..000000000 Binary files a/multisrc/overrides/madara/sleepytranslations/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sololeveling/res/web_hi_res_512.png b/multisrc/overrides/madara/sololeveling/res/web_hi_res_512.png deleted file mode 100644 index 3bdd60e18..000000000 Binary files a/multisrc/overrides/madara/sololeveling/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sugarbabies/res/web_hi_res_512.png b/multisrc/overrides/madara/sugarbabies/res/web_hi_res_512.png deleted file mode 100644 index 2ad4bd4b6..000000000 Binary files a/multisrc/overrides/madara/sugarbabies/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/summanga/res/web_hi_res_512.png b/multisrc/overrides/madara/summanga/res/web_hi_res_512.png deleted file mode 100644 index fc027f0a1..000000000 Binary files a/multisrc/overrides/madara/summanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sunshinebutterflyscans/res/web_hi_res_512.png b/multisrc/overrides/madara/sunshinebutterflyscans/res/web_hi_res_512.png deleted file mode 100644 index 70d46e55d..000000000 Binary files a/multisrc/overrides/madara/sunshinebutterflyscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/sweettimescan/res/web_hi_res_512.png b/multisrc/overrides/madara/sweettimescan/res/web_hi_res_512.png deleted file mode 100644 index fd7fdd67f..000000000 Binary files a/multisrc/overrides/madara/sweettimescan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/tappytoonnet/res/web_hi_res_512.png b/multisrc/overrides/madara/tappytoonnet/res/web_hi_res_512.png deleted file mode 100644 index 5af649cc0..000000000 Binary files a/multisrc/overrides/madara/tappytoonnet/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/tatakaescan/res/web_hi_res_512.png b/multisrc/overrides/madara/tatakaescan/res/web_hi_res_512.png deleted file mode 100644 index e5813bc26..000000000 Binary files a/multisrc/overrides/madara/tatakaescan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/taurusfansub/res/web_hi_res_512.png b/multisrc/overrides/madara/taurusfansub/res/web_hi_res_512.png deleted file mode 100644 index ce77dd786..000000000 Binary files a/multisrc/overrides/madara/taurusfansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/teenmanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/teenmanhua/res/web_hi_res_512.png deleted file mode 100644 index b2e362d2b..000000000 Binary files a/multisrc/overrides/madara/teenmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/thebeginningaftertheend/res/web_hi_res_512.png b/multisrc/overrides/madara/thebeginningaftertheend/res/web_hi_res_512.png deleted file mode 100644 index 0194d561d..000000000 Binary files a/multisrc/overrides/madara/thebeginningaftertheend/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/theblank/res/web_hi_res_512.png b/multisrc/overrides/madara/theblank/res/web_hi_res_512.png deleted file mode 100644 index 7df497287..000000000 Binary files a/multisrc/overrides/madara/theblank/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/theguild/res/web_hi_res_512.png b/multisrc/overrides/madara/theguild/res/web_hi_res_512.png deleted file mode 100644 index a2a9316bf..000000000 Binary files a/multisrc/overrides/madara/theguild/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/threesixtyfivemanga/res/web_hi_res_512.png b/multisrc/overrides/madara/threesixtyfivemanga/res/web_hi_res_512.png deleted file mode 100644 index f4704db87..000000000 Binary files a/multisrc/overrides/madara/threesixtyfivemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/timenaight/res/web_hi_res_512.png b/multisrc/overrides/madara/timenaight/res/web_hi_res_512.png deleted file mode 100644 index a99172d17..000000000 Binary files a/multisrc/overrides/madara/timenaight/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/todaymic/res/web_hi_res_512.png b/multisrc/overrides/madara/todaymic/res/web_hi_res_512.png deleted file mode 100644 index 04bd2eebe..000000000 Binary files a/multisrc/overrides/madara/todaymic/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/tonizutoon/res/web_hi_res_512.png b/multisrc/overrides/madara/tonizutoon/res/web_hi_res_512.png deleted file mode 100644 index 518eabae2..000000000 Binary files a/multisrc/overrides/madara/tonizutoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/toonchill/res/web_hi_res_512.png b/multisrc/overrides/madara/toonchill/res/web_hi_res_512.png deleted file mode 100644 index a9b03e7d3..000000000 Binary files a/multisrc/overrides/madara/toonchill/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/toongod/res/web_hi_res_512.png b/multisrc/overrides/madara/toongod/res/web_hi_res_512.png deleted file mode 100644 index 7b5fa8f7e..000000000 Binary files a/multisrc/overrides/madara/toongod/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/toonily/res/web_hi_res_512.png b/multisrc/overrides/madara/toonily/res/web_hi_res_512.png deleted file mode 100644 index 7a63b18a1..000000000 Binary files a/multisrc/overrides/madara/toonily/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/toonizy/res/web_hi_res_512.png b/multisrc/overrides/madara/toonizy/res/web_hi_res_512.png deleted file mode 100644 index c378308af..000000000 Binary files a/multisrc/overrides/madara/toonizy/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/toonmany/res/web_hi_res_512.png b/multisrc/overrides/madara/toonmany/res/web_hi_res_512.png deleted file mode 100644 index 966fc22ee..000000000 Binary files a/multisrc/overrides/madara/toonmany/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/topmanhua/res/web_hi_res_512.png b/multisrc/overrides/madara/topmanhua/res/web_hi_res_512.png deleted file mode 100644 index 5f49aaf11..000000000 Binary files a/multisrc/overrides/madara/topmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/topreadmanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/topreadmanhwa/res/web_hi_res_512.png deleted file mode 100644 index 273d50ce6..000000000 Binary files a/multisrc/overrides/madara/topreadmanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/tortugaceviri/res/web_hi_res_512.png b/multisrc/overrides/madara/tortugaceviri/res/web_hi_res_512.png deleted file mode 100644 index 66ad5c883..000000000 Binary files a/multisrc/overrides/madara/tortugaceviri/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/traduccionesmoonlight/res/web_hi_res_512.png b/multisrc/overrides/madara/traduccionesmoonlight/res/web_hi_res_512.png deleted file mode 100644 index bdfc28d88..000000000 Binary files a/multisrc/overrides/madara/traduccionesmoonlight/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/treemanga/res/web_hi_res_512.png b/multisrc/overrides/madara/treemanga/res/web_hi_res_512.png deleted file mode 100644 index ff38c5280..000000000 Binary files a/multisrc/overrides/madara/treemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/tritiniascans/res/web_hi_res_512.png b/multisrc/overrides/madara/tritiniascans/res/web_hi_res_512.png deleted file mode 100644 index 70c5d6ea8..000000000 Binary files a/multisrc/overrides/madara/tritiniascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/tumangaonlinesite/res/web_hi_res_512.png b/multisrc/overrides/madara/tumangaonlinesite/res/web_hi_res_512.png deleted file mode 100644 index 0f6858bf6..000000000 Binary files a/multisrc/overrides/madara/tumangaonlinesite/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/unitoon/res/web_hi_res_512.png b/multisrc/overrides/madara/unitoon/res/web_hi_res_512.png deleted file mode 100644 index 262c27915..000000000 Binary files a/multisrc/overrides/madara/unitoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/unitoonoficial/res/web_hi_res_512.png b/multisrc/overrides/madara/unitoonoficial/res/web_hi_res_512.png deleted file mode 100644 index 7bde7ec0e..000000000 Binary files a/multisrc/overrides/madara/unitoonoficial/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/vermanhwas/res/web_hi_res_512.png b/multisrc/overrides/madara/vermanhwas/res/web_hi_res_512.png deleted file mode 100644 index 58abed99e..000000000 Binary files a/multisrc/overrides/madara/vermanhwas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/vinmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/vinmanga/res/web_hi_res_512.png deleted file mode 100644 index 4110a8691..000000000 Binary files a/multisrc/overrides/madara/vinmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/wakamics/res/web_hi_res_512.png b/multisrc/overrides/madara/wakamics/res/web_hi_res_512.png deleted file mode 100644 index b6314af9c..000000000 Binary files a/multisrc/overrides/madara/wakamics/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webdexscans/res/web_hi_res_512.png b/multisrc/overrides/madara/webdexscans/res/web_hi_res_512.png deleted file mode 100644 index 92757565e..000000000 Binary files a/multisrc/overrides/madara/webdexscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webtoonhatti/res/web_hi_res_512.png b/multisrc/overrides/madara/webtoonhatti/res/web_hi_res_512.png deleted file mode 100644 index 743435613..000000000 Binary files a/multisrc/overrides/madara/webtoonhatti/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webtoonily/res/web_hi_res_512.png b/multisrc/overrides/madara/webtoonily/res/web_hi_res_512.png deleted file mode 100644 index 198a7e843..000000000 Binary files a/multisrc/overrides/madara/webtoonily/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webtoonscan/res/web_hi_res_512.png b/multisrc/overrides/madara/webtoonscan/res/web_hi_res_512.png deleted file mode 100644 index a788a8a2e..000000000 Binary files a/multisrc/overrides/madara/webtoonscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webtoonstop/res/web_hi_res_512.png b/multisrc/overrides/madara/webtoonstop/res/web_hi_res_512.png deleted file mode 100644 index 8050bb7be..000000000 Binary files a/multisrc/overrides/madara/webtoonstop/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webtoontr/res/web_hi_res_512.png b/multisrc/overrides/madara/webtoontr/res/web_hi_res_512.png deleted file mode 100644 index 14ec5071e..000000000 Binary files a/multisrc/overrides/madara/webtoontr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webtoonuk/res/web_hi_res_512.png b/multisrc/overrides/madara/webtoonuk/res/web_hi_res_512.png deleted file mode 100644 index 13155b8a9..000000000 Binary files a/multisrc/overrides/madara/webtoonuk/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/webtoonxyz/res/web_hi_res_512.png b/multisrc/overrides/madara/webtoonxyz/res/web_hi_res_512.png deleted file mode 100644 index 0b42bf2ac..000000000 Binary files a/multisrc/overrides/madara/webtoonxyz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/winterscan/res/web_hi_res_512.png b/multisrc/overrides/madara/winterscan/res/web_hi_res_512.png deleted file mode 100644 index 3eb2b1469..000000000 Binary files a/multisrc/overrides/madara/winterscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/woopread/res/web_hi_res_512.png b/multisrc/overrides/madara/woopread/res/web_hi_res_512.png deleted file mode 100644 index 08321d82b..000000000 Binary files a/multisrc/overrides/madara/woopread/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/worldmanhwas/res/web_hi_res_512.png b/multisrc/overrides/madara/worldmanhwas/res/web_hi_res_512.png deleted file mode 100644 index abaa3bc4a..000000000 Binary files a/multisrc/overrides/madara/worldmanhwas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/wuxiaworld/res/web_hi_res_512.png b/multisrc/overrides/madara/wuxiaworld/res/web_hi_res_512.png deleted file mode 100644 index a5ce9f7f7..000000000 Binary files a/multisrc/overrides/madara/wuxiaworld/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/yaoihentai/res/web_hi_res_512.png b/multisrc/overrides/madara/yaoihentai/res/web_hi_res_512.png deleted file mode 100644 index 696c9a732..000000000 Binary files a/multisrc/overrides/madara/yaoihentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/yaoimanga/res/web_hi_res_512.png b/multisrc/overrides/madara/yaoimanga/res/web_hi_res_512.png deleted file mode 100644 index 17df2e636..000000000 Binary files a/multisrc/overrides/madara/yaoimanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/yaoiscan/res/web_hi_res_512.png b/multisrc/overrides/madara/yaoiscan/res/web_hi_res_512.png deleted file mode 100644 index 730dcce5e..000000000 Binary files a/multisrc/overrides/madara/yaoiscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/yaoitoon/res/web_hi_res_512.png b/multisrc/overrides/madara/yaoitoon/res/web_hi_res_512.png deleted file mode 100644 index acf256bde..000000000 Binary files a/multisrc/overrides/madara/yaoitoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/yonabar/res/web_hi_res_512.png b/multisrc/overrides/madara/yonabar/res/web_hi_res_512.png deleted file mode 100644 index 9b5d52b08..000000000 Binary files a/multisrc/overrides/madara/yonabar/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/yuriverso/res/web_hi_res_512.png b/multisrc/overrides/madara/yuriverso/res/web_hi_res_512.png deleted file mode 100644 index b6753a80a..000000000 Binary files a/multisrc/overrides/madara/yuriverso/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/zandynofansub/res/web_hi_res_512.png b/multisrc/overrides/madara/zandynofansub/res/web_hi_res_512.png deleted file mode 100644 index c05473874..000000000 Binary files a/multisrc/overrides/madara/zandynofansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/zinchanmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/zinchanmanga/res/web_hi_res_512.png deleted file mode 100644 index 17f70e1d2..000000000 Binary files a/multisrc/overrides/madara/zinchanmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/zinmanga/res/web_hi_res_512.png b/multisrc/overrides/madara/zinmanga/res/web_hi_res_512.png deleted file mode 100644 index 74f742c4a..000000000 Binary files a/multisrc/overrides/madara/zinmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/zinmangatop/res/web_hi_res_512.png b/multisrc/overrides/madara/zinmangatop/res/web_hi_res_512.png deleted file mode 100644 index bdbde6818..000000000 Binary files a/multisrc/overrides/madara/zinmangatop/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/zinmanhwa/res/web_hi_res_512.png b/multisrc/overrides/madara/zinmanhwa/res/web_hi_res_512.png deleted file mode 100644 index 74f742c4a..000000000 Binary files a/multisrc/overrides/madara/zinmanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madara/zuttomanga/res/web_hi_res_512.png b/multisrc/overrides/madara/zuttomanga/res/web_hi_res_512.png deleted file mode 100644 index 6ff5c1f86..000000000 Binary files a/multisrc/overrides/madara/zuttomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/beehentai/res/web_hi_res_512.png b/multisrc/overrides/madtheme/beehentai/res/web_hi_res_512.png deleted file mode 100644 index 93c217d1a..000000000 Binary files a/multisrc/overrides/madtheme/beehentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/default/res/web_hi_res_512.png b/multisrc/overrides/madtheme/default/res/web_hi_res_512.png deleted file mode 100644 index c8139cd08..000000000 Binary files a/multisrc/overrides/madtheme/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/mangabuddy/res/web_hi_res_512.png b/multisrc/overrides/madtheme/mangabuddy/res/web_hi_res_512.png deleted file mode 100644 index d852390cd..000000000 Binary files a/multisrc/overrides/madtheme/mangabuddy/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/mangacute/res/web_hi_res_512.png b/multisrc/overrides/madtheme/mangacute/res/web_hi_res_512.png deleted file mode 100644 index 5b958b009..000000000 Binary files a/multisrc/overrides/madtheme/mangacute/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/mangaforest/res/web_hi_res_512.png b/multisrc/overrides/madtheme/mangaforest/res/web_hi_res_512.png deleted file mode 100644 index c1983c8d5..000000000 Binary files a/multisrc/overrides/madtheme/mangaforest/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/mangapuma/res/web_hi_res_512.png b/multisrc/overrides/madtheme/mangapuma/res/web_hi_res_512.png deleted file mode 100644 index c13586704..000000000 Binary files a/multisrc/overrides/madtheme/mangapuma/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/mangaxyz/res/web_hi_res_512.png b/multisrc/overrides/madtheme/mangaxyz/res/web_hi_res_512.png deleted file mode 100644 index 63e7235fb..000000000 Binary files a/multisrc/overrides/madtheme/mangaxyz/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/toonilyme/res/web_hi_res_512.png b/multisrc/overrides/madtheme/toonilyme/res/web_hi_res_512.png deleted file mode 100644 index 93c217d1a..000000000 Binary files a/multisrc/overrides/madtheme/toonilyme/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/toonitube/res/web_hi_res_512.png b/multisrc/overrides/madtheme/toonitube/res/web_hi_res_512.png deleted file mode 100644 index 93c217d1a..000000000 Binary files a/multisrc/overrides/madtheme/toonitube/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/madtheme/truemanga/res/web_hi_res_512.png b/multisrc/overrides/madtheme/truemanga/res/web_hi_res_512.png deleted file mode 100644 index 6b3bf9dd1..000000000 Binary files a/multisrc/overrides/madtheme/truemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangabox/default/res/web_hi_res_512.png b/multisrc/overrides/mangabox/default/res/web_hi_res_512.png deleted file mode 100644 index 652a26bba..000000000 Binary files a/multisrc/overrides/mangabox/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangabox/mangabat/res/web_hi_res_512.png b/multisrc/overrides/mangabox/mangabat/res/web_hi_res_512.png deleted file mode 100644 index 58a3a6839..000000000 Binary files a/multisrc/overrides/mangabox/mangabat/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangabox/mangairo/res/web_hi_res_512.png b/multisrc/overrides/mangabox/mangairo/res/web_hi_res_512.png deleted file mode 100644 index 0a27b7bc4..000000000 Binary files a/multisrc/overrides/mangabox/mangairo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangabox/mangakakalot/res/web_hi_res_512.png b/multisrc/overrides/mangabox/mangakakalot/res/web_hi_res_512.png deleted file mode 100644 index 9b1eb1f25..000000000 Binary files a/multisrc/overrides/mangabox/mangakakalot/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangabox/mangakakalots/res/web_hi_res_512.png b/multisrc/overrides/mangabox/mangakakalots/res/web_hi_res_512.png deleted file mode 100644 index 9b1eb1f25..000000000 Binary files a/multisrc/overrides/mangabox/mangakakalots/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangabox/manganelo/res/web_hi_res_512.png b/multisrc/overrides/mangabox/manganelo/res/web_hi_res_512.png deleted file mode 100644 index ca28870fe..000000000 Binary files a/multisrc/overrides/mangabox/manganelo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/default/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/default/res/web_hi_res_512.png deleted file mode 100644 index 08ed2c639..000000000 Binary files a/multisrc/overrides/mangacatalog/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readattackontitanshingekinokyojinmanga/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readattackontitanshingekinokyojinmanga/res/web_hi_res_512.png deleted file mode 100644 index 602c5d867..000000000 Binary files a/multisrc/overrides/mangacatalog/readattackontitanshingekinokyojinmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readbokunoheroacademiamyheroacademiamanga/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readbokunoheroacademiamyheroacademiamanga/res/web_hi_res_512.png deleted file mode 100644 index f47333a8b..000000000 Binary files a/multisrc/overrides/mangacatalog/readbokunoheroacademiamyheroacademiamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readhunterxhuntermangaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readhunterxhuntermangaonline/res/web_hi_res_512.png deleted file mode 100644 index b7a705959..000000000 Binary files a/multisrc/overrides/mangacatalog/readhunterxhuntermangaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readjujutsukaisenmangaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readjujutsukaisenmangaonline/res/web_hi_res_512.png deleted file mode 100644 index 5971585a0..000000000 Binary files a/multisrc/overrides/mangacatalog/readjujutsukaisenmangaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readkaguyasamamangaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readkaguyasamamangaonline/res/web_hi_res_512.png deleted file mode 100644 index 632b1b354..000000000 Binary files a/multisrc/overrides/mangacatalog/readkaguyasamamangaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readnanatsunotaizai7deadlysinsmangaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readnanatsunotaizai7deadlysinsmangaonline/res/web_hi_res_512.png deleted file mode 100644 index 821d2dece..000000000 Binary files a/multisrc/overrides/mangacatalog/readnanatsunotaizai7deadlysinsmangaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readonepunchmanmangaonlinetwo/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readonepunchmanmangaonlinetwo/res/web_hi_res_512.png deleted file mode 100644 index 6aa0712f2..000000000 Binary files a/multisrc/overrides/mangacatalog/readonepunchmanmangaonlinetwo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readsololevelingmangamanhwaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readsololevelingmangamanhwaonline/res/web_hi_res_512.png deleted file mode 100644 index ffcc4c8ba..000000000 Binary files a/multisrc/overrides/mangacatalog/readsololevelingmangamanhwaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readthepromisedneverlandmangaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readthepromisedneverlandmangaonline/res/web_hi_res_512.png deleted file mode 100644 index 8bc27b8b5..000000000 Binary files a/multisrc/overrides/mangacatalog/readthepromisedneverlandmangaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readtokyoghoulretokyoghoulmangaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readtokyoghoulretokyoghoulmangaonline/res/web_hi_res_512.png deleted file mode 100644 index 5532a8dcc..000000000 Binary files a/multisrc/overrides/mangacatalog/readtokyoghoulretokyoghoulmangaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangacatalog/readtowerofgodmanhwamangaonline/res/web_hi_res_512.png b/multisrc/overrides/mangacatalog/readtowerofgodmanhwamangaonline/res/web_hi_res_512.png deleted file mode 100644 index b84222a9a..000000000 Binary files a/multisrc/overrides/mangacatalog/readtowerofgodmanhwamangaonline/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangadventure/arcrelight/res/web_hi_res_512.png b/multisrc/overrides/mangadventure/arcrelight/res/web_hi_res_512.png deleted file mode 100644 index 4f4afa386..000000000 Binary files a/multisrc/overrides/mangadventure/arcrelight/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangadventure/assortedscans/res/web_hi_res_512.png b/multisrc/overrides/mangadventure/assortedscans/res/web_hi_res_512.png deleted file mode 100644 index 27b537534..000000000 Binary files a/multisrc/overrides/mangadventure/assortedscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangadventure/default/res/web_hi_res_512.png b/multisrc/overrides/mangadventure/default/res/web_hi_res_512.png deleted file mode 100644 index 053dd0157..000000000 Binary files a/multisrc/overrides/mangadventure/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangahub/default/additional.gradle b/multisrc/overrides/mangahub/default/additional.gradle index 57807a7d0..4020fe0a8 100644 --- a/multisrc/overrides/mangahub/default/additional.gradle +++ b/multisrc/overrides/mangahub/default/additional.gradle @@ -1,3 +1,3 @@ dependencies { - implementation(project(":lib-randomua")) + implementation(project(":lib:randomua")) } diff --git a/multisrc/overrides/mangahub/default/res/web_hi_res_512.png b/multisrc/overrides/mangahub/default/res/web_hi_res_512.png deleted file mode 100644 index 011896f7f..000000000 Binary files a/multisrc/overrides/mangahub/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangahub/mangahubio/res/web_hi_res_512.png b/multisrc/overrides/mangahub/mangahubio/res/web_hi_res_512.png deleted file mode 100644 index 751106d78..000000000 Binary files a/multisrc/overrides/mangahub/mangahubio/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangahub/mangapandaonl/res/web_hi_res_512.png b/multisrc/overrides/mangahub/mangapandaonl/res/web_hi_res_512.png deleted file mode 100644 index 96698a496..000000000 Binary files a/multisrc/overrides/mangahub/mangapandaonl/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangahub/mangareadersite/res/web_hi_res_512.png b/multisrc/overrides/mangahub/mangareadersite/res/web_hi_res_512.png deleted file mode 100644 index 2c8b07e85..000000000 Binary files a/multisrc/overrides/mangahub/mangareadersite/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangamainac/default/res/web_hi_res_512.png b/multisrc/overrides/mangamainac/default/res/web_hi_res_512.png deleted file mode 100644 index 87d091aab..000000000 Binary files a/multisrc/overrides/mangamainac/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangaraw/default/res/web_hi_res_512.png b/multisrc/overrides/mangaraw/default/res/web_hi_res_512.png deleted file mode 100644 index ba73ec67f..000000000 Binary files a/multisrc/overrides/mangaraw/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangaraw/manga9co/res/web_hi_res_512.png b/multisrc/overrides/mangaraw/manga9co/res/web_hi_res_512.png deleted file mode 100644 index 231d07f53..000000000 Binary files a/multisrc/overrides/mangaraw/manga9co/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangareader/comickiba/res/web_hi_res_512.png b/multisrc/overrides/mangareader/comickiba/res/web_hi_res_512.png deleted file mode 100644 index 717e1de04..000000000 Binary files a/multisrc/overrides/mangareader/comickiba/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangareader/mangafire/res/web_hi_res_512.png b/multisrc/overrides/mangareader/mangafire/res/web_hi_res_512.png deleted file mode 100644 index 6ede68720..000000000 Binary files a/multisrc/overrides/mangareader/mangafire/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangareader/mangareaderto/res/web_hi_res_512.png b/multisrc/overrides/mangareader/mangareaderto/res/web_hi_res_512.png deleted file mode 100644 index 1ca30c2ef..000000000 Binary files a/multisrc/overrides/mangareader/mangareaderto/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/ainzscansid/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/ainzscansid/res/web_hi_res_512.png deleted file mode 100644 index a4b1a071d..000000000 Binary files a/multisrc/overrides/mangathemesia/ainzscansid/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/aiyumanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/aiyumanga/res/web_hi_res_512.png deleted file mode 100644 index 2b7575c0f..000000000 Binary files a/multisrc/overrides/mangathemesia/aiyumanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/aiyumanga/src/AiYuManga.kt b/multisrc/overrides/mangathemesia/aiyumanga/src/AiYuManga.kt deleted file mode 100644 index 7258d67d7..000000000 --- a/multisrc/overrides/mangathemesia/aiyumanga/src/AiYuManga.kt +++ /dev/null @@ -1,21 +0,0 @@ -package eu.kanade.tachiyomi.extension.es.aiyumanga - -import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import java.text.SimpleDateFormat -import java.util.Locale -import java.util.concurrent.TimeUnit - -class AiYuManga : MangaThemesia( - "AiYuManga", - "https://aiyumanhua.com", - "es", - dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es")), -) { - // Site moved from ZeistManga to MangaThemesia - override val versionId = 3 - - override val client = super.client.newBuilder() - .rateLimit(2, 1, TimeUnit.SECONDS) - .build() -} diff --git a/multisrc/overrides/mangathemesia/alceascan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/alceascan/res/web_hi_res_512.png deleted file mode 100644 index 4c88e6f34..000000000 Binary files a/multisrc/overrides/mangathemesia/alceascan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/animatedglitchedcomics/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/animatedglitchedcomics/res/web_hi_res_512.png deleted file mode 100644 index beceff8e7..000000000 Binary files a/multisrc/overrides/mangathemesia/animatedglitchedcomics/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/animatedglitchedscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/animatedglitchedscans/res/web_hi_res_512.png deleted file mode 100644 index beceff8e7..000000000 Binary files a/multisrc/overrides/mangathemesia/animatedglitchedscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/areamanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/areamanga/res/web_hi_res_512.png deleted file mode 100644 index 83b42018c..000000000 Binary files a/multisrc/overrides/mangathemesia/areamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/arvenscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/arvenscans/res/web_hi_res_512.png deleted file mode 100644 index fdf8ff92d..000000000 Binary files a/multisrc/overrides/mangathemesia/arvenscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/ascalonscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/ascalonscans/res/web_hi_res_512.png deleted file mode 100644 index 509e61a61..000000000 Binary files a/multisrc/overrides/mangathemesia/ascalonscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/asurascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/asurascans/res/web_hi_res_512.png deleted file mode 100644 index 688ccf4f0..000000000 Binary files a/multisrc/overrides/mangathemesia/asurascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/azurescans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/azurescans/res/web_hi_res_512.png deleted file mode 100644 index 8f60d4141..000000000 Binary files a/multisrc/overrides/mangathemesia/azurescans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/batotoscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/batotoscans/res/web_hi_res_512.png deleted file mode 100644 index 2bcf64ace..000000000 Binary files a/multisrc/overrides/mangathemesia/batotoscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/beastscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/beastscans/res/web_hi_res_512.png deleted file mode 100644 index b90ad2e82..000000000 Binary files a/multisrc/overrides/mangathemesia/beastscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/berserkerscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/berserkerscan/res/web_hi_res_512.png deleted file mode 100644 index 37e843cc3..000000000 Binary files a/multisrc/overrides/mangathemesia/berserkerscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/birdmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/birdmanga/res/web_hi_res_512.png deleted file mode 100644 index 262e7393c..000000000 Binary files a/multisrc/overrides/mangathemesia/birdmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/boosei/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/boosei/res/web_hi_res_512.png deleted file mode 100644 index 39cccab55..000000000 Binary files a/multisrc/overrides/mangathemesia/boosei/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/carteldemanhwas/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/carteldemanhwas/res/web_hi_res_512.png deleted file mode 100644 index 41e4ec299..000000000 Binary files a/multisrc/overrides/mangathemesia/carteldemanhwas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/constellarscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/constellarscans/res/web_hi_res_512.png deleted file mode 100644 index a8dd214cc..000000000 Binary files a/multisrc/overrides/mangathemesia/constellarscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/cosmicscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/cosmicscans/res/web_hi_res_512.png deleted file mode 100644 index 9ac0f4b06..000000000 Binary files a/multisrc/overrides/mangathemesia/cosmicscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/cosmicscansid/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/cosmicscansid/res/web_hi_res_512.png deleted file mode 100644 index 94b2f91d0..000000000 Binary files a/multisrc/overrides/mangathemesia/cosmicscansid/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/cypherscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/cypherscans/res/web_hi_res_512.png deleted file mode 100644 index a8bd034a5..000000000 Binary files a/multisrc/overrides/mangathemesia/cypherscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/default/additional.gradle b/multisrc/overrides/mangathemesia/default/additional.gradle index 57807a7d0..4020fe0a8 100644 --- a/multisrc/overrides/mangathemesia/default/additional.gradle +++ b/multisrc/overrides/mangathemesia/default/additional.gradle @@ -1,3 +1,3 @@ dependencies { - implementation(project(":lib-randomua")) + implementation(project(":lib:randomua")) } diff --git a/multisrc/overrides/mangathemesia/default/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/default/res/web_hi_res_512.png deleted file mode 100644 index 6bcf749cd..000000000 Binary files a/multisrc/overrides/mangathemesia/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/diskusscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/diskusscan/res/web_hi_res_512.png deleted file mode 100644 index 9521cd83a..000000000 Binary files a/multisrc/overrides/mangathemesia/diskusscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/dojingnet/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/dojingnet/res/web_hi_res_512.png deleted file mode 100644 index b1ec64003..000000000 Binary files a/multisrc/overrides/mangathemesia/dojingnet/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/duniakomikid/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/duniakomikid/res/web_hi_res_512.png deleted file mode 100644 index 42f16c53a..000000000 Binary files a/multisrc/overrides/mangathemesia/duniakomikid/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/elarcpage/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/elarcpage/res/web_hi_res_512.png deleted file mode 100644 index 68aacc454..000000000 Binary files a/multisrc/overrides/mangathemesia/elarcpage/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/enryumanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/enryumanga/res/web_hi_res_512.png deleted file mode 100644 index e96635590..000000000 Binary files a/multisrc/overrides/mangathemesia/enryumanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/epsilonscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/epsilonscan/res/web_hi_res_512.png deleted file mode 100644 index 59d911e4d..000000000 Binary files a/multisrc/overrides/mangathemesia/epsilonscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/evilproduction/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/evilproduction/res/web_hi_res_512.png deleted file mode 100644 index 8b820b2f7..000000000 Binary files a/multisrc/overrides/mangathemesia/evilproduction/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/flamecomics/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/flamecomics/res/web_hi_res_512.png deleted file mode 100644 index ccbde4a5b..000000000 Binary files a/multisrc/overrides/mangathemesia/flamecomics/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/flamescansfr/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/flamescansfr/res/web_hi_res_512.png deleted file mode 100644 index 07b044931..000000000 Binary files a/multisrc/overrides/mangathemesia/flamescansfr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/freakscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/freakscans/res/web_hi_res_512.png deleted file mode 100644 index 910ae2e46..000000000 Binary files a/multisrc/overrides/mangathemesia/freakscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/gloryscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/gloryscans/res/web_hi_res_512.png deleted file mode 100644 index 0a055b362..000000000 Binary files a/multisrc/overrides/mangathemesia/gloryscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/gogomanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/gogomanga/res/web_hi_res_512.png deleted file mode 100644 index d14a6888e..000000000 Binary files a/multisrc/overrides/mangathemesia/gogomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/gremorymangas/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/gremorymangas/res/web_hi_res_512.png deleted file mode 100644 index 7051e9e92..000000000 Binary files a/multisrc/overrides/mangathemesia/gremorymangas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/hanumanscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/hanumanscan/res/web_hi_res_512.png deleted file mode 100644 index 159765ad5..000000000 Binary files a/multisrc/overrides/mangathemesia/hanumanscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/heroxia/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/heroxia/res/web_hi_res_512.png deleted file mode 100644 index 4d2e781d3..000000000 Binary files a/multisrc/overrides/mangathemesia/heroxia/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/imaginescan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/imaginescan/res/web_hi_res_512.png deleted file mode 100644 index cf3cd5ac4..000000000 Binary files a/multisrc/overrides/mangathemesia/imaginescan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/inarimanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/inarimanga/res/web_hi_res_512.png deleted file mode 100644 index 98d3d08fc..000000000 Binary files a/multisrc/overrides/mangathemesia/inarimanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/inazumanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/inazumanga/res/web_hi_res_512.png deleted file mode 100644 index 371275e29..000000000 Binary files a/multisrc/overrides/mangathemesia/inazumanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/infernalvoidscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/infernalvoidscans/res/web_hi_res_512.png deleted file mode 100644 index 0ead52ae2..000000000 Binary files a/multisrc/overrides/mangathemesia/infernalvoidscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/kaiscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/kaiscans/res/web_hi_res_512.png deleted file mode 100644 index b869c62d6..000000000 Binary files a/multisrc/overrides/mangathemesia/kaiscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/katakomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/katakomik/res/web_hi_res_512.png deleted file mode 100644 index 84c391a01..000000000 Binary files a/multisrc/overrides/mangathemesia/katakomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/kiryuu/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/kiryuu/res/web_hi_res_512.png deleted file mode 100644 index 8b0820ce3..000000000 Binary files a/multisrc/overrides/mangathemesia/kiryuu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikav/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikav/res/web_hi_res_512.png deleted file mode 100644 index b9f01a2e3..000000000 Binary files a/multisrc/overrides/mangathemesia/komikav/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikcast/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikcast/res/web_hi_res_512.png deleted file mode 100644 index 48c25bff2..000000000 Binary files a/multisrc/overrides/mangathemesia/komikcast/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikdewasa/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikdewasa/res/web_hi_res_512.png deleted file mode 100644 index d4ab30bc6..000000000 Binary files a/multisrc/overrides/mangathemesia/komikdewasa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikindoco/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikindoco/res/web_hi_res_512.png deleted file mode 100644 index bf03065f4..000000000 Binary files a/multisrc/overrides/mangathemesia/komikindoco/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komiklab/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komiklab/res/web_hi_res_512.png deleted file mode 100644 index e3f573f60..000000000 Binary files a/multisrc/overrides/mangathemesia/komiklab/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikmama/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikmama/res/web_hi_res_512.png deleted file mode 100644 index 50247fd8f..000000000 Binary files a/multisrc/overrides/mangathemesia/komikmama/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikmanhwa/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikmanhwa/res/web_hi_res_512.png deleted file mode 100644 index 7069327c7..000000000 Binary files a/multisrc/overrides/mangathemesia/komikmanhwa/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komiksan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komiksan/res/web_hi_res_512.png deleted file mode 100644 index 5979f900d..000000000 Binary files a/multisrc/overrides/mangathemesia/komiksan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikseru/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikseru/res/web_hi_res_512.png deleted file mode 100644 index d570d9863..000000000 Binary files a/multisrc/overrides/mangathemesia/komikseru/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikstation/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikstation/res/web_hi_res_512.png deleted file mode 100644 index 491429c19..000000000 Binary files a/multisrc/overrides/mangathemesia/komikstation/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komiktap/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komiktap/res/web_hi_res_512.png deleted file mode 100644 index 5a7df24fb..000000000 Binary files a/multisrc/overrides/mangathemesia/komiktap/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/komikucom/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/komikucom/res/web_hi_res_512.png deleted file mode 100644 index 353917f06..000000000 Binary files a/multisrc/overrides/mangathemesia/komikucom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/kumapoi/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/kumapoi/res/web_hi_res_512.png deleted file mode 100644 index ae53fb0a6..000000000 Binary files a/multisrc/overrides/mangathemesia/kumapoi/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/kumascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/kumascans/res/web_hi_res_512.png deleted file mode 100644 index ed1d20dd7..000000000 Binary files a/multisrc/overrides/mangathemesia/kumascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/lelmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/lelmanga/res/web_hi_res_512.png deleted file mode 100644 index e5a6e7852..000000000 Binary files a/multisrc/overrides/mangathemesia/lelmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/lianscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/lianscans/res/web_hi_res_512.png deleted file mode 100644 index 69435dc05..000000000 Binary files a/multisrc/overrides/mangathemesia/lianscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/lunarscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/lunarscans/res/web_hi_res_512.png deleted file mode 100644 index 6dfd3fe6a..000000000 Binary files a/multisrc/overrides/mangathemesia/lunarscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/lynxscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/lynxscans/res/web_hi_res_512.png deleted file mode 100644 index 3a35efa06..000000000 Binary files a/multisrc/overrides/mangathemesia/lynxscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/lyrascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/lyrascans/res/web_hi_res_512.png deleted file mode 100644 index 8f080717f..000000000 Binary files a/multisrc/overrides/mangathemesia/lyrascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/magusmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/magusmanga/res/web_hi_res_512.png deleted file mode 100644 index 4b7cc4393..000000000 Binary files a/multisrc/overrides/mangathemesia/magusmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangacim/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangacim/res/web_hi_res_512.png deleted file mode 100644 index c309c3ace..000000000 Binary files a/multisrc/overrides/mangathemesia/mangacim/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangaindome/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangaindome/res/web_hi_res_512.png deleted file mode 100644 index 4ec61fc57..000000000 Binary files a/multisrc/overrides/mangathemesia/mangaindome/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangakita/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangakita/res/web_hi_res_512.png deleted file mode 100644 index 1c24b5a8a..000000000 Binary files a/multisrc/overrides/mangathemesia/mangakita/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangakyo/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangakyo/res/web_hi_res_512.png deleted file mode 100644 index c99ae07e7..000000000 Binary files a/multisrc/overrides/mangathemesia/mangakyo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangashiina/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangashiina/res/web_hi_res_512.png deleted file mode 100644 index 8411e149d..000000000 Binary files a/multisrc/overrides/mangathemesia/mangashiina/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangashiro/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangashiro/res/web_hi_res_512.png deleted file mode 100644 index 3328f3aa3..000000000 Binary files a/multisrc/overrides/mangathemesia/mangashiro/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangasusu/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangasusu/res/web_hi_res_512.png deleted file mode 100644 index a4540c889..000000000 Binary files a/multisrc/overrides/mangathemesia/mangasusu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangaswat/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangaswat/res/web_hi_res_512.png deleted file mode 100644 index 963f86a5e..000000000 Binary files a/multisrc/overrides/mangathemesia/mangaswat/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangatale/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangatale/res/web_hi_res_512.png deleted file mode 100644 index 99381d921..000000000 Binary files a/multisrc/overrides/mangathemesia/mangatale/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangawt/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangawt/res/web_hi_res_512.png deleted file mode 100644 index b1d41054d..000000000 Binary files a/multisrc/overrides/mangathemesia/mangawt/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangayaro/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangayaro/res/web_hi_res_512.png deleted file mode 100644 index 5f5175316..000000000 Binary files a/multisrc/overrides/mangathemesia/mangayaro/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangceh/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangceh/res/web_hi_res_512.png deleted file mode 100644 index 72ff9840b..000000000 Binary files a/multisrc/overrides/mangathemesia/mangceh/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mangkomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mangkomik/res/web_hi_res_512.png deleted file mode 100644 index ccaa10962..000000000 Binary files a/multisrc/overrides/mangathemesia/mangkomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/manhwadesu/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwadesu/res/web_hi_res_512.png deleted file mode 100644 index 99c8c7d89..000000000 Binary files a/multisrc/overrides/mangathemesia/manhwadesu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/manhwafreak/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwafreak/res/web_hi_res_512.png deleted file mode 100644 index b5f934bd5..000000000 Binary files a/multisrc/overrides/mangathemesia/manhwafreak/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/manhwafreakfr/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwafreakfr/res/web_hi_res_512.png deleted file mode 100644 index 4d0f59498..000000000 Binary files a/multisrc/overrides/mangathemesia/manhwafreakfr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/manhwaindo/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwaindo/res/web_hi_res_512.png deleted file mode 100644 index 4e1d21d1e..000000000 Binary files a/multisrc/overrides/mangathemesia/manhwaindo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/manhwalandmom/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwalandmom/res/web_hi_res_512.png deleted file mode 100644 index dbe949913..000000000 Binary files a/multisrc/overrides/mangathemesia/manhwalandmom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/manhwalist/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwalist/res/web_hi_res_512.png deleted file mode 100644 index 8d598b338..000000000 Binary files a/multisrc/overrides/mangathemesia/manhwalist/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/manhwalover/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/manhwalover/res/web_hi_res_512.png deleted file mode 100644 index 49f046050..000000000 Binary files a/multisrc/overrides/mangathemesia/manhwalover/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/masterkomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/masterkomik/res/web_hi_res_512.png deleted file mode 100644 index 00aaa64cf..000000000 Binary files a/multisrc/overrides/mangathemesia/masterkomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/melokomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/melokomik/res/web_hi_res_512.png deleted file mode 100644 index 5f6053b64..000000000 Binary files a/multisrc/overrides/mangathemesia/melokomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/miauscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/miauscan/res/web_hi_res_512.png deleted file mode 100644 index e3af99e11..000000000 Binary files a/multisrc/overrides/mangathemesia/miauscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mihentai/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mihentai/res/web_hi_res_512.png deleted file mode 100644 index f92f533bb..000000000 Binary files a/multisrc/overrides/mangathemesia/mihentai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/miraiscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/miraiscans/res/web_hi_res_512.png deleted file mode 100644 index 2abfda60b..000000000 Binary files a/multisrc/overrides/mangathemesia/miraiscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/mirrordesu/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/mirrordesu/res/web_hi_res_512.png deleted file mode 100644 index 9c467250e..000000000 Binary files a/multisrc/overrides/mangathemesia/mirrordesu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/natsu/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/natsu/res/web_hi_res_512.png deleted file mode 100644 index 35a7a7d0f..000000000 Binary files a/multisrc/overrides/mangathemesia/natsu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/nekomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/nekomik/res/web_hi_res_512.png deleted file mode 100644 index f863652cd..000000000 Binary files a/multisrc/overrides/mangathemesia/nekomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/nekoscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/nekoscans/res/web_hi_res_512.png deleted file mode 100644 index 605b6bb9d..000000000 Binary files a/multisrc/overrides/mangathemesia/nekoscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/ngomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/ngomik/res/web_hi_res_512.png deleted file mode 100644 index 409e80f69..000000000 Binary files a/multisrc/overrides/mangathemesia/ngomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/nightscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/nightscans/res/web_hi_res_512.png deleted file mode 100644 index ae8162acf..000000000 Binary files a/multisrc/overrides/mangathemesia/nightscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/nocturnalscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/nocturnalscans/res/web_hi_res_512.png deleted file mode 100644 index 0c0632da7..000000000 Binary files a/multisrc/overrides/mangathemesia/nocturnalscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/nonbiri/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/nonbiri/res/web_hi_res_512.png deleted file mode 100644 index c2cf95009..000000000 Binary files a/multisrc/overrides/mangathemesia/nonbiri/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/noromax/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/noromax/res/web_hi_res_512.png deleted file mode 100644 index a17815079..000000000 Binary files a/multisrc/overrides/mangathemesia/noromax/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/origamiorpheans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/origamiorpheans/res/web_hi_res_512.png deleted file mode 100644 index 5d1c814c9..000000000 Binary files a/multisrc/overrides/mangathemesia/origamiorpheans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/otsugami/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/otsugami/res/web_hi_res_512.png deleted file mode 100644 index 0456dd1dd..000000000 Binary files a/multisrc/overrides/mangathemesia/otsugami/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/phantomscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/phantomscans/res/web_hi_res_512.png deleted file mode 100644 index 6836240fe..000000000 Binary files a/multisrc/overrides/mangathemesia/phantomscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/phenixscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/phenixscans/res/web_hi_res_512.png deleted file mode 100644 index f664c995a..000000000 Binary files a/multisrc/overrides/mangathemesia/phenixscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/piscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/piscans/res/web_hi_res_512.png deleted file mode 100644 index d6dfb1de8..000000000 Binary files a/multisrc/overrides/mangathemesia/piscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/potatomanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/potatomanga/res/web_hi_res_512.png deleted file mode 100644 index 5c438036e..000000000 Binary files a/multisrc/overrides/mangathemesia/potatomanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/quantumscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/quantumscans/res/web_hi_res_512.png deleted file mode 100644 index e394e11aa..000000000 Binary files a/multisrc/overrides/mangathemesia/quantumscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/queenscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/queenscans/res/web_hi_res_512.png deleted file mode 100644 index a85e063b4..000000000 Binary files a/multisrc/overrides/mangathemesia/queenscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/raikiscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/raikiscan/res/web_hi_res_512.png deleted file mode 100644 index 1e0bc998c..000000000 Binary files a/multisrc/overrides/mangathemesia/raikiscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/raiscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/raiscans/res/web_hi_res_512.png deleted file mode 100644 index ca179b6ad..000000000 Binary files a/multisrc/overrides/mangathemesia/raiscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/ravenscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/ravenscans/res/web_hi_res_512.png deleted file mode 100644 index 557d2b9e9..000000000 Binary files a/multisrc/overrides/mangathemesia/ravenscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/rawkuma/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/rawkuma/res/web_hi_res_512.png deleted file mode 100644 index 10ba4bad2..000000000 Binary files a/multisrc/overrides/mangathemesia/rawkuma/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/readgojo/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/readgojo/res/web_hi_res_512.png deleted file mode 100644 index d652f41b6..000000000 Binary files a/multisrc/overrides/mangathemesia/readgojo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/readkomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/readkomik/res/web_hi_res_512.png deleted file mode 100644 index a6b7ac496..000000000 Binary files a/multisrc/overrides/mangathemesia/readkomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/ryukonesia/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/ryukonesia/res/web_hi_res_512.png deleted file mode 100644 index 46823e9a6..000000000 Binary files a/multisrc/overrides/mangathemesia/ryukonesia/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/sekaikomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sekaikomik/res/web_hi_res_512.png deleted file mode 100644 index a54b9a653..000000000 Binary files a/multisrc/overrides/mangathemesia/sekaikomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/sektedoujin/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sektedoujin/res/web_hi_res_512.png deleted file mode 100644 index bc62e5082..000000000 Binary files a/multisrc/overrides/mangathemesia/sektedoujin/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/senpaiediciones/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/senpaiediciones/res/web_hi_res_512.png deleted file mode 100644 index 1436e9b33..000000000 Binary files a/multisrc/overrides/mangathemesia/senpaiediciones/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/shadowmangas/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/shadowmangas/res/web_hi_res_512.png deleted file mode 100644 index ba4be3973..000000000 Binary files a/multisrc/overrides/mangathemesia/shadowmangas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/sheamanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sheamanga/res/web_hi_res_512.png deleted file mode 100644 index 2c686e748..000000000 Binary files a/multisrc/overrides/mangathemesia/sheamanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/silencescan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/silencescan/res/web_hi_res_512.png deleted file mode 100644 index a8189e405..000000000 Binary files a/multisrc/overrides/mangathemesia/silencescan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/skymangas/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/skymangas/res/web_hi_res_512.png deleted file mode 100644 index 4fd9557d8..000000000 Binary files a/multisrc/overrides/mangathemesia/skymangas/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/sodsaime/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sodsaime/res/web_hi_res_512.png deleted file mode 100644 index 63b2084e3..000000000 Binary files a/multisrc/overrides/mangathemesia/sodsaime/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/soulscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/soulscans/res/web_hi_res_512.png deleted file mode 100644 index 2eded446a..000000000 Binary files a/multisrc/overrides/mangathemesia/soulscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/summertoon/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/summertoon/res/web_hi_res_512.png deleted file mode 100644 index 1d22bf5d1..000000000 Binary files a/multisrc/overrides/mangathemesia/summertoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/suryascans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/suryascans/res/web_hi_res_512.png deleted file mode 100644 index a2cc90cc4..000000000 Binary files a/multisrc/overrides/mangathemesia/suryascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/sushiscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sushiscan/res/web_hi_res_512.png deleted file mode 100644 index 55a9233fe..000000000 Binary files a/multisrc/overrides/mangathemesia/sushiscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/sushiscanfr/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/sushiscanfr/res/web_hi_res_512.png deleted file mode 100644 index 373e99d42..000000000 Binary files a/multisrc/overrides/mangathemesia/sushiscanfr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/tarotscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/tarotscans/res/web_hi_res_512.png deleted file mode 100644 index aa1fa827e..000000000 Binary files a/multisrc/overrides/mangathemesia/tarotscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/tecnoscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/tecnoscan/res/web_hi_res_512.png deleted file mode 100644 index 42906467c..000000000 Binary files a/multisrc/overrides/mangathemesia/tecnoscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/theapolloteam/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/theapolloteam/res/web_hi_res_512.png deleted file mode 100644 index a08b2a352..000000000 Binary files a/multisrc/overrides/mangathemesia/theapolloteam/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/tresdaosscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/tresdaosscan/res/web_hi_res_512.png deleted file mode 100644 index 314308be1..000000000 Binary files a/multisrc/overrides/mangathemesia/tresdaosscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/tsundokutraducoes/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/tsundokutraducoes/res/web_hi_res_512.png deleted file mode 100644 index 70e8680d3..000000000 Binary files a/multisrc/overrides/mangathemesia/tsundokutraducoes/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/tukangkomik/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/tukangkomik/res/web_hi_res_512.png deleted file mode 100644 index 5610ffe59..000000000 Binary files a/multisrc/overrides/mangathemesia/tukangkomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/turktoon/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/turktoon/res/web_hi_res_512.png deleted file mode 100644 index c906e8362..000000000 Binary files a/multisrc/overrides/mangathemesia/turktoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/uzaymanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/uzaymanga/res/web_hi_res_512.png deleted file mode 100644 index e51eb1200..000000000 Binary files a/multisrc/overrides/mangathemesia/uzaymanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/vexmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/vexmanga/res/web_hi_res_512.png deleted file mode 100644 index 67ed7b365..000000000 Binary files a/multisrc/overrides/mangathemesia/vexmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/vfscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/vfscan/res/web_hi_res_512.png deleted file mode 100644 index 7efdec8ad..000000000 Binary files a/multisrc/overrides/mangathemesia/vfscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/walpurgisscan/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/walpurgisscan/res/web_hi_res_512.png deleted file mode 100644 index 2c471b8b4..000000000 Binary files a/multisrc/overrides/mangathemesia/walpurgisscan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/westmanga/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/westmanga/res/web_hi_res_512.png deleted file mode 100644 index 96e277da3..000000000 Binary files a/multisrc/overrides/mangathemesia/westmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/worldromancetranslation/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/worldromancetranslation/res/web_hi_res_512.png deleted file mode 100644 index b97effb4d..000000000 Binary files a/multisrc/overrides/mangathemesia/worldromancetranslation/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/xcalibrscans/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/xcalibrscans/res/web_hi_res_512.png deleted file mode 100644 index e6df9884a..000000000 Binary files a/multisrc/overrides/mangathemesia/xcalibrscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/zahard/res/web_hi_res_512.png b/multisrc/overrides/mangathemesia/zahard/res/web_hi_res_512.png deleted file mode 100644 index 5fd25f45f..000000000 Binary files a/multisrc/overrides/mangathemesia/zahard/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangaworld/default/res/web_hi_res_512.png b/multisrc/overrides/mangaworld/default/res/web_hi_res_512.png deleted file mode 100644 index a0be9e065..000000000 Binary files a/multisrc/overrides/mangaworld/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mccms/default/res/web_hi_res_512.png b/multisrc/overrides/mccms/default/res/web_hi_res_512.png deleted file mode 100644 index d87464cce..000000000 Binary files a/multisrc/overrides/mccms/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mccms/manhuawu/res/web_hi_res_512.png b/multisrc/overrides/mccms/manhuawu/res/web_hi_res_512.png deleted file mode 100644 index bd1b52ea4..000000000 Binary files a/multisrc/overrides/mccms/manhuawu/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/amascans/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/amascans/res/web_hi_res_512.png deleted file mode 100644 index 33f3944eb..000000000 Binary files a/multisrc/overrides/mmrcms/amascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/animaregia/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/animaregia/res/web_hi_res_512.png deleted file mode 100644 index 109328661..000000000 Binary files a/multisrc/overrides/mmrcms/animaregia/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/default/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/default/res/web_hi_res_512.png deleted file mode 100644 index f2d6d43c6..000000000 Binary files a/multisrc/overrides/mmrcms/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/fallenangels/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/fallenangels/res/web_hi_res_512.png deleted file mode 100644 index 8d2327466..000000000 Binary files a/multisrc/overrides/mmrcms/fallenangels/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/hentaishark/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/hentaishark/res/web_hi_res_512.png deleted file mode 100644 index d92eb2672..000000000 Binary files a/multisrc/overrides/mmrcms/hentaishark/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/mangadoor/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/mangadoor/res/web_hi_res_512.png deleted file mode 100644 index 8c250e369..000000000 Binary files a/multisrc/overrides/mmrcms/mangadoor/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/mangaid/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/mangaid/res/web_hi_res_512.png deleted file mode 100644 index 10e92bcc7..000000000 Binary files a/multisrc/overrides/mmrcms/mangaid/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/mangasin/additional.gradle b/multisrc/overrides/mmrcms/mangasin/additional.gradle index 035df1039..67bf8eb33 100644 --- a/multisrc/overrides/mmrcms/mangasin/additional.gradle +++ b/multisrc/overrides/mmrcms/mangasin/additional.gradle @@ -1,4 +1,4 @@ dependencies { - implementation(project(":lib-synchrony")) - implementation(project(":lib-cryptoaes")) -} \ No newline at end of file + implementation(project(":lib:synchrony")) + implementation(project(":lib:cryptoaes")) +} diff --git a/multisrc/overrides/mmrcms/mangasin/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/mangasin/res/web_hi_res_512.png deleted file mode 100644 index 706045f57..000000000 Binary files a/multisrc/overrides/mmrcms/mangasin/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/onma/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/onma/res/web_hi_res_512.png deleted file mode 100644 index 7f5c94d06..000000000 Binary files a/multisrc/overrides/mmrcms/onma/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/phoenixscans/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/phoenixscans/res/web_hi_res_512.png deleted file mode 100644 index 5164d3886..000000000 Binary files a/multisrc/overrides/mmrcms/phoenixscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/scanfr/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/scanfr/res/web_hi_res_512.png deleted file mode 100644 index 0d2dec96f..000000000 Binary files a/multisrc/overrides/mmrcms/scanfr/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/scanvf/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/scanvf/res/web_hi_res_512.png deleted file mode 100644 index 25ea5345e..000000000 Binary files a/multisrc/overrides/mmrcms/scanvf/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mmrcms/utsukushii/res/web_hi_res_512.png b/multisrc/overrides/mmrcms/utsukushii/res/web_hi_res_512.png deleted file mode 100644 index 093b199fd..000000000 Binary files a/multisrc/overrides/mmrcms/utsukushii/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/monochrome/default/res/web_hi_res_512.png b/multisrc/overrides/monochrome/default/res/web_hi_res_512.png deleted file mode 100644 index 2b542ee7a..000000000 Binary files a/multisrc/overrides/monochrome/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/multichan/henchan/res/web_hi_res_512.png b/multisrc/overrides/multichan/henchan/res/web_hi_res_512.png deleted file mode 100644 index bae8717ce..000000000 Binary files a/multisrc/overrides/multichan/henchan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/multichan/mangachan/res/web_hi_res_512.png b/multisrc/overrides/multichan/mangachan/res/web_hi_res_512.png deleted file mode 100644 index c299727ba..000000000 Binary files a/multisrc/overrides/multichan/mangachan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/multichan/yaoichan/res/web_hi_res_512.png b/multisrc/overrides/multichan/yaoichan/res/web_hi_res_512.png deleted file mode 100644 index 151d52f13..000000000 Binary files a/multisrc/overrides/multichan/yaoichan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mymangacms/manhwa18/res/web_hi_res_512.png b/multisrc/overrides/mymangacms/manhwa18/res/web_hi_res_512.png deleted file mode 100644 index c8877ca02..000000000 Binary files a/multisrc/overrides/mymangacms/manhwa18/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mymangacms/manhwa18net/res/web_hi_res_512.png b/multisrc/overrides/mymangacms/manhwa18net/res/web_hi_res_512.png deleted file mode 100644 index c8877ca02..000000000 Binary files a/multisrc/overrides/mymangacms/manhwa18net/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mymangacms/truyentranhlh/res/web_hi_res_512.png b/multisrc/overrides/mymangacms/truyentranhlh/res/web_hi_res_512.png deleted file mode 100644 index a5140304d..000000000 Binary files a/multisrc/overrides/mymangacms/truyentranhlh/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/nepnep/mangalife/res/web_hi_res_512.png b/multisrc/overrides/nepnep/mangalife/res/web_hi_res_512.png deleted file mode 100644 index 11d762ba0..000000000 Binary files a/multisrc/overrides/nepnep/mangalife/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/nepnep/mangasee/res/web_hi_res_512.png b/multisrc/overrides/nepnep/mangasee/res/web_hi_res_512.png deleted file mode 100644 index a56a7b6b1..000000000 Binary files a/multisrc/overrides/nepnep/mangasee/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/otakusanctuary/myrockmanga/res/web_hi_res_512.png b/multisrc/overrides/otakusanctuary/myrockmanga/res/web_hi_res_512.png deleted file mode 100644 index 322c117e6..000000000 Binary files a/multisrc/overrides/otakusanctuary/myrockmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/otakusanctuary/otakusanctuary/res/web_hi_res_512.png b/multisrc/overrides/otakusanctuary/otakusanctuary/res/web_hi_res_512.png deleted file mode 100644 index d417f7345..000000000 Binary files a/multisrc/overrides/otakusanctuary/otakusanctuary/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/paprika/default/res/web_hi_res_512.png b/multisrc/overrides/paprika/default/res/web_hi_res_512.png deleted file mode 100644 index 0f5836de3..000000000 Binary files a/multisrc/overrides/paprika/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/paprika/manganeloscom/res/web_hi_res_512.png b/multisrc/overrides/paprika/manganeloscom/res/web_hi_res_512.png deleted file mode 100644 index 3a8ad45da..000000000 Binary files a/multisrc/overrides/paprika/manganeloscom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/paprika/mangareadercc/res/web_hi_res_512.png b/multisrc/overrides/paprika/mangareadercc/res/web_hi_res_512.png deleted file mode 100644 index d8463ca05..000000000 Binary files a/multisrc/overrides/paprika/mangareadercc/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/pizzareader/default/res/web_hi_res_512.png b/multisrc/overrides/pizzareader/default/res/web_hi_res_512.png deleted file mode 100644 index 9a5418b43..000000000 Binary files a/multisrc/overrides/pizzareader/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/pizzareader/gto/res/web_hi_res_512.png b/multisrc/overrides/pizzareader/gto/res/web_hi_res_512.png deleted file mode 100644 index be6e51b46..000000000 Binary files a/multisrc/overrides/pizzareader/gto/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/pizzareader/lupiteam/res/web_hi_res_512.png b/multisrc/overrides/pizzareader/lupiteam/res/web_hi_res_512.png deleted file mode 100644 index 30b117ce9..000000000 Binary files a/multisrc/overrides/pizzareader/lupiteam/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/pizzareader/phoenixscans/res/web_hi_res_512.png b/multisrc/overrides/pizzareader/phoenixscans/res/web_hi_res_512.png deleted file mode 100644 index a48c7705f..000000000 Binary files a/multisrc/overrides/pizzareader/phoenixscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/pizzareader/tuttoanimemanga/res/web_hi_res_512.png b/multisrc/overrides/pizzareader/tuttoanimemanga/res/web_hi_res_512.png deleted file mode 100644 index 5a6173396..000000000 Binary files a/multisrc/overrides/pizzareader/tuttoanimemanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/readallcomics/default/res/web_hi_res_512.png b/multisrc/overrides/readallcomics/default/res/web_hi_res_512.png deleted file mode 100644 index 085267870..000000000 Binary files a/multisrc/overrides/readallcomics/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/readallcomics/readallcomicscom/res/web_hi_res_512.png b/multisrc/overrides/readallcomics/readallcomicscom/res/web_hi_res_512.png deleted file mode 100644 index 085267870..000000000 Binary files a/multisrc/overrides/readallcomics/readallcomicscom/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/readallcomics/readallmanga/res/web_hi_res_512.png b/multisrc/overrides/readallcomics/readallmanga/res/web_hi_res_512.png deleted file mode 100644 index c4320c35f..000000000 Binary files a/multisrc/overrides/readallcomics/readallmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/readerfront/ravensscans/res/web_hi_res_512.png b/multisrc/overrides/readerfront/ravensscans/res/web_hi_res_512.png deleted file mode 100644 index 5eb0cf255..000000000 Binary files a/multisrc/overrides/readerfront/ravensscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/readerfront/scyllascans/res/web_hi_res_512.png b/multisrc/overrides/readerfront/scyllascans/res/web_hi_res_512.png deleted file mode 100644 index f2698f0c5..000000000 Binary files a/multisrc/overrides/readerfront/scyllascans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/senkuro/senkognito/res/web_hi_res_512.png b/multisrc/overrides/senkuro/senkognito/res/web_hi_res_512.png deleted file mode 100644 index 8109d76c6..000000000 Binary files a/multisrc/overrides/senkuro/senkognito/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/senkuro/senkuro/res/web_hi_res_512.png b/multisrc/overrides/senkuro/senkuro/res/web_hi_res_512.png deleted file mode 100644 index 359430854..000000000 Binary files a/multisrc/overrides/senkuro/senkuro/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/sinmh/gufengmh/res/web_hi_res_512.png b/multisrc/overrides/sinmh/gufengmh/res/web_hi_res_512.png deleted file mode 100644 index 317212e48..000000000 Binary files a/multisrc/overrides/sinmh/gufengmh/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/sinmh/imitui/res/web_hi_res_512.png b/multisrc/overrides/sinmh/imitui/res/web_hi_res_512.png deleted file mode 100644 index 5e56f22d1..000000000 Binary files a/multisrc/overrides/sinmh/imitui/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/sinmh/manhuadui/res/web_hi_res_512.png b/multisrc/overrides/sinmh/manhuadui/res/web_hi_res_512.png deleted file mode 100644 index bcaa3f4e4..000000000 Binary files a/multisrc/overrides/sinmh/manhuadui/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/sinmh/qinqin/res/web_hi_res_512.png b/multisrc/overrides/sinmh/qinqin/res/web_hi_res_512.png deleted file mode 100644 index 1bd1ed09a..000000000 Binary files a/multisrc/overrides/sinmh/qinqin/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/sinmh/wuqimanga/additional.gradle b/multisrc/overrides/sinmh/wuqimanga/additional.gradle index 027379881..72d602774 100644 --- a/multisrc/overrides/sinmh/wuqimanga/additional.gradle +++ b/multisrc/overrides/sinmh/wuqimanga/additional.gradle @@ -1,3 +1,3 @@ dependencies { - implementation project(':lib-unpacker') + implementation project(':lib:unpacker') } diff --git a/multisrc/overrides/sinmh/wuqimanga/res/web_hi_res_512.png b/multisrc/overrides/sinmh/wuqimanga/res/web_hi_res_512.png deleted file mode 100644 index b7ed7273d..000000000 Binary files a/multisrc/overrides/sinmh/wuqimanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/webtoons/default/res/web_hi_res_512.png b/multisrc/overrides/webtoons/default/res/web_hi_res_512.png deleted file mode 100644 index f22230132..000000000 Binary files a/multisrc/overrides/webtoons/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/webtoons/dongmanmanhua/res/web_hi_res_512.png b/multisrc/overrides/webtoons/dongmanmanhua/res/web_hi_res_512.png deleted file mode 100644 index d7c91223f..000000000 Binary files a/multisrc/overrides/webtoons/dongmanmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/webtoons/webtoons/additional.gradle b/multisrc/overrides/webtoons/webtoons/additional.gradle index 8de52e9e0..f2fd3c255 100644 --- a/multisrc/overrides/webtoons/webtoons/additional.gradle +++ b/multisrc/overrides/webtoons/webtoons/additional.gradle @@ -1,3 +1,3 @@ dependencies { - implementation(project(':lib-textinterceptor')) + implementation(project(':lib:textinterceptor')) } diff --git a/multisrc/overrides/wpcomics/default/res/web_hi_res_512.png b/multisrc/overrides/wpcomics/default/res/web_hi_res_512.png deleted file mode 100644 index dcbd2befb..000000000 Binary files a/multisrc/overrides/wpcomics/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/wpcomics/nettruyen/res/web_hi_res_512.png b/multisrc/overrides/wpcomics/nettruyen/res/web_hi_res_512.png deleted file mode 100644 index d36a348c6..000000000 Binary files a/multisrc/overrides/wpcomics/nettruyen/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/wpcomics/nhattruyen/res/web_hi_res_512.png b/multisrc/overrides/wpcomics/nhattruyen/res/web_hi_res_512.png deleted file mode 100644 index adfbcfc04..000000000 Binary files a/multisrc/overrides/wpcomics/nhattruyen/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/wpcomics/truyenchon/res/web_hi_res_512.png b/multisrc/overrides/wpcomics/truyenchon/res/web_hi_res_512.png deleted file mode 100644 index 8b9601081..000000000 Binary files a/multisrc/overrides/wpcomics/truyenchon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/wpcomics/xoxocomics/res/web_hi_res_512.png b/multisrc/overrides/wpcomics/xoxocomics/res/web_hi_res_512.png deleted file mode 100644 index 828cc9b1f..000000000 Binary files a/multisrc/overrides/wpcomics/xoxocomics/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zbulu/default/res/web_hi_res_512.png b/multisrc/overrides/zbulu/default/res/web_hi_res_512.png deleted file mode 100644 index 83a4dd0be..000000000 Binary files a/multisrc/overrides/zbulu/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zbulu/holymanga/res/web_hi_res_512.png b/multisrc/overrides/zbulu/holymanga/res/web_hi_res_512.png deleted file mode 100644 index 94135669c..000000000 Binary files a/multisrc/overrides/zbulu/holymanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zbulu/mytoon/res/web_hi_res_512.png b/multisrc/overrides/zbulu/mytoon/res/web_hi_res_512.png deleted file mode 100644 index cf081570d..000000000 Binary files a/multisrc/overrides/zbulu/mytoon/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-hdpi/ic_launcher.png rename to multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-hdpi/ic_launcher.png diff --git a/multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-mdpi/ic_launcher.png rename to multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-mdpi/ic_launcher.png diff --git a/multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-xhdpi/ic_launcher.png rename to multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-xhdpi/ic_launcher.png diff --git a/multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-xxhdpi/ic_launcher.png rename to multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-xxhdpi/ic_launcher.png diff --git a/multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from multisrc/overrides/mangathemesia/aiyumanga/res/mipmap-xxxhdpi/ic_launcher.png rename to multisrc/overrides/zeistmanga/aiyumanga/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/multisrc/overrides/zeistmanga/aiyumanga/src/AiYuManhua.kt b/multisrc/overrides/zeistmanga/aiyumanga/src/AiYuManhua.kt new file mode 100644 index 000000000..b4427e08a --- /dev/null +++ b/multisrc/overrides/zeistmanga/aiyumanga/src/AiYuManhua.kt @@ -0,0 +1,32 @@ +package eu.kanade.tachiyomi.extension.es.aiyumanga + +import eu.kanade.tachiyomi.multisrc.zeistmanga.ZeistManga +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import java.util.concurrent.TimeUnit + +class AiYuManhua : ZeistManga( + "AiYuManhua", + "https://www.aiyumanhua.com", + "es", +) { + // Site moved from MangaThemesia to ZeistManga (again) + override val versionId = 4 + + override val client = super.client.newBuilder() + .rateLimit(2, 1, TimeUnit.SECONDS) + .build() + + override val popularMangaSelector = "div#PopularPosts2 article" + override val popularMangaSelectorTitle = ".post-title a" + override val popularMangaSelectorUrl = ".post-title a" + + override val hasFilters = false + + override val mangaDetailsSelector = "div.section#main div.widget:has(main)" + override val mangaDetailsSelectorGenres = "dl > dd > a[rel=tag]" + override val mangaDetailsSelectorInfo = "div#extra-info > dl" + override val mangaDetailsSelectorInfoTitle = "dt" + override val mangaDetailsSelectorInfoDescription = "dd" + + override val pageListSelector = "article.chapter img[src]" +} diff --git a/multisrc/overrides/zeistmanga/animexnovel/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/animexnovel/res/web_hi_res_512.png deleted file mode 100644 index 1d9e5f43b..000000000 Binary files a/multisrc/overrides/zeistmanga/animexnovel/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/asupankomik/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/asupankomik/res/web_hi_res_512.png deleted file mode 100644 index 92f1b887c..000000000 Binary files a/multisrc/overrides/zeistmanga/asupankomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/elevenscanlator/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/elevenscanlator/res/web_hi_res_512.png deleted file mode 100644 index a5fb63c5d..000000000 Binary files a/multisrc/overrides/zeistmanga/elevenscanlator/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/guildatierdraw/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/guildatierdraw/res/web_hi_res_512.png deleted file mode 100644 index db4eb55a5..000000000 Binary files a/multisrc/overrides/zeistmanga/guildatierdraw/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/hijala/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/hijala/res/web_hi_res_512.png deleted file mode 100644 index ee65c50dc..000000000 Binary files a/multisrc/overrides/zeistmanga/hijala/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/klmanhua/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/klmanhua/res/web_hi_res_512.png deleted file mode 100644 index f3966ae79..000000000 Binary files a/multisrc/overrides/zeistmanga/klmanhua/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/komikrealm/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/komikrealm/res/web_hi_res_512.png deleted file mode 100644 index ab0a2dfc4..000000000 Binary files a/multisrc/overrides/zeistmanga/komikrealm/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/lonertranslations/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/lonertranslations/res/web_hi_res_512.png deleted file mode 100644 index 2e27d7a46..000000000 Binary files a/multisrc/overrides/zeistmanga/lonertranslations/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/mangaailand/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/mangaailand/res/web_hi_res_512.png deleted file mode 100644 index 9263cc7ba..000000000 Binary files a/multisrc/overrides/zeistmanga/mangaailand/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/mangasoul/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/mangasoul/res/web_hi_res_512.png deleted file mode 100644 index 4a40c9f31..000000000 Binary files a/multisrc/overrides/zeistmanga/mangasoul/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/mikoroku/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/mikoroku/res/web_hi_res_512.png deleted file mode 100644 index 27760ce9f..000000000 Binary files a/multisrc/overrides/zeistmanga/mikoroku/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/mikrokosmosfansub/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/mikrokosmosfansub/res/web_hi_res_512.png deleted file mode 100644 index 1c1e9c500..000000000 Binary files a/multisrc/overrides/zeistmanga/mikrokosmosfansub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/shiyurasub/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/shiyurasub/res/web_hi_res_512.png deleted file mode 100644 index 4226983df..000000000 Binary files a/multisrc/overrides/zeistmanga/shiyurasub/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/sobatmanku/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/sobatmanku/res/web_hi_res_512.png deleted file mode 100644 index b56a5b315..000000000 Binary files a/multisrc/overrides/zeistmanga/sobatmanku/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/tooncubus/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/tooncubus/res/web_hi_res_512.png deleted file mode 100644 index de1f2e308..000000000 Binary files a/multisrc/overrides/zeistmanga/tooncubus/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/tyrantscans/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/tyrantscans/res/web_hi_res_512.png deleted file mode 100644 index 9fb6f27cd..000000000 Binary files a/multisrc/overrides/zeistmanga/tyrantscans/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zeistmanga/yokai/res/web_hi_res_512.png b/multisrc/overrides/zeistmanga/yokai/res/web_hi_res_512.png deleted file mode 100644 index 0214dbe9b..000000000 Binary files a/multisrc/overrides/zeistmanga/yokai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/default/res/web_hi_res_512.png b/multisrc/overrides/zmanga/default/res/web_hi_res_512.png deleted file mode 100644 index ead27d2aa..000000000 Binary files a/multisrc/overrides/zmanga/default/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/hensekai/res/web_hi_res_512.png b/multisrc/overrides/zmanga/hensekai/res/web_hi_res_512.png deleted file mode 100644 index 985968af5..000000000 Binary files a/multisrc/overrides/zmanga/hensekai/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/komikgan/res/web_hi_res_512.png b/multisrc/overrides/zmanga/komikgan/res/web_hi_res_512.png deleted file mode 100644 index 43a765a0a..000000000 Binary files a/multisrc/overrides/zmanga/komikgan/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/komikindoinfo/res/web_hi_res_512.png b/multisrc/overrides/zmanga/komikindoinfo/res/web_hi_res_512.png deleted file mode 100644 index e4ab953fa..000000000 Binary files a/multisrc/overrides/zmanga/komikindoinfo/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/komikita/res/web_hi_res_512.png b/multisrc/overrides/zmanga/komikita/res/web_hi_res_512.png deleted file mode 100644 index 231b58945..000000000 Binary files a/multisrc/overrides/zmanga/komikita/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/komikplay/res/web_hi_res_512.png b/multisrc/overrides/zmanga/komikplay/res/web_hi_res_512.png deleted file mode 100644 index 67dcc8b98..000000000 Binary files a/multisrc/overrides/zmanga/komikplay/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/maidmanga/res/web_hi_res_512.png b/multisrc/overrides/zmanga/maidmanga/res/web_hi_res_512.png deleted file mode 100644 index 23eb4a3da..000000000 Binary files a/multisrc/overrides/zmanga/maidmanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/neumanga/res/web_hi_res_512.png b/multisrc/overrides/zmanga/neumanga/res/web_hi_res_512.png deleted file mode 100644 index 43663c402..000000000 Binary files a/multisrc/overrides/zmanga/neumanga/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/sektekomik/res/web_hi_res_512.png b/multisrc/overrides/zmanga/sektekomik/res/web_hi_res_512.png deleted file mode 100644 index 5ec0638c1..000000000 Binary files a/multisrc/overrides/zmanga/sektekomik/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/overrides/zmanga/shirodoujin/res/web_hi_res_512.png b/multisrc/overrides/zmanga/shirodoujin/res/web_hi_res_512.png deleted file mode 100644 index 3c190889f..000000000 Binary files a/multisrc/overrides/zmanga/shirodoujin/res/web_hi_res_512.png and /dev/null differ diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt index 537eca255..9e9f2f2d2 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia/MangaThemesiaGenerator.kt @@ -16,7 +16,6 @@ class MangaThemesiaGenerator : ThemeSourceGenerator { override val sources = listOf( MultiLang("Miau Scan", "https://miaucomics.org", listOf("es", "pt-BR"), overrideVersionCode = 2), SingleLang("Ainz Scans ID", "https://ainzscans.site", "id"), - SingleLang("AiYuManga", "https://aiyumanhua.com", "es", overrideVersionCode = 8), SingleLang("Alceascan", "https://alceascan.my.id", "id"), SingleLang("Animated Glitched Comics", "https://agscomics.com", "en"), SingleLang("Animated Glitched Scans", "https://anigliscans.xyz", "en", overrideVersionCode = 1), diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt index 14e38e0cf..7a95eaa72 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/zeistmanga/ZeistMangaGenerator.kt @@ -12,6 +12,7 @@ class ZeistMangaGenerator : ThemeSourceGenerator { override val baseVersionCode: Int = 8 override val sources = listOf( + SingleLang("AiYuManhua", "https://www.aiyumanhua.com", "es", className = "AiYuManhua", pkgName = "aiyumanga", overrideVersionCode = 28), SingleLang("AnimeXNovel", "https://www.animexnovel.com", "pt-BR"), SingleLang("Asupan Komik", "https://www.asupankomik.my.id", "id", overrideVersionCode = 1), SingleLang("Celestial Moon", "https://www.celestialmoonscan.com", "es", isNsfw = true), diff --git a/multisrc/src/main/java/generator/ThemeSourceGenerator.kt b/multisrc/src/main/java/generator/ThemeSourceGenerator.kt index 44f82aa55..a4dad7d9a 100644 --- a/multisrc/src/main/java/generator/ThemeSourceGenerator.kt +++ b/multisrc/src/main/java/generator/ThemeSourceGenerator.kt @@ -71,7 +71,6 @@ interface ThemeSourceGenerator { |// THIS FILE IS AUTO-GENERATED; DO NOT EDIT |ext { | extName = '${source.name}' - | pkgNameSuffix = '${pkgNameSuffix(source, ".")}' | extClass = '.${source.className}' | extFactory = '$themePkg' | extVersionCode = ${baseVersionCode + source.overrideVersionCode + multisrcLibraryVersion} diff --git a/settings.gradle.kts b/settings.gradle.kts index 1ce18b85d..557bdbf89 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,56 +1,14 @@ include(":core") // Load all modules under /lib -File(rootDir, "lib").eachDir { - val libName = it.name - include(":lib-$libName") - project(":lib-$libName").projectDir = File("lib/$libName") -} +File(rootDir, "lib").eachDir { include("lib:${it.name}") } -if (System.getenv("CI") == null || System.getenv("CI_MODULE_GEN") == "true") { - // Local development (full project build) +// Local development (full project build) +include(":multisrc") +project(":multisrc").projectDir = File("multisrc") - include(":multisrc") - project(":multisrc").projectDir = File("multisrc") - - /** - * Add or remove modules to load as needed for local development here. - * To generate multisrc extensions first, run the `:multisrc:generateExtensions` task first. - */ - loadAllIndividualExtensions() - loadAllGeneratedMultisrcExtensions() - // loadIndividualExtension("all", "mangadex") - // loadGeneratedMultisrcExtension("en", "guya") -} else { - // Running in CI (GitHub Actions) - - val isMultisrc = System.getenv("CI_MULTISRC") == "true" - - if (isMultisrc) { - include(":multisrc") - project(":multisrc").projectDir = File("multisrc") - - // Loads generated extensions from multisrc - File(rootDir, "generated-src").eachDir { dir -> - dir.eachDir { subdir -> - val name = ":extensions:multisrc:${dir.name}:${subdir.name}" - println(name) - include(name) - project(name).projectDir = File("generated-src/${dir.name}/${subdir.name}") - } - } - } else { - // Loads individual extensions - File(rootDir, "src").eachDir { dir -> - dir.eachDir { subdir -> - val name = ":extensions:individual:${dir.name}:${subdir.name}" - println(name) - include(name) - project(name).projectDir = File("src/${dir.name}/${subdir.name}") - } - } - } -} +loadAllIndividualExtensions() +loadAllGeneratedMultisrcExtensions() fun loadAllIndividualExtensions() { File(rootDir, "src").eachDir { dir -> @@ -61,6 +19,7 @@ fun loadAllIndividualExtensions() { } } } + fun loadAllGeneratedMultisrcExtensions() { File(rootDir, "generated-src").eachDir { dir -> dir.eachDir { subdir -> @@ -70,16 +29,6 @@ fun loadAllGeneratedMultisrcExtensions() { } } } -fun loadIndividualExtension(lang: String, name: String) { - val projectName = ":extensions:individual:$lang:$name" - include(projectName) - project(projectName).projectDir = File("src/${lang}/${name}") -} -fun loadGeneratedMultisrcExtension(lang: String, name: String) { - val projectName = ":extensions:multisrc:$lang:$name" - include(projectName) - project(projectName).projectDir = File("generated-src/${lang}/${name}") -} fun File.eachDir(block: (File) -> Unit) { listFiles()?.filter { it.isDirectory }?.forEach { block(it) } diff --git a/src/all/akuma/build.gradle b/src/all/akuma/build.gradle index b91e386e9..b9b0304b1 100644 --- a/src/all/akuma/build.gradle +++ b/src/all/akuma/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Akuma' - pkgNameSuffix = 'all.akuma' extClass = '.Akuma' extVersionCode = 1 isNsfw = true diff --git a/src/all/akuma/res/web_hi_res_512.png b/src/all/akuma/res/web_hi_res_512.png deleted file mode 100644 index 74af0b3ce..000000000 Binary files a/src/all/akuma/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/batoto/build.gradle b/src/all/batoto/build.gradle index 641492b96..7c94a845a 100644 --- a/src/all/batoto/build.gradle +++ b/src/all/batoto/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Bato.to' - pkgNameSuffix = 'all.batoto' extClass = '.BatoToFactory' extVersionCode = 34 isNsfw = true @@ -9,5 +8,5 @@ ext { apply from: "$rootDir/common.gradle" dependencies { - implementation(project(':lib-cryptoaes')) + implementation(project(':lib:cryptoaes')) } diff --git a/src/all/batoto/res/web_hi_res_512.png b/src/all/batoto/res/web_hi_res_512.png deleted file mode 100644 index 973b65efa..000000000 Binary files a/src/all/batoto/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/buondua/build.gradle b/src/all/buondua/build.gradle index 91be2df97..ca34bb434 100644 --- a/src/all/buondua/build.gradle +++ b/src/all/buondua/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Buon Dua' - pkgNameSuffix = 'all.buondua' extClass = '.BuonDua' extVersionCode = 2 isNsfw = true diff --git a/src/all/buondua/res/web_hi_res_512.png b/src/all/buondua/res/web_hi_res_512.png deleted file mode 100644 index 39b64744b..000000000 Binary files a/src/all/buondua/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/comicfury/build.gradle b/src/all/comicfury/build.gradle index 426a72d82..741cf7088 100644 --- a/src/all/comicfury/build.gradle +++ b/src/all/comicfury/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Comic Fury' - pkgNameSuffix = 'all.comicfury' extClass = '.ComicFuryFactory' extVersionCode = 3 isNsfw = true @@ -9,5 +8,5 @@ ext { apply from: "$rootDir/common.gradle" dependencies { - implementation(project(':lib-textinterceptor')) + implementation(project(':lib:textinterceptor')) } diff --git a/src/all/comicfury/res/web_hi_res_512.png b/src/all/comicfury/res/web_hi_res_512.png deleted file mode 100644 index 9f721a498..000000000 Binary files a/src/all/comicfury/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/comickfun/build.gradle b/src/all/comickfun/build.gradle index 543d58905..4aa96d636 100644 --- a/src/all/comickfun/build.gradle +++ b/src/all/comickfun/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Comick' - pkgNameSuffix = 'all.comickfun' extClass = '.ComickFunFactory' extVersionCode = 41 isNsfw = true @@ -9,5 +8,5 @@ ext { apply from: "$rootDir/common.gradle" dependencies { - implementation(project(":lib-i18n")) + implementation(project(":lib:i18n")) } diff --git a/src/all/comickfun/res/web_hi_res_512.png b/src/all/comickfun/res/web_hi_res_512.png deleted file mode 100644 index ce78d3a86..000000000 Binary files a/src/all/comickfun/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/comico/build.gradle b/src/all/comico/build.gradle index a77c9b96e..39ffd2b44 100644 --- a/src/all/comico/build.gradle +++ b/src/all/comico/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Comico' - pkgNameSuffix = 'all.comico' extClass = '.ComicoFactory' extVersionCode = 5 isNsfw = true @@ -9,5 +8,5 @@ ext { apply from: "$rootDir/common.gradle" dependencies { - implementation(project(':lib-cryptoaes')) + implementation(project(':lib:cryptoaes')) } diff --git a/src/all/comico/res/web_hi_res_512.png b/src/all/comico/res/web_hi_res_512.png deleted file mode 100644 index 4ead0a852..000000000 Binary files a/src/all/comico/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/commitstrip/build.gradle b/src/all/commitstrip/build.gradle index bf28aa0e0..31fd0297d 100644 --- a/src/all/commitstrip/build.gradle +++ b/src/all/commitstrip/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Commit Strip' - pkgNameSuffix = 'all.commitstrip' extClass = '.CommitStripFactory' extVersionCode = 3 } diff --git a/src/all/commitstrip/res/web_hi_res_512.png b/src/all/commitstrip/res/web_hi_res_512.png deleted file mode 100644 index bf1bb7353..000000000 Binary files a/src/all/commitstrip/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/cubari/build.gradle b/src/all/cubari/build.gradle index 606e9200f..c8140ba71 100644 --- a/src/all/cubari/build.gradle +++ b/src/all/cubari/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Cubari' - pkgNameSuffix = "all.cubari" extClass = '.CubariFactory' extVersionCode = 24 } diff --git a/src/all/cubari/res/web_hi_res_512.png b/src/all/cubari/res/web_hi_res_512.png deleted file mode 100644 index 1dfd0c08c..000000000 Binary files a/src/all/cubari/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/danbooru/build.gradle b/src/all/danbooru/build.gradle index 439bfe93d..55ab57c12 100644 --- a/src/all/danbooru/build.gradle +++ b/src/all/danbooru/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Danbooru' - pkgNameSuffix = 'all.danbooru' extClass = '.Danbooru' extVersionCode = 1 isNsfw = true diff --git a/src/all/danbooru/res/web_hi_res_512.png b/src/all/danbooru/res/web_hi_res_512.png deleted file mode 100644 index a6586a5fb..000000000 Binary files a/src/all/danbooru/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/dragonballmultiverse/build.gradle b/src/all/dragonballmultiverse/build.gradle index 08d7cab05..fc99031c0 100644 --- a/src/all/dragonballmultiverse/build.gradle +++ b/src/all/dragonballmultiverse/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Dragon Ball Multiverse' - pkgNameSuffix = 'all.dragonballmultiverse' extClass = '.DbMFactory' extVersionCode = 6 } diff --git a/src/all/dragonballmultiverse/res/web_hi_res_512.png b/src/all/dragonballmultiverse/res/web_hi_res_512.png deleted file mode 100644 index 3aa681055..000000000 Binary files a/src/all/dragonballmultiverse/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/ehentai/build.gradle b/src/all/ehentai/build.gradle index 2c277b3cb..be43b1386 100644 --- a/src/all/ehentai/build.gradle +++ b/src/all/ehentai/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'E-Hentai' - pkgNameSuffix = 'all.ehentai' extClass = '.EHFactory' extVersionCode = 20 isNsfw = true diff --git a/src/all/ehentai/res/web_hi_res_512.png b/src/all/ehentai/res/web_hi_res_512.png deleted file mode 100644 index 4529cd749..000000000 Binary files a/src/all/ehentai/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/everiaclub/build.gradle b/src/all/everiaclub/build.gradle index a4cb85691..16a640c5d 100644 --- a/src/all/everiaclub/build.gradle +++ b/src/all/everiaclub/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Everia.club' - pkgNameSuffix = 'all.everiaclub' extClass = '.EveriaClub' extVersionCode = 9 isNsfw = true diff --git a/src/all/everiaclub/res/web_hi_res_512.png b/src/all/everiaclub/res/web_hi_res_512.png deleted file mode 100644 index 7b946cf60..000000000 Binary files a/src/all/everiaclub/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/freleinbooks/build.gradle b/src/all/freleinbooks/build.gradle index 46c460870..0edde750a 100644 --- a/src/all/freleinbooks/build.gradle +++ b/src/all/freleinbooks/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Frelein Books' - pkgNameSuffix = 'all.freleinbooks' extClass = '.FreleinBooks' extVersionCode = 1 isNsfw = false diff --git a/src/all/freleinbooks/res/web_hi_res_512.png b/src/all/freleinbooks/res/web_hi_res_512.png deleted file mode 100644 index 302b4f9c1..000000000 Binary files a/src/all/freleinbooks/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/hennojin/build.gradle b/src/all/hennojin/build.gradle index 5a8ec02c7..e0897dd19 100644 --- a/src/all/hennojin/build.gradle +++ b/src/all/hennojin/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Hennojin' - pkgNameSuffix = 'all.hennojin' extClass = '.HennojinFactory' extVersionCode = 1 isNsfw = true diff --git a/src/all/hennojin/res/web_hi_res_512.png b/src/all/hennojin/res/web_hi_res_512.png deleted file mode 100644 index a5079a5a0..000000000 Binary files a/src/all/hennojin/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/holonometria/build.gradle b/src/all/holonometria/build.gradle index a3220f4b0..b4dfb1493 100644 --- a/src/all/holonometria/build.gradle +++ b/src/all/holonometria/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'HOLONOMETRIA' - pkgNameSuffix = 'all.holonometria' extClass = '.HolonometriaFactory' extVersionCode = 1 } diff --git a/src/all/holonometria/res/web_hi_res_512.png b/src/all/holonometria/res/web_hi_res_512.png deleted file mode 100644 index b3bd72e7b..000000000 Binary files a/src/all/holonometria/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/imhentai/build.gradle b/src/all/imhentai/build.gradle index 8f466148b..8aba20a5a 100644 --- a/src/all/imhentai/build.gradle +++ b/src/all/imhentai/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'IMHentai' - pkgNameSuffix = 'all.imhentai' extClass = '.IMHentaiFactory' extVersionCode = 14 isNsfw = true diff --git a/src/all/imhentai/res/web_hi_res_512.png b/src/all/imhentai/res/web_hi_res_512.png deleted file mode 100644 index cfe8b5960..000000000 Binary files a/src/all/imhentai/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/izneo/build.gradle b/src/all/izneo/build.gradle index 42a75dcf8..576a89252 100644 --- a/src/all/izneo/build.gradle +++ b/src/all/izneo/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'izneo (webtoons)' - pkgNameSuffix = 'all.izneo' extClass = '.IzneoFactory' extVersionCode = 5 } diff --git a/src/all/izneo/res/web_hi_res_512.png b/src/all/izneo/res/web_hi_res_512.png deleted file mode 100644 index f4f29bc02..000000000 Binary files a/src/all/izneo/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/junmeitu/build.gradle b/src/all/junmeitu/build.gradle index 685905170..1e66397f7 100644 --- a/src/all/junmeitu/build.gradle +++ b/src/all/junmeitu/build.gradle @@ -1,6 +1,5 @@ ext { extName = 'Junmeitu' - pkgNameSuffix = 'all.junmeitu' extClass = '.Junmeitu' extVersionCode = 6 isNsfw = true diff --git a/src/all/junmeitu/res/web_hi_res_512.png b/src/all/junmeitu/res/web_hi_res_512.png deleted file mode 100644 index 24cc52822..000000000 Binary files a/src/all/junmeitu/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/kavita/CHANGELOG.md b/src/all/kavita/CHANGELOG.md deleted file mode 100644 index 2843891e9..000000000 --- a/src/all/kavita/CHANGELOG.md +++ /dev/null @@ -1,93 +0,0 @@ -## 1.3.13 - -### Fixed - - * Fixed 'null cannot be cast to non-null type' exception - -## 1.3.12 - -### Features - -* Migrate filters to v2 -* Implemented smartFilters -* Added localization support - -### Fixed - -* Fixed publication status not showing - -## 1.3.10 - -### Features - -* API Change for Kavita v0.7.2 - -## 1.3.9 - -### Features - -* Added pdf support - -## 1.3.8 - -### Fix - -* Fixed `Expected URL scheme 'http' or 'https` when downloading - -## 1.3.7 - -### Features - -* New Sort filter: Time to read -* New Filter: Year release filter - -### Fix - -* Filters can now be used together with search -* Epub and pdfs no longer show in format filter (currently not supported) - -## 1.3.6 - -### Fix - -* Fixed "lateinit property title not initialized" - -## 1.3.5 - -### Features - -* Ignore DOH -* Added sort option `Item Added` -* Latest button now shows latest `Item Added` - -## 1.3.4 - -### Features - -* Exclude from bulk update warnings - -## 1.2.3 - -### Fix - -* Fixed Rating filter -* Fixed Chapter list not sorting correctly -* Fixed search -* Fixed manga details not showing correctly -* Fixed filters not populating if account was not admin - -### Features -* The extension is now ready to implement tracking. -* Min required version for the extension to work properly: `v0.5.1.1` - -## 1.2.2 - -### Features - -* Add `CHANGELOG.md` & `README.md` - -## 1.2.1 - -### Features - -* first version diff --git a/src/all/kavita/README.md b/src/all/kavita/README.md deleted file mode 100644 index 79f467edd..000000000 --- a/src/all/kavita/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# Kavita - -Table of Content -- [FAQ](#FAQ) - - [Why do I see no manga?](#why-do-i-see-no-manga) - - [Where can I get more information about Kavita?](#where-can-i-get-more-information-about-kavita) - - [The Kavita extension stopped working?](#the-kavita-extension-stopped-working) - - [Can I add more than one Kavita server or user?](#can-i-add-more-than-one-kavita-server-or-user) - - [Can I test the Kavita extension before setting up my own server?](#can-i-test-the-kavita-extension-before-setting-up-my-own-server) -- [Guides](#Guides) - - [How do I add my Kavita server to Tachiyomi?](#how-do-i-add-my-kavita-server-to-tachiyomi) - -Don't find the question you are look for go check out our general FAQs and Guides over at [Extension FAQ](https://tachiyomi.org/help/faq/#extensions) or [Getting Started](https://tachiyomi.org/help/guides/getting-started/#installation) - -Kavita also has a documentation about the Tachiyomi Kavita extension at the [Kavita wiki](https://wiki.kavitareader.com/en/guides/misc/tachiyomi). - -## FAQ - -### Why do I see no manga? -Kavita is a self-hosted comic/manga media server. - -### Where can I get more information about Kavita? -You can visit the [Kavita](https://www.kavitareader.com/) website for for more information. - -### The Kavita extension stopped working? -Make sure that your Kavita server and extension are on the newest version. - -### Can I add more than one Kavita server or user? -Yes, currently you can add up to 3 different Kavita instances to Tachiyomi. - -### Can I test the Kavita extension before setting up my own server? -Yes, you can try it out with the DEMO servers OPDS url `https://demo.kavitareader.com/api/opds/aca1c50d-7e08-4f37-b356-aecd6bf69b72`. - -## Guides - -### How do I add my Kavita server to Tachiyomi? -Go into the settings of the Kavita extension from the Extension tab in Browse and fill in your OPDS url. diff --git a/src/all/kavita/assets/i18n/messages_en.properties b/src/all/kavita/assets/i18n/messages_en.properties deleted file mode 100644 index 52f341d65..000000000 --- a/src/all/kavita/assets/i18n/messages_en.properties +++ /dev/null @@ -1,18 +0,0 @@ -login_errors_failed_login=Login failed. Something went wrong -login_errors_header_token_empty="Error: The JSON Web Token is empty.\nTry opening the extension first." -login_errors_invalid_url=Invalid URL: -login_errors_parse_tokendto=There was an error parsing the auth token -pref_customsource_title=Displayed name for source -pref_edit_customsource_summary=Here you can change this source name.\nYou can write a descriptive name to identify this OPDS URL. -pref_filters_summary=Show these filters in the filter list -pref_filters_title=Default filters shown -pref_opds_badformed_url=Incorrect OPDS address. Please copy it from User settings \u2192 3rd party apps \u2192 OPDS URL -pref_opds_duplicated_source_url=The URL is configured in a different source -> -pref_opds_must_setup_address=You must set up the address to communicate with Kavita -pref_opds_summary=The OPDS URL copied from User Settings. This should include address and end with the API key. -restartapp_settings=Restart Tachiyomi to apply new setting. -version_exceptions_chapters_parse=Unhandled exception parsing chapters. Send your logs to the Kavita devs. -check_version=Ensure you have the newest version of the extension and Kavita. (0.7.8 or newer.)\nIf the issue persists, report it to the Kavita developers with the accompanying logs. -version_exceptions_smart_filter=Could not decode SmartFilter. Ensure you are using Kavita version 0.7.11 or later. -http_errors_500=Something went wrong -http_errors_401=There was an error logging in. Try again or reload the app diff --git a/src/all/kavita/assets/i18n/messages_es_es.properties b/src/all/kavita/assets/i18n/messages_es_es.properties deleted file mode 100644 index 8f6d3058c..000000000 --- a/src/all/kavita/assets/i18n/messages_es_es.properties +++ /dev/null @@ -1,18 +0,0 @@ -pref_customsource_title=Nombre de la instancia -pref_edit_customsource_summary=Aqui puedes cambiar el nombre de la instancia.\nPuedes escribir un nombre descriptivo que identifique esta url/instancia -restartapp_settings=Reinicia la aplicación para aplicar los cambios -version_exceptions_chapters_parse=Algo ha ido mal al procesar los capitulos. Envia los registros de fallo a los desarrolladores de Kavita -check_version=Comprueba que tienes tanto Kavita como la extension actualizada. (Version minima: 0.7.8)\nSi el problema persiste, reportalo a los desarrolladores de Kavita aportando los registros de fallo. -version_exceptions_smart_filter=Fallo al decodificar los filtros inteligentes. Aseg\u00FArate que estas al menos en la version 0.7.11 de Kavita -http_errors_500=Algo ha ido mal -http_errors_401=Ha habido un error al iniciar sesi\u00F3n. Prueba otra vez o reinicia la aplicaci\u00F3n -pref_opds_summary=La url del OPDS copiada de la configuraci\u00F3n del usuario. Debe incluir la direcci\u00F3n y la clave api al final. -pref_filters_summary=Mostrar estos filtros en la lista de filtros -pref_filters_title=Filtros por defecto -pref_opds_badformed_url=La direcci\u00F3n OPDS no es correcta. Por favor, c\u00F3piela desde la Configuraci\u00F3n de usuario-> aplicaciones de terceros -> url de OPDS -login_errors_parse_tokendto=Se ha producido un error al procesar el token de autenticaci\u00F3n -pref_opds_duplicated_source_url=Url est\u00E1 configurado en una fuente diferente -> -pref_opds_must_setup_address=Debe configurar la direcci\u00F3n para comunicarse con Kavita -login_errors_failed_login=Error en el inicio de sesi\u00F3n. Algo ha ido mal -login_errors_header_token_empty="Error: el token jwt est\u00E1 vac\u00EDo.\nIntente abrir primero la extensi\u00F3n" -login_errors_invalid_url=URL no v\u00E1lida: diff --git a/src/all/kavita/assets/i18n/messages_fr_fr.properties b/src/all/kavita/assets/i18n/messages_fr_fr.properties deleted file mode 100644 index bd29b962a..000000000 --- a/src/all/kavita/assets/i18n/messages_fr_fr.properties +++ /dev/null @@ -1,20 +0,0 @@ - - -version_exceptions_chapters_parse=Exception non trait\u00E9e durant l'analyse des chapitres. Envoyez les journaux aux d\u00E9velopeurs de Kavita -pref_customsource_title=Nom d'affichage pour la source -version_exceptions_smart_filter=\u00C9chec du d\u00E9codage de SmartFilter. Assurez-vous que vous utilisez au moins Kavita version 0.7.11 -pref_opds_summary=L'URL OPDS a \u00E9t\u00E9 copi\u00E9e \u00E0 partir des param\u00E8tres de l'utilisateur. Ceci devrait inclure l'adresse et la cl\u00E9 API. -pref_filters_summary=Afficher ces filtres dans la liste des filtres -check_version=Assurez-vous que vous avez l'extension et Kavita mises \u00E0 jour. (version Mini\u202F: 0.7.8)\nSi le probl\u00E8me persiste, signalez-le aux d\u00E9veloppeurs de Kavita en fournissant des journaux -pref_filters_title=Filtres par d\u00E9faut affich\u00E9s -pref_edit_customsource_summary=Ici vous pouvez changer ce nom source.\nVous pouvez \u00E9crire un nom descriptif pour identifier cette URL opds -pref_opds_badformed_url=L'adresse OPDS n'est pas correcte. Veuillez la copiez \u00E0 partir des param\u00E8tres de l'utilisateur - > Applis tierces -> URL OPDS -login_errors_parse_tokendto=Il y a eu une erreur pendant l'analyse du jeton d'authentification -restartapp_settings=Red\u00E9marrez Tachiyomi pour appliquer le nouveau r\u00E9glage. -pref_opds_duplicated_source_url=L'URL est configur\u00E9e dans une autre source -> -pref_opds_must_setup_address=Vous devez configurer l'adresse pour communiquer avec Kavita -login_errors_failed_login=\u00C9chec de la connexion. Quelque chose s'est mal pass\u00E9 -http_errors_500=Quelque chose s'est mal pass\u00E9 -login_errors_header_token_empty=\u00AB\u00A0Erreur\u202F: le jeton jwt est vide.\nEssayez d'abord d'ouvrir l'extension\u00A0\u00BB -login_errors_invalid_url=URL invalide\u202F: -http_errors_401=Il y a eu une erreur. Essayez de nouveau ou rechargez l'application diff --git a/src/all/kavita/assets/i18n/messages_nb_no.properties b/src/all/kavita/assets/i18n/messages_nb_no.properties deleted file mode 100644 index c2e0a530d..000000000 --- a/src/all/kavita/assets/i18n/messages_nb_no.properties +++ /dev/null @@ -1,21 +0,0 @@ - - -pref_customsource_title=Vist kildenavn -pref_edit_customsource_summary=Her kan du endre dette kildenavnet.\nDu kan skrive et beskrivende navn for \u00E5 identifisere denne OPDS-nettadressen. -restartapp_settings=Ny innstilling trer i kraft n\u00E5r du starter Tachiyomi p\u00E5 ny. -duplicated_source_url=Nettadressen er satt opp i en annen Kavita-instans -pref_filters_summary=Vis disse filterne i filterlisten -pref_filters_title=Forvalgte filtre valgt -login_errors_parse_tokendto=Kunne ikke tolke identifiseringssymbolet -login_errors_failed_login=Innlogging mislyktes. Noe gikk galt. -http_errors_500=Noe gikk galt -login_errors_header_token_empty="Feil: JSON-nettsymbol er tomt.\nPr\u00F8v \u00E5 \u00E5pne utvidelsen f\u00F8rst." -login_errors_invalid_url=Ugyldig nettadresse: -version_exceptions_chapters_parse=Uh\u00E5ndtert unntak i tolking av kapitler. Send loggene dine til Kavita-utviklerne. -version_exceptions_smart_filter=Kunne ikke dekode smartfilter. Forsikre deg om at du bruker Kavita versjon 0.7.11 eller nyere. -pref_opds_summary=OPDS-nettadressen kopiert fra brukerinnstillingene. Denne skal inkludere med adressen og slutte med API-n\u00F8kkelen. -check_version=Forsikre deg om at b\u00E5de utvidelsen og Kavita er av nyeste versjon. (Ihvertfall 0.7.8)\nHvis problemet vedvarer kan du rapportere det til Kavita-utviklerne med tilh\u00F8rende loggf\u00F8ring. -pref_opds_badformed_url=OPDS-adressen er ikke riktig. Kopier den fra brukerinnstillinger -> tredjepartsprogrammer -> OPDS-nettadresse -pref_opds_duplicated_source_url=Nettadressen er satt opp i en annen instans -> -pref_opds_must_setup_address=Du m\u00E5 sette opp adressen som skal kommunisere med Kavita -http_errors_401=Feil med innlogging. Pr\u00F8v \u00E5 laste inn p\u00E5 ny, eller start programmet p\u00E5 ny. diff --git a/src/all/kavita/build.gradle b/src/all/kavita/build.gradle deleted file mode 100644 index 838daa9dd..000000000 --- a/src/all/kavita/build.gradle +++ /dev/null @@ -1,17 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlinx-serialization' - -ext { - extName = 'Kavita' - pkgNameSuffix = 'all.kavita' - extClass = '.KavitaFactory' - extVersionCode = 13 -} - -dependencies { - implementation 'info.debatty:java-string-similarity:2.0.0' - implementation(project(':lib-i18n')) -} - -apply from: "$rootDir/common.gradle" diff --git a/src/all/kavita/res/mipmap-hdpi/ic_launcher.png b/src/all/kavita/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 16cee6c3e..000000000 Binary files a/src/all/kavita/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/kavita/res/mipmap-mdpi/ic_launcher.png b/src/all/kavita/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index ebcbc75a2..000000000 Binary files a/src/all/kavita/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/kavita/res/mipmap-xhdpi/ic_launcher.png b/src/all/kavita/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 39ca4ccaa..000000000 Binary files a/src/all/kavita/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/kavita/res/mipmap-xxhdpi/ic_launcher.png b/src/all/kavita/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 98f3ea1ff..000000000 Binary files a/src/all/kavita/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/kavita/res/mipmap-xxxhdpi/ic_launcher.png b/src/all/kavita/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index dc7d8341f..000000000 Binary files a/src/all/kavita/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/kavita/res/web_hi_res_512.png b/src/all/kavita/res/web_hi_res_512.png deleted file mode 100644 index 0168166c3..000000000 Binary files a/src/all/kavita/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Filters.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Filters.kt deleted file mode 100644 index 80d0e4075..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Filters.kt +++ /dev/null @@ -1,112 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita - -import eu.kanade.tachiyomi.extension.all.kavita.KavitaConstants.noSmartFilterSelected -import eu.kanade.tachiyomi.source.model.Filter - -class UserRating : - Filter.Select( - "Minimum Rating", - arrayOf( - "Any", - "1 star", - "2 stars", - "3 stars", - "4 stars", - "5 stars", - ), - ) -class SmartFiltersFilter(smartFilters: Array) : - Filter.Select("Smart Filters", arrayOf(noSmartFilterSelected) + smartFilters) -class SortFilter(sortables: Array) : Filter.Sort("Sort by", sortables, Selection(0, true)) - -val sortableList = listOf( - Pair("Sort name", 1), - Pair("Created", 2), - Pair("Last modified", 3), - Pair("Item added", 4), - Pair("Time to Read", 5), - Pair("Release year", 6), -) - -class StatusFilter(name: String) : Filter.CheckBox(name, false) -class StatusFilterGroup(filters: List) : - Filter.Group("Status", filters) - -class ReleaseYearRange(name: String) : Filter.Text(name) -class ReleaseYearRangeGroup(filters: List) : - Filter.Group("Release Year", filters) -class GenreFilter(name: String) : Filter.TriState(name) -class GenreFilterGroup(genres: List) : - Filter.Group("Genres", genres) - -class TagFilter(name: String) : Filter.TriState(name) -class TagFilterGroup(tags: List) : Filter.Group("Tags", tags) - -class AgeRatingFilter(name: String) : Filter.TriState(name) -class AgeRatingFilterGroup(ageRatings: List) : - Filter.Group("Age Rating", ageRatings) - -class FormatFilter(name: String) : Filter.CheckBox(name, false) -class FormatsFilterGroup(formats: List) : - Filter.Group("Formats", formats) - -class CollectionFilter(name: String) : Filter.TriState(name) -class CollectionFilterGroup(collections: List) : - Filter.Group("Collection", collections) - -class LanguageFilter(name: String) : Filter.TriState(name) -class LanguageFilterGroup(languages: List) : - Filter.Group("Language", languages) - -class LibraryFilter(library: String) : Filter.TriState(library) -class LibrariesFilterGroup(libraries: List) : - Filter.Group("Libraries", libraries) - -class PubStatusFilter(name: String) : Filter.CheckBox(name, false) -class PubStatusFilterGroup(status: List) : - Filter.Group("Publication Status", status) - -class PeopleHeaderFilter(name: String) : - Filter.Header(name) -class PeopleSeparatorFilter : - Filter.Separator() - -class WriterPeopleFilter(name: String) : Filter.CheckBox(name, false) -class WriterPeopleFilterGroup(peoples: List) : - Filter.Group("Writer", peoples) - -class PencillerPeopleFilter(name: String) : Filter.CheckBox(name, false) -class PencillerPeopleFilterGroup(peoples: List) : - Filter.Group("Penciller", peoples) - -class InkerPeopleFilter(name: String) : Filter.CheckBox(name, false) -class InkerPeopleFilterGroup(peoples: List) : - Filter.Group("Inker", peoples) - -class ColoristPeopleFilter(name: String) : Filter.CheckBox(name, false) -class ColoristPeopleFilterGroup(peoples: List) : - Filter.Group("Colorist", peoples) - -class LettererPeopleFilter(name: String) : Filter.CheckBox(name, false) -class LettererPeopleFilterGroup(peoples: List) : - Filter.Group("Letterer", peoples) - -class CoverArtistPeopleFilter(name: String) : Filter.CheckBox(name, false) -class CoverArtistPeopleFilterGroup(peoples: List) : - Filter.Group("Cover Artist", peoples) - -class EditorPeopleFilter(name: String) : Filter.CheckBox(name, false) -class EditorPeopleFilterGroup(peoples: List) : - Filter.Group("Editor", peoples) - -class PublisherPeopleFilter(name: String) : Filter.CheckBox(name, false) -class PublisherPeopleFilterGroup(peoples: List) : - Filter.Group("Publisher", peoples) - -class CharacterPeopleFilter(name: String) : Filter.CheckBox(name, false) -class CharacterPeopleFilterGroup(peoples: List) : - Filter.Group("Character", peoples) - -class TranslatorPeopleFilter(name: String) : Filter.CheckBox(name, false) -class TranslatorPeopleFilterGroup(peoples: List) : - Filter.Group("Translator", peoples) diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt deleted file mode 100644 index 079e457a9..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/Kavita.kt +++ /dev/null @@ -1,1264 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita - -import android.app.Application -import android.content.SharedPreferences -import android.text.InputType -import android.util.Log -import android.widget.Toast -import androidx.preference.EditTextPreference -import androidx.preference.MultiSelectListPreference -import eu.kanade.tachiyomi.AppInfo -import eu.kanade.tachiyomi.extension.all.kavita.dto.AuthenticationDto -import eu.kanade.tachiyomi.extension.all.kavita.dto.FilterComparison -import eu.kanade.tachiyomi.extension.all.kavita.dto.FilterField -import eu.kanade.tachiyomi.extension.all.kavita.dto.FilterStatementDto -import eu.kanade.tachiyomi.extension.all.kavita.dto.FilterV2Dto -import eu.kanade.tachiyomi.extension.all.kavita.dto.MangaFormat -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataAgeRatings -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataCollections -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataGenres -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataLanguages -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataLibrary -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataPayload -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataPeople -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataPubStatus -import eu.kanade.tachiyomi.extension.all.kavita.dto.MetadataTag -import eu.kanade.tachiyomi.extension.all.kavita.dto.PersonRole -import eu.kanade.tachiyomi.extension.all.kavita.dto.SeriesDto -import eu.kanade.tachiyomi.extension.all.kavita.dto.SeriesMetadataDto -import eu.kanade.tachiyomi.extension.all.kavita.dto.ServerInfoDto -import eu.kanade.tachiyomi.extension.all.kavita.dto.SmartFilter -import eu.kanade.tachiyomi.extension.all.kavita.dto.SortFieldEnum -import eu.kanade.tachiyomi.extension.all.kavita.dto.SortOptions -import eu.kanade.tachiyomi.extension.all.kavita.dto.VolumeDto -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.POST -import eu.kanade.tachiyomi.network.asObservableSuccess -import eu.kanade.tachiyomi.source.ConfigurableSource -import eu.kanade.tachiyomi.source.UnmeteredSource -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.Filter.TriState.Companion.STATE_EXCLUDE -import eu.kanade.tachiyomi.source.model.Filter.TriState.Companion.STATE_INCLUDE -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.MangasPage -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.online.HttpSource -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.buildJsonObject -import kotlinx.serialization.json.encodeToJsonElement -import kotlinx.serialization.json.put -import okhttp3.Dns -import okhttp3.Headers -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull -import okhttp3.MediaType.Companion.toMediaTypeOrNull -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.RequestBody.Companion.toRequestBody -import okhttp3.Response -import rx.Observable -import rx.Single -import rx.schedulers.Schedulers -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get -import uy.kohesive.injekt.injectLazy -import java.io.IOException -import java.net.ConnectException -import java.security.MessageDigest -import java.util.Locale - -class Kavita(private val suffix: String = "") : ConfigurableSource, UnmeteredSource, HttpSource() { - private val helper = KavitaHelper() - override val client: OkHttpClient = - network.client.newBuilder() - .dns(Dns.SYSTEM) - .build() - override val id by lazy { - val key = "${"kavita_$suffix"}/all/$versionId" - val bytes = MessageDigest.getInstance("MD5").digest(key.toByteArray()) - (0..7).map { bytes[it].toLong() and 0xff shl 8 * (7 - it) }.reduce(Long::or) and Long.MAX_VALUE - } - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - override val name = "${KavitaInt.KAVITA_NAME} (${preferences.getString(KavitaConstants.customSourceNamePref, suffix)})" - override val lang = "all" - override val supportsLatest = true - private val apiUrl by lazy { getPrefApiUrl() } - override val baseUrl by lazy { getPrefBaseUrl() } - private val address by lazy { getPrefAddress() } // Address for the Kavita OPDS url. Should be http(s)://host:(port)/api/opds/api-key - private val apiKey by lazy { getPrefApiKey() } - private var jwtToken = "" // * JWT Token for authentication with the server. Stored in memory. - private val LOG_TAG = """Kavita_${"[$suffix]_" + preferences.getString(KavitaConstants.customSourceNamePref, "[$suffix]")!!.replace(' ', '_')}""" - private var isLogged = false // Used to know if login was correct and not send login requests anymore - private val json: Json by injectLazy() - - private var series = emptyList() // Acts as a cache - - private inline fun Response.parseAs(): T = - use { - if (it.code == 401) { - Log.e(LOG_TAG, "Http error 401 - Not authorized: ${it.request.url}") - Throwable("Http error 401 - Not authorized: ${it.request.url}") - } - - if (it.peekBody(Long.MAX_VALUE).string().isEmpty()) { - Log.e(LOG_TAG, "Empty body String for request url: ${it.request.url}") - throw EmptyRequestBody( - "Body of the response is empty. RequestUrl=${it.request.url}\nPlease check your kavita instance is up to date", - Throwable("Error. Request body is empty"), - ) - } - json.decodeFromString(it.body.string()) - } - - /** - * Custom implementation for fetch popular, latest and search - * Handles and logs errors to provide a more detailed exception to the users. - */ - private fun fetch(request: Request): Observable { - return client.newCall(request) - .asObservableSuccess() - .onErrorResumeNext { throwable -> - // Get Http code - val field = throwable.javaClass.getDeclaredField("code") - field.isAccessible = true // Make the field accessible - try { - var code = field.get(throwable) // Get the value of the code property - Log.e(LOG_TAG, "Error fetching manga: ${throwable.message}", throwable) - if (code as Int !in intArrayOf(401, 201, 500)) { - code = 500 - } - return@onErrorResumeNext Observable.error(IOException("Http Error: $code\n ${helper.intl["http_errors_$code"]}\n${helper.intl["check_version"]}")) - } catch (e: Exception) { - Log.e(LOG_TAG, e.toString(), e) - return@onErrorResumeNext Observable.error(e) - } - } - .map { response -> - popularMangaParse(response) - } - } - - override fun fetchPopularManga(page: Int) = - fetch(popularMangaRequest(page)) - - override fun fetchLatestUpdates(page: Int) = - fetch(latestUpdatesRequest(page)) - - override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable = - fetch(searchMangaRequest(page, query, filters)) - - override fun popularMangaParse(response: Response): MangasPage { - try { - val result = response.parseAs>() - series = result - val mangaList = result.map { item -> helper.createSeriesDto(item, apiUrl, apiKey) } - return MangasPage(mangaList, helper.hasNextPage(response)) - } catch (e: Exception) { - Log.e(LOG_TAG, "Unhandled exception", e) - throw IOException(helper.intl["check_version"]) - } - } - - override fun popularMangaRequest(page: Int): Request { - if (!isLogged) { - doLogin() - } - val payload = buildFilterBody(currentFilter) - return POST( - "$apiUrl/series/all-v2?pageNumber=$page&pageSize=20", - headersBuilder().build(), - payload.toRequestBody(JSON_MEDIA_TYPE), - ) - } - - override fun latestUpdatesRequest(page: Int): Request { - if (!isLogged) { - doLogin() - } - // Hardcode exclude epubs - val filter = FilterV2Dto(sortOptions = SortOptions(SortFieldEnum.LastChapterAdded.type, false)) - filter.statements.add(FilterStatementDto(FilterComparison.NotContains.type, FilterField.Formats.type, "3")) - val payload = json.encodeToJsonElement(filter).toString() - return POST( - "$apiUrl/series/all-v2?pageNumber=$page&pageSize=20", - headersBuilder().build(), - payload.toRequestBody(JSON_MEDIA_TYPE), - ) - } - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - val newFilter = MetadataPayload() // need to reset it or will double - val smartFilterFilter = filters.find { it is SmartFiltersFilter } - // If a SmartFilter selected, apply its filter and return that - if (smartFilterFilter?.state != 0 && smartFilterFilter != null) { - val index = try { - smartFilterFilter?.state as Int - 1 - } catch (e: Exception) { - Log.e(LOG_TAG, e.toString(), e) - 0 - } - - val filter: SmartFilter = smartFilters[index] - val payload = buildJsonObject { - put("EncodedFilter", filter.filter) - } - // Decode selected filters - val request = POST( - "$apiUrl/filter/decode", - headersBuilder().build(), - payload.toString().toRequestBody(JSON_MEDIA_TYPE), - ) - client.newCall(request).execute().use { - if (it.code == 200) { - // Hardcode exclude epub - val decoded_filter = json.decodeFromString(it.body.string()) - decoded_filter.statements.add(FilterStatementDto(FilterComparison.NotContains.type, FilterField.Formats.type, "3")) - - // Make request with selected filters - return POST( - "$apiUrl/series/all-v2?pageNumber=$page&pageSize=20", - headersBuilder().build(), - json.encodeToJsonElement(decoded_filter).toString().toRequestBody(JSON_MEDIA_TYPE), - ) - } else { - Log.e(LOG_TAG, "Failed to decode SmartFilter: ${it.code}\n" + it.message) - throw IOException(helper.intl["version_exceptions_smart_filter"]) - } - } - } - // Else apply user filters - - filters.forEach { filter -> - when (filter) { - is SortFilter -> { - if (filter.state != null) { - newFilter.sorting = filter.state!!.index + 1 - newFilter.sorting_asc = filter.state!!.ascending - } - } - - is StatusFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.readStatus.add(content.name) - } - } - } - - is ReleaseYearRangeGroup -> { - filter.state.forEach { content -> - if (content.state.isNotEmpty()) { - if (content.name == "Min") { - newFilter.releaseYearRangeMin = content.state.toInt() - } - if (content.name == "Max") { - newFilter.releaseYearRangeMax = content.state.toInt() - } - } - } - } - - is GenreFilterGroup -> { - filter.state.forEach { content -> - if (content.state == STATE_INCLUDE) { - newFilter.genres_i.add(genresListMeta.find { it.title == content.name }!!.id) - } else if (content.state == STATE_EXCLUDE) { - newFilter.genres_e.add(genresListMeta.find { it.title == content.name }!!.id) - } - } - } - - is UserRating -> { - newFilter.userRating = filter.state - } - - is TagFilterGroup -> { - filter.state.forEach { content -> - if (content.state == STATE_INCLUDE) { - newFilter.tags_i.add(tagsListMeta.find { it.title == content.name }!!.id) - } else if (content.state == STATE_EXCLUDE) { - newFilter.tags_e.add(tagsListMeta.find { it.title == content.name }!!.id) - } - } - } - - is AgeRatingFilterGroup -> { - filter.state.forEach { content -> - if (content.state == STATE_INCLUDE) { - newFilter.ageRating_i.add(ageRatingsListMeta.find { it.title == content.name }!!.value) - } else if (content.state == STATE_EXCLUDE) { - newFilter.ageRating_e.add(ageRatingsListMeta.find { it.title == content.name }!!.value) - } - } - } - - is FormatsFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.formats.add(MangaFormat.valueOf(content.name).ordinal) - } - } - } - - is CollectionFilterGroup -> { - filter.state.forEach { content -> - if (content.state == STATE_INCLUDE) { - newFilter.collections_i.add(collectionsListMeta.find { it.title == content.name }!!.id) - } else if (content.state == STATE_EXCLUDE) { - newFilter.collections_e.add(collectionsListMeta.find { it.title == content.name }!!.id) - } - } - } - - is LanguageFilterGroup -> { - filter.state.forEach { content -> - if (content.state == STATE_INCLUDE) { - newFilter.language_i.add(languagesListMeta.find { it.title == content.name }!!.isoCode) - } else if (content.state == STATE_EXCLUDE) { - newFilter.language_e.add(languagesListMeta.find { it.title == content.name }!!.isoCode) - } - } - } - - is LibrariesFilterGroup -> { - filter.state.forEach { content -> - if (content.state == STATE_INCLUDE) { - newFilter.libraries_i.add(libraryListMeta.find { it.name == content.name }!!.id) - } else if (content.state == STATE_EXCLUDE) { - newFilter.libraries_e.add(libraryListMeta.find { it.name == content.name }!!.id) - } - } - } - - is PubStatusFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.pubStatus.add(pubStatusListMeta.find { it.title == content.name }!!.value) - } - } - } - - is WriterPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peopleWriters.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is PencillerPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peoplePenciller.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is InkerPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peopleInker.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is ColoristPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peoplePeoplecolorist.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is LettererPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peopleLetterer.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is CoverArtistPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peopleCoverArtist.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is EditorPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peopleEditor.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is PublisherPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peoplePublisher.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is CharacterPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peopleCharacter.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - is TranslatorPeopleFilterGroup -> { - filter.state.forEach { content -> - if (content.state) { - newFilter.peopleTranslator.add(peopleListMeta.find { it.name == content.name }!!.id) - } - } - } - - else -> {} - } - } - newFilter.seriesNameQuery = query - currentFilter = newFilter - return popularMangaRequest(page) - } - - /* - * MANGA DETAILS (metadata about series) - * **/ - - override fun fetchMangaDetails(manga: SManga): Observable { - val serieId = helper.getIdFromUrl(manga.url) - return client.newCall(GET("$apiUrl/series/metadata?seriesId=$serieId", headersBuilder().build())) - .asObservableSuccess() - .map { response -> - mangaDetailsParse(response).apply { initialized = true } - } - } - - override fun mangaDetailsRequest(manga: SManga): Request { - val serieId = helper.getIdFromUrl(manga.url) - val foundSerie = series.find { dto -> dto.id == serieId } - return GET( - "$baseUrl/library/${foundSerie!!.libraryId}/series/$serieId", - headersBuilder().build(), - ) - } - - override fun mangaDetailsParse(response: Response): SManga { - val result = response.parseAs() - - val existingSeries = series.find { dto -> dto.id == result.seriesId } - if (existingSeries != null) { - val manga = helper.createSeriesDto(existingSeries, apiUrl, apiKey) - manga.url = "$apiUrl/Series/${result.seriesId}" - manga.artist = result.coverArtists.joinToString { it.name } - manga.description = result.summary - manga.author = result.writers.joinToString { it.name } - manga.genre = result.genres.joinToString { it.title } - manga.thumbnail_url = "$apiUrl/image/series-cover?seriesId=${result.seriesId}&apiKey=$apiKey" - - return manga - } - val serieDto = client.newCall(GET("$apiUrl/Series/${result.seriesId}", headersBuilder().build())) - .execute() - .parseAs() - - return SManga.create().apply { - url = "$apiUrl/Series/${result.seriesId}" - artist = result.coverArtists.joinToString { it.name } - description = result.summary - author = result.writers.joinToString { it.name } - genre = result.genres.joinToString { it.title } - title = serieDto.name - thumbnail_url = "$apiUrl/image/series-cover?seriesId=${result.seriesId}&apiKey=$apiKey" - status = when (result.publicationStatus) { - 4 -> SManga.PUBLISHING_FINISHED - 2 -> SManga.COMPLETED - 0 -> SManga.ONGOING - 3 -> SManga.CANCELLED - 1 -> SManga.ON_HIATUS - else -> SManga.UNKNOWN - } - } - } - - /* - * CHAPTER LIST - * **/ - override fun chapterListRequest(manga: SManga): Request { - val url = "$apiUrl/Series/volumes?seriesId=${helper.getIdFromUrl(manga.url)}" - return GET(url, headersBuilder().build()) - } - - override fun chapterListParse(response: Response): List { - try { - val volumes = response.parseAs>() - val allChapterList = mutableListOf() - volumes.forEach { volume -> - run { - if (volume.number == 0) { - // Regular chapters - volume.chapters.map { - allChapterList.add(helper.chapterFromObject(it)) - } - } else { - // Volume chapter - volume.chapters.map { - allChapterList.add(helper.chapterFromVolume(it, volume)) - } - } - } - } - - allChapterList.sortWith(KavitaHelper.CompareChapters) - return allChapterList - } catch (e: Exception) { - Log.e(LOG_TAG, "Unhandled exception parsing chapters. Send logs to kavita devs", e) - throw IOException(helper.intl["version_exceptions_chapters_parse"]) - } - } - - /** - * Fetches the "url" of each page from the chapter - * **/ - override fun pageListRequest(chapter: SChapter): Request { - return GET("$apiUrl/${chapter.url}", headersBuilder().build()) - } - - override fun fetchPageList(chapter: SChapter): Observable> { - val chapterId = chapter.url - val numPages = chapter.scanlator?.replace(" pages", "")?.toInt() - val numPages2 = "$numPages".toInt() - 1 - val pages = mutableListOf() - for (i in 0..numPages2) { - pages.add( - Page( - index = i, - imageUrl = "$apiUrl/Reader/image?chapterId=$chapterId&page=$i&extractPdf=true&apiKey=$apiKey", - ), - ) - } - return Observable.just(pages) - } - - override fun latestUpdatesParse(response: Response): MangasPage = - throw UnsupportedOperationException("Not used") - - override fun pageListParse(response: Response): List = - throw UnsupportedOperationException("Not used") - - override fun searchMangaParse(response: Response): MangasPage = - throw UnsupportedOperationException("Not used") - - override fun imageUrlParse(response: Response): String = "" - - /* - * FILTERING - **/ - - private var currentFilter: MetadataPayload = MetadataPayload() - - /** Some variable names already exist. im not good at naming add Meta suffix */ - private var genresListMeta = emptyList() - private var tagsListMeta = emptyList() - private var ageRatingsListMeta = emptyList() - private var peopleListMeta = emptyList() - private var pubStatusListMeta = emptyList() - private var languagesListMeta = emptyList() - private var libraryListMeta = emptyList() - private var collectionsListMeta = emptyList() - private var smartFilters = emptyList() - private val personRoles = listOf( - "Writer", - "Penciller", - "Inker", - "Colorist", - "Letterer", - "CoverArtist", - "Editor", - "Publisher", - "Character", - "Translator", - ) - - /** - * Loads the enabled filters if they are not empty so tachiyomi can show them to the user - */ - override fun getFilterList(): FilterList { - val toggledFilters = getToggledFilters() - - val filters = try { - val peopleInRoles = mutableListOf>() - personRoles.map { role -> - val peoplesWithRole = mutableListOf() - peopleListMeta.map { - if (it.role == helper.safeValueOf(role).role) { - peoplesWithRole.add(it) - } - } - peopleInRoles.add(peoplesWithRole) - } - - val filtersLoaded = mutableListOf>() - - if (sortableList.isNotEmpty() and toggledFilters.contains("Sort Options")) { - filtersLoaded.add( - SortFilter(sortableList.map { it.first }.toTypedArray()), - ) - if (smartFilters.isNotEmpty()) { - filtersLoaded.add( - SmartFiltersFilter(smartFilters.map { it.name }.toTypedArray()), - - ) - } - } - if (toggledFilters.contains("Read Status")) { - filtersLoaded.add( - StatusFilterGroup( - listOf( - "notRead", - "inProgress", - "read", - ).map { StatusFilter(it) }, - ), - ) - } - if (toggledFilters.contains("ReleaseYearRange")) { - filtersLoaded.add( - ReleaseYearRangeGroup( - listOf("Min", "Max").map { ReleaseYearRange(it) }, - ), - ) - } - - if (genresListMeta.isNotEmpty() and toggledFilters.contains("Genres")) { - filtersLoaded.add( - GenreFilterGroup(genresListMeta.map { GenreFilter(it.title) }), - ) - } - if (tagsListMeta.isNotEmpty() and toggledFilters.contains("Tags")) { - filtersLoaded.add( - TagFilterGroup(tagsListMeta.map { TagFilter(it.title) }), - ) - } - if (ageRatingsListMeta.isNotEmpty() and toggledFilters.contains("Age Rating")) { - filtersLoaded.add( - AgeRatingFilterGroup(ageRatingsListMeta.map { AgeRatingFilter(it.title) }), - ) - } - if (toggledFilters.contains("Format")) { - filtersLoaded.add( - FormatsFilterGroup( - listOf( - "Image", - "Archive", - "Pdf", - "Unknown", - ).map { FormatFilter(it) }, - ), - ) - } - if (collectionsListMeta.isNotEmpty() and toggledFilters.contains("Collections")) { - filtersLoaded.add( - CollectionFilterGroup(collectionsListMeta.map { CollectionFilter(it.title) }), - ) - } - if (languagesListMeta.isNotEmpty() and toggledFilters.contains("Languages")) { - filtersLoaded.add( - LanguageFilterGroup(languagesListMeta.map { LanguageFilter(it.title) }), - ) - } - if (libraryListMeta.isNotEmpty() and toggledFilters.contains("Libraries")) { - filtersLoaded.add( - LibrariesFilterGroup(libraryListMeta.map { LibraryFilter(it.name) }), - ) - } - if (pubStatusListMeta.isNotEmpty() and toggledFilters.contains("Publication Status")) { - filtersLoaded.add( - PubStatusFilterGroup(pubStatusListMeta.map { PubStatusFilter(it.title) }), - ) - } - if (pubStatusListMeta.isNotEmpty() and toggledFilters.contains("Rating")) { - filtersLoaded.add( - UserRating(), - ) - } - - // People Metadata: - if (personRoles.isNotEmpty() and toggledFilters.any { personRoles.contains(it) }) { - filtersLoaded.addAll( - listOf>( - PeopleHeaderFilter(""), - PeopleSeparatorFilter(), - PeopleHeaderFilter("PEOPLE"), - ), - ) - if (peopleInRoles[0].isNotEmpty() and toggledFilters.contains("Writer")) { - filtersLoaded.add( - WriterPeopleFilterGroup( - peopleInRoles[0].map { WriterPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[1].isNotEmpty() and toggledFilters.contains("Penciller")) { - filtersLoaded.add( - PencillerPeopleFilterGroup( - peopleInRoles[1].map { PencillerPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[2].isNotEmpty() and toggledFilters.contains("Inker")) { - filtersLoaded.add( - InkerPeopleFilterGroup( - peopleInRoles[2].map { InkerPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[3].isNotEmpty() and toggledFilters.contains("Colorist")) { - filtersLoaded.add( - ColoristPeopleFilterGroup( - peopleInRoles[3].map { ColoristPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[4].isNotEmpty() and toggledFilters.contains("Letterer")) { - filtersLoaded.add( - LettererPeopleFilterGroup( - peopleInRoles[4].map { LettererPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[5].isNotEmpty() and toggledFilters.contains("CoverArtist")) { - filtersLoaded.add( - CoverArtistPeopleFilterGroup( - peopleInRoles[5].map { CoverArtistPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[6].isNotEmpty() and toggledFilters.contains("Editor")) { - filtersLoaded.add( - EditorPeopleFilterGroup( - peopleInRoles[6].map { EditorPeopleFilter(it.name) }, - ), - ) - } - - if (peopleInRoles[7].isNotEmpty() and toggledFilters.contains("Publisher")) { - filtersLoaded.add( - PublisherPeopleFilterGroup( - peopleInRoles[7].map { PublisherPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[8].isNotEmpty() and toggledFilters.contains("Character")) { - filtersLoaded.add( - CharacterPeopleFilterGroup( - peopleInRoles[8].map { CharacterPeopleFilter(it.name) }, - ), - ) - } - if (peopleInRoles[9].isNotEmpty() and toggledFilters.contains("Translator")) { - filtersLoaded.add( - TranslatorPeopleFilterGroup( - peopleInRoles[9].map { TranslatorPeopleFilter(it.name) }, - ), - ) - filtersLoaded - } else { - filtersLoaded - } - } else { - filtersLoaded - } - } catch (e: Exception) { - Log.e(LOG_TAG, "[FILTERS] Error while creating filter list", e) - emptyList() - } - return FilterList(filters) - } - - /** - * Returns a FilterV2Dto encoded as a json string with values taken from filter - */ - private fun buildFilterBody(filter: MetadataPayload): String { - val filter_dto = FilterV2Dto() - filter_dto.sortOptions.sortField = filter.sorting - filter_dto.sortOptions.isAscending = filter.sorting_asc - - // Fields that support contains and not contains statements - val containsAndNotTriplets = listOf( - Triple(FilterField.Libraries, filter.libraries_i, filter.libraries_e), - Triple(FilterField.Tags, filter.tags_i, filter.tags_e), - Triple(FilterField.Languages, filter.language_i, filter.genres_e), - Triple(FilterField.AgeRating, filter.ageRating_i, filter.ageRating_e), - Triple(FilterField.Genres, filter.genres_i, filter.genres_e), - Triple(FilterField.CollectionTags, filter.collections_i, filter.collections_e), - ) - filter_dto.addContainsNotTriple(containsAndNotTriplets) - // Fields that have must contains statements - val peoplePairs = listOf( - - Pair(FilterField.Writers, filter.peopleWriters), - Pair(FilterField.Penciller, filter.peoplePenciller), - Pair(FilterField.Inker, filter.peopleInker), - Pair(FilterField.Colorist, filter.peopleCharacter), - Pair(FilterField.Letterer, filter.peopleLetterer), - Pair(FilterField.CoverArtist, filter.peopleCoverArtist), - Pair(FilterField.Editor, filter.peopleEditor), - Pair(FilterField.Publisher, filter.peoplePublisher), - Pair(FilterField.Characters, filter.peopleCharacter), - Pair(FilterField.Translators, filter.peopleTranslator), - - Pair(FilterField.PublicationStatus, filter.pubStatus), - ) - filter_dto.addPeople(peoplePairs) - - // Customized statements - filter_dto.addStatement(FilterComparison.Contains, FilterField.Formats, filter.formats) - filter_dto.addStatement(FilterComparison.Matches, FilterField.SeriesName, filter.seriesNameQuery) - // Hardcoded statement to filter out epubs: - filter_dto.addStatement(FilterComparison.NotContains, FilterField.Formats, "3") - if (filter.readStatus.isNotEmpty()) { - filter.readStatus.forEach { - if (it == "notRead") { - filter_dto.addStatement(FilterComparison.Equal, FilterField.ReadProgress, "0") - } else if (it == "inProgress") { - filter_dto.addStatement(FilterComparison.GreaterThan, FilterField.ReadProgress, "0") - filter_dto.addStatement(FilterComparison.LessThan, FilterField.ReadProgress, "100") - } else if (it == "read") { - filter_dto.addStatement(FilterComparison.Equal, FilterField.ReadProgress, "100") - } - } - } - // todo: check statement - // filter_dto.addStatement(FilterComparison.GreaterThanEqual, FilterField.UserRating, filter.userRating.toString()) - if (filter.releaseYearRangeMin != 0) { - filter_dto.addStatement(FilterComparison.GreaterThan, FilterField.ReleaseYear, filter.releaseYearRangeMin.toString()) - } - - if (filter.releaseYearRangeMax != 0) { - filter_dto.addStatement(FilterComparison.LessThan, FilterField.ReleaseYear, filter.releaseYearRangeMax.toString()) - } - return json.encodeToJsonElement(filter_dto).toString() - } - - class LoginErrorException(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { - constructor(cause: Throwable) : this(null, cause) - } - - class OpdsurlExistsInPref(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { - constructor(cause: Throwable) : this(null, cause) - } - - class EmptyRequestBody(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { - constructor(cause: Throwable) : this(null, cause) - } - - class LoadingFilterFailed(message: String? = null, cause: Throwable? = null) : Exception(message, cause) { - constructor(cause: Throwable) : this(null, cause) - } - - override fun headersBuilder(): Headers.Builder { - if (jwtToken.isEmpty()) { - doLogin() - if (jwtToken.isEmpty()) throw LoginErrorException(helper.intl["login_errors_header_token_empty"]) - } - return Headers.Builder() - .add("User-Agent", "Tachiyomi Kavita v${AppInfo.getVersionName()}") - .add("Content-Type", "application/json") - .add("Authorization", "Bearer $jwtToken") - } - - private fun setupLoginHeaders(): Headers.Builder { - return Headers.Builder() - .add("User-Agent", "Tachiyomi Kavita v${AppInfo.getVersionName()}") - .add("Content-Type", "application/json") - .add("Authorization", "Bearer $jwtToken") - } - - override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) { - val opdsAddressPref = screen.editTextPreference( - ADDRESS_TITLE, - "OPDS url", - "", - helper.intl["pref_opds_summary"], - ) - val enabledFiltersPref = MultiSelectListPreference(screen.context).apply { - key = KavitaConstants.toggledFiltersPref - title = helper.intl["pref_filters_title"] - summary = helper.intl["pref_filters_summary"] - entries = KavitaConstants.filterPrefEntries - entryValues = KavitaConstants.filterPrefEntriesValue - setDefaultValue(KavitaConstants.defaultFilterPrefEntries) - setOnPreferenceChangeListener { _, newValue -> - @Suppress("UNCHECKED_CAST") - val checkValue = newValue as Set - preferences.edit() - .putStringSet(KavitaConstants.toggledFiltersPref, checkValue) - .commit() - } - } - val customSourceNamePref = EditTextPreference(screen.context).apply { - key = KavitaConstants.customSourceNamePref - title = helper.intl["pref_customsource_title"] - summary = helper.intl["pref_edit_customsource_summary"] - setOnPreferenceChangeListener { _, newValue -> - val res = preferences.edit() - .putString(KavitaConstants.customSourceNamePref, newValue.toString()) - .commit() - Toast.makeText( - screen.context, - helper.intl["restartapp_settings"], - Toast.LENGTH_LONG, - ).show() - Log.v(LOG_TAG, "[Preferences] Successfully modified custom source name: $newValue") - res - } - } - screen.addPreference(customSourceNamePref) - screen.addPreference(opdsAddressPref) - screen.addPreference(enabledFiltersPref) - } - - private fun androidx.preference.PreferenceScreen.editTextPreference( - preKey: String, - title: String, - default: String, - summary: String, - isPassword: Boolean = false, - ): EditTextPreference { - return EditTextPreference(context).apply { - key = preKey - this.title = title - val input = preferences.getString(title, null) - this.summary = if (input == null || input.isEmpty()) summary else input - this.setDefaultValue(default) - dialogTitle = title - - if (isPassword) { - setOnBindEditTextListener { - it.inputType = - InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD - } - } - setOnPreferenceChangeListener { _, newValue -> - try { - val opdsUrlInPref = opdsUrlInPreferences(newValue.toString()) // We don't allow hot have multiple sources with same ip or domain - if (opdsUrlInPref.isNotEmpty()) { - // TODO("Add option to allow multiple sources with same url at the cost of tracking") - preferences.edit().putString(title, "").apply() - - Toast.makeText( - context, - helper.intl["pref_opds_duplicated_source_url"] + ": " + opdsUrlInPref, - Toast.LENGTH_LONG, - ).show() - throw OpdsurlExistsInPref(helper.intl["pref_opds_duplicated_source_url"] + opdsUrlInPref) - } - - val res = preferences.edit().putString(title, newValue as String).commit() - Toast.makeText( - context, - helper.intl["restartapp_settings"], - Toast.LENGTH_LONG, - ).show() - setupLogin(newValue) - Log.v(LOG_TAG, "[Preferences] Successfully modified OPDS URL") - res - } catch (e: OpdsurlExistsInPref) { - Log.e(LOG_TAG, "Url exists in a different sourcce") - false - } catch (e: Exception) { - Log.e(LOG_TAG, "Unrecognised error", e) - false - } - } - } - } - - private fun getPrefBaseUrl(): String = preferences.getString("BASEURL", "")!! - private fun getPrefApiUrl(): String = preferences.getString("APIURL", "")!! - private fun getPrefKey(): String = preferences.getString("APIKEY", "")!! - private fun getToggledFilters() = preferences.getStringSet(KavitaConstants.toggledFiltersPref, KavitaConstants.defaultFilterPrefEntries)!! - - // We strip the last slash since we will append it above - private fun getPrefAddress(): String { - var path = preferences.getString(ADDRESS_TITLE, "")!! - if (path.isNotEmpty() && path.last() == '/') { - path = path.substring(0, path.length - 1) - } - return path - } - - private fun getPrefApiKey(): String { - // http(s)://host:(port)/api/opds/api-key - val existingKey = preferences.getString("APIKEY", "") - return existingKey!!.ifEmpty { preferences.getString(ADDRESS_TITLE, "")!!.split("/opds/")[1] } - } - - companion object { - private const val ADDRESS_TITLE = "Address" - private val JSON_MEDIA_TYPE = "application/json; charset=utf-8".toMediaTypeOrNull() - } - - /* - * LOGIN - **/ - /** - * Used to check if a url is configured already in any of the sources - * This is a limitation needed for tracking. - * **/ - private fun opdsUrlInPreferences(url: String): String { - fun getCleanedApiUrl(url: String): String = "${url.split("/api/").first()}/api" - - for (sourceId in 1..3) { // There's 3 sources so 3 preferences to check - val sourceSuffixID by lazy { - val key = "${"kavita_$sourceId"}/all/1" // Hardcoded versionID to 1 - val bytes = MessageDigest.getInstance("MD5").digest(key.toByteArray()) - (0..7).map { bytes[it].toLong() and 0xff shl 8 * (7 - it) } - .reduce(Long::or) and Long.MAX_VALUE - } - val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$sourceSuffixID", 0x0000) - } - val prefApiUrl = preferences.getString("APIURL", "")!! - - if (prefApiUrl.isNotEmpty()) { - if (prefApiUrl == getCleanedApiUrl(url)) { - if (sourceId.toString() != suffix) { - return preferences.getString(KavitaConstants.customSourceNamePref, sourceId.toString())!! - } - } - } - } - return "" - } - - private fun setupLogin(addressFromPreference: String = "") { - Log.v(LOG_TAG, "[Setup Login] Starting setup") - val validAddress = address.ifEmpty { addressFromPreference } - val tokens = validAddress.split("/api/opds/") - val apiKey = tokens[1] - val baseUrlSetup = tokens[0].replace("\n", "\\n") - - if (baseUrlSetup.toHttpUrlOrNull() == null) { - Log.e(LOG_TAG, "Invalid URL $baseUrlSetup") - throw Exception("""${helper.intl["login_errors_invalid_url"]}: $baseUrlSetup""") - } - preferences.edit().putString("BASEURL", baseUrlSetup).apply() - preferences.edit().putString("APIKEY", apiKey).apply() - preferences.edit().putString("APIURL", "$baseUrlSetup/api").apply() - Log.v(LOG_TAG, "[Setup Login] Setup successful") - } - - private fun doLogin() { - if (address.isEmpty()) { - Log.e(LOG_TAG, "OPDS URL is empty or null") - throw IOException(helper.intl["pref_opds_must_setup_address"]) - } - if (address.split("/opds/").size != 2) { - throw IOException(helper.intl["pref_opds_badformed_url"]) - } - if (jwtToken.isEmpty()) setupLogin() - Log.v(LOG_TAG, "[Login] Starting login") - val request = POST( - "$apiUrl/Plugin/authenticate?apiKey=${getPrefKey()}&pluginName=Tachiyomi-Kavita", - setupLoginHeaders().build(), - "{}".toRequestBody("application/json; charset=utf-8".toMediaTypeOrNull()), - ) - client.newCall(request).execute().use { - val peekbody = it.peekBody(Long.MAX_VALUE).toString() - - if (it.code == 200) { - try { - jwtToken = it.parseAs().token - isLogged = true - } catch (e: Exception) { - Log.e(LOG_TAG, "Possible outdated kavita", e) - throw IOException(helper.intl["login_errors_parse_tokendto"]) - } - } else { - if (it.code == 500) { - Log.e(LOG_TAG, "[LOGIN] login failed. There was some error -> Code: ${it.code}.Response message: ${it.message} Response body: $peekbody.") - throw LoginErrorException(helper.intl["login_errors_failed_login"]) - } else { - Log.e(LOG_TAG, "[LOGIN] login failed. Authentication was not successful -> Code: ${it.code}.Response message: ${it.message} Response body: $peekbody.") - throw LoginErrorException(helper.intl["login_errors_failed_login"]) - } - } - } - Log.v(LOG_TAG, "[Login] Login successful") - } - - init { - if (apiUrl.isNotBlank()) { - Single.fromCallable { - // Login - doLogin() - try { // Get current version - val requestUrl = "$apiUrl/Server/server-info" - val serverInfoDto = client.newCall(GET(requestUrl, headersBuilder().build())) - .execute() - .parseAs() - Log.e( - LOG_TAG, - "Extension version: code=${AppInfo.getVersionCode()} name=${AppInfo.getVersionName()}" + - " - - Kavita version: ${serverInfoDto.kavitaVersion} - - Lang:${Locale.getDefault()}", - ) // this is not a real error. Using this so it gets printed in dump logs if there's any error - } catch (e: EmptyRequestBody) { - Log.e(LOG_TAG, "Extension version: code=${AppInfo.getVersionCode()} - name=${AppInfo.getVersionName()}") - } catch (e: Exception) { - Log.e(LOG_TAG, "Tachiyomi version: code=${AppInfo.getVersionCode()} - name=${AppInfo.getVersionName()}", e) - } - try { // Load Filters - // Genres - Log.v(LOG_TAG, "[Filter] Fetching filters ") - client.newCall(GET("$apiUrl/Metadata/genres", headersBuilder().build())) - .execute().use { response -> - - genresListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e(LOG_TAG, "[Filter] Error decoding JSON for genres filter -> ${response.body}", e) - emptyList() - } - } - // tagsListMeta - client.newCall(GET("$apiUrl/Metadata/tags", headersBuilder().build())) - .execute().use { response -> - tagsListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e(LOG_TAG, "[Filter] Error decoding JSON for tagsList filter", e) - emptyList() - } - } - // age-ratings - client.newCall(GET("$apiUrl/Metadata/age-ratings", headersBuilder().build())) - .execute().use { response -> - ageRatingsListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e( - LOG_TAG, - "[Filter] Error decoding JSON for age-ratings filter", - e, - ) - emptyList() - } - } - // collectionsListMeta - client.newCall(GET("$apiUrl/Collection", headersBuilder().build())) - .execute().use { response -> - collectionsListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e( - LOG_TAG, - "[Filter] Error decoding JSON for collectionsListMeta filter", - e, - ) - emptyList() - } - } - // languagesListMeta - client.newCall(GET("$apiUrl/Metadata/languages", headersBuilder().build())) - .execute().use { response -> - languagesListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e( - LOG_TAG, - "[Filter] Error decoding JSON for languagesListMeta filter", - e, - ) - emptyList() - } - } - // libraries - client.newCall(GET("$apiUrl/Library", headersBuilder().build())) - .execute().use { response -> - libraryListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e( - LOG_TAG, - "[Filter] Error decoding JSON for libraries filter", - e, - ) - emptyList() - } - } - // peopleListMeta - client.newCall(GET("$apiUrl/Metadata/people", headersBuilder().build())) - .execute().use { response -> - peopleListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e( - LOG_TAG, - "error while decoding JSON for peopleListMeta filter", - e, - ) - emptyList() - } - } - client.newCall(GET("$apiUrl/Metadata/publication-status", headersBuilder().build())) - .execute().use { response -> - pubStatusListMeta = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e( - LOG_TAG, - "error while decoding JSON for publicationStatusListMeta filter", - e, - ) - emptyList() - } - } - client.newCall(GET("$apiUrl/filter", headersBuilder().build())) - .execute().use { response -> - smartFilters = try { - response.body.use { json.decodeFromString(it.string()) } - } catch (e: Exception) { - Log.e( - LOG_TAG, - "error while decoding JSON for smartfilters", - e, - ) - emptyList() - } - } - Log.v(LOG_TAG, "[Filter] Successfully loaded metadata tags from server") - } catch (e: Exception) { - throw LoadingFilterFailed("Failed Loading Filters", e.cause) - } - } - .subscribeOn(Schedulers.io()) - .observeOn(Schedulers.io()) - .subscribe( - {}, - { tr -> - // Avoid polluting logs with traces of exception - if (tr is EmptyRequestBody || tr is LoginErrorException) { - Log.e(LOG_TAG, "error while doing initial calls\n${tr.cause}") - return@subscribe - } - if (tr is ConnectException) { // avoid polluting logs with traces of exception - Log.e(LOG_TAG, "Error while doing initial calls\n${tr.cause}") - return@subscribe - } - Log.e(LOG_TAG, "error while doing initial calls", tr) - }, - ) - } - } -} diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaConstants.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaConstants.kt deleted file mode 100644 index 24f284410..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaConstants.kt +++ /dev/null @@ -1,81 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita - -object KavitaConstants { - // toggle filters - const val toggledFiltersPref = "toggledFilters" - val filterPrefEntries = arrayOf( - "Sort Options", - "Format", - "Libraries", - "Read Status", - "Genres", - "Tags", - "Collections", - "Languages", - "Publication Status", - "Rating", - "Age Rating", - "Writers", - "Penciller", - "Inker", - "Colorist", - "Letterer", - "Cover Artist", - "Editor", - "Publisher", - "Character", - "Translators", - "ReleaseYearRange", - ) - val filterPrefEntriesValue = arrayOf( - "Sort Options", - "Format", - "Libraries", - "Read Status", - "Genres", - "Tags", - "Collections", - "Languages", - "Publication Status", - "Rating", - "Age Rating", - "Writers", - "Penciller", - "Inker", - "Colorist", - "Letterer", - "CoverArtist", - "Editor", - "Publisher", - "Character", - "Translators", - "ReleaseYearRange", - ) - val defaultFilterPrefEntries = setOf( - "Sort Options", - "Format", - "Libraries", - "Read Status", - "Genres", - "Tags", - "Collections", - "Languages", - "Publication Status", - "Rating", - "Age Rating", - "Writers", - "Penciller", - "Inker", - "Colorist", - "Letterer", - "CoverArtist", - "Editor", - "Publisher", - "Character", - "Translators", - "ReleaseYearRange", - ) - - const val customSourceNamePref = "customSourceName" - const val noSmartFilterSelected = "No smart filter loaded" -} diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaFactory.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaFactory.kt deleted file mode 100644 index 7639b6e53..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaFactory.kt +++ /dev/null @@ -1,13 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita - -import eu.kanade.tachiyomi.source.Source -import eu.kanade.tachiyomi.source.SourceFactory - -class KavitaFactory : SourceFactory { - override fun createSources(): List = - listOf( - Kavita("1"), - Kavita("2"), - Kavita("3"), - ) -} diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaHelper.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaHelper.kt deleted file mode 100644 index f588f684b..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaHelper.kt +++ /dev/null @@ -1,141 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita - -import eu.kanade.tachiyomi.extension.all.kavita.dto.ChapterDto -import eu.kanade.tachiyomi.extension.all.kavita.dto.PaginationInfo -import eu.kanade.tachiyomi.extension.all.kavita.dto.SeriesDto -import eu.kanade.tachiyomi.extension.all.kavita.dto.VolumeDto -import eu.kanade.tachiyomi.lib.i18n.Intl -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.json.Json -import okhttp3.Response -import java.text.SimpleDateFormat -import java.util.Locale -import java.util.TimeZone - -class KavitaHelper { - val json = Json { - isLenient = true - ignoreUnknownKeys = true - allowSpecialFloatingPointValues = true - useArrayPolymorphism = true - prettyPrint = true - } - inline fun > safeValueOf(type: String): T { - return java.lang.Enum.valueOf(T::class.java, type) - } - val dateFormatter = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSSSS", Locale.US) - .apply { timeZone = TimeZone.getTimeZone("UTC") } - fun parseDate(dateAsString: String): Long = - dateFormatter.parse(dateAsString)?.time ?: 0 - - fun hasNextPage(response: Response): Boolean { - val paginationHeader = response.header("Pagination") - var hasNextPage = false - if (!paginationHeader.isNullOrEmpty()) { - val paginationInfo = json.decodeFromString(paginationHeader) - hasNextPage = paginationInfo.currentPage + 1 > paginationInfo.totalPages - } - return !hasNextPage - } - - fun getIdFromUrl(url: String): Int { - return url.split("/").last().toInt() - } - - fun createSeriesDto(obj: SeriesDto, baseUrl: String, apiKey: String): SManga = - SManga.create().apply { - url = "$baseUrl/Series/${obj.id}" - title = obj.name - // Deprecated: description = obj.summary - thumbnail_url = "$baseUrl/image/series-cover?seriesId=${obj.id}&apiKey=$apiKey" - } - class CompareChapters { - companion object : Comparator { - override fun compare(a: SChapter, b: SChapter): Int { - if (a.chapter_number < 1.0 && b.chapter_number < 1.0) { - // Both are volumes, multiply by 100 and do normal sort - return if ((a.chapter_number * 100) < (b.chapter_number * 100)) { - 1 - } else { - -1 - } - } else { - if (a.chapter_number < 1.0 && b.chapter_number >= 1.0) { - // A is volume, b is not. A should sort first - return 1 - } else if (a.chapter_number >= 1.0 && b.chapter_number < 1.0) { - return -1 - } - } - if (a.chapter_number < b.chapter_number) return 1 - if (a.chapter_number > b.chapter_number) return -1 - return 0 - } - } - } - fun chapterFromObject(obj: ChapterDto): SChapter = SChapter.create().apply { - url = obj.id.toString() - name = if (obj.number == "0" && obj.isSpecial) { - // This is a special. Chapter name is special name - obj.range - } else { - val cleanedName = obj.title.replaceFirst("^0+(?!$)".toRegex(), "") - "Chapter $cleanedName" - } - date_upload = parseDate(obj.created) - chapter_number = obj.number.toFloat() - scanlator = "${obj.pages} pages" - } - - fun chapterFromVolume(obj: ChapterDto, volume: VolumeDto): SChapter = - SChapter.create().apply { - // If there are multiple chapters to this volume, then prefix with Volume number - if (volume.chapters.isNotEmpty() && obj.number != "0") { - // This volume is not volume 0, hence they are not loose chapters - // We just add a nice Volume X to the chapter title - // Chapter-based Volume - name = "Volume ${volume.number} Chapter ${obj.number}" - chapter_number = obj.number.toFloat() - } else if (obj.number == "0") { - // Both specials and volume has chapter number 0 - if (volume.number == 0) { - // Treat as special - // Special is not in a volume - if (obj.range == "") { - // Special does not have any Title - name = "Chapter 0" - chapter_number = obj.number.toFloat() - } else { - // We use it's own special tile - name = obj.range - chapter_number = obj.number.toFloat() - } - } else { - // Is a single-file volume - // We encode the chapter number to support tracking - name = "Volume ${volume.number}" - chapter_number = volume.number.toFloat() / 10000 - } - } else { - name = "Unhandled Else Volume ${volume.number}" - } - url = obj.id.toString() - date_upload = parseDate(obj.created) - - scanlator = "${obj.pages} pages" - } - val intl = Intl( - language = Locale.getDefault().toString(), - baseLanguage = "en", - availableLanguages = KavitaInt.AVAILABLE_LANGS, - classLoader = this::class.java.classLoader!!, - createMessageFileName = { lang -> - when (lang) { - KavitaInt.SPANISH_LATAM -> Intl.createDefaultMessageFileName(KavitaInt.SPANISH) - else -> Intl.createDefaultMessageFileName(lang) - } - }, - ) -} diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaInt.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaInt.kt deleted file mode 100644 index fbaf93af0..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/KavitaInt.kt +++ /dev/null @@ -1,17 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita - -object KavitaInt { - const val ENGLISH = "en" - const val SPANISH = "es_ES" - const val SPANISH_LATAM = "es-419" - const val FRENCH = "fr_FR" - const val NORWEGIAN = "nb_NO" - val AVAILABLE_LANGS = setOf( - ENGLISH, - SPANISH, - SPANISH_LATAM, - NORWEGIAN, - FRENCH, - ) - const val KAVITA_NAME = "Kavita" -} diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/FilterDto.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/FilterDto.kt deleted file mode 100644 index 77b669e51..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/FilterDto.kt +++ /dev/null @@ -1,124 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita.dto - -import kotlinx.serialization.Serializable -import kotlin.Triple - -@Serializable -data class FilterV2Dto( - val id: Int? = null, - val name: String? = null, - val statements: MutableList = mutableListOf(), - val combination: Int = 0, // FilterCombination = FilterCombination.And, - val sortOptions: SortOptions = SortOptions(), - val limitTo: Int = 0, -) { - fun addStatement(comparison: FilterComparison, field: FilterField, value: String) { - if (value.isNotBlank()) { - statements.add(FilterStatementDto(comparison.type, field.type, value)) - } - } - fun addStatement(comparison: FilterComparison, field: FilterField, values: java.util.ArrayList) { - if (values.isNotEmpty()) { - statements.add(FilterStatementDto(comparison.type, field.type, values.joinToString(","))) - } - } - - fun addContainsNotTriple(list: List, ArrayList>>) { - list.map { - addStatement(FilterComparison.Contains, it.first, it.second) - addStatement(FilterComparison.NotContains, it.first, it.third) - } - } - fun addPeople(list: List>>) { - list.map { - addStatement(FilterComparison.MustContains, it.first, it.second) - } - } -} - -@Serializable -data class FilterStatementDto( - // todo: Create custom serializator for comparison and field and remove .type extension in Kavita.kt - val comparison: Int, - val field: Int, - val value: String, - -) - -@Serializable -enum class SortFieldEnum(val type: Int) { - SortName(1), - CreatedDate(2), - LastModifiedDate(3), - LastChapterAdded(4), - TimeToRead(5), - ReleaseYear(6), - ; - - companion object { - private val map = SortFieldEnum.values().associateBy(SortFieldEnum::type) - fun fromInt(type: Int) = map[type] - } -} - -@Serializable -data class SortOptions( - var sortField: Int = SortFieldEnum.SortName.type, - var isAscending: Boolean = true, -) - -@Serializable -enum class FilterCombination { - Or, - And, -} - -@Serializable -enum class FilterField(val type: Int) { - Summary(0), - SeriesName(1), - PublicationStatus(2), - Languages(3), - AgeRating(4), - UserRating(5), - Tags(6), - CollectionTags(7), - Translators(8), - Characters(9), - Publisher(10), - Editor(11), - CoverArtist(12), - Letterer(13), - Colorist(14), - Inker(15), - Penciller(16), - Writers(17), - Genres(18), - Libraries(19), - ReadProgress(20), - Formats(21), - ReleaseYear(22), - ReadTime(23), - Path(24), - FilePath(25), -} - -@Serializable -enum class FilterComparison(val type: Int) { - Equal(0), - GreaterThan(1), - GreaterThanEqual(2), - LessThan(3), - LessThanEqual(4), - Contains(5), - MustContains(6), - Matches(7), - NotContains(8), - NotEqual(9), - BeginsWith(10), - EndsWith(11), - IsBefore(12), - IsAfter(13), - IsInLast(14), - IsNotInLast(15), -} diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MangaDto.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MangaDto.kt deleted file mode 100644 index 1c09db11d..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MangaDto.kt +++ /dev/null @@ -1,103 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita.dto - -import kotlinx.serialization.Serializable - -@Serializable -enum class MangaFormat(val format: Int) { - Image(0), - Archive(1), - Unknown(2), - Epub(3), - Pdf(4), - ; - companion object { - private val map = PersonRole.values().associateBy(PersonRole::role) - fun fromInt(type: Int) = map[type] - } -} -enum class PersonRole(val role: Int) { - Other(1), - Writer(3), - Penciller(4), - Inker(5), - Colorist(6), - Letterer(7), - CoverArtist(8), - Editor(9), - Publisher(10), - Character(11), - Translator(12), - ; - companion object { - private val map = PersonRole.values().associateBy(PersonRole::role) - fun fromInt(type: Int) = map[type] - } -} - -@Serializable -data class SeriesDto( - val id: Int, - val name: String, - val originalName: String = "", - val thumbnail_url: String? = "", - val localizedName: String? = "", - val sortName: String? = "", - val pages: Int, - val coverImageLocked: Boolean = true, - val pagesRead: Int, - val userRating: Float, - val userReview: String? = "", - val format: Int, - val created: String? = "", - val libraryId: Int, - val libraryName: String? = "", -) - -@Serializable -data class SeriesMetadataDto( - val id: Int, - val summary: String? = "", - val writers: List = emptyList(), - val coverArtists: List = emptyList(), - val genres: List = emptyList(), - val seriesId: Int, - val ageRating: Int, - val publicationStatus: Int, -) - -@Serializable -data class Genres( - val title: String, -) - -@Serializable -data class Person( - val name: String, -) - -@Serializable -data class VolumeDto( - val id: Int, - val number: Int, - val name: String, - val pages: Int, - val pagesRead: Int, - val lastModified: String, - val created: String, - val seriesId: Int, - val chapters: List = emptyList(), -) - -@Serializable -data class ChapterDto( - val id: Int, - val range: String, - val number: String, - val pages: Int, - val isSpecial: Boolean, - val title: String, - val pagesRead: Int, - val coverImageLocked: Boolean, - val volumeId: Int, - val created: String, -) diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MetadataDto.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MetadataDto.kt deleted file mode 100644 index f14256719..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/MetadataDto.kt +++ /dev/null @@ -1,104 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita.dto - -import kotlinx.serialization.Serializable -/** -* This file contains all class for filtering -* */ -@Serializable -data class MetadataGenres( - val id: Int, - val title: String, -) - -@Serializable -data class MetadataPeople( - val id: Int, - val name: String, - val role: Int, -) - -@Serializable -data class MetadataPubStatus( - val value: Int, - val title: String, -) - -@Serializable -data class MetadataTag( - val id: Int, - val title: String, -) - -@Serializable -data class MetadataAgeRatings( - val value: Int, - val title: String, -) - -@Serializable -data class MetadataLanguages( - val isoCode: String, - val title: String, -) - -@Serializable -data class MetadataLibrary( - val id: Int, - val name: String, - val type: Int, -) - -@Serializable -data class MetadataCollections( - val id: Int, - val title: String, -) - -data class MetadataPayload( - val forceUseMetadataPayload: Boolean = true, - var sorting: Int = 1, - var sorting_asc: Boolean = true, - var readStatus: ArrayList = arrayListOf(), - val readStatusList: List = listOf("notRead", "inProgress", "read"), - // _i = included, _e = excluded - var genres_i: ArrayList = arrayListOf(), - var genres_e: ArrayList = arrayListOf(), - var tags_i: ArrayList = arrayListOf(), - var tags_e: ArrayList = arrayListOf(), - var ageRating_i: ArrayList = arrayListOf(), - var ageRating_e: ArrayList = arrayListOf(), - - var formats: ArrayList = arrayListOf(), - var collections_i: ArrayList = arrayListOf(), - var collections_e: ArrayList = arrayListOf(), - var userRating: Int = 0, - var people: ArrayList = arrayListOf(), - // _i = included, _e = excluded - var language_i: ArrayList = arrayListOf(), - var language_e: ArrayList = arrayListOf(), - - var libraries_i: ArrayList = arrayListOf(), - var libraries_e: ArrayList = arrayListOf(), - var pubStatus: ArrayList = arrayListOf(), - var seriesNameQuery: String = "", - var releaseYearRangeMin: Int = 0, - var releaseYearRangeMax: Int = 0, - - var peopleWriters: ArrayList = arrayListOf(), - var peoplePenciller: ArrayList = arrayListOf(), - var peopleInker: ArrayList = arrayListOf(), - var peoplePeoplecolorist: ArrayList = arrayListOf(), - var peopleLetterer: ArrayList = arrayListOf(), - var peopleCoverArtist: ArrayList = arrayListOf(), - var peopleEditor: ArrayList = arrayListOf(), - var peoplePublisher: ArrayList = arrayListOf(), - var peopleCharacter: ArrayList = arrayListOf(), - var peopleTranslator: ArrayList = arrayListOf(), -) - -@Serializable -data class SmartFilter( - val id: Int, - val name: String, - val filter: String, -) diff --git a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/Responses.kt b/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/Responses.kt deleted file mode 100644 index 424cc1233..000000000 --- a/src/all/kavita/src/eu/kanade/tachiyomi/extension/all/kavita/dto/Responses.kt +++ /dev/null @@ -1,28 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.kavita.dto - -import kotlinx.serialization.Serializable - -@Serializable // Used to process login -data class AuthenticationDto( - val username: String, - val token: String, - val apiKey: String, -) - -@Serializable -data class PaginationInfo( - val currentPage: Int, - val itemsPerPage: Int, - val totalItems: Int, - val totalPages: Int, -) - -@Serializable -data class ServerInfoDto( - val installId: String, - val os: String, - val isDocker: Boolean, - val dotnetVersion: String, - val kavitaVersion: String, - val numOfCores: Int, -) diff --git a/src/all/komga/CHANGELOG.md b/src/all/komga/CHANGELOG.md deleted file mode 100644 index 759286187..000000000 --- a/src/all/komga/CHANGELOG.md +++ /dev/null @@ -1,383 +0,0 @@ -## 1.4.47 - -Minimum Komga version required: `0.151.0` - -### Feat - -* add support for AVIF and HEIF image types - -## 1.4.46 - -Minimum Komga version required: `0.151.0` - -### Feat - -* Update to extension-lib 1.4 - - Clicking on chapter WebView should now open the chapter/book page. - -## 1.3.45 - -Minimum Komga version required: `0.151.0` - -### Feat - -* Edit source display name - -## 1.3.44 - -Minimum Komga version required: `0.151.0` - -### Fix - -* Better date/time parsing - -## 1.3.43 - -Minimum Komga version required: `0.151.0` - -### Fix - -* Requests failing if address preference is saved with a trailing slash - -### Features - -* Add URL validation in the address preferences -* Use a URL-focused keyboard when available while editing the address preferences - -## 1.3.42 - -Minimum Komga version required: `0.151.0` - -### Fix - -* default sort broken since Komga 0.155.1 -* proper sort criteria for readlists - -## 1.3.41 - -Minimum Komga version required: `0.151.0` - -### Features - -* Improve how the status is displayed - -## 1.3.40 - -Minimum Komga version required: `0.151.0` - -### Features - -* Exclude from bulk update warnings - -## 1.2.39 - -Minimum Komga version required: `0.151.0` - -### Features - -* Prepend series name in front of books within readlists - -## 1.2.38 - -Minimum Komga version required: `0.113.0` - -### Features - -* Add `README.md` - -## 1.2.37 - -Minimum Komga version required: `0.113.0` - -### Features - -* In app link to `CHANGELOG.md` - -## 1.2.36 - -Minimum Komga version required: `0.113.0` - -### Features - -* Don't request conversion for JPEG XL images - -## 1.2.35 - -Minimum Komga version required: `0.113.0` - -### Features - -* Display the Translators of a book in the scanlator chapter field - -## 1.2.34 - -Minimum Komga version required: `0.113.0` - -### Fix - -* Loading of filter values could fail in some cases - -## 1.2.33 - -Minimum Komga version required: `0.113.0` - -### Fix - -* Open in WebView and Share options now open regular browser link instead of showing JSON -* Note that Komga cannot be viewed using System WebView since there is no login prompt - However, opening in a regular browser works. - -## 1.2.32 - -Minimum Komga version required: `0.113.0` - -### Fix - -* Source language, conventionally set to "en", is now changed to "all" -* Downloaded files, if any, will have to be moved to new location - - `Komga (EN)` to `Komga (ALL)` - - `Komga (3) (EN)` to `Komga (3) (ALL)` - -## 1.2.31 - -Minimum Komga version required: `0.113.0` - -### Refactor - -* replace Gson with kotlinx.serialization - -## 1.2.30 - -Minimum Komga version required: `0.113.0` - -### Features - -* display read list summary -* display aggregated tags on series -* search series by book tags - -## 1.2.29 - -Minimum Komga version required: `0.97.0` - -### Features - -* filter deleted series and books - -## 1.2.28 - -Minimum Komga version required: `0.97.0` - -### Fix - -* incorrect User Agent - -## 1.2.27 - -Minimum Komga version required: `0.97.0` - -### Fix - -* filter series by read or in progress - -## 1.2.26 - -Minimum Komga version required: `0.87.4` - -### Fix - -* show series with only in progress books when searching for unread only - -## 1.2.25 - -Minimum Komga version required: `0.87.4` - -### Fix - -* sort order for read list books - -## 1.2.24 - -Minimum Komga version required: `0.87.4` - -### Fix - -* only show series tags in the filter panel -* set URL properly on series and read lists, so restoring from a backup can work properly - - -## 1.2.23 - -Minimum Komga version required: `0.75.0` - -### Features - -* ignore DNS over HTTPS so it can reach IP addresses - -## 1.2.22 - -Minimum Komga version required: `0.75.0` - -### Features - -* add error logs and better catch exceptions - -## 1.2.21 - -Minimum Komga version required: `0.75.0` - -### Features - -* browse read lists (from the filter menu) -* filter by collection, respecting the collection's ordering - -## 1.2.20 - -Minimum Komga version required: `0.75.0` - -### Features - -* filter by authors, grouped by role - -## 1.2.19 - -Minimum Komga version required: `0.68.0` - -### Features - -* display Series authors -* display Series summary from books if no summary exists for Series - -## 1.2.18 - -Minimum Komga version required: `0.63.2` - -### Fix - -* use metadata.releaseDate or fileLastModified for chapter date - -## 1.2.17 - -Minimum Komga version required: `0.63.2` - -### Fix - -* list of collections for filtering could be empty in some conditions - -## 1.2.16 - -Minimum Komga version required: `0.59.0` - -### Features - -* filter by genres, tags and publishers - -## 1.2.15 - -Minimum Komga version required: `0.56.0` - -### Features - -* remove the 1000 chapters limit -* display series description and tags (genres + tags) - -## 1.2.14 - -Minimum Komga version required: `0.41.0` - -### Features - -* change chapter display name to use the display number instead of the sort number - -## 1.2.13 - -Minimum Komga version required: `0.41.0` - -### Features - -* compatibility for the upcoming version of Komga which have changes in the API (IDs are String instead of Long) - -## 1.2.12 - -Minimum Komga version required: `0.41.0` - -### Features - -* filter by collection - -## 1.2.11 - -Minimum Komga version required: `0.35.2` - -### Features - -* Set password preferences inputTypes - -## 1.2.10 - -Minimum Komga version required: `0.35.2` - -### Features - -* unread only filter (closes gotson/komga#180) -* prefix book titles with number (closes gotson/komga#169) - -## 1.2.9 - -Minimum Komga version required: `0.22.0` - -### Features - -* use SourceFactory to have multiple Komga servers (3 for the moment) - -## 1.2.8 - -Minimum Komga version required: `0.22.0` - -### Features - -* use book metadata title for chapter display name -* use book metadata sort number for chapter number - -## 1.2.7 - -### Features - -* use series metadata title for display name -* filter on series status - -## 1.2.6 - -### Features - -* Add support for AndroidX preferences - -## 1.2.5 - -### Features - -* add sort options in filter - -## 1.2.4 - -### Features - -* better handling of authentication - -## 1.2.3 - -### Features - -* filters by library - -## 1.2.2 - -### Features - -* request converted image from server if format is not supported - -## 1.2.1 - -### Features - -* first version diff --git a/src/all/komga/README.md b/src/all/komga/README.md deleted file mode 100644 index fa7ae9fc7..000000000 --- a/src/all/komga/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Komga - -Table of Content -- [FAQ](#FAQ) - - [Why do I see no manga?](#why-do-i-see-no-manga) - - [Where can I get more information about Komga?](#where-can-i-get-more-information-about-komga) - - [The Komga extension stopped working?](#the-komga-extension-stopped-working) - - [Can I add more than one Komga server or user?](#can-i-add-more-than-one-komga-server-or-user) - - [Can I test the Komga extension before setting up my own server?](#can-i-test-the-komga-extension-before-setting-up-my-own-server) -- [Guides](#Guides) - - [How do I add my Komga server to Tachiyomi?](#how-do-i-add-my-komga-server-to-tachiyomi) - -Don't find the question you are look for go check out our general FAQs and Guides over at [Extension FAQ](https://tachiyomi.org/help/faq/#extensions) or [Getting Started](https://tachiyomi.org/help/guides/getting-started/#installation) - -## FAQ - -### Why do I see no manga? -Komga is a self-hosted comic/manga media server. - -### Where can I get more information about Komga? -You can visit the [Komga](https://komga.org/) website for for more information. - -### The Komga extension stopped working? -Make sure that your Komga server and extension are on the newest version. - -### Can I add more than one Komga server or user? -Yes, currently you can add up to 3 different Komga instances to Tachiyomi. - -### Can I test the Komga extension before setting up my own server? -Yes, you can try it out with the DEMO server `https://demo.komga.org`, username `demo@komga.org` and password `komga-demo`. - -## Guides - -### How do I add my Komga server to Tachiyomi? -Go into the settings of the Komga extension from the Extension tab in Browse and fill in your server address and login details. diff --git a/src/all/komga/build.gradle b/src/all/komga/build.gradle deleted file mode 100644 index c603e6699..000000000 --- a/src/all/komga/build.gradle +++ /dev/null @@ -1,12 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply plugin: 'kotlinx-serialization' - -ext { - extName = 'Komga' - pkgNameSuffix = 'all.komga' - extClass = '.KomgaFactory' - extVersionCode = 50 -} - -apply from: "$rootDir/common.gradle" diff --git a/src/all/komga/res/mipmap-hdpi/ic_launcher.png b/src/all/komga/res/mipmap-hdpi/ic_launcher.png deleted file mode 100755 index 4a5514218..000000000 Binary files a/src/all/komga/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/komga/res/mipmap-mdpi/ic_launcher.png b/src/all/komga/res/mipmap-mdpi/ic_launcher.png deleted file mode 100755 index af95fb6ca..000000000 Binary files a/src/all/komga/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/komga/res/mipmap-xhdpi/ic_launcher.png b/src/all/komga/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100755 index 76c5112ce..000000000 Binary files a/src/all/komga/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/komga/res/mipmap-xxhdpi/ic_launcher.png b/src/all/komga/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100755 index 80894b006..000000000 Binary files a/src/all/komga/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/komga/res/mipmap-xxxhdpi/ic_launcher.png b/src/all/komga/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100755 index 798b30128..000000000 Binary files a/src/all/komga/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/src/all/komga/res/web_hi_res_512.png b/src/all/komga/res/web_hi_res_512.png deleted file mode 100755 index d39f53c61..000000000 Binary files a/src/all/komga/res/web_hi_res_512.png and /dev/null differ diff --git a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt b/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt deleted file mode 100644 index 4f0adb59f..000000000 --- a/src/all/komga/src/eu/kanade/tachiyomi/extension/all/komga/Komga.kt +++ /dev/null @@ -1,637 +0,0 @@ -package eu.kanade.tachiyomi.extension.all.komga - -import android.app.Application -import android.content.SharedPreferences -import android.text.Editable -import android.text.InputType -import android.text.TextWatcher -import android.util.Log -import android.widget.Button -import android.widget.Toast -import androidx.preference.EditTextPreference -import androidx.preference.PreferenceScreen -import eu.kanade.tachiyomi.AppInfo -import eu.kanade.tachiyomi.extension.all.komga.dto.AuthorDto -import eu.kanade.tachiyomi.extension.all.komga.dto.BookDto -import eu.kanade.tachiyomi.extension.all.komga.dto.CollectionDto -import eu.kanade.tachiyomi.extension.all.komga.dto.LibraryDto -import eu.kanade.tachiyomi.extension.all.komga.dto.PageDto -import eu.kanade.tachiyomi.extension.all.komga.dto.PageWrapperDto -import eu.kanade.tachiyomi.extension.all.komga.dto.ReadListDto -import eu.kanade.tachiyomi.extension.all.komga.dto.SeriesDto -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.asObservable -import eu.kanade.tachiyomi.network.await -import eu.kanade.tachiyomi.source.ConfigurableSource -import eu.kanade.tachiyomi.source.UnmeteredSource -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.MangasPage -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.online.HttpSource -import kotlinx.serialization.decodeFromString -import kotlinx.serialization.json.Json -import okhttp3.Credentials -import okhttp3.Dns -import okhttp3.Headers -import okhttp3.HttpUrl.Companion.toHttpUrlOrNull -import okhttp3.OkHttpClient -import okhttp3.Request -import okhttp3.Response -import rx.Observable -import rx.Single -import rx.schedulers.Schedulers -import uy.kohesive.injekt.Injekt -import uy.kohesive.injekt.api.get -import uy.kohesive.injekt.injectLazy -import java.security.MessageDigest -import java.util.Locale - -open class Komga(private val suffix: String = "") : ConfigurableSource, UnmeteredSource, HttpSource() { - override fun popularMangaRequest(page: Int): Request = - GET("$baseUrl/api/v1/series?page=${page - 1}&deleted=false&sort=metadata.titleSort,asc", headers) - - override fun popularMangaParse(response: Response): MangasPage = - processSeriesPage(response) - - override fun latestUpdatesRequest(page: Int): Request = - GET("$baseUrl/api/v1/series/latest?page=${page - 1}&deleted=false", headers) - - override fun latestUpdatesParse(response: Response): MangasPage = - processSeriesPage(response) - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - val collectionId = (filters.find { it is CollectionSelect } as? CollectionSelect)?.let { - it.values[it.state].id - } - - val type = when { - collectionId != null -> "collections/$collectionId/series" - filters.find { it is TypeSelect }?.state == 1 -> "readlists" - else -> "series" - } - - val url = "$baseUrl/api/v1/$type?search=$query&page=${page - 1}&deleted=false".toHttpUrlOrNull()!!.newBuilder() - - filters.forEach { filter -> - when (filter) { - is UnreadFilter -> { - if (filter.state) { - url.addQueryParameter("read_status", "UNREAD") - url.addQueryParameter("read_status", "IN_PROGRESS") - } - } - is InProgressFilter -> { - if (filter.state) { - url.addQueryParameter("read_status", "IN_PROGRESS") - } - } - is ReadFilter -> { - if (filter.state) { - url.addQueryParameter("read_status", "READ") - } - } - is LibraryGroup -> { - val libraryToInclude = mutableListOf() - filter.state.forEach { content -> - if (content.state) { - libraryToInclude.add(content.id) - } - } - if (libraryToInclude.isNotEmpty()) { - url.addQueryParameter("library_id", libraryToInclude.joinToString(",")) - } - } - is StatusGroup -> { - val statusToInclude = mutableListOf() - filter.state.forEach { content -> - if (content.state) { - statusToInclude.add(content.name.uppercase(Locale.ROOT)) - } - } - if (statusToInclude.isNotEmpty()) { - url.addQueryParameter("status", statusToInclude.joinToString(",")) - } - } - is GenreGroup -> { - val genreToInclude = mutableListOf() - filter.state.forEach { content -> - if (content.state) { - genreToInclude.add(content.name) - } - } - if (genreToInclude.isNotEmpty()) { - url.addQueryParameter("genre", genreToInclude.joinToString(",")) - } - } - is TagGroup -> { - val tagToInclude = mutableListOf() - filter.state.forEach { content -> - if (content.state) { - tagToInclude.add(content.name) - } - } - if (tagToInclude.isNotEmpty()) { - url.addQueryParameter("tag", tagToInclude.joinToString(",")) - } - } - is PublisherGroup -> { - val publisherToInclude = mutableListOf() - filter.state.forEach { content -> - if (content.state) { - publisherToInclude.add(content.name) - } - } - if (publisherToInclude.isNotEmpty()) { - url.addQueryParameter("publisher", publisherToInclude.joinToString(",")) - } - } - is AuthorGroup -> { - val authorToInclude = mutableListOf() - filter.state.forEach { content -> - if (content.state) { - authorToInclude.add(content.author) - } - } - authorToInclude.forEach { - url.addQueryParameter("author", "${it.name},${it.role}") - } - } - is Filter.Sort -> { - var sortCriteria = when (filter.state?.index) { - 0 -> if (type == "series") "metadata.titleSort" else "name" - 1 -> "createdDate" - 2 -> "lastModifiedDate" - else -> "" - } - if (sortCriteria.isNotEmpty()) { - sortCriteria += "," + if (filter.state?.ascending!!) "asc" else "desc" - url.addQueryParameter("sort", sortCriteria) - } - } - else -> {} - } - } - - return GET(url.toString(), headers) - } - - override fun searchMangaParse(response: Response): MangasPage = - processSeriesPage(response) - - override fun fetchMangaDetails(manga: SManga): Observable { - return client.newCall(GET(manga.url, headers)) - .asObservable() - .map { response -> - mangaDetailsParse(response).apply { initialized = true } - } - } - - override fun mangaDetailsRequest(manga: SManga): Request = - GET(manga.url.replaceFirst("api/v1/", "", ignoreCase = true), headers) - - override fun mangaDetailsParse(response: Response): SManga { - return response.body.use { body -> - if (response.fromReadList()) { - val readList = json.decodeFromString(body.string()) - readList.toSManga() - } else { - val series = json.decodeFromString(body.string()) - series.toSManga() - } - } - } - - override fun chapterListRequest(manga: SManga): Request = - GET("${manga.url}/books?unpaged=true&media_status=READY&deleted=false", headers) - - override fun chapterListParse(response: Response): List { - val responseBody = response.body - val page = responseBody.use { json.decodeFromString>(it.string()).content } - - val r = page.mapIndexed { index, book -> - SChapter.create().apply { - chapter_number = if (!response.fromReadList()) book.metadata.numberSort else index + 1F - name = "${if (!response.fromReadList()) "${book.metadata.number} - " else "${book.seriesTitle} ${book.metadata.number}: "}${book.metadata.title} (${book.size})" - url = "$baseUrl/api/v1/books/${book.id}" - scanlator = book.metadata.authors.groupBy({ it.role }, { it.name })["translator"]?.joinToString() - date_upload = book.metadata.releaseDate?.let { parseDate(it) } - ?: parseDateTime(book.fileLastModified) - } - } - return r.sortedByDescending { it.chapter_number } - } - - override fun pageListRequest(chapter: SChapter): Request = - GET("${chapter.url}/pages") - - override fun pageListParse(response: Response): List { - val responseBody = response.body - val pages = responseBody.use { json.decodeFromString>(it.string()) } - return pages.map { - val url = "${response.request.url}/${it.number}" + - if (!supportedImageTypes.contains(it.mediaType)) { - "?convert=png" - } else { - "" - } - Page( - index = it.number - 1, - imageUrl = url, - ) - } - } - - override fun getMangaUrl(manga: SManga) = manga.url.replace("/api/v1", "") - - override fun getChapterUrl(chapter: SChapter) = chapter.url.replace("/api/v1/books", "/book") - - private fun processSeriesPage(response: Response): MangasPage { - val responseBody = response.body - return responseBody.use { body -> - if (response.fromReadList()) { - with(json.decodeFromString>(body.string())) { - MangasPage(content.map { it.toSManga() }, !last) - } - } else { - with(json.decodeFromString>(body.string())) { - MangasPage(content.map { it.toSManga() }, !last) - } - } - } - } - - private fun SeriesDto.toSManga(): SManga = - SManga.create().apply { - title = metadata.title - url = "$baseUrl/api/v1/series/$id" - thumbnail_url = "$url/thumbnail" - status = when { - metadata.status == "ENDED" && metadata.totalBookCount != null && booksCount < metadata.totalBookCount -> SManga.PUBLISHING_FINISHED - metadata.status == "ENDED" -> SManga.COMPLETED - metadata.status == "ONGOING" -> SManga.ONGOING - metadata.status == "ABANDONED" -> SManga.CANCELLED - metadata.status == "HIATUS" -> SManga.ON_HIATUS - else -> SManga.UNKNOWN - } - genre = (metadata.genres + metadata.tags + booksMetadata.tags).distinct().joinToString(", ") - description = metadata.summary.ifBlank { booksMetadata.summary } - booksMetadata.authors.groupBy { it.role }.let { map -> - author = map["writer"]?.map { it.name }?.distinct()?.joinToString() - artist = map["penciller"]?.map { it.name }?.distinct()?.joinToString() - } - } - - private fun ReadListDto.toSManga(): SManga = - SManga.create().apply { - title = name - description = summary - url = "$baseUrl/api/v1/readlists/$id" - thumbnail_url = "$url/thumbnail" - status = SManga.UNKNOWN - } - - private fun Response.fromReadList() = request.url.toString().contains("/api/v1/readlists") - - private fun parseDate(date: String?): Long = - if (date == null) { - 0 - } else { - try { - KomgaHelper.formatterDate.parse(date)?.time ?: 0 - } catch (ex: Exception) { - 0 - } - } - - private fun parseDateTime(date: String?): Long = - if (date == null) { - 0 - } else { - try { - KomgaHelper.formatterDateTime.parse(date)?.time ?: 0 - } catch (ex: Exception) { - try { - KomgaHelper.formatterDateTimeMilli.parse(date)?.time ?: 0 - } catch (ex: Exception) { - 0 - } - } - } - - override fun imageUrlParse(response: Response): String = "" - - private class TypeSelect : Filter.Select("Search for", arrayOf(TYPE_SERIES, TYPE_READLISTS)) - private class LibraryFilter(val id: String, name: String) : Filter.CheckBox(name, false) - private class LibraryGroup(libraries: List) : Filter.Group("Libraries", libraries) - private class CollectionSelect(collections: List) : Filter.Select("Collection", collections.toTypedArray()) - private class SeriesSort : Filter.Sort("Sort", arrayOf("Alphabetically", "Date added", "Date updated"), Selection(0, true)) - private class StatusFilter(name: String) : Filter.CheckBox(name, false) - private class StatusGroup(filters: List) : Filter.Group("Status", filters) - private class UnreadFilter : Filter.CheckBox("Unread", false) - private class InProgressFilter : Filter.CheckBox("In Progress", false) - private class ReadFilter : Filter.CheckBox("Read", false) - private class GenreFilter(genre: String) : Filter.CheckBox(genre, false) - private class GenreGroup(genres: List) : Filter.Group("Genres", genres) - private class TagFilter(tag: String) : Filter.CheckBox(tag, false) - private class TagGroup(tags: List) : Filter.Group("Tags", tags) - private class PublisherFilter(publisher: String) : Filter.CheckBox(publisher, false) - private class PublisherGroup(publishers: List) : Filter.Group("Publishers", publishers) - private class AuthorFilter(val author: AuthorDto) : Filter.CheckBox(author.name, false) - private class AuthorGroup(role: String, authors: List) : Filter.Group(role, authors) - - private data class CollectionFilterEntry( - val name: String, - val id: String? = null, - ) { - override fun toString() = name - } - - override fun getFilterList(): FilterList { - val filters = try { - mutableListOf>( - UnreadFilter(), - InProgressFilter(), - ReadFilter(), - TypeSelect(), - CollectionSelect(listOf(CollectionFilterEntry("None")) + collections.map { CollectionFilterEntry(it.name, it.id) }), - LibraryGroup(libraries.map { LibraryFilter(it.id, it.name) }.sortedBy { it.name.lowercase(Locale.ROOT) }), - StatusGroup(listOf("Ongoing", "Ended", "Abandoned", "Hiatus").map { StatusFilter(it) }), - GenreGroup(genres.map { GenreFilter(it) }), - TagGroup(tags.map { TagFilter(it) }), - PublisherGroup(publishers.map { PublisherFilter(it) }), - ).also { list -> - list.addAll(authors.map { (role, authors) -> AuthorGroup(role, authors.map { AuthorFilter(it) }) }) - list.add(SeriesSort()) - } - } catch (e: Exception) { - Log.e(LOG_TAG, "error while creating filter list", e) - emptyList() - } - - return FilterList(filters) - } - - private var libraries = emptyList() - private var collections = emptyList() - private var genres = emptySet() - private var tags = emptySet() - private var publishers = emptySet() - private var authors = emptyMap>() // roles to list of authors - - // keep the previous ID when lang was "en", so that preferences and manga bindings are not lost - override val id by lazy { - val key = "komga${if (suffix.isNotBlank()) " ($suffix)" else ""}/en/$versionId" - val bytes = MessageDigest.getInstance("MD5").digest(key.toByteArray()) - (0..7).map { bytes[it].toLong() and 0xff shl 8 * (7 - it) }.reduce(Long::or) and Long.MAX_VALUE - } - - private val displayName by lazy { preferences.displayName } - final override val baseUrl by lazy { preferences.baseUrl } - private val username by lazy { preferences.username } - private val password by lazy { preferences.password } - private val json: Json by injectLazy() - - override fun headersBuilder(): Headers.Builder = - Headers.Builder() - .add("User-Agent", "TachiyomiKomga/${AppInfo.getVersionName()}") - - private val preferences: SharedPreferences by lazy { - Injekt.get().getSharedPreferences("source_$id", 0x0000) - } - - override val name = "Komga${displayName.ifBlank { suffix }.let { if (it.isNotBlank()) " ($it)" else "" }}" - override val lang = "all" - override val supportsLatest = true - private val LOG_TAG = "extension.all.komga${if (suffix.isNotBlank()) ".$suffix" else ""}" - - override val client: OkHttpClient = - network.client.newBuilder() - .authenticator { _, response -> - if (response.request.header("Authorization") != null) { - null // Give up, we've already failed to authenticate. - } else { - response.request.newBuilder() - .addHeader("Authorization", Credentials.basic(username, password)) - .build() - } - } - .dns(Dns.SYSTEM) // don't use DNS over HTTPS as it breaks IP addressing - .build() - - override fun setupPreferenceScreen(screen: PreferenceScreen) { - screen.addEditTextPreference( - title = "Source display name", - default = suffix, - summary = displayName.ifBlank { "Here you can change the source displayed suffix" }, - key = PREF_DISPLAYNAME, - ) - screen.addEditTextPreference( - title = "Address", - default = ADDRESS_DEFAULT, - summary = baseUrl.ifBlank { "The server address" }, - inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_URI, - validate = { it.toHttpUrlOrNull() != null }, - validationMessage = "The URL is invalid or malformed", - key = PREF_ADDRESS, - ) - screen.addEditTextPreference( - title = "Username", - default = USERNAME_DEFAULT, - summary = username.ifBlank { "The user account email" }, - key = PREF_USERNAME, - ) - screen.addEditTextPreference( - title = "Password", - default = PASSWORD_DEFAULT, - summary = if (password.isBlank()) "The user account password" else "*".repeat(password.length), - inputType = InputType.TYPE_CLASS_TEXT or InputType.TYPE_TEXT_VARIATION_PASSWORD, - key = PREF_PASSWORD, - ) - } - - private fun PreferenceScreen.addEditTextPreference( - title: String, - default: String, - summary: String, - inputType: Int? = null, - validate: ((String) -> Boolean)? = null, - validationMessage: String? = null, - key: String = title, - ) { - val preference = EditTextPreference(context).apply { - this.key = key - this.title = title - this.summary = summary - this.setDefaultValue(default) - dialogTitle = title - - setOnBindEditTextListener { editText -> - if (inputType != null) { - editText.inputType = inputType - } - - if (validate != null) { - editText.addTextChangedListener( - object : TextWatcher { - override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} - - override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} - - override fun afterTextChanged(editable: Editable?) { - requireNotNull(editable) - - val text = editable.toString() - - val isValid = text.isBlank() || validate(text) - - editText.error = if (!isValid) validationMessage else null - editText.rootView.findViewById