jellyfin / jellyfin-expo

Jellyfin Mobile for iOS
https://jellyfin.org
Mozilla Public License 2.0
288 stars 64 forks source link

App-level proxy setting to mitigate broken DLNA implementation on HiFi components #415

Open patrislav1 opened 1 year ago

patrislav1 commented 1 year ago

Describe the feature

Support using a proxy on application level (i.e. allow Jellyfin app to use a http proxy without having to use that proxy system-wide)

Additional context

Some DLNA players (like Yamaha MusicCast receivers) have a broken DLNA implementation which triggers exceptions in Jellyfin and make remote control non-functional. The issue is described in detail here: https://github.com/jellyfin/jellyfin-plugin-dlna/issues/7

There exists a workaround using a mitmproxy which fixes the DLNA responses from the DLNA player (https://github.com/jellyfin/jellyfin-plugin-dlna/issues/7). When this proxy is used on the iOS device, then jellyfin's remote control will work. However the rest of the iOS system will complain about invalid certificate so it cannot establish any internet connection. Making one single app use the mitmproxy looks like a less invasive step than making the whole iOS device trust the mitmproxy CA and running all its traffic through it.