Merge branch 'Kohi-den:main' into main
29
.github/workflows/build_push.yml
vendored
|
@ -31,14 +31,15 @@ jobs:
|
|||
ref: main
|
||||
token: ${{ secrets.BOT_PAT }}
|
||||
|
||||
- name: Find lib changes
|
||||
id: modified-libs
|
||||
uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 #v42
|
||||
with:
|
||||
files: lib/
|
||||
files_ignore: lib/**.md
|
||||
files_separator: " "
|
||||
safe_output: false
|
||||
# Temporary pause because of leak of tj-actions/changed-files
|
||||
# - name: Find lib changes
|
||||
# id: modified-libs
|
||||
# uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 #v42
|
||||
# with:
|
||||
# files: lib/
|
||||
# files_ignore: lib/**.md
|
||||
# files_separator: " "
|
||||
# safe_output: false
|
||||
|
||||
- name: Import GPG key
|
||||
uses: crazy-max/ghaction-import-gpg@v6 # v6.1.0
|
||||
|
@ -48,12 +49,12 @@ jobs:
|
|||
git_user_signingkey: true
|
||||
git_commit_gpgsign: true
|
||||
|
||||
# This step is going to commit, but this will not trigger another workflow.
|
||||
- name: Bump extensions that uses a modified lib
|
||||
if: steps.modified-libs.outputs.any_changed == 'true'
|
||||
run: |
|
||||
chmod +x ./.github/scripts/bump-versions.py
|
||||
./.github/scripts/bump-versions.py ${{ steps.modified-libs.outputs.all_changed_files }}
|
||||
# # This step is going to commit, but this will not trigger another workflow.
|
||||
# - name: Bump extensions that uses a modified lib
|
||||
# if: steps.modified-libs.outputs.any_changed == 'true'
|
||||
# run: |
|
||||
# chmod +x ./.github/scripts/bump-versions.py
|
||||
# ./.github/scripts/bump-versions.py ${{ steps.modified-libs.outputs.all_changed_files }}
|
||||
|
||||
- name: Validate Gradle Wrapper
|
||||
uses: gradle/wrapper-validation-action@a494d935f4b56874c4a5a87d19af7afcf3a163d0 # v2
|
||||
|
|
7
lib/amazon-extractor/build.gradle.kts
Normal file
|
@ -0,0 +1,7 @@
|
|||
plugins {
|
||||
id("lib-android")
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(project(":lib:playlist-utils"))
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package eu.kanade.tachiyomi.lib.amazonextractor
|
||||
|
||||
import eu.kanade.tachiyomi.animesource.model.Video
|
||||
import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
|
||||
class AmazonExtractor(private val client: OkHttpClient) {
|
||||
|
||||
private val playlistUtils by lazy { PlaylistUtils(client) }
|
||||
|
||||
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
|
||||
if (url.contains("disable", true)) return emptyList()
|
||||
|
||||
val document = client.newCall(GET(url)).execute().asJsoup()
|
||||
|
||||
val shareIdScript = document.select("script:containsData(var shareId)").firstOrNull()?.data()
|
||||
if (shareIdScript.isNullOrBlank()) return emptyList()
|
||||
|
||||
val shareId = shareIdScript.substringAfter("shareId = \"").substringBefore("\"")
|
||||
val amazonApiJsonUrl = "https://www.amazon.com/drive/v1/shares/$shareId?resourceVersion=V2&ContentType=JSON&asset=ALL"
|
||||
|
||||
val amazonApiJson = client.newCall(GET(amazonApiJsonUrl)).execute().asJsoup()
|
||||
|
||||
val epId = amazonApiJson.toString().substringAfter("\"id\":\"").substringBefore("\"")
|
||||
val amazonApiUrl = "https://www.amazon.com/drive/v1/nodes/$epId/children?resourceVersion=V2&ContentType=JSON&limit=200&sort=%5B%22kind+DESC%22%2C+%22modifiedDate+DESC%22%5D&asset=ALL&tempLink=true&shareId=$shareId"
|
||||
|
||||
val amazonApi = client.newCall(GET(amazonApiUrl)).execute().asJsoup()
|
||||
|
||||
val videoUrl = amazonApi.toString().substringAfter("\"FOLDER\":").substringAfter("tempLink\":\"").substringBefore("\"")
|
||||
|
||||
val serverName = if (videoUrl.contains("&ext=es")) "AmazonES" else "Amazon"
|
||||
|
||||
return if (videoUrl.contains(".m3u8")) {
|
||||
playlistUtils.extractFromHls(videoUrl, videoNameGen = { "${prefix}$serverName:$it" })
|
||||
} else {
|
||||
listOf(Video(videoUrl, "${prefix}$serverName", videoUrl))
|
||||
}
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 164 KiB |
|
@ -1,7 +1,7 @@
|
|||
ext {
|
||||
extName = 'AnimeWorld India'
|
||||
extClass = '.AnimeWorldIndiaFactory'
|
||||
extVersionCode = 14
|
||||
extVersionCode = 15
|
||||
}
|
||||
|
||||
apply from: "$rootDir/common.gradle"
|
||||
|
|
|
@ -29,7 +29,7 @@ class AnimeWorldIndia(
|
|||
|
||||
override val name = "AnimeWorld India"
|
||||
|
||||
override val baseUrl = "https://anime-world.in"
|
||||
override val baseUrl = "https://anime-world.co"
|
||||
|
||||
override val supportsLatest = true
|
||||
|
||||
|
|
|
@ -47,6 +47,7 @@ class AnimeWorldIndiaFilters {
|
|||
|
||||
private fun getYearList() = listOf(
|
||||
StringQuery("Any", "all"),
|
||||
StringQuery("2025", "2025"),
|
||||
StringQuery("2024", "2024"),
|
||||
StringQuery("2023", "2023"),
|
||||
StringQuery("2022", "2022"),
|
||||
|
|
Before Width: | Height: | Size: 207 KiB |
Before Width: | Height: | Size: 51 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 76 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 842 B |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 842 B |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 12 KiB |