ITPV - VPN - PROXY - XTEVE (or alternative)

Hi,
I wasn’t sure what sub to put this on so I hope I’m in the right place.

I have an IPTV provider which is blocked by my ISP. I currently watch content through tivimate with a vpn on my device, however the vpn app doesn’t always work/switch on when I turn the device on and less tech mined people (the kids) can’t get the TV to work.

So I thought I could install XTEVE (or threadfin) and pass that through gluetun vpn container to allow me to connect and watch with needed to vpn app on the device. I soon discovered that XTEVE doesn’t stream the content but simply passes the iptv service url to tivimate so I’m still blocked.

I could install an IPTV PROXY which would change the URL but that adds an extra step and for some reason, when passed behind gluetun seems to freeze and doesn’t work reliably.

I thought I read somewhere that Threadfin (a fork of XTEVE) changed the stream URL but I can’t seem to work out how to do that.

Anyway… I like that XTEVE and Threadfin can manage my groups, channels etc so I’d like to keep that functionality but I really need that stream URL to change or pass through a vpn.

What are other people doing? I won’t mention my IPTV supplier but I’m using docker via synology and tivimate.

Oh, this is an old post but kind of had to jump in with my findings, maybe someone else will find it useful :smiley:

I found aIPTV and it is a gamechanger. Self-hostable and it works pretty damn good!

Feel free to jump in on discord and join the community <3
https://discord.gg/hdUneZNp9J

Hey :slight_smile: Were you able to solve this?

No, not really! I managed to get Threadfin to work but it has limitations and took quite some time for the streams to play. I use my IPTV as my primary TV so those 30 seconds here and there to load a channel were a real pain (I know, I’m such a snowflake!).

I found this https://github.com/coach1988/IPTV-Solution which is very promising but so far haven’t managed to get it to work as I expected. I’ve contacted the dev but not had a reply yet… It’s Christmas so I assume he’s very busy. Once installed there’s setup instructions in the discussions: https://github.com/coach1988/IPTV-Solution/discussions/1

I’ll have another play with it next week and hopefully it will work because I’m so close!

Sounds promising. Good luck.

Please let me know if you had any success.

I ended up with https://github.com/pierre-emmanuelJ/iptv-proxy

I pass the container through GlueTun VPN container and it seems to work very well. It uses very little resources and my streams are pretty solid.

Do you mind sharing a bit more detail about your setup?

I’m trying to do something similar, and I’m having a hard time figuring it out. I’ve set up threadfin to route through gluetun, but then I ran into a snag once I realized I can’t use an internal IP address for the m3u URL in the IPTV app I’m using (Samsung smart TV).

I assume I would have the same problem with iotv-proxy?

Thanks for the info.

Yea sure thing. I put these in a stack so they depend on each other in case gluetun fails/restarts/updates.

version: "3"
services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    hostname: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8082:8082/tcp # proxy
    volumes:
      - /volume1/docker/gluetun:/gluetun
    environment:
      - VPNSP=private internet access
      - OPENVPN_USER=secret
      - OPENVPN_PASSWORD=secret
      - REGION=UK London
      - TZ=Europe/London
      - FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24
    restart: always
    labels:
      - com.centurylinklabs.watchtower.monitor-only=true

  proxy:
    image: ghcr.io/pierre-emmanuelj/iptv-proxy/iptv-proxy:latest
    volumes:
      - /volume1/docker/compose/iptv:/root/iptv
    container_name: "proxy"
    restart: always
    network_mode: service:gluetun
    environment:
      PORT: 8082
      HOSTNAME: localhost
      GIN_MODE: release
      XTREAM_USER: secret
      XTREAM_PASSWORD: secret
      XTREAM_BASE_URL: "http://example"
      #username and password to log into iptv xtreme app
      USER: secret
      PASSWORD: secret
    labels:
      - com.centurylinklabs.watchtower.enable=false

I’m using Tivimate as my app and I know you can use local ip with that. But I don’t…

I have a domain from cloudflare (actually it was from Google domains but I transferred to cloudflare) and I just reverse proxy (using the built in synology reverse proxy) to attach that domain to the local ip for the m3u.

I’m sole parent today so can’t go into much detail while they’re pulling on my beard with theu sticky hands but can try and explain better tonight if that helps?

Thanks! No need for more details, that helps quite a bit.

This is taken from the github page

I think you would just edit it for your use. I’m afraid i can only comment on xtreme as that’s all i’ve used

    environment:
      # if you are using m3u remote file
      # M3U_URL: https://example.com/iptvfile.m3u
      M3U_URL: /root/iptv/iptv.m3u
      # Port to expose the IPTVs endpoints
      PORT: 8080
      # Hostname or IP to expose the IPTVs endpoints (for machine not for docker)
      HOSTNAME: localhost
      GIN_MODE: release
      ## Xtream-code proxy configuration
      XTREAM_USER: xtream_user
      XTREAM_PASSWORD: xtream_password
      XTREAM_BASE_URL: "http://example.tv:8080"
      ##### UNSAFE AUTH TODO ADD REAL AUTH
      #will be used for m3u and xtream auth poxy
      USER: test
      PASSWORD: testpassword

Hey I know this is an old post but did you ever get it working?

No, i removed it because my supplier doesn’t use m3u. Well… they do but they don’t advertise that… anyway, it was just easier to use xtreme and remove the m3u to prevent me confusing myself

Thanks I got it working with docker

Here you go

I’m running it on a VPS (£1 a month) and I configured all my IPTVs to go through the VPS. Quite different than what you were originally looking for but this way works great for me.