djp952 / pvr.hdhomerundvr

Unofficial Kodi HDHomeRun DVR PVR Client
https://github.com/djp952/pvr.hdhomerundvr/wiki
Other
58 stars 9 forks source link

Add ability to specify an HTTP proxy server to route all discovery operations through #102

Closed djp952 closed 1 year ago

djp952 commented 2 years ago

The discovery operations need a way to be routed through a proxy server. The Kodi settings aren't seemingly accessible to the addon for this, so it needs to be custom. Leave it as a simple hostname[:port] string in the settings.

This should be done in the database layer so that json_get(), json_get_aggregate() and the xmltv virtual table all obey this setting. the xmlstream class will need this to passed into it during construction. The httpstream class should remain untouched, streaming content should not go through a proxy server and always come directly from the device.

djp952 commented 2 years ago

Got this to work acceptably well on Nexus and Matrix, at least with using Fiddler. Test user indicates it's not working right, though. I've requested what proxy server he uses so I can set it up here and try it.

I also missed a couple bugfix merges back to Leia that need to be sorted out and retested.

djp952 commented 2 years ago

This was included in release x.8.1 (Build 8078), but needs work. I felt it safer to leave what was there in place than try to remove it since other fixes/changes were interspersed.

What I still think it needs is a way to know if the proxy server is no good and alert the user. Not all HTTP proxies respond to an echo-type request, so maybe it should try to hit my.hdhomerun.com/discover or something ecosystem related to see if the proxy is good. I noted that in the current implementation a bad proxy can lead to a lot of havoc, especially for things like aggregate queries, each individual query will need to time out.

djp952 commented 1 year ago

Project is moving into maintenance mode only; no new features are planned.