Initial commit

This commit is contained in:
FourTOne5
2024-01-09 04:12:39 +06:00
commit 600c345dfe
8593 changed files with 150590 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -0,0 +1,35 @@
package eu.kanade.tachiyomi.extension.ja.comicdays
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class ComicDays : GigaViewer(
"Comic Days",
"https://comic-days.com",
"ja",
"https://cdn-img.comic-days.com/public/page",
) {
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "講談社"
override fun popularMangaSelector(): String = "ul.daily-series li.daily-series-item:has(a.link)"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.daily-series-title")!!.text()
thumbnail_url = element.selectFirst("div.daily-series-thumb img")!!
.attr("data-src")
setUrlWithoutDomain(element.selectFirst("a.link")!!.attr("href"))
}
override fun latestUpdatesSelector(): String = "section#$dayOfWeek.daily " + popularMangaSelector()
override fun getCollections(): List<Collection> = listOf(
Collection("連載作品一覧", ""),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@@ -0,0 +1,34 @@
package eu.kanade.tachiyomi.extension.ja.comicgardo
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class ComicGardo : GigaViewer(
"Comic Gardo",
"https://comic-gardo.com",
"ja",
"https://cdn-img.comic-gardo.com/public/page",
) {
override val supportsLatest: Boolean = false
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "オーバーラップ"
override fun popularMangaSelector(): String = "ul.series-section-list li.series-section-item > a"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h5.series-title")!!.text()
thumbnail_url = element.selectFirst("div.thumb img")!!.attr("data-src")
setUrlWithoutDomain(element.attr("href")!!)
}
override fun getCollections(): List<Collection> = listOf(
Collection("連載一覧", ""),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -0,0 +1,42 @@
package eu.kanade.tachiyomi.extension.ja.comiplex
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import okhttp3.Request
import org.jsoup.nodes.Element
class Comiplex : GigaViewer(
"Comiplex",
"https://viewer.heros-web.com",
"ja",
"https://cdn-img.viewer.heros-web.com/public/page",
) {
override val supportsLatest: Boolean = false
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "ヒーローズ"
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/series/heros", headers)
override fun popularMangaSelector(): String = "ul.series-items li.series-item > a"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.item-series-title")!!.text()
thumbnail_url = element.selectFirst("div.series-item-thumb img")!!
.attr("data-src")
setUrlWithoutDomain(element.attr("href"))
}
override fun getCollections(): List<Collection> = listOf(
Collection("ヒーローズ", "heros"),
Collection("ふらっとヒーローズ", "flat"),
Collection("わいるどヒーローズ", "wild"),
Collection("読切作品", "oneshot"),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@@ -0,0 +1,72 @@
package eu.kanade.tachiyomi.extension.ja.corocoroonline
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.MangasPage
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import okhttp3.Request
import org.jsoup.nodes.Element
import rx.Observable
class CorocoroOnline : GigaViewer(
"Corocoro Online",
"https://corocoro.jp",
"ja",
"https://cdn-img.www.corocoro.jp/public/page",
) {
override val supportsLatest: Boolean = false
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher = "小学館"
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga", headers)
override fun popularMangaSelector(): String = "a.p-article-wrap"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h3.p-article-title")!!.text()
.substringAfter(']')
thumbnail_url = element.selectFirst("> .p-article-image > img")!!.attr("src")
setUrlWithoutDomain(element.attr("href"))
}
// Site doesn't have a manga search and only returns news in search results.
override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable<MangasPage> {
return fetchPopularManga(page)
.map { allManga ->
val filteredManga = allManga.mangas.filter { manga ->
manga.title.contains(query, true)
}
MangasPage(filteredManga, hasNextPage = false)
}
}
// The chapters only load using the URL with 'www'.
override fun mangaDetailsRequest(manga: SManga): Request =
GET(BASE_URL_WWW + manga.url, headers)
override fun chapterListRequest(manga: SManga): Request = mangaDetailsRequest(manga)
override fun pageListRequest(chapter: SChapter): Request =
GET(BASE_URL_WWW + chapter.url, headers)
// All chapters seems to be free.
override fun chapterListSelector(): String = "li.episode"
override val chapterListMode = CHAPTER_LIST_LOCKED
// The source have no collections, so no need to have filters.
override fun getFilterList(): FilterList = FilterList()
companion object {
private const val BASE_URL_WWW = "https://www.corocoro.jp"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 913 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 995 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,44 @@
package eu.kanade.tachiyomi.extension.ja.kuragebunch
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import okhttp3.Request
import org.jsoup.nodes.Element
class KurageBunch : GigaViewer(
"Kurage Bunch",
"https://kuragebunch.com",
"ja",
"https://cdn-img.kuragebunch.com",
) {
override val supportsLatest: Boolean = false
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "株式会社"
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/series/kuragebunch", headers)
override fun popularMangaSelector(): String = "ul.page-series-list li div.item-box"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("a.series-data-container h4")!!.text()
thumbnail_url = element.selectFirst("a.series-thumb img")!!.attr("data-src")
setUrlWithoutDomain(element.selectFirst("a")!!.attr("href"))
}
override fun chapterListSelector(): String = "li.episode"
override fun getCollections(): List<Collection> = listOf(
Collection("くらげバンチ", "kuragebunch"),
Collection("読切", "oneshot"),
Collection("月刊コミックバンチ", "comicbunch"),
Collection("Bバンチ", "bbunch"),
Collection("ututu", "ututu"),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View File

@@ -0,0 +1,36 @@
package eu.kanade.tachiyomi.extension.ja.magazinepocket
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class MagazinePocket : GigaViewer(
"Magazine Pocket",
"https://pocket.shonenmagazine.com",
"ja",
"https://cdn-img.pocket.shonenmagazine.com/public/page",
) {
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "講談社"
override fun popularMangaSelector(): String = "ul.daily-series li.daily-series-item > a"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.daily-series-title")!!.text()
thumbnail_url = element.selectFirst("div.daily-series-thumb img")!!.attr("data-src")
setUrlWithoutDomain(element.attr("href")!!)
}
override fun latestUpdatesSelector(): String = "section.daily.$dayOfWeek " + popularMangaSelector()
override fun getCollections(): List<Collection> = listOf(
Collection("マガポケ連載一覧", ""),
Collection("週刊少年マガジン連載一覧", "smaga"),
Collection("別冊少年マガジン連載一覧", "bmaga"),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -0,0 +1,34 @@
package eu.kanade.tachiyomi.extension.ja.magcomi
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class MagComi : GigaViewer(
"MAGCOMI",
"https://magcomi.com",
"ja",
"https://cdn-img.magcomi.com/public/page",
) {
override val supportsLatest: Boolean = false
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "マッグガーデン"
override fun popularMangaSelector(): String = "ul.magcomi-series-list li.series-item > a"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.select("h3.series-title").text()
thumbnail_url = element.select("div.series-thumb img").attr("src")
setUrlWithoutDomain(element.attr("href"))
}
override fun getCollections(): List<Collection> = listOf(
Collection("連載・読切", ""),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,24 @@
package eu.kanade.tachiyomi.extension.ja.shonenjumpplus
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import okhttp3.OkHttpClient
class ShonenJumpPlus : GigaViewer(
"Shonen Jump+",
"https://shonenjumpplus.com",
"ja",
"https://cdn-ak-img.shonenjumpplus.com",
) {
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "集英社"
override fun getCollections(): List<Collection> = listOf(
Collection("ジャンプ+連載一覧", ""),
Collection("ジャンプ+読切シリーズ", "oneshot"),
Collection("連載終了作品", "finished"),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,38 @@
package eu.kanade.tachiyomi.extension.ja.sundaywebevery
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class SundayWebEvery : GigaViewer(
"Sunday Web Every",
"https://www.sunday-webry.com",
"ja",
"https://cdn-img.www.sunday-webry.com/public/page",
) {
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "小学館"
override fun popularMangaSelector(): String = "ul.webry-series-list li a.webry-series-item-link"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.series-title")!!.text()
thumbnail_url = element.selectFirst("div.thumb-wrapper img")!!.attr("data-src")
setUrlWithoutDomain(element.attr("href"))
}
override fun latestUpdatesSelector(): String = "h3#series-$dayOfWeek + section " + popularMangaSelector()
override val chapterListMode = CHAPTER_LIST_LOCKED
override fun getCollections(): List<Collection> = listOf(
Collection("連載作品", ""),
Collection("読切", "oneshot"),
Collection("夜サンデー", "yoru-sunday"),
)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,40 @@
package eu.kanade.tachiyomi.extension.ja.tonarinoyoungjump
import eu.kanade.tachiyomi.multisrc.gigaviewer.GigaViewer
import eu.kanade.tachiyomi.source.model.SManga
import okhttp3.OkHttpClient
import org.jsoup.nodes.Element
class TonariNoYoungJump : GigaViewer(
"Tonari no Young Jump",
"https://tonarinoyj.jp",
"ja",
"https://cdn-img.tonarinoyj.jp/public/page",
) {
override val supportsLatest: Boolean = false
override val client: OkHttpClient = super.client.newBuilder()
.addInterceptor(::imageIntercept)
.build()
override val publisher: String = "集英社"
override fun popularMangaSelector(): String = "ul.series-table-list li.subpage-table-list-item > a"
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
title = element.selectFirst("h4.title")!!.text()
thumbnail_url = element.selectFirst("div.subpage-image-wrapper img")!!.attr("data-src")
.replace("{width}", "528")
.replace("{height}", "528")
setUrlWithoutDomain(element.attr("href"))
}
override val chapterListMode = CHAPTER_LIST_LOCKED
override fun getCollections(): List<Collection> = listOf(
Collection("連載中", ""),
Collection("読切", "oneshot"),
Collection("出張作品", "trial"),
)
}