Turned NyaHentai multisrc into single source (#10424)
* Remove Files * Remove more files * Add nyahentai as normal source
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.bughentaien
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class BugHentaiEnFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
BugHentaiEnEN(),
|
|
||||||
BugHentaiEnJA(),
|
|
||||||
BugHentaiEnZH(),
|
|
||||||
BugHentaiEnALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class BugHentaiEnEN : NyaHentai("BugHentai (en)", "https://en.bughentai.com", "en")
|
|
||||||
class BugHentaiEnJA : NyaHentai("BugHentai (en)", "https://en.bughentai.com", "ja")
|
|
||||||
class BugHentaiEnZH : NyaHentai("BugHentai (en)", "https://en.bughentai.com", "zh")
|
|
||||||
class BugHentaiEnALL : NyaHentai("BugHentai (en)", "https://en.bughentai.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.bughentaija
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class BugHentaiJaFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
BugHentaiJaEN(),
|
|
||||||
BugHentaiJaJA(),
|
|
||||||
BugHentaiJaZH(),
|
|
||||||
BugHentaiJaALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class BugHentaiJaEN : NyaHentai("BugHentai (ja)", "https://ja.bughentai.com", "en")
|
|
||||||
class BugHentaiJaJA : NyaHentai("BugHentai (ja)", "https://ja.bughentai.com", "ja")
|
|
||||||
class BugHentaiJaZH : NyaHentai("BugHentai (ja)", "https://ja.bughentai.com", "zh")
|
|
||||||
class BugHentaiJaALL : NyaHentai("BugHentai (ja)", "https://ja.bughentai.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.cathentai
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class CatHentaiFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
CatHentaiEN(),
|
|
||||||
CatHentaiJA(),
|
|
||||||
CatHentaiZH(),
|
|
||||||
CatHentaiALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class CatHentaiEN : NyaHentai("CatHentai", "https://cathentai.com", "en")
|
|
||||||
class CatHentaiJA : NyaHentai("CatHentai", "https://cathentai.com", "ja")
|
|
||||||
class CatHentaiZH : NyaHentai("CatHentai", "https://cathentai.com", "zh")
|
|
||||||
class CatHentaiALL : NyaHentai("CatHentai", "https://cathentai.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.ddhentai
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class DDHentaiFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
DDHentaiEN(),
|
|
||||||
DDHentaiJA(),
|
|
||||||
DDHentaiZH(),
|
|
||||||
DDHentaiALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class DDHentaiEN : NyaHentai("DDHentai", "https://zh.ddhentai.com", "en")
|
|
||||||
class DDHentaiJA : NyaHentai("DDHentai", "https://zh.ddhentai.com", "ja")
|
|
||||||
class DDHentaiZH : NyaHentai("DDHentai", "https://zh.ddhentai.com", "zh")
|
|
||||||
class DDHentaiALL : NyaHentai("DDHentai", "https://zh.ddhentai.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.ddhentaia
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class DDHentaiAFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
DDHentaiAEN(),
|
|
||||||
DDHentaiAJA(),
|
|
||||||
DDHentaiAZH(),
|
|
||||||
DDHentaiAALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class DDHentaiAEN : NyaHentai("DDHentai A", "https://zha.ddhentai.com", "en")
|
|
||||||
class DDHentaiAJA : NyaHentai("DDHentai A", "https://zha.ddhentai.com", "ja")
|
|
||||||
class DDHentaiAZH : NyaHentai("DDHentai A", "https://zha.ddhentai.com", "zh")
|
|
||||||
class DDHentaiAALL : NyaHentai("DDHentai A", "https://zha.ddhentai.com", "all")
|
|
|
@ -1,23 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
package="eu.kanade.tachiyomi.extension">
|
|
||||||
|
|
||||||
<application>
|
|
||||||
<activity
|
|
||||||
android:name="eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentaiUrlActivity"
|
|
||||||
android:excludeFromRecents="true"
|
|
||||||
android:exported="true"
|
|
||||||
android:theme="@android:style/Theme.NoDisplay">
|
|
||||||
<intent-filter>
|
|
||||||
<action android:name="android.intent.action.VIEW" />
|
|
||||||
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
|
||||||
<category android:name="android.intent.category.BROWSABLE" />
|
|
||||||
<data
|
|
||||||
android:host="*.${SOURCEHOST}"
|
|
||||||
android:pathPattern="/g/..*"
|
|
||||||
android:scheme="${SOURCESCHEME}" />
|
|
||||||
</intent-filter>
|
|
||||||
</activity>
|
|
||||||
</application>
|
|
||||||
</manifest>
|
|
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 28 KiB |
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.doghentai
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class DogHentaiFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
DogHentaiEN(),
|
|
||||||
DogHentaiJA(),
|
|
||||||
DogHentaiZH(),
|
|
||||||
DogHentaiALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class DogHentaiEN : NyaHentai("DogHentai", "https://zhb.doghentai.com", "en")
|
|
||||||
class DogHentaiJA : NyaHentai("DogHentai", "https://zhb.doghentai.com", "ja")
|
|
||||||
class DogHentaiZH : NyaHentai("DogHentai", "https://zhb.doghentai.com", "zh")
|
|
||||||
class DogHentaiALL : NyaHentai("DogHentai", "https://zhb.doghentai.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.foxhentai
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class FoxHentaiFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
FoxHentaiEN(),
|
|
||||||
FoxHentaiJA(),
|
|
||||||
FoxHentaiZH(),
|
|
||||||
FoxHentaiALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class FoxHentaiEN : NyaHentai("FoxHentai", "https://ja.foxhentai.com", "en")
|
|
||||||
class FoxHentaiJA : NyaHentai("FoxHentai", "https://ja.foxhentai.com", "ja")
|
|
||||||
class FoxHentaiZH : NyaHentai("FoxHentai", "https://ja.foxhentai.com", "zh")
|
|
||||||
class FoxHentaiALL : NyaHentai("FoxHentai", "https://ja.foxhentai.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentaiclub
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class NyaHentaiClubFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
NyaHentaiClubEN(),
|
|
||||||
NyaHentaiClubJA(),
|
|
||||||
NyaHentaiClubZH(),
|
|
||||||
NyaHentaiClubALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class NyaHentaiClubEN : NyaHentai("NyaHentai.club", "https://nyahentai.club", "en")
|
|
||||||
class NyaHentaiClubJA : NyaHentai("NyaHentai.club", "https://nyahentai.club", "ja")
|
|
||||||
class NyaHentaiClubZH : NyaHentai("NyaHentai.club", "https://nyahentai.club", "zh")
|
|
||||||
class NyaHentaiClubALL : NyaHentai("NyaHentai.club", "https://nyahentai.club", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentaico
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class NyaHentaiCoFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
NyaHentaiCoEN(),
|
|
||||||
NyaHentaiCoJA(),
|
|
||||||
NyaHentaiCoZH(),
|
|
||||||
NyaHentaiCoALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class NyaHentaiCoEN : NyaHentai("NyaHentai.co", "https://nyahentai.co", "en")
|
|
||||||
class NyaHentaiCoJA : NyaHentai("NyaHentai.co", "https://nyahentai.co", "ja")
|
|
||||||
class NyaHentaiCoZH : NyaHentai("NyaHentai.co", "https://nyahentai.co", "zh")
|
|
||||||
class NyaHentaiCoALL : NyaHentai("NyaHentai.co", "https://nyahentai.co", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentaifun
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class NyaHentaiFunFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
NyaHentaiFunEN(),
|
|
||||||
NyaHentaiFunJA(),
|
|
||||||
NyaHentaiFunZH(),
|
|
||||||
NyaHentaiFunALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class NyaHentaiFunEN : NyaHentai("NyaHentai.fun", "https://nyahentai.fun", "en")
|
|
||||||
class NyaHentaiFunJA : NyaHentai("NyaHentai.fun", "https://nyahentai.fun", "ja")
|
|
||||||
class NyaHentaiFunZH : NyaHentai("NyaHentai.fun", "https://nyahentai.fun", "zh")
|
|
||||||
class NyaHentaiFunALL : NyaHentai("NyaHentai.fun", "https://nyahentai.fun", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentaime
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class NyaHentaiMeFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
NyaHentaiMeEN(),
|
|
||||||
NyaHentaiMeJA(),
|
|
||||||
NyaHentaiMeZH(),
|
|
||||||
NyaHentaiMeALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class NyaHentaiMeEN : NyaHentai("NyaHentai.me", "https://ja.nyahentai.me", "en")
|
|
||||||
class NyaHentaiMeJA : NyaHentai("NyaHentai.me", "https://ja.nyahentai.me", "ja")
|
|
||||||
class NyaHentaiMeZH : NyaHentai("NyaHentai.me", "https://ja.nyahentai.me", "zh")
|
|
||||||
class NyaHentaiMeALL : NyaHentai("NyaHentai.me", "https://ja.nyahentai.me", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentaisite
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class NyaHentaiSiteFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
NyaHentaiSiteEN(),
|
|
||||||
NyaHentaiSiteJA(),
|
|
||||||
NyaHentaiSiteZH(),
|
|
||||||
NyaHentaiSiteALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class NyaHentaiSiteEN : NyaHentai("NyaHentai.site", "https://nyahentai.site", "en")
|
|
||||||
class NyaHentaiSiteJA : NyaHentai("NyaHentai.site", "https://nyahentai.site", "ja")
|
|
||||||
class NyaHentaiSiteZH : NyaHentai("NyaHentai.site", "https://nyahentai.site", "zh")
|
|
||||||
class NyaHentaiSiteALL : NyaHentai("NyaHentai.site", "https://nyahentai.site", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentaithreecom
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class NyaHentaiThreeComFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
NyaHentaiThreeComEN(),
|
|
||||||
NyaHentaiThreeComJA(),
|
|
||||||
NyaHentaiThreeComZH(),
|
|
||||||
NyaHentaiThreeComALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class NyaHentaiThreeComEN : NyaHentai("NyaHentai3.com", "https://nyahentai3.com", "en")
|
|
||||||
class NyaHentaiThreeComJA : NyaHentai("NyaHentai3.com", "https://nyahentai3.com", "ja")
|
|
||||||
class NyaHentaiThreeComZH : NyaHentai("NyaHentai3.com", "https://nyahentai3.com", "zh")
|
|
||||||
class NyaHentaiThreeComALL : NyaHentai("NyaHentai3.com", "https://nyahentai3.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentaitwocom
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class NyaHentaiTwoComFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
NyaHentaiTwoComEN(),
|
|
||||||
NyaHentaiTwoComJA(),
|
|
||||||
NyaHentaiTwoComZH(),
|
|
||||||
NyaHentaiTwoComALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class NyaHentaiTwoComEN : NyaHentai("NyaHentai2.com", "https://nyahentai2.com", "en")
|
|
||||||
class NyaHentaiTwoComJA : NyaHentai("NyaHentai2.com", "https://nyahentai2.com", "ja")
|
|
||||||
class NyaHentaiTwoComZH : NyaHentai("NyaHentai2.com", "https://nyahentai2.com", "zh")
|
|
||||||
class NyaHentaiTwoComALL : NyaHentai("NyaHentai2.com", "https://nyahentai2.com", "all")
|
|
|
@ -1,18 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.qqhentai
|
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
|
||||||
|
|
||||||
class QQHentaiFactory : SourceFactory {
|
|
||||||
override fun createSources(): List<Source> = listOf(
|
|
||||||
QQHentaiEN(),
|
|
||||||
QQHentaiJA(),
|
|
||||||
QQHentaiZH(),
|
|
||||||
QQHentaiALL(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
class QQHentaiEN : NyaHentai("QQHentai", "https://zhb.qqhentai.com", "en")
|
|
||||||
class QQHentaiJA : NyaHentai("QQHentai", "https://zhb.qqhentai.com", "ja")
|
|
||||||
class QQHentaiZH : NyaHentai("QQHentai", "https://zhb.qqhentai.com", "zh")
|
|
||||||
class QQHentaiALL : NyaHentai("QQHentai", "https://zhb.qqhentai.com", "all")
|
|
|
@ -1,39 +0,0 @@
|
||||||
package eu.kanade.tachiyomi.multisrc.nyahentai
|
|
||||||
|
|
||||||
import generator.ThemeSourceData.MultiLang
|
|
||||||
import generator.ThemeSourceGenerator
|
|
||||||
|
|
||||||
class NyaHentaiGenerator : ThemeSourceGenerator {
|
|
||||||
|
|
||||||
override val themePkg = "nyahentai"
|
|
||||||
|
|
||||||
override val themeClass = "NyaHentai"
|
|
||||||
|
|
||||||
override val baseVersionCode: Int = 2
|
|
||||||
|
|
||||||
override val sources = listOf(
|
|
||||||
MultiLang("NyaHentai", "https://nyahentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiFactory", overrideVersionCode = 3),
|
|
||||||
MultiLang("NyaHentai.site", "https://nyahentai.site", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiSiteFactory", pkgName = "nyahentaisite"),
|
|
||||||
MultiLang("NyaHentai.me", "https://ja.nyahentai.me", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiMeFactory", pkgName = "nyahentaime"),
|
|
||||||
MultiLang("NyaHentai.fun", "https://nyahentai.fun", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiFunFactory", pkgName = "nyahentaifun"),
|
|
||||||
MultiLang("NyaHentai.club", "https://nyahentai.club", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiClubFactory", pkgName = "nyahentaiclub"),
|
|
||||||
MultiLang("NyaHentai2.com", "https://nyahentai2.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiTwoComFactory", pkgName = "nyahentaitwocom"),
|
|
||||||
MultiLang("NyaHentai.co", "https://nyahentai.co", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiCoFactory", pkgName = "nyahentaico"),
|
|
||||||
MultiLang("NyaHentai3.com", "https://nyahentai3.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "NyaHentaiThreeComFactory", pkgName = "nyahentaithreecom"),
|
|
||||||
MultiLang("CatHentai", "https://cathentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "CatHentaiFactory"),
|
|
||||||
MultiLang("DogHentai", "https://zhb.doghentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "DogHentaiFactory"),
|
|
||||||
MultiLang("BugHentai (ja)", "https://ja.bughentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "BugHentaiJaFactory", pkgName = "bughentaija"),
|
|
||||||
MultiLang("BugHentai (en)", "https://en.bughentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "BugHentaiEnFactory", pkgName = "bughentaien"),
|
|
||||||
MultiLang("QQHentai", "https://zhb.qqhentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "QQHentaiFactory"),
|
|
||||||
MultiLang("FoxHentai", "https://ja.foxhentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "FoxHentaiFactory"),
|
|
||||||
MultiLang("DDHentai", "https://zh.ddhentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "DDHentaiFactory"),
|
|
||||||
MultiLang("DDHentai A", "https://zha.ddhentai.com", listOf("en", "ja", "zh", "all"), isNsfw = true, className = "DDHentaiAFactory"),
|
|
||||||
)
|
|
||||||
|
|
||||||
companion object {
|
|
||||||
@JvmStatic
|
|
||||||
fun main(args: Array<String>) {
|
|
||||||
NyaHentaiGenerator().createAll()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="eu.kanade.tachiyomi.extension">
|
||||||
|
|
||||||
|
<application>
|
||||||
|
<activity
|
||||||
|
android:name=".all.nyahentai.NyaHentaiUrlActivity"
|
||||||
|
android:excludeFromRecents="true"
|
||||||
|
android:exported="true"
|
||||||
|
android:theme="@android:style/Theme.NoDisplay">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
|
||||||
|
<data android:host="*.nyahentai.com" />
|
||||||
|
<data android:host="nyahentai.com" />
|
||||||
|
<data android:host="*.nyahentai.site" />
|
||||||
|
<data android:host="nyahentai.site" />
|
||||||
|
<data android:host="*.nyahentai.me" />
|
||||||
|
<data android:host="nyahentai.me" />
|
||||||
|
<data android:host="*.nyahentai.fun" />
|
||||||
|
<data android:host="nyahentai.fun" />
|
||||||
|
<data android:host="*.nyahentai.club" />
|
||||||
|
<data android:host="nyahentai.club" />
|
||||||
|
<data android:host="*.nyahentai2.com" />
|
||||||
|
<data android:host="nyahentai2.com" />
|
||||||
|
<data android:host="*.nyahentai.co" />
|
||||||
|
<data android:host="nyahentai.co" />
|
||||||
|
<data android:host="*.nyahentai3.com" />
|
||||||
|
<data android:host="nyahentai3.com" />
|
||||||
|
<data android:host="*.cathentai.com" />
|
||||||
|
<data android:host="cathentai.com" />
|
||||||
|
<data android:host="*.doghentai.com" />
|
||||||
|
<data android:host="doghentai.com" />
|
||||||
|
<data android:host="*.bughentai.com" />
|
||||||
|
<data android:host="bughentai.com" />
|
||||||
|
<data android:host="*.qqhentai.com" />
|
||||||
|
<data android:host="qqhentai.com" />
|
||||||
|
<data android:host="*.foxhentai.com" />
|
||||||
|
<data android:host="foxhentai.com" />
|
||||||
|
<data android:host="*.ddhentai.com" />
|
||||||
|
<data android:host="ddhentai.com" />
|
||||||
|
|
||||||
|
<data
|
||||||
|
android:pathPattern="/g/..*"
|
||||||
|
android:scheme="https" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
</application>
|
||||||
|
</manifest>
|
|
@ -0,0 +1,12 @@
|
||||||
|
apply plugin: 'com.android.application'
|
||||||
|
apply plugin: 'kotlin-android'
|
||||||
|
|
||||||
|
ext {
|
||||||
|
extName = 'NyaHentai'
|
||||||
|
pkgNameSuffix = 'all.nyahentai'
|
||||||
|
extClass = '.NyaHentaiFactory'
|
||||||
|
extVersionCode = 6
|
||||||
|
isNsfw = true
|
||||||
|
}
|
||||||
|
|
||||||
|
apply from: "$rootDir/common.gradle"
|
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 8.1 KiB |
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 42 KiB |
|
@ -1,7 +1,12 @@
|
||||||
package eu.kanade.tachiyomi.multisrc.nyahentai
|
package eu.kanade.tachiyomi.extension.all.nyahentai
|
||||||
|
|
||||||
|
import android.app.Application
|
||||||
|
import android.content.SharedPreferences
|
||||||
|
import androidx.preference.ListPreference
|
||||||
|
import androidx.preference.PreferenceScreen
|
||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.network.asObservableSuccess
|
import eu.kanade.tachiyomi.network.asObservableSuccess
|
||||||
|
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
import eu.kanade.tachiyomi.source.model.Filter
|
||||||
import eu.kanade.tachiyomi.source.model.FilterList
|
import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
|
@ -16,13 +21,48 @@ import okhttp3.Response
|
||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
import org.jsoup.nodes.Element
|
import org.jsoup.nodes.Element
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
|
import uy.kohesive.injekt.Injekt
|
||||||
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
abstract class NyaHentai(
|
abstract class NyaHentai(
|
||||||
override val name: String,
|
|
||||||
override val baseUrl: String,
|
|
||||||
override val lang: String
|
override val lang: String
|
||||||
) : ParsedHttpSource() {
|
) : ConfigurableSource, ParsedHttpSource() {
|
||||||
|
|
||||||
|
private val preferences: SharedPreferences by lazy {
|
||||||
|
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
||||||
|
}
|
||||||
|
|
||||||
|
override val name = "NyaHentai"
|
||||||
|
override val baseUrl: String = getMirrorPref()!!
|
||||||
|
|
||||||
|
override fun setupPreferenceScreen(screen: PreferenceScreen) {
|
||||||
|
val mirrorPref = ListPreference(screen.context).apply {
|
||||||
|
key = "${MIRROR_PREF_KEY}_$lang"
|
||||||
|
title = MIRROR_PREF_TITLE
|
||||||
|
entries = MIRROR_PREF_ENTRIES
|
||||||
|
entryValues = MIRROR_PREF_ENTRY_VALUES
|
||||||
|
setDefaultValue(MIRROR_PREF_DEFAULT_VALUE)
|
||||||
|
summary = "%s"
|
||||||
|
|
||||||
|
setOnPreferenceChangeListener { _, newValue ->
|
||||||
|
val selected = newValue as String
|
||||||
|
val index = findIndexOfValue(selected)
|
||||||
|
val entry = entryValues[index] as String
|
||||||
|
preferences.edit().putString("${MIRROR_PREF_KEY}_$lang", entry).commit()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
screen.addPreference(mirrorPref)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getMirrorPref(): String? = preferences.getString("${MIRROR_PREF_KEY}_$lang", MIRROR_PREF_DEFAULT_VALUE)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
private const val MIRROR_PREF_KEY = "MIRROR"
|
||||||
|
private const val MIRROR_PREF_TITLE = "Mirror"
|
||||||
|
private val MIRROR_PREF_ENTRIES = arrayOf("nyahentai.com", "nyahentai.site", "ja.nyahentai.me", "nyahentai.fun", "nyahentai.club", "nyahentai2.com", "nyahentai.co", "nyahentai3.com", "cathentai.com", "zhb.doghentai.com", "ja.bughentai.com", "en.bughentai.com", "zhb.qqhentai.com", "ja.foxhentai.com", "zh.ddhentai.com", "zha.ddhentai.com")
|
||||||
|
private val MIRROR_PREF_ENTRY_VALUES = arrayOf("https://nyahentai.com", "https://nyahentai.site", "https://ja.nyahentai.me", "https://nyahentai.fun", "https://nyahentai.club", "https://nyahentai2.com", "https://nyahentai.co", "https://nyahentai3.com", "https://cathentai.com", "https://zhb.doghentai.com", "https://ja.bughentai.com", "https://en.bughentai.com", "https://zhb.qqhentai.com", "https://ja.foxhentai.com", "https://zh.ddhentai.com", "https://zha.ddhentai.com")
|
||||||
|
private val MIRROR_PREF_DEFAULT_VALUE = MIRROR_PREF_ENTRY_VALUES[0]
|
||||||
|
|
||||||
private const val NOT_FOUND_MESSAGE = "If you used a filter, check if the keyword actually exists."
|
private const val NOT_FOUND_MESSAGE = "If you used a filter, check if the keyword actually exists."
|
||||||
private const val Filter_SEARCH_MESSAGE = "NOTE: Ignored if using text search!"
|
private const val Filter_SEARCH_MESSAGE = "NOTE: Ignored if using text search!"
|
||||||
const val PREFIX_ID_SEARCH = "id:"
|
const val PREFIX_ID_SEARCH = "id:"
|
|
@ -1,6 +1,5 @@
|
||||||
package eu.kanade.tachiyomi.extension.all.nyahentai
|
package eu.kanade.tachiyomi.extension.all.nyahentai
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.multisrc.nyahentai.NyaHentai
|
|
||||||
import eu.kanade.tachiyomi.source.Source
|
import eu.kanade.tachiyomi.source.Source
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
import eu.kanade.tachiyomi.source.SourceFactory
|
||||||
|
|
||||||
|
@ -12,9 +11,16 @@ class NyaHentaiFactory : SourceFactory {
|
||||||
NyaHentaiALL(),
|
NyaHentaiALL(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
class NyaHentaiEN : NyaHentai("NyaHentai", "https://nyahentai.com", "en") {
|
|
||||||
|
class NyaHentaiEN : NyaHentai("en") {
|
||||||
override val id = 9170089554867447899
|
override val id = 9170089554867447899
|
||||||
}
|
}
|
||||||
class NyaHentaiJA : NyaHentai("NyaHentai", "https://nyahentai.com", "ja")
|
class NyaHentaiJA : NyaHentai("ja") {
|
||||||
class NyaHentaiZH : NyaHentai("NyaHentai", "https://nyahentai.com", "zh")
|
override val id = 770924441007081408
|
||||||
class NyaHentaiALL : NyaHentai("NyaHentai", "https://nyahentai.com", "all")
|
}
|
||||||
|
class NyaHentaiZH : NyaHentai("zh") {
|
||||||
|
override val id = 6864783742637475493
|
||||||
|
}
|
||||||
|
class NyaHentaiALL : NyaHentai("all") {
|
||||||
|
override val id = 7651943104270359588
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package eu.kanade.tachiyomi.multisrc.nyahentai
|
package eu.kanade.tachiyomi.extension.all.nyahentai
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.ActivityNotFoundException
|
import android.content.ActivityNotFoundException
|