feat: resolve AniList episodes through ZokoAnime

This commit is contained in:
2026-10-25 15:46:35 +01:00
parent 8c2a18df48
commit ab61d83c69
16 changed files with 492 additions and 21 deletions
+3 -3
View File
@@ -19,13 +19,13 @@ enum PlayerCommand {
terebi --help
terebi --default-config
Open one local file, yt-dlp-supported video, Miruro episode or resolved source and start playback,
Open one local file, yt-dlp-supported video, Miruro/AniList episode or resolved source and start playback,
resuming saved video progress. With no arguments, open or activate the player.
Quote paths and URLs containing spaces or shell metacharacters.
--new-instance Launch a separate player, leaving existing playback untouched.
--no-config Use built-in settings instead of config.toml on a fresh launch.
--url URL Resolve an HTTP(S) video URL with yt-dlp, or open a Miruro episode.
--url URL Resolve an HTTP(S) video, Miruro episode or ZokoAnime AniList sub URL.
--source-file PATH Open a validated resolved HTTP(S) source in a new player.
--queue-file PATH Open an ordered version-1 stream queue with per-item reports.
--enqueue Append a queue to the running player without interrupting playback;
@@ -88,7 +88,7 @@ enum PlayerCommand {
func streamURL(_ text: String) throws -> URL {
switch try StreamURL.parse(text) {
case .youtube(let url): return url
case .miruro:
case .miruro, .anilist:
guard let url = URL(string: text.trimmingCharacters(in: .whitespacesAndNewlines)) else {
throw ArgumentError("Invalid stream URL.")
}