IPTV proxy for Plex Live written in Golang
If you are looking for information about the new config-file based PRERELEASE BETA , go to the dev branch
See end of setup section for an important note about channel filtering
- 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
.exe
; i.e.telly.exe
. - 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
- Run
telly
with the--iptv.playlist
commandline argument pointing to your .m3u file. (This can be a local file or a URL) For example:./telly --iptv.playlist=/home/github/myiptv.m3u
- If you would like multiple streams/tuners use the
--iptv.streams
commandline option. Default is 1. When setting or changing this option,plexmediaserver
will need to be completely restarted. - If you would like
telly
to attempt to the filter the m3u a bit, add the--filter.regex
commandline option. If you would like to use your own regex, runtelly
with--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-inclusive
to the command line. - If
telly
tells you[telly] [info] listening on ...
- great! Your .m3u file was successfully parsed andtelly
is running. Check below for how to add it into Plex. - If
telly
fails 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. As of telly v0.4sed
commands are no longer needed. Woop! - For your IPTV provider m3u, try using option
type=m3u_plus
andoutput=ts
.
Regex handling changed in 1.0.
filter.regex
has become 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-inclusive
to 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.
- Once
telly
is running, you can add it to Plex. Plex Live requires Plex Pass at the time of writing - Navigate to
app.plex.tv
and 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-listen
commandline argument, i.e.-listen THE_IP_WHERE_TELLY_IS:12345
) - 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,
telly
currently 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 whattelly
is telling Plex to the actual channel numbers. For UK folk,Sky HD
is 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
telly
. :-)
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!