Shabinder / SpotiFlyer

Kotlin Multiplatform Music Downloader, Supports Spotify / Gaana / Youtube Music / Jio Saavn / SoundCloud.
https://soundbound.app
GNU General Public License v3.0
10.26k stars 766 forks source link

[BUG] : not downloading #3521

Open Ivyivxn opened 1 month ago

Ivyivxn commented 1 month ago

Bug report-> DownloadLinkFetchFailed(errorTrace=Find Link for Going Under

Fetching From Saavn Failed:DownloadLinkFetchFailed(errorTrace=No SAAVN Match Found for Going Under) at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$DefaultImpls.findBestSongDownloadURL(JioSaavnRequests.kt:299) at com.shabinder.common.providers.saavn.requests.JioSaavnRequests$findBestSongDownloadURL$1.invokeSuspend(Unknown Source:10) at h7.a.resumeWith(ContinuationImpl.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:12) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:2) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:0) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:14) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:28) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:0)

Yt1sMp3 Failed for naedNE1KPO4:io.ktor.client.features.RedirectResponseException: Unhandled redirect: https://yt1s.com/api/ajaxSearch/index. Status: 301 . Text: "

301 Moved Permanently

301 Moved Permanently


cloudflare

" at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invokeSuspend(DefaultResponseValidation.kt:205) at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invoke(Unknown Source:8) at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invoke(Unknown Source:4) at io.ktor.client.features.HttpCallValidator.validateResponse(HttpCallValidator.kt:86) at io.ktor.client.features.HttpCallValidator.access$validateResponse(HttpCallValidator.kt:0) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:42) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invoke(Unknown Source:11) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invoke(Unknown Source:8) at io.ktor.client.features.HttpSend$Feature$install$1.invokeSuspend(HttpSend.kt:178) at h7.a.resumeWith(ContinuationImpl.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:12) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:2) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:0) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:14) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:28) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:0)

Extracting Manually...

