diff --git a/lib-multisrc/madara/build.gradle.kts b/lib-multisrc/madara/build.gradle.kts index 390c70506..49385183a 100644 --- a/lib-multisrc/madara/build.gradle.kts +++ b/lib-multisrc/madara/build.gradle.kts @@ -2,7 +2,7 @@ plugins { id("lib-multisrc") } -baseVersionCode = 35 +baseVersionCode = 36 dependencies { api(project(":lib:cryptoaes")) diff --git a/lib-multisrc/madara/src/eu/kanade/tachiyomi/multisrc/madara/Madara.kt b/lib-multisrc/madara/src/eu/kanade/tachiyomi/multisrc/madara/Madara.kt index 7d6c61ee6..7af1dbf72 100644 --- a/lib-multisrc/madara/src/eu/kanade/tachiyomi/multisrc/madara/Madara.kt +++ b/lib-multisrc/madara/src/eu/kanade/tachiyomi/multisrc/madara/Madara.kt @@ -946,7 +946,11 @@ abstract class Madara( val imageUrl = element.selectFirst("img")?.let { imageFromElement(it) } Page(index, document.location(), imageUrl) } - val chapterProtectorHtml = chapterProtector.html() + val chapterProtectorHtml = chapterProtector.attr("src") + .takeIf { it.startsWith("data:text/javascript;base64,") } + ?.substringAfter("data:text/javascript;base64,") + ?.let { Base64.decode(it, Base64.DEFAULT).toString(Charsets.UTF_8) } + ?: chapterProtector.html() val password = chapterProtectorHtml .substringAfter("wpmangaprotectornonce='") .substringBefore("';") diff --git a/src/id/yubikiri/build.gradle b/src/id/yubikiri/build.gradle new file mode 100644 index 000000000..563b844af --- /dev/null +++ b/src/id/yubikiri/build.gradle @@ -0,0 +1,10 @@ +ext { + extName = 'Yubikiri' + extClass = '.Yubikiri' + themePkg = 'madara' + baseUrl = 'https://yubikiri.my.id' + overrideVersionCode = 0 + isNsfw = false +} + +apply from: "$rootDir/common.gradle" diff --git a/src/id/yubikiri/res/mipmap-hdpi/ic_launcher.png b/src/id/yubikiri/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..b5d7285c9 Binary files /dev/null and b/src/id/yubikiri/res/mipmap-hdpi/ic_launcher.png differ diff --git a/src/id/yubikiri/res/mipmap-mdpi/ic_launcher.png b/src/id/yubikiri/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..ac999aba9 Binary files /dev/null and b/src/id/yubikiri/res/mipmap-mdpi/ic_launcher.png differ diff --git a/src/id/yubikiri/res/mipmap-xhdpi/ic_launcher.png b/src/id/yubikiri/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..f3c0495f8 Binary files /dev/null and b/src/id/yubikiri/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/src/id/yubikiri/res/mipmap-xxhdpi/ic_launcher.png b/src/id/yubikiri/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..64e6abea0 Binary files /dev/null and b/src/id/yubikiri/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/src/id/yubikiri/res/mipmap-xxxhdpi/ic_launcher.png b/src/id/yubikiri/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..6f5a8afc5 Binary files /dev/null and b/src/id/yubikiri/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/src/id/yubikiri/src/eu/kanade/tachiyomi/extension/id/yubikiri/Yubikiri.kt b/src/id/yubikiri/src/eu/kanade/tachiyomi/extension/id/yubikiri/Yubikiri.kt new file mode 100644 index 000000000..41ef45ecd --- /dev/null +++ b/src/id/yubikiri/src/eu/kanade/tachiyomi/extension/id/yubikiri/Yubikiri.kt @@ -0,0 +1,25 @@ +package eu.kanade.tachiyomi.extension.id.yubikiri + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import org.jsoup.nodes.Element +import java.text.SimpleDateFormat +import java.util.Locale + +class Yubikiri : Madara( + "Yubikiri", + "https://yubikiri.my.id", + "id", + dateFormat = SimpleDateFormat("d MMMM", Locale("en")), +) { + override val mangaDetailsSelectorAuthor = ".manga-authors > a" + override val mangaDetailsSelectorDescription = ".manga-summary p" + override val mangaDetailsSelectorThumbnail = "head meta[property='og:image']" // Same as browse + + override val useNewChapterEndpoint = true + + override fun imageFromElement(element: Element): String? { + return super.imageFromElement(element) + ?.takeIf { it.isNotEmpty() } + ?: element.attr("content") // Thumbnail from + } +}