tellytv / telly

An IPTV proxy
MIT License
750 stars 105 forks source link

REDACTED in username and password field #285

Closed rockydares closed 2 years ago

rockydares commented 2 years ago

No matter what I give in the username and password field (in url), it always shows REDACTED as username and password. Thus, it shows malformed m3u provided

aaaadd

chazlarson commented 2 years ago

The substitution of user/pass to "REDACTED" is done purely for logging purposes; it isn't causing this problem.

No matter what I give in the username and password field

There should be just one valid set of user/pass, which you would have received from your IPTV provider. If you put anything but those values in that URL, you'll get this result.

chazlarson commented 2 years ago

For example, with valid credentials in the URLs:

time="2021-08-16T16:50:39Z" level=info msg="telly is preparing to go live (version=1.1.0.6, branch=dev, revision=741108cd2100cf9f4d3a13f771d1ebe5132baae6)"
time="2021-08-16T16:50:39Z" level=debug msg="Build context (go=go1.12.5, user=root@d917f0150314, date=20190509-20:15:06)"
time="2021-08-16T16:50:39Z" level=info msg="Loading M3U from http://BINGBANGBOING/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts"
time="2021-08-16T16:50:39Z" level=info msg="Loading XMLTV from http://BINGBANGBOING/xmltv.php?username=REDACTED&password=REDACTED"
time="2021-08-16T16:51:19Z" level=info msg="Loaded 162 channels into the lineup from BINGBANGBOING"
time="2021-08-16T16:51:19Z" level=debug msg="creating device xml"
time="2021-08-16T16:51:19Z" level=debug msg="creating webserver routes"
time="2021-08-16T16:51:19Z" level=debug msg="Advertising telly as telly (12345678-AE2A-4E54-BBC9-33AF7D5D6A92)"
time="2021-08-16T16:51:19Z" level=info msg="telly is live and on the air!"
time="2021-08-16T16:51:19Z" level=info msg="Broadcasting from http://0.0.0.0:6077/"
time="2021-08-16T16:51:19Z" level=info msg="EPG URL: http://0.0.0.0:6077/epg.xml"

Log shows "REDACTED", m3u file loads fine.

rockydares commented 2 years ago

I gave the right m3u_plus url but it always fails

INFO[2021-08-17T18:00:53Z] telly is preparing to go live (version=1.1.0.6, branch=dev, revision=dafac1f21a0f5397511965d9f0a2ae930d51fe95) INFO[2021-08-17T18:00:53Z] Loading M3U from http://mag.cdn-ky.com/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=ts ERRO[2021-08-17T18:00:53Z] unable to parse m3u file error="malformed M3U provided" ERRO[2021-08-17T18:00:53Z] error when preparing provider error="malformed M3U provided" ERRO[2021-08-17T18:00:53Z] error when processing provider error="malformed M3U provided" INFO[2021-08-17T18:00:53Z] telly is live and on the air! INFO[2021-08-17T18:00:53Z] Broadcasting from http://0.0.0.0:80/ INFO[2021-08-17T18:00:53Z] EPG URL: http://0.0.0.0:80/epg.xml When I enter the same url on my browser, the m3u_file gets downloaded, so it's not invalid details. What could cause this error

chazlarson commented 2 years ago

Is telly running on the same machine as the browser? If, on the same machine as telly is running, you try to retrieve the URL using curl, what happens? Here's what I'd expect for success, using the same user-agent that telly does

curl -fLvo test.m3u -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" http://SERVER_PORT/get.php\?username\=MY_USER\&password\=MY_PASS\&type\=m3u_plus\&output\=ts
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 111.222.333.444...
* TCP_NODELAY set
* Connected to SERVER (111.222.333.444) port PORT (#0)
> GET /get.php?username=MY_USER&password=MY_PASS&type=m3u_plus&output=ts HTTP/1.1
> Host: SERVER_PORT
> User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Tue, 17 Aug 2021 18:42:14 GMT
< Content-Type: application/octet-stream
< Connection: close
< Access-Control-Allow-Origin: *
< Content-Description: File Transfer
< Expires: 0
< Cache-Control: must-revalidate
< Pragma: public
< Content-Disposition: attachment; filename="playlist_MY_USER_plus.m3u"
<
{ [39728 bytes data]
100  480k    0  480k    0     0   697k      0 --:--:-- --:--:-- --:--:--  696k
* Closing connection 0

Then test.m3u should contain the m3u data.

If telly and the browser are running in different places [browser on your laptop, telly on a remote server], the IPTV provider might be blocking data-center IPs.

You could try telly from the same machine as the browser if it's not already.

Ultimately, telly is trying to load this URL via standard HTTP; it's not doing anything unusual.

You should take this to the Discord; it's better for this sort of back-and-forth. If it turns out that there is a true issue on telly's side that'll go here.

rockydares commented 2 years ago

You should take this to the Discord; it's better for this sort of back-and-forth. If it turns out that there is a true issue on telly's side that'll go here.

I understand, thanks for the reply. (curl returned 404 error, on my 2 remote servers. I don't know but may be cloudflare is the problem)

chazlarson commented 2 years ago

I recall awhile ago [in Vaders days] that some IPTV providers required you to ask for "VPN support" to use them from Hetzner servers and the like. Perhaps you're running into something similar.

chazlarson commented 2 years ago

Probably don't want that in public.

chazlarson commented 2 years ago

curl works from my home and from a Digital Ocean VPS [if I don't specify the user-agent the DO machine gives a 503]. I don't have a Hetzner anymore to test from there. Also works from my primary server, which is in a private data center in LA, with or without the user-agent.

rockydares commented 2 years ago

Ok, one last question, why this error showing while I'm using the m3u file (which I downloaded from my pc browser)

Could not decode xmltv programme error="XML syntax error on line 308: invalid character entity & (no semicolon)"

chazlarson commented 2 years ago

That looks like an error parsing the XML guide information. The M3U wouldn't throw an XML syntax error since no one should be trying to read it as XML.

FWIW, here's your M3U and XML links, running through my telly test jig [locally], with the filter set to "UK General":

building and running docker container:
========================================
cf5aa5049f819b7f1e26d836a0582967783e3a002eabd1c201ee04373b953ac9
time="2021-08-17T20:29:39Z" level=info msg="telly is preparing to go live (version=1.1.0.6, branch=dev, revision=741108cd2100cf9f4d3a13f771d1ebe5132baae6)"
time="2021-08-17T20:29:39Z" level=info msg="Loading M3U from http://mag.cdn-ky.com/get.php?username=REDACTED&password=REDACTED&type=m3u_plus&output=mpegts"
time="2021-08-17T20:29:54Z" level=info msg="Loading XMLTV from http://mag.cdn-ky.com/xmltv.php?username=REDACTED&password=REDACTED"
time="2021-08-17T20:30:53Z" level=info msg="Loaded 65 channels into the lineup from rockydares"
time="2021-08-17T20:30:53Z" level=info msg="telly is live and on the air!"
time="2021-08-17T20:30:53Z" level=info msg="Broadcasting from http://0.0.0.0:6077/"
time="2021-08-17T20:30:53Z" level=info msg="EPG URL: http://0.0.0.0:6077/epg.xml"

Again, let's move this to the Discord.