diff --git a/lib/universal-extractor/src/main/java/eu/kanade/tachiyomi/lib/universalextractor/UniversalExtractor.kt b/lib/universal-extractor/src/main/java/eu/kanade/tachiyomi/lib/universalextractor/UniversalExtractor.kt
index 81d5f1611a..16408cec04 100644
--- a/lib/universal-extractor/src/main/java/eu/kanade/tachiyomi/lib/universalextractor/UniversalExtractor.kt
+++ b/lib/universal-extractor/src/main/java/eu/kanade/tachiyomi/lib/universalextractor/UniversalExtractor.kt
@@ -66,10 +66,39 @@ class UniversalExtractor(private val client: OkHttpClient) {
             webView?.destroy()
             webView = null
         }
+        // terabox special case start
+        if ("M3U8_AUTO_360" in resultUrl) {
+            val qualities = listOf("1080", "720", "480", "360")
+            val allVideos = mutableListOf<Video>()
+
+            for (quality in qualities) {
+                val modifiedUrl = resultUrl.replace("M3U8_AUTO_360", "M3U8_AUTO_$quality")
+                val videos = playlistUtils.extractFromHls(modifiedUrl, origRequestUrl, videoNameGen = { "$prefix - $host: $it $quality" + "p" })
+
+                if (videos.isNotEmpty()) {
+                    allVideos.addAll(videos)
+                }
+            }
+
+            if (allVideos.isNotEmpty()) {
+                return allVideos
+            }
+        }
+        // terabox special case end
+
         return when {
-            "m3u8" in resultUrl -> playlistUtils.extractFromHls(resultUrl, origRequestUrl, videoNameGen = { "$prefix - $host: $it" })
-            "mpd" in resultUrl -> playlistUtils.extractFromDash(resultUrl, { it -> "$prefix - $host: $it" }, referer = origRequestUrl)
-            "mp4" in resultUrl -> Video(resultUrl, "$prefix - $host: ${customQuality ?: "Mirror"}", resultUrl, origRequestHeader.newBuilder().add("referer", origRequestUrl).build()).let(::listOf)
+            "m3u8" in resultUrl -> {
+                Log.d("UniversalExtractor", "m3u8 URL: $resultUrl")
+                playlistUtils.extractFromHls(resultUrl, origRequestUrl, videoNameGen = { "$prefix - $host: $it" })
+            }
+            "mpd" in resultUrl -> {
+                Log.d("UniversalExtractor", "mpd URL: $resultUrl")
+                playlistUtils.extractFromDash(resultUrl, { it -> "$prefix - $host: $it" }, referer = origRequestUrl)
+            }
+            "mp4" in resultUrl -> {
+                Log.d("UniversalExtractor", "mp4 URL: $resultUrl")
+                Video(resultUrl, "$prefix - $host: ${customQuality ?: "Mirror"}", resultUrl, origRequestHeader.newBuilder().add("referer", origRequestUrl).build()).let(::listOf)
+            }
             else -> emptyList()
         }
     }
@@ -80,7 +109,7 @@ class UniversalExtractor(private val client: OkHttpClient) {
     }
 
     companion object {
-        const val TIMEOUT_SEC: Long = 20
-        private val VIDEO_REGEX by lazy { Regex("\\.(mp4|m3u8|mpd)") }
+        const val TIMEOUT_SEC: Long = 10
+        private val VIDEO_REGEX by lazy { Regex(".*\\.(mp4|m3u8|mpd)(\\?.*)?$") }
     }
 }
diff --git a/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt b/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt
index 912ba1cfca..1d35aca208 100644
--- a/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt
+++ b/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt
@@ -207,7 +207,7 @@ class Animefenix : ConfigurableAnimeSource, AnimeHttpSource() {
                     StreamWishExtractor(client, headers).videosFromUrl(url, videoNameGen = { "FileLions:$it" }).also(videoList::addAll)
                 }
                 else ->
-                    UniversalExtractor(client).videosFromUrl(url, headers).also(videoList::addAll)
+                    UniversalExtractor(client).videosFromUrl(url, headers).let { videoList.addAll(it) }
             }
         } catch (_: Exception) { }
         return videoList