Initial commit
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
BIN
multisrc/overrides/hentaihand/hentaihand/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
@@ -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))
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 83 KiB |
@@ -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()
|
||||
}
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 16 KiB |
BIN
multisrc/overrides/hentaihand/manhwaclub/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
10
multisrc/overrides/hentaihand/manhwaclub/src/ManhwaClub.kt
Normal 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()
|
||||
}
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 20 KiB |
BIN
multisrc/overrides/hentaihand/nhentaicom/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 101 KiB |
@@ -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))
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
BIN
multisrc/overrides/hentaihand/readmanhwa/res/web_hi_res_512.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
10
multisrc/overrides/hentaihand/readmanhwa/src/ReadManhwa.kt
Normal 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()
|
||||
}
|
||||