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: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,97 @@
package eu.kanade.tachiyomi.extension.all.hentaihand
import eu.kanade.tachiyomi.multisrc.hentaihand.HentaiHand
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceFactory
import okhttp3.OkHttpClient
class HentaiHandFactory : SourceFactory {
override fun createSources(): List<Source> = listOf(
// https://hentaihand.com/api/languages?per_page=50
HentaiHandOther(),
HentaiHandEn(),
HentaiHandZh(),
HentaiHandJa(),
HentaiHandNoText(),
HentaiHandEo(),
HentaiHandCeb(),
HentaiHandCs(),
HentaiHandAr(),
HentaiHandSk(),
HentaiHandMn(),
HentaiHandUk(),
HentaiHandLa(),
HentaiHandTl(),
HentaiHandEs(),
HentaiHandIt(),
HentaiHandKo(),
HentaiHandTh(),
HentaiHandPl(),
HentaiHandFr(),
HentaiHandPtBr(),
HentaiHandDe(),
HentaiHandFi(),
HentaiHandRu(),
HentaiHandHu(),
HentaiHandId(),
HentaiHandVi(),
HentaiHandNl(),
HentaiHandHi(),
HentaiHandTr(),
HentaiHandEl(),
HentaiHandSr(),
HentaiHandJv(),
HentaiHandBg(),
)
}
abstract class HentaiHandCommon(
override val lang: String,
hhLangId: List<Int> = emptyList(),
// altLangId: Int? = null
) : HentaiHand("HentaiHand", "https://hentaihand.com", lang, false, hhLangId) {
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
.addInterceptor { authIntercept(it) }
.build()
}
class HentaiHandOther : HentaiHandCommon("all") {
override val id: Long = 1235047015955289468
}
class HentaiHandJa : HentaiHandCommon("ja", listOf(1, 29))
class HentaiHandEn : HentaiHandCommon("en", listOf(2, 27))
class HentaiHandZh : HentaiHandCommon("zh", listOf(3, 50))
class HentaiHandBg : HentaiHandCommon("bg", listOf(4))
class HentaiHandCeb : HentaiHandCommon("ceb", listOf(5, 44))
class HentaiHandNoText : HentaiHandCommon("other", listOf(6)) {
override val id: Long = 7302549142935671434
}
class HentaiHandTl : HentaiHandCommon("tl", listOf(7, 55))
class HentaiHandAr : HentaiHandCommon("ar", listOf(8, 49))
class HentaiHandEl : HentaiHandCommon("el", listOf(9))
class HentaiHandSr : HentaiHandCommon("sr", listOf(10))
class HentaiHandJv : HentaiHandCommon("jv", listOf(11, 51))
class HentaiHandUk : HentaiHandCommon("uk", listOf(12, 46))
class HentaiHandTr : HentaiHandCommon("tr", listOf(13, 41))
class HentaiHandFi : HentaiHandCommon("fi", listOf(14, 54))
class HentaiHandLa : HentaiHandCommon("la", listOf(15))
class HentaiHandMn : HentaiHandCommon("mn", listOf(16))
class HentaiHandEo : HentaiHandCommon("eo", listOf(17, 47))
class HentaiHandSk : HentaiHandCommon("sk", listOf(18))
class HentaiHandCs : HentaiHandCommon("cs", listOf(19, 52))
class HentaiHandKo : HentaiHandCommon("ko", listOf(30, 39))
class HentaiHandRu : HentaiHandCommon("ru", listOf(31))
class HentaiHandIt : HentaiHandCommon("it", listOf(32))
class HentaiHandEs : HentaiHandCommon("es", listOf(33, 37))
class HentaiHandPtBr : HentaiHandCommon("pt-BR", listOf(34)) {
// Hardcode the id because the language wasn't specific.
override val id: Long = 2516244587139644000
}
class HentaiHandTh : HentaiHandCommon("th", listOf(35, 40))
class HentaiHandFr : HentaiHandCommon("fr", listOf(36))
class HentaiHandId : HentaiHandCommon("id", listOf(38))
class HentaiHandVi : HentaiHandCommon("vi", listOf(42))
class HentaiHandDe : HentaiHandCommon("de", listOf(43))
class HentaiHandPl : HentaiHandCommon("pl", listOf(45))
class HentaiHandHu : HentaiHandCommon("hu", listOf(48))
class HentaiHandNl : HentaiHandCommon("nl", listOf(53))
class HentaiHandHi : HentaiHandCommon("hi", listOf(56))

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@@ -0,0 +1,10 @@
package eu.kanade.tachiyomi.extension.en.hentaisphere
import eu.kanade.tachiyomi.multisrc.hentaihand.HentaiHand
import okhttp3.OkHttpClient
class HentaiSphere : HentaiHand("HentaiSphere", "https://hentaisphere.com", "en", false) {
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
.addInterceptor { authIntercept(it) }
.build()
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

View File

@@ -0,0 +1,10 @@
package eu.kanade.tachiyomi.extension.en.manhwaclub
import eu.kanade.tachiyomi.multisrc.hentaihand.HentaiHand
import okhttp3.OkHttpClient
class ManhwaClub : HentaiHand("ManhwaClub", "https://manhwa.club", "en", true) {
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
.addInterceptor { authIntercept(it) }
.build()
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 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: 101 KiB

View File

@@ -0,0 +1,99 @@
package eu.kanade.tachiyomi.extension.all.nhentaicom
import eu.kanade.tachiyomi.multisrc.hentaihand.HentaiHand
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceFactory
import okhttp3.OkHttpClient
class NHentaiComFactory : SourceFactory {
override fun createSources(): List<Source> = listOf(
// https://nhentai.com/api/languages?per_page=50
NHentaiComAll(),
NHentaiComEn(),
NHentaiComZh(),
NHentaiComJa(),
NHentaiComNoText(),
NHentaiComEo(),
NHentaiComCeb(),
NHentaiComCs(),
NHentaiComAr(),
NHentaiComSk(),
NHentaiComMn(),
NHentaiComUk(),
NHentaiComLa(),
NHentaiComTl(),
NHentaiComEs(),
NHentaiComIt(),
NHentaiComKo(),
NHentaiComTh(),
NHentaiComPl(),
NHentaiComFr(),
NHentaiComPtBr(),
NHentaiComDe(),
NHentaiComFi(),
NHentaiComRu(),
NHentaiComHu(),
NHentaiComId(),
NHentaiComVi(),
NHentaiComNl(),
NHentaiComTr(),
NHentaiComEl(),
NHentaiComBg(),
NHentaiComSr(),
NHentaiComJv(),
NHentaiComHi(),
)
}
abstract class NHentaiComCommon(
override val lang: String,
hhLangId: List<Int> = emptyList(),
// altLangId: Int? = null
) : HentaiHand("nHentai.com (unoriginal)", "https://nhentai.com", lang, false, hhLangId) {
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
.addInterceptor { authIntercept(it) }
.build()
}
class NHentaiComAll : NHentaiComCommon("all") {
override val id: Long = 9165839893600661480
}
class NHentaiComJa : NHentaiComCommon("ja", listOf(1, 29))
class NHentaiComEn : NHentaiComCommon("en", listOf(2, 27)) {
override val id: Long = 5591830863732393712
}
class NHentaiComZh : NHentaiComCommon("zh", listOf(3, 50))
class NHentaiComBg : NHentaiComCommon("bg", listOf(4))
class NHentaiComCeb : NHentaiComCommon("ceb", listOf(5, 44))
class NHentaiComNoText : NHentaiComCommon("other", listOf(6)) {
override val id: Long = 5817327335315373850
}
class NHentaiComTl : NHentaiComCommon("tl", listOf(7, 55))
class NHentaiComAr : NHentaiComCommon("ar", listOf(8, 49))
class NHentaiComEl : NHentaiComCommon("el", listOf(9))
class NHentaiComSr : NHentaiComCommon("sr", listOf(10))
class NHentaiComJv : NHentaiComCommon("jv", listOf(11, 51))
class NHentaiComUk : NHentaiComCommon("uk", listOf(12, 46))
class NHentaiComTr : NHentaiComCommon("tr", listOf(13, 41))
class NHentaiComFi : NHentaiComCommon("fi", listOf(14, 54))
class NHentaiComLa : NHentaiComCommon("la", listOf(15))
class NHentaiComMn : NHentaiComCommon("mn", listOf(16))
class NHentaiComEo : NHentaiComCommon("eo", listOf(17, 47))
class NHentaiComSk : NHentaiComCommon("sk", listOf(18))
class NHentaiComCs : NHentaiComCommon("cs", listOf(19, 52)) {
override val id: Long = 1144495813995437124
}
class NHentaiComKo : NHentaiComCommon("ko", listOf(30, 39))
class NHentaiComRu : NHentaiComCommon("ru", listOf(31))
class NHentaiComIt : NHentaiComCommon("it", listOf(32))
class NHentaiComEs : NHentaiComCommon("es", listOf(33, 37))
class NHentaiComPtBr : NHentaiComCommon("pt-BR", listOf(34))
class NHentaiComTh : NHentaiComCommon("th", listOf(35, 40))
class NHentaiComFr : NHentaiComCommon("fr", listOf(36))
class NHentaiComId : NHentaiComCommon("id", listOf(38))
class NHentaiComVi : NHentaiComCommon("vi", listOf(42))
class NHentaiComDe : NHentaiComCommon("de", listOf(43))
class NHentaiComPl : NHentaiComCommon("pl", listOf(45))
class NHentaiComHu : NHentaiComCommon("hu", listOf(48))
class NHentaiComNl : NHentaiComCommon("nl", listOf(53))
class NHentaiComHi : NHentaiComCommon("hi", listOf(56))

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 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: 21 KiB

View File

@@ -0,0 +1,10 @@
package eu.kanade.tachiyomi.extension.en.readmanhwa
import eu.kanade.tachiyomi.multisrc.hentaihand.HentaiHand
import okhttp3.OkHttpClient
class ReadManhwa : HentaiHand("ReadManhwa", "https://readmanhwa.com", "en", true) {
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
.addInterceptor { authIntercept(it) }
.build()
}