Coder Social home page Coder Social logo

iptv-proxy's People

Contributors

kvaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

iptv-proxy's Issues

how to run this?

i dont find clear instructions how to run this?
can you please help me out with this please.

Its runs, but what now..?

Hi.

Am I correct that the service will provide a webservice on the port configured in config.yml?

I get everything to run on the machine, but cannot access the service from browser or VLC.

This is what iptv-proxy dumps when starting.

17.07.2023 10:08:52 [INFO ] :: App :: loading config...
17.07.2023 10:08:53 [INFO ] :: IptvProxyService :: starting
17.07.2023 10:08:53 [INFO ] :: IptvProxyService :: updating channels
17.07.2023 10:08:53 [INFO ] :: AsyncLoader :: 00001| loading playlist: iptvteststream, retry: 0, url: http://*********
17.07.2023 10:08:53 [INFO ] :: IptvProxyService :: parsing playlist: iptvteststream, url: http://*********
17.07.2023 10:08:53 [DEBUG] :: HttpUtils :: 00001| ok (739ms)
17.07.2023 10:08:54 [INFO ] :: IptvProxyService :: channels updated
17.07.2023 10:08:54 [INFO ] :: IptvProxyService :: started
<

m3u update?

Any chance this will be updated to work with m3u?

I worded this terribly! I am sorry. Today it works with HLS (m3u8) streams. I was wondering if you were going to extend it to work with mpeg-ts or m3u streams.

Thanks for replying!

Server redirect does not respect server port and protocol

Issue description

When attempting to fetch channel stream the server redirects to port 80 with protocol http. The redirect fails as port 80 is not open.

Environment

vanilla nginx listening on port 27016 https and java sdk 18

Steps to reproduce the issue

  1. Successfully fetch the playlist file
  2. open in vlc.
  3. VLC errors out and asks me to check logs

What's the expected result?

Server redirect respects protocol and port

What's the actual result?

The server redirects to a port 80 and protocol (http) instead of https and port 27016

Logs from VLC

http debug: outgoing request:
GET /033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791/channel.m3u8?t=userName-18b9286f0c5c813b5a133f3f7daed083 HTTP/1.1
Host: my.domain.com:27016 
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.16 LibVLC/3.0.16
Range: bytes=0-

http debug: incoming response:

HTTP/1.1 302 Found
Server: nginx/1.18.0
Date: Wed, 08 Dec 2021 08:11:42 GMT
Content-Length: 0
Connection: keep-alive
Location: http://my.domain.com/033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791/?t=userName-18b9286f0c5c813b5a133f3f7daed083

main debug: no access modules matched
main debug: redirecting to: http://my.domain.com/033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791/?t=userName-18b9286f0c5c813b5a133f3f7daed083
main debug: creating access: http://my.domain.com/033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791/?t=userName-18b9286f0c5c813b5a133f3f7daed083
main debug:  (path: \\my.domain.com\033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791\)
main debug: looking for access module matching "http": 27 candidates
http debug: resolving my.domain.com ...

http debug: outgoing request:
GET /033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791/?t=userName-18b9286f0c5c813b5a133f3f7daed083 HTTP/1.1
Host: my.domain.com
Accept: */*
Accept-Language: en_US
User-Agent: VLC/3.0.16 LibVLC/3.0.16
Range: bytes=0-

http debug: connection failed
access error: HTTP connection failure
http debug: querying proxy for http://my.domain.com/033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791/?t=userName-18b9286f0c5c813b5a133f3f7daed083
http debug: no proxy
http debug: http: server='my.domain.com' port=80 file='/033ba2cb26837dc299e54122f8e491a9592ab6e222ca895ebb6d20a2f0c7c791/'
main debug: net: connecting to my.domain.com port 80
main error: connection failed: Connection refused by peer
http error: cannot connect to my.domain.com:80

Logs from iptv-proxy

08.12.2021 08:03:30 [INFO ] :: IptvUser :: [userName] user created
08.12.2021 08:03:30 [INFO ] :: IptvServerChannel :: [userName] channel acquired: <Channel Name> / default
08.12.2021 08:03:31 [INFO ] :: IptvServerChannel :: [userName] channel released: <Channel Name> / default
08.12.2021 08:03:31 [INFO ] :: IptvUser :: [userName] user removed

[Question] Can i do cache with this iptv proxy ?

Hi i'm looking for some way to do cache from a iptv source and proxy it to my Plex server.

The reason to do the cache it's to have less freezes, can you tell me if i can do that with your script ?

I have nvme ssd, and i would like to do some cache before streaming it there was a way to do that?

Bug in xmltv parser

14.02.2022 17:52:39 [WARN ] :: M3uParser :: url found while no info defined: #EXT-X-SESSION-DATA:DATA-ID="com.xui.1_5_5r2"
14.02.2022 17:52:39 [WARN ] :: M3uParser :: malformed property: "

Seems to be a bug in the xmltv parser

FR - custom user-agent and one stream -> multi-clients

Two clients using the same channel link uses two streams from the provider source. What would it take to send the single channel stream to two clients like TVHeadend does? (Sorry if that's a dumb question)

Unrelated, the client / user-agent is "Java-http-client/18..." Is there a way to set that otherwise? I searched and found some Java code but I have no idea where that would belong.
Thanks for sharing this work. I've had a good time compiling and testing it.

Proxy user cannot contain "-" character

Steps to reproduce

  1. In the config.yml enter a username containing - character
  2. Start the server with the above config
  3. Download the m3u file and open in VLC for example
  4. VLC errors out about certificates.
    gnutls error: Certificate verification failure: The certificate is NOT trusted. The certificate chain uses expired certificate.

where my-username is a username containing - charater

Current behaviour (bug)

Server fails to verify the digest. Reason for bug is that - characters result in incorrect splitting of data, see line 375 in src/main/java/com/kvaster/iptv/IptvProxyService.java

Expected behavior (correct)

digest is correctly validated even when containing -, alternatively, error on server startup when usernames contain - characters.

Relevant logs and/or media (optional)

Server log row
08.12.2021 06:10:50 [WARN ] :: IptvProxyService :: invalid user token: my-username-cd263115950df845402b7f8775e851f4, proxyUser: null

P2P Media Loader "not a bug"

Hello Friend.
i have a situation: I need p2p media loader to load my .m3u8, but that library its in js.
so, if I create a .html page with video player and load in webview, whit proxy I can send that video to exoplayer ?
your project is kind awesome.

πŸ––πŸ»β˜ΊοΈ

Local m3u possible?

Sorry to be a bother!
I tried using "- url: file:///path/foo.m3u" instead of a web address and it isn't working yet. Is there a way of using a local m3u list?
I'm getting:
"App :: fatal error
java.lang.IllegalArgumentException: invalid URI scheme file"
Thanks again for sharing this.

Channel Combining question

What is the matching principle for channel combination?

Does it only combine/HA channels that have the same URL?
Can it combine based on other m3u tags... like tvg-id or something?

Question on use

My situation: provider allows only 1client/1stream and I have 1 playlist only, which is not problem, but I want to share these streams to 3 more TV in my house:

Screenshot 2022-01-17 at 19 15 37

I would like to achieve that if any of subclient or mainclient is watching others should be blocked from connecting (first come first serve). This way provider always see one connection/request and I am not breaking the rules.

In an advanced scenario I could imagine to stream to other clients a video with message "stream in use, try later" while the connection is busy.

Is this possible with this software?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.