IPTV proxy for Plex Live written in Golang
Most users should use version 1.1 from the dev branch.
If you are looking for information about the new config-file based PRERELEASE BETA 1.1 , go to the dev branch
If you are looking for information about the web-based UNSUPPORTED ALPHA 1.5 , go to the telly Discord; there is no 1.5 documentation on github as yet.
See end of setup section for an important note about channel filtering
The Wiki includes walkthroughs for most platforms that go into more detail than listed below:
Please read through to the end before trying to run telly. With 1.0, you will need at minimum two parameters, a playlist and a filter.
- Go to the releases page and download the correct version for your operating system
- Mark the file as executable for non-windows platforms
chmod a+x <FILENAME>
- Rename the file to "telly" if desired; note that from here this readme will refer to "telly"; the file you downloaded is probably called "telly-linux-amd64.dms" or something like that.
If you do not rename the file, then substitute references here to "telly" with the name of the file you've downloaded.
Under Windows, don't forget the
- Have the .m3u file on hand from your IPTV provider of choice Any command arguments can also be supplied as environment variables, for example --iptv.playlist can also be provided as the TELLY_IPTV_PLAYLIST environment variable
--iptv.playlistcommandline argument pointing to your .m3u file. (This can be a local file or a URL) For example:
- If you would like multiple streams/tuners use the
--iptv.streamscommandline option. Default is 1. When setting or changing this option,
plexmediaserverwill need to be completely restarted.
- If you would like
tellyto attempt to the filter the m3u a bit, add the
--filter.regexcommandline option. If you would like to use your own regex, run
--filter.regex="<regex>", for example
--filter.regex=".*UK.*"Regex behavior is by default a blacklist; telly will EXCLUDE channels that match your regex [and if unspecified the filter matches ALL channels]; to reverse this and INCLUDE channels that match your regex, add
--filter.regex-inclusiveto the command line.
[telly] [info] listening on ...- great! Your .m3u file was successfully parsed and
tellyis running. Check below for how to add it into Plex.
tellyfails to run, check the error. If it's self explanatory, great. If you don't understand, feel free to open an issue and we'll help you out.
- For your IPTV provider m3u, try using option
Regex handling changed in 1.0.
filter.regexhas become a blacklist which defaults to blocking everything. If you are not using a regex to filter your M3U file, you will need to add at a minimum
--filter.regex-inclusiveto the command line. If you do not add this, telly will by default EXCLUDE everything in your M3U. The symptom here is typically telly seeming to start up just fine but reporting 0 channels.
Adding it into Plex
tellyis running, you can add it to Plex. Plex Live requires Plex Pass at the time of writing
- Navigate to
app.plex.tvand make sure you're logged in. Go to Settings -> Server -> Live TV & DVR
- Click 'Setup' or 'Add'. The Telly virtual DVR should show up automatically. If it doesn't, press the text to add it manually - input
THE_IP_WHERE_TELLY_IS:6077(or whatever port you're using - you can change it using the
-listencommandline argument, i.e.
- Plex will find your device (in some cases it continues to load but the continue button becomes orange, i.e. clickable. Click it) - select the country in the bottom left and ensure Plex has found the channels. Proceed.
- Once you get to the channel listing,
tellycurrently doesn't have any idea of EPG data so it starts the channel numbers at 10000 to avoid complications with selecting channels at this stage. EPG APIs will come in the future, but for now you'll have to manually match up what
tellyis telling Plex to the actual channel numbers. For UK folk,
Sky HDis the best option I've found.
- Once you've matched up all the channels, hit next and Plex will start downloading necessary EPG data.
- Once that is done, you might need to restart Plex so the telly tuner is not marked as dead.
- You're done! Enjoy using
docker run -d \ --name='telly' \ --net='bridge' \ -e TZ="Europe/Amsterdam" \ -e 'TELLY_IPTV_PLAYLIST'='/home/github/myiptv.m3u' \ -e TELLY_IPTV_STREAMS=1 \ -e TELLY_FILTER_REGEX='.*UK.*' \ -p '6077:6077/tcp' \ -v '/tmp/telly':'/tmp':'rw' \ tellytv/telly --web.base-address=localhost:6077
telly: image: tellytv/telly ports: - "6077:6077" environment: - TZ=Europe/Amsterdam - TELLY_IPTV_PLAYLIST=/home/github/myiptv.m3u - TELLY_FILTER_REGEX='.*UK.*' - TELLY_WEB_LISTEN_ADDRESS=telly:6077 - TELLY_IPTV_STREAMS=1 - TELLY_DISCOVERY_FRIENDLYNAME=Tuner1 - TELLY_DISCOVERY_DEVICEID=12345678 command: -base=telly:6077 restart: unless-stopped
Please free to open an issue if you run into any issues at all, I'll be more than happy to help.
We have a Discord server you can join!