tellytv / telly

An IPTV proxy
MIT License
770 stars 106 forks source link

command error when pointing to a url #124

Closed Supermanprimeonemillion closed 6 years ago

Supermanprimeonemillion commented 6 years ago

I am attempting to point Telly to a URL. But the url contains the word "password" which telly recognizes as a unknown command and thus fails to get the m3u.

hazcod commented 6 years ago

Try surrounding the URL with quotes.

Supermanprimeonemillion commented 6 years ago

I don't know whether that worked or not. It no longer gives me the error but fails to create the file instead.

Foebik commented 6 years ago

Yeah Im having the same issue. I thought about doing the quotes too and also getting the same error.

[telly] [error] Could not create file: C:\Users\Foebik\AppData\Local\Temp ; open C:\Users\Foebik\AppData\Local\Temp: is
a directory
Foebik commented 6 years ago

I tried using tiny URL so I didnt have to user quotes, and get the same error. It doesn't seem to like http or https requests.

Upon thinking about this, it must be looking for a downloaded m3u file, just not in the right place or in the right way... or it just never actually downloaded it (I can't manually find it).

chazlarson commented 6 years ago

The -temp param should be the complete path to the target m3u file. If it's not specified, an autogenerated location will be used.

There's no problem with including "password" in the URL in my experience. For example:

assuming: export vaders_live_url="http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts"

-temp is just a directory:

| => telly/bin/telly -playlist="${vaders_live_url}" -temp "$PWD"
[telly] [info] booting telly v0.6
[telly] [error] Could not create file: /Users/USERNAME/dev/autotelly ; open /Users/USERNAME/dev/autotelly: is a directory

-temp is a path to an *m3u file:

| => telly/bin/telly -playlist="${vaders_live_url}" -temp "$PWD/vader.m3u"
[telly] [info] booting telly v0.6
[telly] [info] Downloading file http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts to /Users/USERNAME/dev/autotelly/vader.m3u
[telly] [info] Reading m3u file /Users/USERNAME/dev/autotelly/vader.m3u...
[telly] [warning] telly is not attempting to strip out unneeded channels, please use the flag -filterregex if telly returns too many channels
[telly] [info] telly is currently not filtering for only uk television. if you would like it to, please use the flag -uktv
[telly] [info] found 1335 channels
...

-temp is omitted:

| => telly/bin/telly -playlist="${vaders_live_url}"
[telly] [info] booting telly v0.6
[telly] [info] Downloading file http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts to /var/folders/qj/6lk9j3xd29z4ymvqqzh2kr08y4tf96/T//telly.m3u
[telly] [info] Reading m3u file /var/folders/qj/6lk9j3xd29z4ymvqqzh2kr08y4tf96/T//telly.m3u...
[telly] [warning] telly is not attempting to strip out unneeded channels, please use the flag -filterregex if telly returns too many channels
[telly] [info] telly is currently not filtering for only uk television. if you would like it to, please use the flag -uktv
[telly] [info] found 1335 channels
...
Foebik commented 6 years ago

I understand that temp is going to be locations is the location that the Telly is expecting the m3u file to be located. But not sure how I can change it or even verify that it is actually downloading it anywhere. Im on Windows and running the exe through cmd prompt. I am not getting the info, warnings or errors you are showing.

Not sure what I can do fix this.

Foebik commented 6 years ago

So I was able to manually download the file and use the -temp command to find it. And got it working that way. As far as I can tell, the app doesnt seem to want to download the m3u.

I've tried different temp directories, the main URL with quotes (which did get rid of the password error) and tinyURL, to no avail.

chazlarson commented 6 years ago

I just ran a couple experiments under windows:

No temp specified [doesn't seem to work the same as linux]:

C:\Users\chaz\Downloads\telly>telly-windows-amd64.exe -playlist="http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts"
[telly] [info] booting telly v0.6.2
[telly] [error] Could not create file: C:\Users\chaz\AppData\Local\Temp ; open C:\Users\chaz\AppData\Local\Temp: is a directory

Full path specified:

C:\Users\chaz\Downloads\telly>telly-windows-amd64.exe -playlist="http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts" -temp="C:\Users\chaz\Downloads\telly\vader.m3u"
[telly] [info] booting telly v0.6.2
[telly] [info] Downloading file http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts to C:\Users\chaz\Downloads\telly\vader.m3u
[telly] [info] Reading m3u file C:\Users\chaz\Downloads\telly\vader.m3u...
[telly] [warning] telly is not attempting to strip out unneeded channels, please use the flag -filterregex if telly returns too many channels
[telly] [info] telly is currently not filtering for only uk television. if you would like it to, please use the flag -uktv
[telly] [info] found 1320 channels
...

There's now a vader.m3u in that directory.

This is Windows 10 and a copy of telly downloaded a few minutes ago.

What are you seeing in these cases?

Foebik commented 6 years ago

Im not getting the following as in your example.

[telly] [info] Downloading file http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts to C:\Users\chaz\Downloads\telly\vader.m3u
[telly] [info] Reading m3u file C:\Users\chaz\Downloads\telly\vader.m3u...

I've a few different combination for my commands. But this was the latest one.

telly.exe -playlist="http://streams.ultrabox.site:7000/get.php?username=USERNAME&password=PASSWORD&type=m3u_plus&output=ts" -temp=c:\telly\

Using Epicstream from Boss TV as my provider.

And this is it output...

[telly] [info] booting telly v0.6.2
[telly] [error] Could not create file: c:\telly\ ; open c:\telly\: is a directory

Nothing after that last error, just goes back to cmd prompt.

If I manually download the file and put it in the same directory and call it 'iptv.m3u' it works just fine. I been having issues with regex, but that is for another conversation. My biggest issue is it doesn't seem to want to download. But pasting that same URL in a web page downloads it just fine.

Foebik commented 6 years ago

Nevermind, I figured it out. I was re-reading my own post. It occurred to me when it says it cannot create the file, what I thought it may really mean is it couldn't create the 'Folder' as it already existed. Once I told it to make a new folder that didn't exist, it worked. (aka C:\telly\M3U).

Now I just have to figure out how to regex the channels... Not a lot of examples out there that I have found. But that is a topic for another conversation.

Thanks!

chazlarson commented 6 years ago

-temp hs to be the full path to the m3u file, including the name. It's not pointing to the directory where you want to put the m3u, it's pointing to the m3u file you want to save.

I imagine you now have a file at C:\telly\M3U which contains m3u data, not a folder called "M3U" with an m3u file inside it.

for me, this:

C:\path>telly-windows-amd64.exe 
    -playlist="http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts" 
    -temp="C:\path\NOSUCHFILE.m3u"

results in a file called "NOSUCHFILE.m3u" containing the m3u data, while:

C:\path\telly>telly-windows-amd64.exe 
    -playlist="http://api.vaders.tv/vget?username=REDACTED&password=REDACTED&format=ts" 
    -temp="C:\path\NOSUCHFILE"

results in a file called "NOSUCHFILE" [no extension] containing the m3u data.

Foebik commented 6 years ago

I imagine you now have a file at C:\telly\M3U which contains m3u data, not a folder called "M3U" with an m3u file inside it.

Just checked, you are correct. My assumption was wrong but the outcome made it work.