diff --git a/src/es/cineplus123/AndroidManifest.xml b/src/es/cineplus123/AndroidManifest.xml
new file mode 100644
index 0000000000..204e909107
--- /dev/null
+++ b/src/es/cineplus123/AndroidManifest.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/es/cineplus123/build.gradle b/src/es/cineplus123/build.gradle
new file mode 100644
index 0000000000..04c4e41c75
--- /dev/null
+++ b/src/es/cineplus123/build.gradle
@@ -0,0 +1,14 @@
+ext {
+ extName = 'Cineplus123'
+ extClass = '.Cineplus123'
+ themePkg = 'dooplay'
+ baseUrl = 'https://cineplus123.org'
+ overrideVersionCode = 0
+}
+
+apply from: "$rootDir/common.gradle"
+
+dependencies {
+ implementation(project(":lib:streamwish-extractor"))
+ implementation(project(":lib:uqload-extractor"))
+}
\ No newline at end of file
diff --git a/src/es/cineplus123/res/mipmap-hdpi/ic_launcher.png b/src/es/cineplus123/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000000..6dd2252f18
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/src/es/cineplus123/res/mipmap-hdpi/ic_launcher_adaptive_back.png b/src/es/cineplus123/res/mipmap-hdpi/ic_launcher_adaptive_back.png
new file mode 100644
index 0000000000..3f50df9211
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-hdpi/ic_launcher_adaptive_back.png differ
diff --git a/src/es/cineplus123/res/mipmap-hdpi/ic_launcher_adaptive_fore.png b/src/es/cineplus123/res/mipmap-hdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000000..ca6071671f
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-hdpi/ic_launcher_adaptive_fore.png differ
diff --git a/src/es/cineplus123/res/mipmap-mdpi/ic_launcher.png b/src/es/cineplus123/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000000..9fb13a1061
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/src/es/cineplus123/res/mipmap-mdpi/ic_launcher_adaptive_back.png b/src/es/cineplus123/res/mipmap-mdpi/ic_launcher_adaptive_back.png
new file mode 100644
index 0000000000..5a270b5ac1
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-mdpi/ic_launcher_adaptive_back.png differ
diff --git a/src/es/cineplus123/res/mipmap-mdpi/ic_launcher_adaptive_fore.png b/src/es/cineplus123/res/mipmap-mdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000000..8efd6289a3
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-mdpi/ic_launcher_adaptive_fore.png differ
diff --git a/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher.png b/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000000..d49ff097ac
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher_adaptive_back.png b/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher_adaptive_back.png
new file mode 100644
index 0000000000..36d4e2d19e
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher_adaptive_back.png differ
diff --git a/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png b/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000000..5091966c3f
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png differ
diff --git a/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher.png b/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..2b5c2c902b
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png b/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png
new file mode 100644
index 0000000000..aacf215b5c
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png differ
diff --git a/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png b/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000000..636d2123ba
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png differ
diff --git a/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher.png b/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000000..e777821fe7
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png b/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png
new file mode 100644
index 0000000000..50e3aba348
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png differ
diff --git a/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png b/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png
new file mode 100644
index 0000000000..923c896061
Binary files /dev/null and b/src/es/cineplus123/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png differ
diff --git a/src/es/cineplus123/src/eu/kanade/tachiyomi/animeextension/es/cineplus123/Cineplus123.kt b/src/es/cineplus123/src/eu/kanade/tachiyomi/animeextension/es/cineplus123/Cineplus123.kt
new file mode 100644
index 0000000000..eea7663731
--- /dev/null
+++ b/src/es/cineplus123/src/eu/kanade/tachiyomi/animeextension/es/cineplus123/Cineplus123.kt
@@ -0,0 +1,196 @@
+package eu.kanade.tachiyomi.animeextension.es.cineplus123
+
+import androidx.preference.ListPreference
+import androidx.preference.PreferenceScreen
+import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
+import eu.kanade.tachiyomi.animesource.model.Video
+import eu.kanade.tachiyomi.lib.streamwishextractor.StreamWishExtractor
+import eu.kanade.tachiyomi.lib.uqloadextractor.UqloadExtractor
+import eu.kanade.tachiyomi.multisrc.dooplay.DooPlay
+import eu.kanade.tachiyomi.network.GET
+import eu.kanade.tachiyomi.network.POST
+import eu.kanade.tachiyomi.util.asJsoup
+import eu.kanade.tachiyomi.util.parallelFlatMapBlocking
+import okhttp3.FormBody
+import okhttp3.Request
+import okhttp3.Response
+import org.jsoup.nodes.Element
+
+class Cineplus123 : DooPlay(
+ "es",
+ "Cineplus123",
+ "https://cineplus123.org",
+) {
+ // ============================== Popular ===============================
+ override fun popularAnimeRequest(page: Int) = GET("$baseUrl/tendencias/$page")
+
+ override fun popularAnimeSelector() = latestUpdatesSelector()
+
+ override fun popularAnimeNextPageSelector() = latestUpdatesNextPageSelector()
+
+ override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/ano/2024/page/$page", headers)
+
+ override fun videoListSelector() = "li.dooplay_player_option" // ul#playeroptionsul
+
+ override val episodeMovieText = "Película"
+
+ override val episodeSeasonPrefix = "Temporada"
+ override val prefQualityTitle = "Calidad preferida"
+
+ private val uqloadExtractor by lazy { UqloadExtractor(client) }
+ private val streamWishExtractor by lazy { StreamWishExtractor(client, headers) }
+
+ // ============================ Video Links =============================
+ override fun videoListParse(response: Response): List