diff --git a/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift b/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift index 5f4bcaf..871727b 100644 --- a/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift +++ b/Packages/FlixyKit/Sources/FlixyProbe/Leiter.swift @@ -29,6 +29,15 @@ struct Endpunktlage: Decodable { } } +/// Die Netzwerkeinstellungen des Servers — nur der Teil, der hier zählt. +struct Netzwerkeinstellung: Decodable { + let knownProxies: [String]? + + private enum CodingKeys: String, CodingKey { + case knownProxies = "KnownProxies" + } +} + /// Was in einer Playlist steht. struct Leiter { var stufen: [(bandbreite: Int, auflösung: String?)] = [] @@ -182,6 +191,22 @@ func jellyfinLeiter(host: String) async { print(" Host, und der Eintrag unter Bekannte Proxys muss 127.0.0.1") print(" lauten (bzw. die Adresse im Docker-Netz), nicht 192.168.x.") } + // **Was der Server tatsächlich eingetragen hat.** + // + // Ein Eintrag, der gespeichert, aber nicht übernommen wurde, sieht + // von außen genauso aus wie gar keiner. Hier steht, was gilt. + if let netz = try? await client.send( + JellyfinRequest(path: "/System/Configuration/network"), + as: Netzwerkeinstellung.self + ) { + let proxys = netz.knownProxies ?? [] + if proxys.isEmpty { + print(" Bekannte Proxys: KEINE eingetragen.") + } else { + print(" Bekannte Proxys: \(proxys.joined(separator: ", "))") + } + } + if lage.isInNetwork { print("Der Server hält diese Verbindung für LOKAL.") print(" → Eine Leiter wird er hier grundsätzlich nicht liefern,")