Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPTV-EPG provider no longer works in v1.1.0.6 #265

Closed
paul-chambers opened this issue Jan 10, 2020 · 2 comments
Closed

IPTV-EPG provider no longer works in v1.1.0.6 #265

paul-chambers opened this issue Jan 10, 2020 · 2 comments

Comments

@paul-chambers
Copy link

paul-chambers commented Jan 10, 2020

telly release with the issue:
telly, version 1.1.0.6 (branch: dev, revision: dafac1f)
build user: root@c8b3d5116b6b
build date: 20190509-14:43:23
go version: go1.12.5

Last working telly release (if known):
unknown

Operating environment (Docker/Windows/Linux/QNAP, etc.):
Linux: Ubuntu 18.04 inside a KVM virtual machine

Description of problem:

The 'IPTV-EPG' provider no longer works. This appears to be because IPTV-EPG is now using Cloudflare, and Telly isn't providing a 'host' header when making the HTTP request, so Cloudflare doesn't know which HTTP host the request is for.

If I use the 'Custom' provider, and provide the M3U and EPG URLs explicitly, Telly does start successfully.

Contents of telly.config.toml [if you're using a version above 1.1]:

# 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 = ""
  Device-Firmware-Version = ""
  Device-Friendly-Name = "telly"
  Device-Manufacturer = "Telly TV"
  Device-Model-Number = "HDT-Telly"
  SSDP = false

# 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 = 2               # number of simultaneous streams that telly virtual tuner will provide
                            # This is often 1, but is set by your iptv provider
  Starting-Channel = 9000   # 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 = "10.11.1.188: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.
                                    # DO NOT REMOVE THE PORT
                                    # Just change the 0.0.0.0 to your IP address.
  Listen-Address = "0.0.0.0:6077"   # this can stay as-is

[[Source]]

 Name = "Iconic Streams"     # Name is optional and is used mostly for logging purposes
 Provider = "IPTV-EPG"       # DO NOT CHANGE THIS IF YOU ARE USING THIS PROVIDER
 Username = "xxxxx-zzzzzz"   # From http://iptv-epg.com/[M3U-Identifier].m3u
 Password = "yyyy-zzzzz"    # 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 = ""

# END TELLY CONFIG  ###############################################################################

Command line used to run telly [if applicable]:

paul@media:~$ cat /lib/systemd/system/telly.service
[Unit]
Description=Telly TV
After=network.target

[Service]
User=telly
Group=media
UMask=002

Type=simple
ExecStart=/var/lib/telly/telly --config.file /var/lib/telly/telly.config.toml
TimeoutStopSec=20
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

telly or docker log:

Jan 10 00:43:23 media telly[19857]: time="2020-01-10T00:43:23-08:00" level=info msg="telly is preparing to go live (version=1.1.0.6, branch=dev, revision=dafac1f21a0f5397511965d9f0a2ae930d51fe95)"
Jan 10 00:43:23 media telly[19857]: time="2020-01-10T00:43:23-08:00" level=info msg="Loading M3U from http://iptv-epg.com/xxxxx-zzzzzz.m3u"
Jan 10 00:43:29 media telly[19857]: time="2020-01-10T00:43:29-08:00" level=info msg="Loading XMLTV from http://iptv-epg.com/yyyy-zzzzzz.xml"

and then crickets...

Additional information:

@chazlarson
Copy link
Contributor

This will probably be addressed by removing the IPTV-EPG custom provider since there's no particular advantage to using it over the custom provider, which does work.

@chazlarson
Copy link
Contributor

named providers will be removed from the next release; they don't add any value at this point.

chazlarson pushed a commit that referenced this issue Jan 12, 2020
chazlarson added a commit to chazlarson/telly that referenced this issue Jan 12, 2020
* Extend m3u.Track to return line number and raw line

* Checkpoint on internal overhaul of playlist/tracks/lineup/channels.

* FIll PlaylistsCount

* XMLTV/EPG parsing checkpoint

* XMLTV checkpoint

* Checkpoint before redoing Lineup

* Checkpoint again. Too much to list, all good things

* Minor fixes around logging, XMLTV and more

* Checkpoint on Schedules Direct before migrating to new repo

* Migrate to new repo

* Finish hooking in SD

* More Schedules Direct fixes

* Update README

* Update Gopkg.lock

* Fix XMLTV tests

* Fix example.xml path

* Update README.md

* Allow xmltv/example.xml into Git

* Add option to ignore-epg-icons under misc

* Only initialize Schedules Direct if configured. Fixes tellytv#149

* FAQs

Add remarks to address questions asked repeatedly on discord.

* Fixes for bad providers & gzip

* Temporary fix for artwork nil issues

* Change username/password replacement tokens

* Dont panic on empty tags

* Add Iris as a supported provider

* Lowercase tags

* Add Area51 as a provider

* Support including only specific channels

* Possibly fix some weird <new /> behavior

* Maybe fix TV shows for Plex?

* Cleanup .promu.yml, limit to certain platforms for crossbuild

* Update Gopkg.toml

* Bump version

* Fix for <new> XMLTV tag

* Improve logic around adding original-air-date

* Add CORS headers for Angular

* Add frontend

* Initial ffmpeg support

* Update Gopkg

* Telly ffmpeg image

* Add ffmpeg flag

* Add supported providers to comments

* Update readme

Add comments to config file example
Add ffmpeg notes
Expand Docker notes.

* Create ISSUE_TEMPLATE.md

* Delete ISSUE_TEMPLATE.md

* Add note that M3U can be a file path.

* Fix some spelling

* Update README.md

* Update README.md

* Note about pre-release status.

* Update README.md

* Clarify which sections are required

* Update README.md

* Update README.md

* Update routes.go

Remove the  "-bsf:v", "h264_mp4toannexb" to fix HEVC streams.

* Update to address minor bug in ffmpeg key handling

* Typo

* Minor fixes for breaking changes in go.schedulesdirect

* More fixes for SD

* Spelling fixes

* Update README.md

Specifically state not to change the magic provider names.

* Note on key fields for multiple instances

* Update .circleci/config.yml to use dep so that we stop having build breakage

* Note about IPTV-EPG field names

They don't make sense, but cest la vie.

* Update README.md

* Update README.md

* Fix XMLTV date parsing because Vaders doesnt know how to write dates properly

* Update README.md

Add a reference to specific version.

* Update Vaders URL

* Update README.md

* bump version to 1.1.0.5

* Add a log line in a situation that might indicate a missing config file.

* Add a couple more targets

* Build using the same mechanism as the makefile so the docker build has a version number
Remove redundant build

* Update README.md

* Update tnt.go

* hdhr device ids are alpha numeric

* remove HDHomerun prefix from friendly name

* Removed references to the late, lamented Vader Streams.

* set content type for ffmpeg stream

* remove unused ffmpeg option

-tune is an encoding option. when passing -codec copy,
no encoding is happening so that option is not used.

since there is no encoding or decoding happening, it is
incorrect to state that ffmpeg is transcoding.

* replace dep with go mod

* update dependencies

* fix test failure

* GOPATH not required anymore

* fix version number configuration to be compatible with go modules

* Bump version number to 1.1.0.6

* updated go.mod, go.sum

* Use standard crossbuild for docker build instead of spinning up a docker build container.

* Support multicast streams through udpxy in the custom provider (tellytv#238)

* m3uplus parser: support UDP streams.

* Allow customers using the custom provider to use udpxy as a multicast proxy.

* ensure that ffmpeg processes are reaped to prevent zombies (tellytv#262)

* Remove -re from ffmpeg command (tellytv#267)

Remove '-re' from ffmpeg command, was causing buffering/packet loss.  From the ffmpeg docs:

-re (input)

Read input at native frame rate. Mainly used to simulate a grab device, or live input stream (e.g. when reading from a file). Should not be used with actual grab devices or live input streams (where it can cause packet loss).

* Remove references to non-Custom providers.

* Add a few more filetypes to ignore.

* Issues tellytv#185, tellytv#265

* Trimmed build platforms

* tarballs require crossbuild

* bump version

Co-authored-by: Robbie Trencheny <me@robbiet.us>
Co-authored-by: Guy Spronck <guyspr@users.noreply.github.com>
Co-authored-by: EnorMOZ <13998170+EnorMOZ@users.noreply.github.com>
Co-authored-by: BillOatman <woatman@rochester.rr.com>
Co-authored-by: EinAuslander <44206660+EinAuslander@users.noreply.github.com>
Co-authored-by: Aman Gupta <aman@tmm1.net>
Co-authored-by: 5Ub-Z3r0 <1673590+5Ub-Z3r0@users.noreply.github.com>
Co-authored-by: iMx <17220013+iMiMx@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants