Merge pull request #912 from Arkai1/Hianime-fix

(en/zoro) Hianime again changed its domain added proxies for Hianime
This commit is contained in:
GregiPlays 2025-04-16 19:28:23 +02:00 committed by GitHub
commit f21489af9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 54 additions and 8 deletions

View file

@ -2,8 +2,8 @@ ext {
extName = 'HiAnime' extName = 'HiAnime'
extClass = '.HiAnime' extClass = '.HiAnime'
themePkg = 'zorotheme' themePkg = 'zorotheme'
baseUrl = 'https://hianime.to' baseUrl = 'https://hianimez.to'
overrideVersionCode = 48 overrideVersionCode = 49
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View file

@ -1,5 +1,8 @@
package eu.kanade.tachiyomi.animeextension.en.zoro package eu.kanade.tachiyomi.animeextension.en.zoro
import android.widget.Toast
import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.model.SAnime import eu.kanade.tachiyomi.animesource.model.SAnime
import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.lib.megacloudextractor.MegaCloudExtractor import eu.kanade.tachiyomi.lib.megacloudextractor.MegaCloudExtractor
@ -12,7 +15,7 @@ import org.jsoup.nodes.Element
class HiAnime : ZoroTheme( class HiAnime : ZoroTheme(
"en", "en",
"HiAnime", "HiAnime",
"https://hianime.to", "https://hianimez.to",
hosterNames = listOf( hosterNames = listOf(
"HD-1", "HD-1",
"HD-2", "HD-2",
@ -24,9 +27,13 @@ class HiAnime : ZoroTheme(
override val ajaxRoute = "/v2" override val ajaxRoute = "/v2"
private val streamtapeExtractor by lazy { StreamTapeExtractor(client) } private val streamtapeExtractor by lazy { StreamTapeExtractor(client) }
private val megaCloudExtractor by lazy { MegaCloudExtractor(client, headers, preferences) } private val megaCloudExtractor by lazy { MegaCloudExtractor(client, headers, preferences) }
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/recently-updated?page=$page", docHeaders) override fun latestUpdatesRequest(page: Int): Request = GET(
"$baseUrl/recently-updated?page=$page",
docHeaders,
)
override fun popularAnimeFromElement(element: Element): SAnime { override fun popularAnimeFromElement(element: Element): SAnime {
return super.popularAnimeFromElement(element).apply { return super.popularAnimeFromElement(element).apply {
@ -37,12 +44,51 @@ class HiAnime : ZoroTheme(
override fun extractVideo(server: VideoData): List<Video> { override fun extractVideo(server: VideoData): List<Video> {
return when (server.name) { return when (server.name) {
"StreamTape" -> { "StreamTape" -> {
streamtapeExtractor.videoFromUrl(server.link, "Streamtape - ${server.type}") streamtapeExtractor.videoFromUrl(
?.let(::listOf) server.link,
?: emptyList() "Streamtape - ${server.type}",
)?.let(::listOf) ?: emptyList()
} }
"HD-1", "HD-2" -> megaCloudExtractor.getVideosFromUrl(server.link, server.type, server.name)
"HD-1", "HD-2" -> megaCloudExtractor.getVideosFromUrl(
server.link,
server.type,
server.name,
)
else -> emptyList() else -> emptyList()
} }
} }
// Added the setupPreferenceScreen method here
override fun setupPreferenceScreen(screen: PreferenceScreen) {
super.setupPreferenceScreen(screen)
screen.addPreference(
ListPreference(screen.context).apply {
key = PREF_DOMAIN_KEY
title = "Preferred domain"
entries = arrayOf("hianimez.to", "hianime.to", "hianime.bz", "hianime.pe")
entryValues = arrayOf("https://hianimez.to", "https://hianime.to", "https://hianime.bz", "https://hianime.pe")
setDefaultValue(PREF_DOMAIN_DEFAULT)
summary = "%s"
setOnPreferenceChangeListener { _, newValue ->
val selected = newValue as String
val index = findIndexOfValue(selected)
val entry = entryValues[index] as String
Toast.makeText(
screen.context,
"Restart Aniyomi to apply changes",
Toast.LENGTH_LONG,
).show()
preferences.edit().putString(key, entry).commit()
}
},
)
}
companion object {
private const val PREF_DOMAIN_KEY = "preferred_domain"
private const val PREF_DOMAIN_DEFAULT = "https://hianimez.to"
}
} }