EnglishEnglish RussianРусский SpanishEspañol

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.

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 any local computer address or hostname 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.

HLS-Proxy es una aplicación servidor para transmisión de IPTV en formato HLS (Apple HTTP Live Streaming) y almacenamiento en caché para reproductores de IPTV sin interrupciones ni almacenamiento en búfer.

Configuración HLS-Proxy

Descomprime el archivo HLS-proxy en una carpeta.
Por defecto, HLS-proxy usa el puerto HTTP 80.

Si es usuario de Linux, agregue permisos ejecutables para el archivo hls-proxy: chmod 755 ./hls-proxy

Después de ejecutar la aplicación, si el puerto 80 no esta en uso por otro servicio, puede abrir los siguientes enlaces para ajustar el proxy:

  • http://hls_proxy_ip/ -Para el reproductor de IPTV el enlace a una lista de reproducción. Para un navegador html accede a página con canales y EPG.
  • http://hls_proxy_ip/status - Página de estado del proxy, flujos abiertos y clientes.
  • http://hls_proxy_ip/config - Vista de configuración y edición de página. Los cambios se almacenarán en el archivo local.json, que contiene parámetros diferentes de default.json.
  • http://hls_proxy_ip/epg - EPG Enlace para sus reproductores de IPTV en formato xml.gz.
  • http://hls_proxy_ip/m3u8 - Si un primer enlace de la lista de reproducción no abre en un reproductor de video, puede usar este enlace como una lista de reproducción. Perfect Player para Windows no funciona.
  • http://hls_proxy_ip/rec - Programas grabados.

En lugar de hls_proxy_ip, use la dirección de la computadora donde se ejecuta hls-proxy.

Si no puede ejecutar el proxy, es posible que otra aplicación utilice el puerto http 80. Necesitas cambiarlo manualmente.

Abra el archivo default.json y busque la siguiente sección
                "SERVER": {
                    "protocol": "http",
                    "address": "0.0.0.0",
                    "port": 80
                }
                
cambie el valor del "port" a 8080.
Proxy estará disponible por enlace http://hls_proxy_ip:8080/
Recuerda que los archivos JSON tienen un formato estricto. Necesitas respetar corchetes, comas y comillas. Para evitar este problema, puedes utilizar el configurador a través de la interfaz web.

Configuración de la lista de reproducción

Lo más importante para configurar es una fuente de lista de reproducción.
Si HLS-Proxy se está ejecutando , abra / config, busque el campo "URL" en la sección "Lista de reproducción" y ponga allí su enlace de lista de reproducción. Presiona el botón "Guardar" para aplicar los cambios.
Espera un par de segundos hasta que la lista de reproducción se cargue y eso es todo.
Al abrir la página principal / debería ver una lista de canales.

Configuracion de capturas

Proxy almacena su configuración en archivos JSON.
El archivo de configuración principal es - default.json. No se recomienda editarlo manualmente. La edición del archivo de configuración utilizando un explorador web guarda los cambios en un archivo adicional de local.json .
Dentro de local.json se almacenan valores diferentes a los predeterminados.

Otros.

Descripción detallada de los ajustes que puede encontrar en la página web / config.

EPG no está disponible al inicio. Tardará unos minutos en descargar y analizar.

El servidor no está protegido por nombre de usuario y contraseña, por lo que no se recomienda ejecutarlo en redes públicas.

Configuración de proxy HTTP

Configure el proxy HTTP externo para evitar los cortafuegos que utilizan variables de entorno

The following environment variables are respected by HLS Proxy

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

Cuando HTTP_PROXY / http_proxy están configurados, se utilizarán para proxy solicitudes no SSL que no tienen un explicito proxy Opción de configuración actual. Similar, HTTPS_PROXY / https_proxyserá respetado para las solicitudes SSL que no tienen un explícitoproxy Opción de configuración. Es válido definir un proxy en una de las variables de entorno, pero luego anularlo para una solicitud específica, utilizando el proxy Opción de configuración. Además, elproxy la opción de configuración se puede establecer explícitamente en falso / nulo para optar por excluirse por completo de esa solicitud.

HLS Proxy También es consciente de la NO_PROXY/no_proxyvariables de entorno. Estas variables proporcionan una forma granular de rechazar el envío de proxy, por host. Debe contener una coma lista separada de hosts para optar por no enviar fuera del proxy. También es posible optar por proxy cuando un determinado puerto de destino es utilizado. Finalmente, la variable se puede configurar para * para optar por el proxy implícito configuración de las demás variables de entorno.

Aquí hay algunos ejemplos de validez no_proxy valores:

  • google.com - no enviar solicitudes HTTP / HTTPS a Google.
  • google.com:443 - no enviar solicitudes HTTPS a Google, pero hacer solicitudes HTTP de proxy para Google.
  • google.com:443, yahoo.com:80 - no haga proxy solicitudes HTTPS a Google, y no haga proxy HTTP a solicitudes hacia Yahoo!
  • * - ignorar https_proxy/http_proxy variables de entorno en conjunto.