mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
77a2b8d3d0
2 changed files with 48 additions and 22 deletions
|
@ -1,6 +1,7 @@
|
||||||
package com.lagradost.cloudstream3.animeproviders
|
package com.lagradost.cloudstream3.animeproviders
|
||||||
|
|
||||||
import com.lagradost.cloudstream3.*
|
import com.lagradost.cloudstream3.*
|
||||||
|
import com.lagradost.cloudstream3.utils.*
|
||||||
import com.lagradost.cloudstream3.network.get
|
import com.lagradost.cloudstream3.network.get
|
||||||
import com.lagradost.cloudstream3.network.text
|
import com.lagradost.cloudstream3.network.text
|
||||||
import com.lagradost.cloudstream3.utils.ExtractorLink
|
import com.lagradost.cloudstream3.utils.ExtractorLink
|
||||||
|
@ -27,6 +28,8 @@ class AllAnimeProvider : MainAPI() {
|
||||||
override val hasMainPage: Boolean
|
override val hasMainPage: Boolean
|
||||||
get() = false
|
get() = false
|
||||||
|
|
||||||
|
private val hlsHelper = M3u8Helper()
|
||||||
|
|
||||||
private fun getStatus(t: String): ShowStatus {
|
private fun getStatus(t: String): ShowStatus {
|
||||||
return when (t) {
|
return when (t) {
|
||||||
"Finished" -> ShowStatus.Completed
|
"Finished" -> ShowStatus.Completed
|
||||||
|
@ -244,6 +247,21 @@ class AllAnimeProvider : MainAPI() {
|
||||||
@JsonProperty("episodeIframeHead") val episodeIframeHead: String
|
@JsonProperty("episodeIframeHead") val episodeIframeHead: String
|
||||||
)
|
)
|
||||||
|
|
||||||
|
private fun getM3u8Qualities(m3u8Link: String, referer: String, qualityName: String): ArrayList<ExtractorLink> {
|
||||||
|
return ArrayList(hlsHelper.m3u8Generation(M3u8Helper.M3u8Stream(m3u8Link, null), true).map { stream ->
|
||||||
|
val qualityString = if ((stream.quality ?: 0) == 0) "" else "${stream.quality}p"
|
||||||
|
ExtractorLink(
|
||||||
|
this.name,
|
||||||
|
"${this.name} - $qualityName $qualityString",
|
||||||
|
stream.streamUrl,
|
||||||
|
referer,
|
||||||
|
getQualityFromName(stream.quality.toString()),
|
||||||
|
true,
|
||||||
|
stream.headers
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
override fun loadLinks(
|
override fun loadLinks(
|
||||||
data: String,
|
data: String,
|
||||||
isCasting: Boolean,
|
isCasting: Boolean,
|
||||||
|
@ -264,6 +282,9 @@ class AllAnimeProvider : MainAPI() {
|
||||||
if (Regex("""streaming\.php\?""").matches(link)) {
|
if (Regex("""streaming\.php\?""").matches(link)) {
|
||||||
// for now ignore
|
// for now ignore
|
||||||
} else if (!embedIsBlacklisted(link)) {
|
} else if (!embedIsBlacklisted(link)) {
|
||||||
|
if (URI(link).path.contains(".m3u")) {
|
||||||
|
getM3u8Qualities(link, data, URI(link).host).forEach(callback)
|
||||||
|
} else {
|
||||||
callback(
|
callback(
|
||||||
ExtractorLink(
|
ExtractorLink(
|
||||||
"AllAnime - " + URI(link).host,
|
"AllAnime - " + URI(link).host,
|
||||||
|
@ -271,10 +292,11 @@ class AllAnimeProvider : MainAPI() {
|
||||||
link,
|
link,
|
||||||
data,
|
data,
|
||||||
getQualityFromName("1080"),
|
getQualityFromName("1080"),
|
||||||
URI(link).path.contains(".m3u")
|
false
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
link = apiEndPoint + URI(link).path + ".json?" + URI(link).query
|
link = apiEndPoint + URI(link).path + ".json?" + URI(link).query
|
||||||
val response = get(link)
|
val response = get(link)
|
||||||
|
@ -282,18 +304,22 @@ class AllAnimeProvider : MainAPI() {
|
||||||
if (response.code < 400) {
|
if (response.code < 400) {
|
||||||
val links = mapper.readValue<AllAnimeVideoApiResponse>(response.text).links
|
val links = mapper.readValue<AllAnimeVideoApiResponse>(response.text).links
|
||||||
links.forEach { server ->
|
links.forEach { server ->
|
||||||
|
if (server.hls != null && server.hls) {
|
||||||
|
getM3u8Qualities(server.link, "$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path), server.resolutionStr).forEach(callback)
|
||||||
|
} else {
|
||||||
callback(ExtractorLink(
|
callback(ExtractorLink(
|
||||||
"AllAnime - " + URI(server.link).host,
|
"AllAnime - " + URI(server.link).host,
|
||||||
server.resolutionStr,
|
server.resolutionStr,
|
||||||
server.link,
|
server.link,
|
||||||
"$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path),
|
"$apiEndPoint/player?uri=" + (if (URI(server.link).host.isNotEmpty()) server.link else apiEndPoint + URI(server.link).path),
|
||||||
getQualityFromName("1080"),
|
getQualityFromName("1080"),
|
||||||
server.hls != null && server.hls
|
false
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
<string name="no_data">لايوجد بيانات</string>
|
<string name="no_data">لايوجد بيانات</string>
|
||||||
<string name="episode_more_options_des">المزيد من الخيارات</string>
|
<string name="episode_more_options_des">المزيد من الخيارات</string>
|
||||||
<string name="next_episode">الحلقة القادمة</string>
|
<string name="next_episode">الحلقة القادمة</string>
|
||||||
<string name="result_tags">الأنواع</string>
|
<string name="result_tags">النواع</string>
|
||||||
<string name="result_share">شارك</string>
|
<string name="result_share">شارك</string>
|
||||||
<string name="result_open_in_browser">فتح في الويب </string>
|
<string name="result_open_in_browser">فتح في الويب </string>
|
||||||
<string name="skip_loading">تخطي التحميل</string>
|
<string name="skip_loading">تخطي التحميل</string>
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<string name="vpn_might_be_needed">قد تكون هناك حاجة إلى شبكة ظاهرية خاصة لكي يعمل هذا المزود بشكل صحيح</string>
|
<string name="vpn_might_be_needed">قد تكون هناك حاجة إلى شبكة ظاهرية خاصة لكي يعمل هذا المزود بشكل صحيح</string>
|
||||||
<string name="vpn_torrent">هذا المزود هو تورنت ، يوصى باستخدام شبكة ظاهرية خاصة</string>
|
<string name="vpn_torrent">هذا المزود هو تورنت ، يوصى باستخدام شبكة ظاهرية خاصة</string>
|
||||||
<string name="torrent_plot">الوصف</string>
|
<string name="torrent_plot">الوصف</string>
|
||||||
<string name="normal_no_plot">لم يتم العثور على قطعة</string>
|
<string name="normal_no_plot">لم يتم العثور على وصف</string>
|
||||||
<string name="torrent_no_plot">لم يتم العثور على وصف</string>
|
<string name="torrent_no_plot">لم يتم العثور على وصف</string>
|
||||||
|
|
||||||
<string name="picture_in_picture">صورة داخل صورة</string>
|
<string name="picture_in_picture">صورة داخل صورة</string>
|
||||||
|
@ -116,7 +116,7 @@
|
||||||
<string name="player_subtitles_settings">الترجمة</string>
|
<string name="player_subtitles_settings">الترجمة</string>
|
||||||
<string name="player_subtitles_settings_des">إعدادات ترجمة المشغل</string>
|
<string name="player_subtitles_settings_des">إعدادات ترجمة المشغل</string>
|
||||||
<string name="eigengraumode_settings">وضع إيغنغرافي</string>
|
<string name="eigengraumode_settings">وضع إيغنغرافي</string>
|
||||||
<string name="eigengraumode_settings_des">يضيف خيار السرعة في اللاعب</string>
|
<string name="eigengraumode_settings_des">يضيف خيار السرعة في المشغل</string>
|
||||||
<string name="swipe_to_seek_settings">اسحب للسعي</string>
|
<string name="swipe_to_seek_settings">اسحب للسعي</string>
|
||||||
<string name="swipe_to_seek_settings_des">اسحب إلى اليسار أو اليمين للتحكم في الوقت في مشغل الفيديو</string>
|
<string name="swipe_to_seek_settings_des">اسحب إلى اليسار أو اليمين للتحكم في الوقت في مشغل الفيديو</string>
|
||||||
<string name="swipe_to_change_settings">اسحب لتغيير الإعدادات</string>
|
<string name="swipe_to_change_settings">اسحب لتغيير الإعدادات</string>
|
||||||
|
@ -129,7 +129,7 @@
|
||||||
<string name="search">بحث</string>
|
<string name="search">بحث</string>
|
||||||
<string name="settings_info">معلومات</string>
|
<string name="settings_info">معلومات</string>
|
||||||
<string name="advanced_search">البحث المتقدم</string>
|
<string name="advanced_search">البحث المتقدم</string>
|
||||||
<string name="advanced_search_des">يعطيك نتائج البحث مفصولة عن طريق مزود</string>
|
<string name="advanced_search_des">يعطيك نتائج البحث مفصولة عن طريق المزود</string>
|
||||||
<string name="bug_report_settings_off">إرسال البيانات عن الأعطال فقط</string>
|
<string name="bug_report_settings_off">إرسال البيانات عن الأعطال فقط</string>
|
||||||
<string name="bug_report_settings_on">لا ترسل أي بيانات</string>
|
<string name="bug_report_settings_on">لا ترسل أي بيانات</string>
|
||||||
<string name="show_fillers_settings">عرض حلقة فلر لأنيمي</string>
|
<string name="show_fillers_settings">عرض حلقة فلر لأنيمي</string>
|
||||||
|
@ -184,7 +184,7 @@
|
||||||
<string name="app_storage">تطبيق</string>
|
<string name="app_storage">تطبيق</string>
|
||||||
|
|
||||||
<string name="movies">أفلام</string>
|
<string name="movies">أفلام</string>
|
||||||
<string name="tv_series">مسلسلت</string>
|
<string name="tv_series">مسلسلات</string>
|
||||||
<string name="cartoons">رسوم متحركة</string>
|
<string name="cartoons">رسوم متحركة</string>
|
||||||
<string name="anime">انمي</string>
|
<string name="anime">انمي</string>
|
||||||
<string name="torrent">تورنت</string>
|
<string name="torrent">تورنت</string>
|
||||||
|
|
Loading…
Reference in a new issue