diff --git a/Packages/FlixyKit/Sources/FlixyProbe/main.swift b/Packages/FlixyKit/Sources/FlixyProbe/main.swift index 1af5119..360c58f 100644 --- a/Packages/FlixyKit/Sources/FlixyProbe/main.swift +++ b/Packages/FlixyKit/Sources/FlixyProbe/main.swift @@ -54,12 +54,29 @@ let directory = PlexServerDirectory(identity: identity, token: token) let servers = try await directory.servers() guard let resource = servers.first else { fatalError("Kein Server am Konto.") } +// Welche Wege es zu diesem Server gibt. Die Fehlerseiten sehen nicht nach +// Plex aus, sondern nach einem Webserver davor — dann macht es einen +// Unterschied, ob die Anfrage durch die Portweiterleitung geht oder direkt. +print("Wege zu \(resource.name):") +for candidate in resource.connections { + print(" \(candidate.local ? "lokal " : "entfernt") \(candidate.uri)") +} + +let forceLocal = CommandLine.arguments.contains("--local") let selector = PlexConnectionSelector(identity: identity) -guard let connection = await selector.selectConnection(for: resource), + +let chosen: PlexConnection? +if forceLocal { + chosen = resource.connections.first { $0.local } +} else { + chosen = await selector.selectConnection(for: resource) +} + +guard let connection = chosen, let server = PlexServer(resource: resource, connection: connection, identity: identity) else { fatalError("Kein Weg zu \(resource.name) erreichbar.") } -print("Server: \(resource.name) über \(connection.local ? "lokal" : "entfernt")\n") +print("\nGenommen: \(connection.local ? "lokal" : "entfernt") — \(connection.uri)\n") // MARK: - Freie Abfrage