EnglishEnglish RussianРусский

HLS-Proxy is a server app for IPTV streaming in HLS format (Apple HTTP Live Streaming) and caching for IPTV-player without dropouts and buffering.

For Torrent-TV clients (torrent-tv.ru)

Open Torrent-TV tuning info

Open torrent-tv.ru your personal cabinet =>.

In "Playlists" section press "Create new playlist" button,
Check all checkboxes as shown at the picture below:
TS Proxy Settings
Press "Ok" button and remember the link to the playlist. We will need it soon.

HLS-Proxy setup

Unpack an archive with proxy to a folder.
By default, HLS-Proxy uses HTTP port 80.

If you are a Linux user - add executable permissions for a file hls-proxy: chmod 755 ./hls-proxy

After app running, if a port 80 is not used you can open next links for tuning a proxy:

  • http://hls_proxy_ip/ - For IPTV-player it is a link to a playlist. For a browser it is a html rich page with channels and EPG.
  • http://hls_proxy_ip/status - A proxy status page, opened streams and clients.
  • http://hls_proxy_ip/config - A config view and edit page. Changes will be stored to local.json file, which contains parameters different from default.json
  • http://hls_proxy_ip/epg - EPG link for your IPTV-players in xml.gz format
  • http://hls_proxy_ip/m3u8 - If a first playlist link from this list is not opened in a player you can use this link as a playlist. Perfect Player for Windows doesn't work.
  • http://hls_proxy_ip/rec - Recorded programs.

Instead of hls_proxy_ip use a computer address where hls-proxy runs

If you can't run proxy then it is possible that a http port 80 is used by another app. You need to change it manually.

Open default.json file, and find a next section
                "SERVER": {
                    "protocol": "http",
                    "address": "0.0.0.0",
                    "port": 80
                }
                
change "port" value to 8080.
Proxy will be available by link http://hls_proxy_ip:8080/
Remember that JSON files have a strict format. You need to respect brackets, commas and quotes. To avoid this kink of problems you can use a configurator through a web interface.

Playlist setup

The most important thing to setup is a playlist source.
If HLS-Proxy is running, open /config, find "URL" field in "Playlist" section and put there your playlist link. Press "Save" button to apply changes.
Wait a couple of seconds till a playlist is loading and that's it.
By opening a main page / you should see a channels list.

Config catch ups

Proxy stores its settings in JSON files.
The main config file - default.json. It is not recommended to edit it manually. Editing config using web config saves changes into additional local.json file.
Inside local.json stored values different from defaults.

Other.

Detailed description of settings you can find at web page /config

EPG is not available at the start. It will take minutes to download and parse.

Server is not protected by username and password, so it is not recommended to run it on public networks.

HTTP proxy setup

Configure external HTTP proxy to bypass firewalls using environment variables

The following environment variables are respected by HLS Proxy

  • HTTP_PROXY / http_proxy
  • HTTPS_PROXY / https_proxy
  • NO_PROXY / no_proxy

When HTTP_PROXY / http_proxy are set, they will be used to proxy non-SSL requests that do not have an explicit proxy configuration option present. Similarly, HTTPS_PROXY / https_proxy will be respected for SSL requests that do not have an explicit proxy configuration option. It is valid to define a proxy in one of the environment variables, but then override it for a specific request, using the proxy configuration option. Furthermore, the proxy configuration option can be explicitly set to false / null to opt out of proxying altogether for that request.

HLS Proxy is also aware of the NO_PROXY/no_proxy environment variables. These variables provide a granular way to opt out of proxying, on a per-host basis. It should contain a comma separated list of hosts to opt out of proxying. It is also possible to opt of proxying when a particular destination port is used. Finally, the variable may be set to * to opt out of the implicit proxy configuration of the other environment variables.

Here's some examples of valid no_proxy values:

  • google.com - don't proxy HTTP/HTTPS requests to Google.
  • google.com:443 - don't proxy HTTPS requests to Google, but do proxy HTTP requests to Google.
  • google.com:443, yahoo.com:80 - don't proxy HTTPS requests to Google, and don't proxy HTTP requests to Yahoo!
  • * - ignore https_proxy/http_proxy environment variables altogether.