Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.

Seji64/PleXZattoo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Usage

export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=false # may be needed on debian / ubuntu based distro's
/opt/PleXZattoo/PleXZattoo /zattoo-username:<your username> \ 
   /zattoo-password:<your password> \
   /outfile:/opt/telly/channels.m3u8

Example Telly Config

# THIS SECTION IS REQUIRED ########################################################################
[Discovery]                                    # most likely you won't need to change anything here
  Device-Auth = "telly123"                     # These settings are all related to how telly identifies
  Device-ID = 12345678                         # itself to Plex.
  Device-UUID = ""
  Device-Firmware-Name = "hdhomeruntc_atsc"
  Device-Firmware-Version = "20150826"
  Device-Friendly-Name = "telly"
  Device-Manufacturer = "Silicondust"
  Device-Model-Number = "HDTC-2US"
  SSDP = true

# Note on running multiple instances of telly
# There are three things that make up a "key" for a given Telly Virtual Tuner:
# Device-ID [required], Device-UUID [optional], and port [required]
# When you configure your additional telly instances, change:
# the Device-ID [above] AND
# the Device-UUID [above, if you're entering one] AND
# the port [below in the "Web" section]

# THIS SECTION IS REQUIRED ########################################################################
[IPTV]
  Streams = 1               # number of simultaneous streams that telly virtual tuner will provide
                            # This is often 1, but is set by your iptv provider; for example, 
                            # Vaders provides 5
  Starting-Channel = 10000  # When telly assigns channel numbers it will start here
  XMLTV-Channels = true     # if true, any channel numbers specified in your M3U file will be used.
  FFMpeg = true             # if this is uncommented, streams are buffered through ffmpeg; 
                            # ffmpeg must be installed and on your $PATH
                            # if you want to use this with Docker, be sure you use the correct docker image
# if you DO NOT WANT TO USE FFMPEG leave this commented; DO NOT SET IT TO FALSE [Issue #185]
  
# THIS SECTION IS REQUIRED ########################################################################
[Log]
  Level = "info"            # Only log messages at or above the given level. [debug, info, warn, error, fatal]
  Requests = true           # Log HTTP requests made to telly

# THIS SECTION IS REQUIRED ########################################################################
[Web]
  Base-Address = "192.168.0.2:6077"   # Set this to the IP address of the machine telly runs on AS SEEN BY PLEX
                                  # telly will be telling Plex to connect to URLs at this address.
  Listen-Address = "0.0.0.0:6077" # this can stay as-is

# THIS SECTION IS OPTIONAL ========================================================================
#[SchedulesDirect]           # If you have a Schedules Direct account, fill in details and then
                             # UNCOMMENT THIS SECTION
#  Username = ""             # This is under construction; Vader is the only provider
#  Password = ""             # that works with it fully at this time

# AT LEAST ONE SOURCE IS REQUIRED #################################################################
# DELETE OR COMMENT OUT SOURCES THAT YOU ARE NOT USING ############################################
# NONE OF THESE EXAMPLES WORK AS-IS; IF YOU DON'T CHANGE IT, DELETE IT ############################
#[[Source]]
#  Name = ""                 # Name is optional and is used mostly for logging purposes
#  Provider = "Vaders"       # named providers currently supported are "Vaders", "area51", "Iris"
## IF YOUR PROVIDER IS NOT ONE OF THE ABOVE, CONFIGURE IT AS A "Custom" PROVIDER; SEE BELOW
#  Username = "YOUR_IPTV_USERNAME"
#  Password = "YOUR_IPTV_PASSWORD"
#  # THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE
#  Filter = "YOUR_FILTER_REGULAR_EXPRESSION"
                            # Telly is written in Go, and uses the Go regular expression system, 
                            # which is limited compared to other regular expression parsers.
#  FilterKey = "group-title" # Telly applies the regular expression to the contents of this key in the M3U.
#  FilterRaw = false         # FilterRaw will run your regex on the entire line instead of just specific keys.
#  Sort = "group-title"      # Sort will alphabetically sort your channels by the M3U key provided

#[[Source]]
#  Name = ""                    # Name is optional and is used mostly for logging purposes
#  Provider = "IPTV-EPG"        # DO NOT CHANGE THIS IF YOU ARE USING THIS PROVIDER
#  Username = "M3U-Identifier"  # From http://iptv-epg.com/[M3U-Identifier].m3u
#  Password = "XML-Identifier"  # From http://iptv-epg.com/[XML-Identifier].xml
#  # NOTE: THOSE KEY NAMES DO NOT MAKE SENSE FOR THIS PROVIDER ################
#  # THIS IS JUST AN IMPLEMENTATION DETAIL.  JUST GO WITH IT.
#  # For this purpose, IPTV-EPG does not have a "username" and "password", HOWEVER,
#  # telly's scaffolding for a "Named provider" does. Rather than special-casing this provider,
#  # the username and password are used to hold the two required bits of information.
#  # THIS IS JUST AN IMPLEMENTATION DETAIL.  JUST GO WITH IT.
#  # NOTE: THOSE KEY NAMES DO NOT MAKE SENSE FOR THIS PROVIDER ################
#  # THE FOLLOWING KEYS ARE OPTIONAL HERE; IF YOU"RE USING IPTV-EPG YOU'VE PROBABLY DONE YOUR
#  # FILTERING THERE ALREADY
#  # Filter = ""
#  # FilterKey = ""
#  # FilterRaw = false
#  # Sort = ""

[[Source]]
  Name = "Zattoo"           # Name is optional and is used mostly for logging purposes
  Provider = "Custom"       # DO NOT CHANGE THIS IF YOU ARE ENTERING URLS OR FILE PATHS
                            # "Custom" is telly's internal identifier for this 'Provider'
                            # If you change it to "NAMEOFPROVIDER" telly's reaction will be
                            # "I don't recognize a provider called 'NAMEOFPROVIDER'."
  M3U = "/etc/telly/zattoo.m3u8"  # This can be either URL or fully-qualified path.
                            # This needs to be an M3Uplus file
                            # IT CANNOT BE A STREAM ADDRESS
                            # IT CANNOT BE AN M3U THAT LINKS TO ANOTHER M3U
  EPG = "https://github.com/sunsettrack4/xmltv_epg/raw/master/zattoo-epg-de.gz"       # This can be either URL or fully qualified path.
  # THE FOLLOWING KEYS ARE OPTIONAL IN THEORY, REQUIRED IN PRACTICE
#  Filter = "YOUR_FILTER_REGULAR_EXPRESSION"
                            # Telly is written in Go, and uses the Go regular expression system, 
                            # which is limited compared to other regular expression parsers.
#  FilterKey = "group-title" # Telly applies the regular expression to the contents of this key in the M3U.
#  FilterRaw = false         # FilterRaw will run your regex on the entire line instead of just specific keys.
#  Sort = "group-title"      # Sort will alphabetically sort your channels by the M3U key provided
# END TELLY CONFIG  ###############################################################################

Docker

telly:
    image: tellytv/telly:dev-ffmpeg
    container_name: telly
    restart: always
    ports:
      - "6077:6077"
    volumes:
      - /opt/telly/telly.config.toml:/etc/telly/telly.config.toml
      - /opt/telly/channels.m3u8:/etc/telly/zattoo.m3u8
    environment:
      - PGID=1000
      - PUID=1000
      - TZ=Europe/Berlin