diff --git a/app/src/main/kotlin/dev/aaa1115910/bv/viewmodel/VideoPlayerV3ViewModel.kt b/app/src/main/kotlin/dev/aaa1115910/bv/viewmodel/VideoPlayerV3ViewModel.kt index 29d236af..605b9ed3 100644 --- a/app/src/main/kotlin/dev/aaa1115910/bv/viewmodel/VideoPlayerV3ViewModel.kt +++ b/app/src/main/kotlin/dev/aaa1115910/bv/viewmodel/VideoPlayerV3ViewModel.kt @@ -547,7 +547,10 @@ class VideoPlayerV3ViewModel( val filteredUrls = urls .filter { !it.contains(".mcdn.bilivideo.") } .filter { !it.contains(".szbdyd.com") } - .filter { !Regex("""^https?://\d{1,3}.\d{1,3}""").matches(it) } + .filter { + !Regex("^(https?://)?(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?)(/[a-zA-Z0-9_./-]*)?(\\?.*)?$") + .matches(it) + } if (filteredUrls.isEmpty()) { logger.fInfo { "doesn't find any official cdn url, select the first url" } return urls.first()