From 044762ceb0a17250d60aa67cb82bb11e3b86a561 Mon Sep 17 00:00:00 2001 From: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> Date: Fri, 3 Feb 2023 15:05:30 -0300 Subject: [PATCH] Add a new source. (#15219) --- src/pt/nixmangas/AndroidManifest.xml | 3 + src/pt/nixmangas/build.gradle | 13 ++ .../nixmangas/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3813 bytes .../nixmangas/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2142 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5053 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 9268 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 12720 bytes src/pt/nixmangas/res/web_hi_res_512.png | Bin 0 -> 56706 bytes .../extension/pt/nixmangas/NixMangas.kt | 166 ++++++++++++++++++ .../extension/pt/nixmangas/NixMangasDto.kt | 87 +++++++++ 10 files changed, 269 insertions(+) create mode 100644 src/pt/nixmangas/AndroidManifest.xml create mode 100644 src/pt/nixmangas/build.gradle create mode 100644 src/pt/nixmangas/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/pt/nixmangas/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/pt/nixmangas/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/pt/nixmangas/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/pt/nixmangas/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/pt/nixmangas/res/web_hi_res_512.png create mode 100644 src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangas.kt create mode 100644 src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangasDto.kt diff --git a/src/pt/nixmangas/AndroidManifest.xml b/src/pt/nixmangas/AndroidManifest.xml new file mode 100644 index 000000000..389c51256 --- /dev/null +++ b/src/pt/nixmangas/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + diff --git a/src/pt/nixmangas/build.gradle b/src/pt/nixmangas/build.gradle new file mode 100644 index 000000000..6b0324e54 --- /dev/null +++ b/src/pt/nixmangas/build.gradle @@ -0,0 +1,13 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply plugin: 'kotlinx-serialization' + +ext { + extName = 'Nix Mangás' + pkgNameSuffix = 'pt.nixmangas' + extClass = '.NixMangas' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/pt/nixmangas/res/mipmap-hdpi/ic_launcher.png b/src/pt/nixmangas/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..84ed291912400569361319002e24761e9521470f GIT binary patch literal 3813 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 b&T0P!#uan!!!|<000000NkvXXu0mjfzi%s7 literal 0 HcmV?d00001 diff --git a/src/pt/nixmangas/res/mipmap-mdpi/ic_launcher.png b/src/pt/nixmangas/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..008d349da35424a5c1610be838847ceed1939689 GIT binary patch literal 2142 zcmV-k2%-0hP)Px-7)eAyRA@u(T5D_+*A@Qm%zD@RGT5+d<2QsnaH&I30|pwD5Vc8Z!A@H!soGEx zq%^8RjgweO`O&me6jhB#D*>^hq(9mcd)G*nobXV7I7w4ECA1YdVAM3Wc`Pk2uVb&* zW_M@iMt8u=1xic(d(-L6HcDxbeMPDIJq0^euZ!I`zo&oS*sjv1+Ku`iAtX^! z;_C5uTpdG0LsMo1RsdYfm*3r$Oin*;HcsDRKEtf;TY=4Oi{v;(0i-xC5b(bdi=F=| z06`DJ41itxmoB~Qe}W(c)EA2zE1P3!Kt9lf=vh>H()VNTljpgqv9YU*03`KtvI0=v z*tm2opYdOm1+xr|?c_?*%4ri5V+#O`7Xwhy*tqn%l|HSFH+o-v$FBCxnlHrm#KhP_ z0P&X9hs0TcsKm<^zeRKg7}u1O;Xc^KuxG;XbbbNh|~WP@0rh4RzQIt-!`tK2_C zv+LW43!^wVvkNIq8M2sJK6Y4ROxXrdU%y0SAU_L=bkyf1@M68^XINXZ11|6wP7k2x z#xBgz&ukfQC$<~|&@)g-P8Hl@Z1wI(C3go1rHG|Z;&AE(#H2x!46}fh_HwgNAt1H^ z)YUC6z<|;7A?|kk$afF{QXvo9*E7R7mHrFf&+MNQ(W#c(YaVb5BnD{Ro zP5;_pJTs!$z-1*Jz4zJkF9aYT3(H)au*v%hc$NeyAkh>ucb!B$cp9IIA7E(cEUsL+ zf*S4)@NnURbVdv2ii!#}H#f`I$z&48kAIW{cs4o=b(d`bH8qR@WASHBsXGG4!1T{N z&w*f4jN$tS187`1U+(+0XAi;E_Z8G~%Wz8Q$M2?pq8ZuN)`|lM_Q}^HBO_S5cD*iB zkG!f{hsG>uY0FvJOgqeeH=R@cWMASc0Y@Ik8~nHLNbWx zjbEWZ{f6xI*4E8<_0=o`Yu4PSD8^LKnXerKFza7!aGS3i^{&+h21ZkV!xPcvG642n zN5?ZDea%>3vRwvnP8h^*r@tdVV-m6gP^{{;4Peotx`GVs3J#(aeh`q^Af`B%{t!<@ zn=}S??|vEsht8tYe*_Y%>p}2Rasw`l|1kg<9%eCcU(STdiVepAtQa7aLwj%tF5;d| zpGpi|OrOBc=(q- z24KYi6ZBKTlkk#x+5pCYOo^BAy`EAHKzn-!qR~T`PioNVACM))Sa?0T1uHg(Edk`8 zLn!!c1E{R5DHsDk@V$vfbp%$IEhGUOyJt|pGAQer#Q+1q&UgBH(ZILJEc`PQ0eSd+ zbafptFi^~R#{ew7uOvFG_dJId_meUMJXO|R*m-L=P0UV- z%}A3N`Nj*_*R@vzuzK}6LkcxZM@_M|83>1~Eg4|-3_Gg0yYZN>PXVAV9#M+c9-;yG zW&6u`E%JMr0S^h{nZU;YNKeIR^4go>b!nzrp%so4Z zfpB}~vm*y{a*ArsZD0|HgR4QU)7{q+>$u}Qp}*^f)oX@t0CC?)f7QTRK; zm0@hy@POP@JRZlYZl#{w_aW@;-3>1|z7!yYk z7cW4V1@fu%A!6bX5>VF9@@G6FAGWiQ0w8p;EFD$cFmE-dC&fg{<`nN_LU5;v7F zBaLHP979T)f`}ASGy#F8;U;c;AVhFNc)O5->E=m8X>*J`@yApxu`*@6|WO<2OO0uL?+ zNJ^T(8KEBonJ7LM`it4EJ-02Pii)sf2CO9KCSFvLJ5ff$aKViD8jIQHp6w#Us*WdHyG07*qoM6N<$f*WY%{r~^~ literal 0 HcmV?d00001 diff --git a/src/pt/nixmangas/res/mipmap-xhdpi/ic_launcher.png b/src/pt/nixmangas/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d413ee65be9d01a4247d23fa3f1924448265a7 GIT binary patch literal 5053 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 TZdAO-00000NkvXXu0mjftrDMc literal 0 HcmV?d00001 diff --git a/src/pt/nixmangas/res/mipmap-xxhdpi/ic_launcher.png b/src/pt/nixmangas/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cc0a1bd6ff7728bf898df1266f52646c7d3fabfe GIT binary patch literal 9268 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 literal 0 HcmV?d00001 diff --git a/src/pt/nixmangas/res/web_hi_res_512.png b/src/pt/nixmangas/res/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..3f20f665a290e6b12901e58dcd9766e758ec92b7 GIT binary patch literal 56706 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 literal 0 HcmV?d00001 diff --git a/src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangas.kt b/src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangas.kt new file mode 100644 index 000000000..7c8b4ac01 --- /dev/null +++ b/src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangas.kt @@ -0,0 +1,166 @@ +package eu.kanade.tachiyomi.extension.pt.nixmangas + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.asObservableSuccess +import eu.kanade.tachiyomi.network.interceptor.rateLimitHost +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.source.online.HttpSource +import kotlinx.serialization.decodeFromString +import kotlinx.serialization.json.Json +import okhttp3.Headers +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import rx.Observable +import uy.kohesive.injekt.injectLazy +import java.util.concurrent.TimeUnit + +class NixMangas : HttpSource() { + + override val name = "Nix Mangás" + + override val baseUrl = "https://nixmangas.com" + + override val lang = "pt-BR" + + override val supportsLatest = true + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .rateLimitHost(baseUrl.toHttpUrl(), 1, 1, TimeUnit.SECONDS) + .rateLimitHost(API_URL.toHttpUrl(), 1, 1, TimeUnit.SECONDS) + .rateLimitHost(CDN_URL.toHttpUrl(), 1, 2, TimeUnit.SECONDS) + .build() + + private val json: Json by injectLazy() + + private val apiHeaders: Headers by lazy { apiHeadersBuilder().build() } + + override fun headersBuilder(): Headers.Builder = Headers.Builder() + .add("Origin", baseUrl) + .add("Referer", baseUrl) + + private fun apiHeadersBuilder(): Headers.Builder = headersBuilder() + .add("Accept", ACCEPT_JSON) + + /** + * The site doesn't have a popular section, so we use latest instead. + */ + override fun popularMangaRequest(page: Int) = latestUpdatesRequest(page) + + override fun popularMangaParse(response: Response) = latestUpdatesParse(response) + + override fun latestUpdatesRequest(page: Int): Request { + return GET("$API_URL/mangas?page=$page", apiHeaders) + } + + override fun latestUpdatesParse(response: Response): MangasPage { + val result = response.parseAs>() + val workList = result.data.map(NixMangasWorkDto::toSManga) + + return MangasPage(workList, result.hasNextPage) + } + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + // The search with query isn't working in their direct API for some reason, + // so we use their site wrapped API instead for now. + val apiUrl = "$baseUrl/obras".toHttpUrl().newBuilder() + .addQueryParameter("page", page.toString()) + .addQueryParameter("q", query) + .addQueryParameter("_data", "routes/__app/obras/index") + .toString() + + return GET(apiUrl, apiHeaders) + } + + override fun searchMangaParse(response: Response): MangasPage { + val result = response.parseAs() + val workList = result.mangas.data.map(NixMangasWorkDto::toSManga) + + return MangasPage(workList, result.mangas.hasNextPage) + } + + // Workaround to allow "Open in browser" use the real URL. + override fun fetchMangaDetails(manga: SManga): Observable { + return client.newCall(mangaDetailsApiRequest(manga.url)) + .asObservableSuccess() + .map { response -> + mangaDetailsParse(response).apply { initialized = true } + } + } + + private fun mangaDetailsApiRequest(mangaUrl: String): Request { + // Their API doesn't have an endpoint for the manga details, so we + // use their site wrapped API instead for now. + val apiUrl = (baseUrl + mangaUrl).toHttpUrl().newBuilder() + .addQueryParameter("_data", "routes/__app/obras/\$slug") + .toString() + + return GET(apiUrl, apiHeaders) + } + + override fun mangaDetailsParse(response: Response): SManga { + val result = response.parseAs() + + return result.manga.toSManga() + } + + override fun chapterListRequest(manga: SManga): Request = mangaDetailsApiRequest(manga.url) + + override fun chapterListParse(response: Response): List { + val result = response.parseAs() + val currentTimeStamp = System.currentTimeMillis() + + return result.manga.chapters + .filter { it.isPublished } + .map(NixMangasChapterDto::toSChapter) + .filter { it.date_upload <= currentTimeStamp } + .sortedByDescending(SChapter::chapter_number) + } + + override fun pageListRequest(chapter: SChapter): Request { + val apiUrl = (baseUrl + chapter.url).toHttpUrl().newBuilder() + .addQueryParameter("_data", "routes/__leitor/ler.\$manga.\$chapter") + .toString() + + return GET(apiUrl, apiHeaders) + } + + override fun pageListParse(response: Response): List { + val result = response.parseAs() + val chapterUrl = "$baseUrl/ler/${result.chapter.slug}" + + return result.chapter.pages.mapIndexed { i, pageDto -> + Page(i, chapterUrl, pageDto.pageUrl) + } + } + + override fun fetchImageUrl(page: Page): Observable = Observable.just(page.imageUrl!!) + + override fun imageUrlParse(response: Response): String = "" + + override fun imageRequest(page: Page): Request { + val newHeaders = headersBuilder() + .add("Accept", ACCEPT_IMAGE) + .set("Referer", page.url) + .build() + + return GET(page.imageUrl!!, newHeaders) + } + + private inline fun Response.parseAs(): T = use { + json.decodeFromString(it.body?.string().orEmpty()) + } + + companion object { + private const val ACCEPT_IMAGE = "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8" + private const val ACCEPT_JSON = "application/json" + + private const val API_URL = "https://api.nixmangas.com/v1" + private const val CDN_URL = "https://cdn.nixmangas.com" + } +} diff --git a/src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangasDto.kt b/src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangasDto.kt new file mode 100644 index 000000000..38a54fb82 --- /dev/null +++ b/src/pt/nixmangas/src/eu/kanade/tachiyomi/extension/pt/nixmangas/NixMangasDto.kt @@ -0,0 +1,87 @@ +package eu.kanade.tachiyomi.extension.pt.nixmangas + +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.TimeZone + +@Serializable +data class NixMangasPaginatedContent( + @SerialName("current_page") val currentPage: Int, + val data: List = emptyList(), + @SerialName("last_page") val lastPage: Int, +) { + + val hasNextPage: Boolean + get() = currentPage < lastPage +} + +@Serializable +data class NixMangasSearchDto(val mangas: NixMangasPaginatedContent) + +@Serializable +data class NixMangasDetailsDto(val manga: NixMangasWorkDto) + +@Serializable +data class NixMangasReaderDto(val chapter: NixMangasChapterDto) + +@Serializable +data class NixMangasWorkDto( + val id: String, + val chapters: List = emptyList(), + val cover: String? = null, + val genres: List = emptyList(), + @SerialName("is_adult") val isAdult: Boolean = false, + val slug: String, + val status: String? = null, + @SerialName("synopses") val synopsis: String? = null, + val thumbnail: String, + val title: String, +) { + + fun toSManga(): SManga = SManga.create().apply { + title = this@NixMangasWorkDto.title + description = synopsis + genre = genres.joinToString { it.name } + status = when (this@NixMangasWorkDto.status) { + "ACTIVE" -> SManga.ONGOING + else -> SManga.UNKNOWN + } + thumbnail_url = cover + url = "/obras/$slug" + } +} + +@Serializable +data class NixMangasGenreDto(val name: String) + +@Serializable +data class NixMangasChapterDto( + @SerialName("is_published") val isPublished: Boolean, + val number: Float, + val pages: List = emptyList(), + val slug: String, + @SerialName("published_at") val publishedAt: String? = null, +) { + + fun toSChapter(): SChapter = SChapter.create().apply { + name = "Capítulo ${number.toString().replace(".0", "")}" + chapter_number = number + date_upload = runCatching { DATE_FORMATTER.parse(publishedAt!!)?.time } + .getOrNull() ?: 0L + url = "/ler/$slug" + } + + companion object { + private val DATE_FORMATTER by lazy { + SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S", Locale.US) + .apply { timeZone = TimeZone.getTimeZone("UTC") } + } + } +} + +@Serializable +data class NixMangasPageDto(@SerialName("page_url") val pageUrl: String)