From e4e6cc6cbdbf98c38829620b850ddb0a5ac765ff Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Sun, 27 Sep 2026 17:28:10 +0200 Subject: [PATCH] =?UTF-8?q?Die=20Probe=20liest=20zur=C3=BCck,=20was=20der?= =?UTF-8?q?=20Server=20wirklich=20eingetragen=20hat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ein Eintrag unter „Bekannte Proxys", der gespeichert, aber nicht übernommen wurde, sieht von außen genauso aus wie gar keiner — und bei der Fehlersuche unterscheidet das alles. `GET /System/Configuration/network` führt `KnownProxies`. Zusammen mit `IsLocal` und `IsInNetwork` steht damit in drei Zeilen, woran es liegt: kein Eintrag, der falsche Eintrag, oder fehlender Neustart. Co-Authored-By: Claude Opus 5 --- .../FlixyKit/Sources/FlixyProbe/Leiter.swift | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) 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,")