YT Manual Extraction Failed!io.ktor.client.features.ClientRequestException: Client request(https://rr1---sn-j5caxh5n-jwnl.googlevideo.com/videoplayback?expire=1720409325&ei=jQiLZqnxFKCpsfIPg_W24Ac&ip=189.202.49.190&id=o-AE5zUxyjpErQZgQIXHNzWBn_FCP8zDzTcHxOdIASqNxD&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=7B&mm=31%2C29&mn=sn-j5caxh5n-jwnl%2Csn-ug5onuxajv-jwns&ms=au%2Crdu&mv=m&mvi=1&pl=21&initcwndbps=1341250&bui=AXc671L8kbaztmUQJQ89FGKIODmEGbFJeFxRKi3S2lSsGwrU2qc0Qzyb-rwdgiVIVuiOxl2GDFa6TChq&spc=NO7bAYZPTMsg49O6_VpdxmcVu_MTMwI9YpTw54ThhAGPN_55yCJSy0B_EXYu&vprv=1&svpuc=1&mime=audio%2Fmp4&ns=rYvttnGsRy2wA3OYEG1QfO0Q&rqh=1&gir=yes&clen=3472263&dur=214.505&lmt=1609899258539243&mt=1720387283&fvip=6&keepalive=yes&c=WEB&sefc=1&txp=5431432&n=oT1JvC0nGbZD3NymFc7&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AHlkHjAwRgIhAPxzP2cSk9BADqYXOBQX_LAPpOqU0GL2PePlMUcDmNocAiEAwm6IGvw7cBtK57ZH-2B95Aybq2mxUVMzyyCvOB1q5a4%3D&sig=AJfQdSswRQIhAJqZWKbmlL7yoC86n4izp9D9z2hhFKK2CinTG1osPhU4AiBL_6OULcXZMiuUsWktT6meUqAahiy4ZlMOtN4dy87ZVg%3D%3D) invalid: 403 Forbidden. Text: "" at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invokeSuspend(DefaultResponseValidation.kt:199) at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invoke(Unknown Source:8) at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invoke(Unknown Source:4) at io.ktor.client.features.HttpCallValidator.validateResponse(HttpCallValidator.kt:86) at io.ktor.client.features.HttpCallValidator.access$validateResponse(HttpCallValidator.kt:0) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:42) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invoke(Unknown Source:11) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invoke(Unknown Source:8) at io.ktor.client.features.HttpSend$Feature$install$1.invokeSuspend(HttpSend.kt:178) at h7.a.resumeWith(ContinuationImpl.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:12) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:2) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:0) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:14) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:28) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:0)

Fetching From YT Failed:io.ktor.client.features.ClientRequestException: Client request(https://rr1---sn-j5caxh5n-jwnl.googlevideo.com/videoplayback?expire=1720409325&ei=jQiLZqnxFKCpsfIPg_W24Ac&ip=189.202.49.190&id=o-AE5zUxyjpErQZgQIXHNzWBn_FCP8zDzTcHxOdIASqNxD&itag=140&source=youtube&requiressl=yes&xpc=EgVo2aDSNQ%3D%3D&mh=7B&mm=31%2C29&mn=sn-j5caxh5n-jwnl%2Csn-ug5onuxajv-jwns&ms=au%2Crdu&mv=m&mvi=1&pl=21&initcwndbps=1341250&bui=AXc671L8kbaztmUQJQ89FGKIODmEGbFJeFxRKi3S2lSsGwrU2qc0Qzyb-rwdgiVIVuiOxl2GDFa6TChq&spc=NO7bAYZPTMsg49O6_VpdxmcVu_MTMwI9YpTw54ThhAGPN_55yCJSy0B_EXYu&vprv=1&svpuc=1&mime=audio%2Fmp4&ns=rYvttnGsRy2wA3OYEG1QfO0Q&rqh=1&gir=yes&clen=3472263&dur=214.505&lmt=1609899258539243&mt=1720387283&fvip=6&keepalive=yes&c=WEB&sefc=1&txp=5431432&n=oT1JvC0nGbZD3NymFc7&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cxpc%2Cbui%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cns%2Crqh%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AHlkHjAwRgIhAPxzP2cSk9BADqYXOBQX_LAPpOqU0GL2PePlMUcDmNocAiEAwm6IGvw7cBtK57ZH-2B95Aybq2mxUVMzyyCvOB1q5a4%3D&sig=AJfQdSswRQIhAJqZWKbmlL7yoC86n4izp9D9z2hhFKK2CinTG1osPhU4AiBL_6OULcXZMiuUsWktT6meUqAahiy4ZlMOtN4dy87ZVg%3D%3D) invalid: 403 Forbidden. Text: "" at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invokeSuspend(DefaultResponseValidation.kt:199) at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invoke(Unknown Source:8) at io.ktor.client.features.DefaultResponseValidationKt$addDefaultResponseValidation$1$1.invoke(Unknown Source:4) at io.ktor.client.features.HttpCallValidator.validateResponse(HttpCallValidator.kt:86) at io.ktor.client.features.HttpCallValidator.access$validateResponse(HttpCallValidator.kt:0) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invokeSuspend(HttpCallValidator.kt:42) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invoke(Unknown Source:11) at io.ktor.client.features.HttpCallValidator$Companion$install$3.invoke(Unknown Source:8) at io.ktor.client.features.HttpSend$Feature$install$1.invokeSuspend(HttpSend.kt:178) at h7.a.resumeWith(ContinuationImpl.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:12) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:2) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:0) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:14) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:28) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:0)

) at com.shabinder.common.providers.FetchPlatformQueryResult.findBestDownloadLink(FetchPlatformQueryResult.kt:1873) at com.shabinder.common.providers.FetchPlatformQueryResult$findBestDownloadLink$1.invokeSuspend(Unknown Source:12) at h7.a.resumeWith(ContinuationImpl.kt:10) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:74) at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:17) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:74) at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:17) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:74) at io.ktor.util.pipeline.SuspendFunctionGun.access$resumeRootWith(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:17) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:55) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:17) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:0) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:24) at h7.a.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:12) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:2) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:0) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:14) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:28) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:0) Describe the bug:

Media Links Used: ---> https://open.spotify.com/album/02w1xMzzdF2OJxTeh1basm?si=Rm3H9c9CTR2BnYHK-KW_Cw

Expected behavior

Screenshots: