From 16d7356481bd669f7a0f86cd8f04a4ea6060cc13 Mon Sep 17 00:00:00 2001 From: ziro Date: Wed, 24 Jan 2024 14:00:54 +0700 Subject: [PATCH] refactor: Replace tracker client id+secret and user-agent REF: https://docs.modrinth.com/#section/User-Agents --- app/src/main/AndroidManifest.xml | 6 +++--- .../tachiyomi/data/track/anilist/AnilistInterceptor.kt | 2 ++ .../eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt | 6 +++--- .../tachiyomi/data/track/bangumi/BangumiInterceptor.kt | 5 +++-- .../kanade/tachiyomi/data/track/kavita/KavitaInterceptor.kt | 2 +- .../kanade/tachiyomi/data/track/kitsu/KitsuInterceptor.kt | 2 ++ .../data/track/mangaupdates/MangaUpdatesInterceptor.kt | 2 ++ .../kanade/tachiyomi/data/track/shikimori/ShikimoriApi.kt | 3 ++- .../tachiyomi/data/track/shikimori/ShikimoriInterceptor.kt | 3 ++- 9 files changed, 20 insertions(+), 11 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index af6166b80d..bf8a00ba63 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -180,7 +180,7 @@ + android:scheme="yokai" /> + android:scheme="yokai" /> @@ -280,4 +280,4 @@ - + \ No newline at end of file diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt index c9f80a15f9..d77727625b 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/anilist/AnilistInterceptor.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.data.track.anilist +import eu.kanade.tachiyomi.BuildConfig import okhttp3.Interceptor import okhttp3.Response @@ -39,6 +40,7 @@ class AnilistInterceptor(private val anilist: Anilist, private var token: String // Add the authorization header to the original request. val authRequest = originalRequest.newBuilder() .addHeader("Authorization", "Bearer ${oauth!!.access_token}") + .header("User-Agent", "null2264/yokai/${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .build() return chain.proceed(authRequest) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt index 8462e86682..198a50ed17 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiApi.kt @@ -177,14 +177,14 @@ class BangumiApi(private val client: OkHttpClient, interceptor: BangumiIntercept ) companion object { - private const val clientId = "bgm10555cda0762e80ca" - private const val clientSecret = "8fff394a8627b4c388cbf349ec865775" + private const val clientId = "bgm291865b0b16054d89" + private const val clientSecret = "4edfce12a760731c3d497603c2480c21" private const val apiUrl = "https://api.bgm.tv" private const val oauthUrl = "https://bgm.tv/oauth/access_token" private const val loginUrl = "https://bgm.tv/oauth/authorize" - private const val redirectUrl = "tachiyomi://bangumi-auth" + private const val redirectUrl = "yokai://bangumi-auth" private const val baseMangaUrl = "$apiUrl/mangas" fun mangaUrl(remoteId: Int): String { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiInterceptor.kt index 8458a801ae..275e7b341a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/bangumi/BangumiInterceptor.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.data.track.bangumi +import eu.kanade.tachiyomi.BuildConfig import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.FormBody @@ -32,7 +33,7 @@ class BangumiInterceptor(val bangumi: Bangumi) : Interceptor { val authRequest = if (originalRequest.method == "GET") { originalRequest.newBuilder() - .header("User-Agent", "Tachiyomi") + .header("User-Agent", "null2264/yokai/${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .url( originalRequest.url.newBuilder() .addQueryParameter("access_token", currAuth.access_token).build(), @@ -41,7 +42,7 @@ class BangumiInterceptor(val bangumi: Bangumi) : Interceptor { } else { originalRequest.newBuilder() .post(addToken(currAuth.access_token, originalRequest.body as FormBody)) - .header("User-Agent", "Tachiyomi") + .header("User-Agent", "null2264/yokai/${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .build() } diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaInterceptor.kt index 8b26c3e028..10532d27c0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/kavita/KavitaInterceptor.kt @@ -18,7 +18,7 @@ class KavitaInterceptor(private val kavita: Kavita) : Interceptor { // Add the authorization header to the original request. val authRequest = originalRequest.newBuilder() .addHeader("Authorization", "Bearer $jwtToken") - .header("User-Agent", "Tachiyomi Kavita v${BuildConfig.VERSION_NAME}") + .header("User-Agent", "null2264/yokai/${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .build() return chain.proceed(authRequest) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuInterceptor.kt index 395d5daa9a..bc3f5f6d8d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/kitsu/KitsuInterceptor.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.data.track.kitsu +import eu.kanade.tachiyomi.BuildConfig import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Interceptor @@ -35,6 +36,7 @@ class KitsuInterceptor(val kitsu: Kitsu) : Interceptor { // Add the authorization header to the original request. val authRequest = originalRequest.newBuilder() .addHeader("Authorization", "Bearer ${oauth!!.access_token}") + .header("User-Agent", "null2264/yokai/${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .header("Accept", "application/vnd.api+json") .header("Content-Type", "application/vnd.api+json") .build() diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt index 2b283c3b83..840e7c57dd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/mangaupdates/MangaUpdatesInterceptor.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.data.track.mangaupdates +import eu.kanade.tachiyomi.BuildConfig import okhttp3.Interceptor import okhttp3.Response import java.io.IOException @@ -18,6 +19,7 @@ class MangaUpdatesInterceptor( // Add the authorization header to the original request. val authRequest = originalRequest.newBuilder() .addHeader("Authorization", "Bearer $token") + .header("User-Agent", "null2264/yokai/${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .build() return chain.proceed(authRequest) diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriApi.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriApi.kt index 0e8d74aa26..fdf9db1121 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriApi.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriApi.kt @@ -189,6 +189,7 @@ class ShikimoriApi(private val client: OkHttpClient, interceptor: ShikimoriInter ) companion object { + // TODO: Need to wait 24 hour to register new app private const val clientId = "1aaf4cf232372708e98b5abc813d795b539c5a916dbbfe9ac61bf02a360832cc" private const val clientSecret = "229942c742dd4cde803125d17d64501d91c0b12e14cb1e5120184d77d67024c0" @@ -197,7 +198,7 @@ class ShikimoriApi(private val client: OkHttpClient, interceptor: ShikimoriInter private const val oauthUrl = "$baseUrl/oauth/token" private const val loginUrl = "$baseUrl/oauth/authorize" - private const val redirectUrl = "tachiyomi://shikimori-auth" + private const val redirectUrl = "yokai://shikimori-auth" private const val baseMangaUrl = "$apiUrl/mangas" fun mangaUrl(remoteId: Int): String { diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriInterceptor.kt b/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriInterceptor.kt index 51934d0495..4d37fd6851 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriInterceptor.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/track/shikimori/ShikimoriInterceptor.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.data.track.shikimori +import eu.kanade.tachiyomi.BuildConfig import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json import okhttp3.Interceptor @@ -34,7 +35,7 @@ class ShikimoriInterceptor(val shikimori: Shikimori) : Interceptor { // Add the authorization header to the original request. val authRequest = originalRequest.newBuilder() .addHeader("Authorization", "Bearer ${oauth!!.access_token}") - .header("User-Agent", "Tachiyomi") + .header("User-Agent", "null2264/yokai/${BuildConfig.VERSION_NAME} (${BuildConfig.APPLICATION_ID})") .build() return chain.proceed(authRequest)