0.7.1 - Series not working with IPTVBoss #167

Open
opened 2025-03-12 10:25:47 +00:00 by Kakise · 6 comments
Kakise commented 2025-03-12 10:25:47 +00:00 (Migrated from github.com)

Describe the bug
When using IPTVBoss as an Xtream server, the VOD and Series aren't working.

To Reproduce
Steps to reproduce the behavior:

  1. Set up Jellyfin Xtream with an IPTVBoss Xstream server.
  2. Enable Series categories
  3. Try to go to a Series info page

Software stack
Plugin version: 0.7.1
Server version: 10.10.6

Additional context
Logs:

[2025-03-12 11:01:22.596 +01:00] [ERR] [41] Jellyfin.Xtream.SeriesChannel: Failed to get channel items
System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Service.StreamService.GetSeasons(Int32 seriesId, CancellationToken cancellationToken)
   at Jellyfin.Xtream.SeriesChannel.GetSeasons(Int32 seriesId, CancellationToken cancellationToken)
   at Jellyfin.Xtream.SeriesChannel.GetChannelItems(InternalChannelItemQuery query, CancellationToken cancellationToken)
[2025-03-12 11:01:24.317 +01:00] [ERR] [41] Jellyfin.Xtream.SeriesChannel: Failed to get channel items

IPTVBoss logs:

11:17:37.85: Response: http://snip/player_api.php?username=****&password=****&action=get_series_info&series_id=****
11:17:37.85: Request: /player_api.php?username=****&password=****&action=get_series_info&series_id=****

As you can see in the logs, when a request is made to IPTVBoss' Xstream server with get_series_info, it sends back a 302 Redirect to the underlaying provider's series info.
It should be followed and used to parse the series info.

**Describe the bug** When using IPTVBoss as an Xtream server, the VOD and Series aren't working. **To Reproduce** Steps to reproduce the behavior: 1. Set up Jellyfin Xtream with an IPTVBoss Xstream server. 2. Enable Series categories 3. Try to go to a Series info page **Software stack** Plugin version: 0.7.1 Server version: 10.10.6 **Additional context** Logs: ``` [2025-03-12 11:01:22.596 +01:00] [ERR] [41] Jellyfin.Xtream.SeriesChannel: Failed to get channel items System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken) at Jellyfin.Xtream.Service.StreamService.GetSeasons(Int32 seriesId, CancellationToken cancellationToken) at Jellyfin.Xtream.SeriesChannel.GetSeasons(Int32 seriesId, CancellationToken cancellationToken) at Jellyfin.Xtream.SeriesChannel.GetChannelItems(InternalChannelItemQuery query, CancellationToken cancellationToken) [2025-03-12 11:01:24.317 +01:00] [ERR] [41] Jellyfin.Xtream.SeriesChannel: Failed to get channel items ``` IPTVBoss logs: ``` 11:17:37.85: Response: http://snip/player_api.php?username=****&password=****&action=get_series_info&series_id=**** 11:17:37.85: Request: /player_api.php?username=****&password=****&action=get_series_info&series_id=**** ``` As you can see in the logs, when a request is made to IPTVBoss' Xstream server with get_series_info, it sends back a 302 Redirect to the underlaying provider's series info. It should be followed and used to parse the series info.
Kakise commented 2025-03-12 10:30:34 +00:00 (Migrated from github.com)

In addition, there is an identical error with VODs, while the informations is properly received, this error happens:

[2025-03-12 11:26:24.204 +01:00] [ERR] [41] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider"
System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[2025-03-12 11:26:24.282 +01:00] [ERR] [41] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider"
System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[2025-03-12 11:26:24.353 +01:00] [ERR] [32] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider"
System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)
[2025-03-12 11:26:24.425 +01:00] [ERR] [32] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider"
System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found).
   at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
   at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken)
   at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken)

The process is similar with the IPTVBoss Series one, it redirects with a 302 to the upstream provider

In addition, there is an identical error with VODs, while the informations is properly received, this error happens: ``` [2025-03-12 11:26:24.204 +01:00] [ERR] [41] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider" System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken) at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) [2025-03-12 11:26:24.282 +01:00] [ERR] [41] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider" System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken) at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) [2025-03-12 11:26:24.353 +01:00] [ERR] [32] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider" System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken) at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) [2025-03-12 11:26:24.425 +01:00] [ERR] [32] MediaBrowser.Providers.Movies.MovieMetadataService: Error in "XtreamVodProvider" System.Net.Http.HttpRequestException: Response status code does not indicate success: 302 (Found). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at System.Net.Http.HttpClient.GetStringAsyncCore(HttpRequestMessage request, CancellationToken cancellationToken) at Jellyfin.Xtream.Client.XtreamClient.QueryApi[T](ConnectionInfo connectionInfo, String urlPath, CancellationToken cancellationToken) at Jellyfin.Xtream.Providers.XtreamVodProvider.FetchAsync(Movie item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.RunCustomProvider(ICustomMetadataProvider`1 provider, TItemType item, String logName, MetadataRefreshOptions options, RefreshResult refreshResult, CancellationToken cancellationToken) ``` The process is similar with the IPTVBoss Series one, it redirects with a 302 to the upstream provider
Kevinjil commented 2025-03-12 17:20:29 +00:00 (Migrated from github.com)

Is IPTVBoss redirecting from a HTTPS address to a HTTP address? That might explain why the redirect is not followed by the HTTP client.

Is IPTVBoss redirecting from a HTTPS address to a HTTP address? That might explain why the redirect is not followed by the HTTP client.
Kakise commented 2025-03-12 17:23:03 +00:00 (Migrated from github.com)

It is, yes, my server is behind an https reverse proxy

EDIT: I'm gonna try connecting to localhost as the xstream server is hosted in the same place as jellyfin

It is, yes, my server is behind an https reverse proxy EDIT: I'm gonna try connecting to localhost as the xstream server is hosted in the same place as jellyfin
Kevinjil commented 2025-05-03 10:33:17 +00:00 (Migrated from github.com)

@Kakise was the HTTPS to HTTP downgrade your issue?

@Kakise was the HTTPS to HTTP downgrade your issue?
Kakise commented 2025-05-07 15:35:01 +00:00 (Migrated from github.com)

@Kakise was the HTTPS to HTTP downgrade your issue?

Hello, no, unfortunately the iptvboss xcserver will broadcast the stream urls using the reverse proxy url setup, so it becomes localhost -> https (xcserver still) -> http (stream)

> [@Kakise](https://github.com/Kakise) was the HTTPS to HTTP downgrade your issue? Hello, no, unfortunately the iptvboss xcserver will broadcast the stream urls using the reverse proxy url setup, so it becomes localhost -> https (xcserver still) -> http (stream)
Kevinjil commented 2025-07-01 18:15:39 +00:00 (Migrated from github.com)

I'm afraid I cannot resolve this issue in the plugin. For Live TV, the plugin handles stream opening and catches this edge case. For VOD and Series, Jellyfin handles it.

I'm afraid I cannot resolve this issue in the plugin. For Live TV, the plugin handles stream opening and catches this edge case. For VOD and Series, Jellyfin handles it.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Sirherobrine23/Jellyfin_Xtream#167
No description provided.