Skip to content

Stationarr v1.1.1 — Provider Login and Refresh Fixes

Choose a tag to compare

@rroy676 rroy676 released this 02 Jun 18:11

Stationarr v1.1.1 — Provider Login and Refresh Fixes

Stationarr v1.1.1 is a patch release that fixes Provider Login imports for Xtream Codes providers and resolves a manual Refresh now error reported in v1.1.0.

Fixed

  • Fixed Provider Login using the M3U /get.php URL instead of the Xtream Codes /player_api.php endpoint.
  • Fixed Provider Login import for providers that support Xtream Codes API but do not expose M3U playlists through /get.php.
  • Fixed Provider Login imports where get_live_streams returns stream_id without a direct stream_url.
  • Fixed scheduled refresh for Provider Login playlists so it uses the Xtream API flow instead of the M3U fetch flow.
  • Fixed Refresh now frontend error where the UI could call a missing refresh() API helper.
  • Fixed manual playlist and EPG refresh error handling so failures return clearer messages.
  • Fixed reverse-proxy deployments showing ERR_ERL_UNEXPECTED_X_FORWARDED_FOR when TRUST_PROXY is enabled.

Improved

  • Provider Login now builds playable live stream URLs from stream_id when needed.
  • Provider Login preview now shows the /player_api.php endpoint format.
  • Added opt-in TRUST_PROXY environment variable support for reverse-proxy deployments.
  • Improved refresh logging and URL redaction to avoid exposing sensitive provider URLs or credentials.
  • Preserved existing direct M3U URL imports and file imports.

Testing

The Provider Login fix was validated with a mock Xtream Codes API server that confirmed:

  • Stationarr calls /player_api.php.
  • Stationarr does not call /get.php for Provider Login.
  • Stationarr imports live channels from get_live_streams.
  • Stationarr builds playable /live/{username}/{password}/{stream_id}.ts URLs when only stream_id is returned.

The Refresh now fix was validated by confirming that frontend refresh actions now map to exported API client functions and that the frontend build passes.

Upgrade

Docker Compose:

docker compose pull
docker compose down
docker compose up -d

Docker:

docker pull rroy676/stationarr:1.1.1

or:

docker pull rroy676/stationarr:latest

Reverse proxy note

If Stationarr is running behind a trusted reverse proxy such as Nginx, Traefik, Caddy, Nginx Proxy Manager, Cloudflare Tunnel, or SWAG, and that proxy sends the X-Forwarded-For header, you can enable Express trust-proxy handling by adding this environment variable to the Stationarr container:

environment:
  - TRUST_PROXY=true

For Docker Compose, this goes under the stationarr service in docker-compose.yml, for example:

services:
  stationarr:
    image: rroy676/stationarr:1.1.1
    container_name: stationarr
    ports:
      - "3000:3000"
    environment:
      - JWT_SECRET=change-me
      - BASE_URL=http://localhost:3000
      - TRUST_PROXY=true
    volumes:
      - ./data:/app/data

Then restart Stationarr:

docker compose down
docker compose up -d

Leave TRUST_PROXY unset or set to false for direct/non-proxy deployments.

Only enable this when Stationarr is behind a reverse proxy that you control and trust.

Related

  • Fixes Provider Login issue reported in #69.
  • Fixes Refresh now issue reported in #71.