From 93c1b19a89654da246848e16a87b7b2443daa386 Mon Sep 17 00:00:00 2001
From: Rolando Lecca <90949336+bapeey@users.noreply.github.com>
Date: Wed, 17 May 2023 21:50:32 -0500
Subject: [PATCH] TMO: Use correct headers to redirect to reading page (#16454)

Use correct headers
---
 src/es/tumangaonline/build.gradle                   |  2 +-
 .../extension/es/tumangaonline/TuMangaOnline.kt     | 13 +++++++++++--
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/es/tumangaonline/build.gradle b/src/es/tumangaonline/build.gradle
index 08e7491d6..476dfdfa8 100644
--- a/src/es/tumangaonline/build.gradle
+++ b/src/es/tumangaonline/build.gradle
@@ -5,7 +5,7 @@ ext {
     extName = 'TuMangaOnline'
     pkgNameSuffix = 'es.tumangaonline'
     extClass = '.TuMangaOnline'
-    extVersionCode = 43
+    extVersionCode = 44
     isNsfw = true
 }
 
diff --git a/src/es/tumangaonline/src/eu/kanade/tachiyomi/extension/es/tumangaonline/TuMangaOnline.kt b/src/es/tumangaonline/src/eu/kanade/tachiyomi/extension/es/tumangaonline/TuMangaOnline.kt
index 76799c784..07375360a 100644
--- a/src/es/tumangaonline/src/eu/kanade/tachiyomi/extension/es/tumangaonline/TuMangaOnline.kt
+++ b/src/es/tumangaonline/src/eu/kanade/tachiyomi/extension/es/tumangaonline/TuMangaOnline.kt
@@ -45,6 +45,11 @@ class TuMangaOnline : ConfigurableSource, ParsedHttpSource() {
 
     override val supportsLatest = true
 
+    override fun headersBuilder(): Headers.Builder {
+        return Headers.Builder()
+            .add("Referer", "$baseUrl/")
+    }
+
     private val imageCDNUrl = "https://img1.japanreader.com"
 
     private val preferences: SharedPreferences by lazy {
@@ -289,6 +294,10 @@ class TuMangaOnline : ConfigurableSource, ParsedHttpSource() {
         val script1 = document.selectFirst("script:containsData(uniqid)")
         val script2 = document.selectFirst("script:containsData(window.location.replace)")
 
+        val redirectHeaders = Headers.Builder()
+            .add("Referer", document.baseUri())
+            .build()
+
         if (script1 != null) {
             val data = script1.data()
             val regexParams = """\{uniqid:'(.+)',cascade:(.+)\}""".toRegex()
@@ -301,7 +310,7 @@ class TuMangaOnline : ConfigurableSource, ParsedHttpSource() {
                 .add("cascade", params.groupValues[2])
                 .build()
 
-            return redirectToReadPage(client.newCall(POST(action, headers, formBody)).execute().asJsoup())
+            return redirectToReadPage(client.newCall(POST(action, redirectHeaders, formBody)).execute().asJsoup())
         }
 
         if (script2 != null) {
@@ -309,7 +318,7 @@ class TuMangaOnline : ConfigurableSource, ParsedHttpSource() {
             val regexRedirect = """window\.location\.replace\('(.+)'\)""".toRegex()
             val url = regexRedirect.find(data)!!.groupValues[1]
 
-            return redirectToReadPage(client.newCall(GET(url, headers)).execute().asJsoup())
+            return redirectToReadPage(client.newCall(GET(url, redirectHeaders)).execute().asJsoup())
         }
 
         return document