mirror of
https://github.com/pierre-emmanuelJ/iptv-proxy.git
synced 2026-03-12 22:24:18 +01:00
7175cfce0aed47b4bad2fd55ec32b75e1df6cba9
Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>
…
…
…
…
Iptv Proxy
Description
Iptv Proxy is a project to convert an iptv m3u file
into a web proxy server And give a new m3u file
with the new routes to the proxy server
Example
original iptv m3u file
#EXTM3U
#EXTINF:-1 tvg-ID="examplechanel1.com" tvg-name="chanel1" tvg-logo="http://ch.xyz/logo1.png" group-title="USA HD",CHANEL1-HD
http://iptvexample.net:1234/12/test/1
#EXTINF:-1 tvg-ID="examplechanel2.com" tvg-name="chanel2" tvg-logo="http://ch.xyz/logo2.png" group-title="USA HD",CHANEL2-HD
http://iptvexample.net:1234/13/test/2
#EXTINF:-1 tvg-ID="examplechanel3.com" tvg-name="chanel3" tvg-logo="http://ch.xyz/logo3.png" group-title="USA HD",CHANEL3-HD
http://iptvexample.net:1234/14/test/3
#EXTINF:-1 tvg-ID="examplechanel4.com" tvg-name="chanel4" tvg-logo="http://ch.xyz/logo4.png" group-title="USA HD",CHANEL4-HD
http://iptvexample.net:1234/15/test/4
What proxy IPTV do
- convert chanels url to new endpoints
- convert original m3u file with new routes
start proxy server example:
poxy-server --m3u-url http://iptvexample.net/iptvm3ufile.m3u \ # or local m3u file
--port 8080 \ # port you want to expose your proxy
--hostname proxyserver.com # hostname of your machine running this proxy
##### UNSAFE AUTH TODO ADD REAL AUTH
--user test
--password passwordtest
- give you the m3u file on a specific endpoint
http://poxyserver.com:8080/iptv.m3u
#EXTM3U
#EXTINF:-1 tvg-ID="examplechanel1.com" tvg-name="chanel1" tvg-logo="http://ch.xyz/logo1.png" group-title="USA HD",CHANEL1-HD
http://poxyserver.com:8080/12/test/1
#EXTINF:-1 tvg-ID="examplechanel2.com" tvg-name="chanel2" tvg-logo="http://ch.xyz/logo2.png" group-title="USA HD",CHANEL2-HD
http://poxyserver.com:8080/13/test/2
#EXTINF:-1 tvg-ID="examplechanel3.com" tvg-name="chanel3" tvg-logo="http://ch.xyz/logo3.png" group-title="USA HD",CHANEL3-HD
http://poxyserver.com:8080/14/test/3
#EXTINF:-1 tvg-ID="examplechanel4.com" tvg-name="chanel4" tvg-logo="http://ch.xyz/logo4.png" group-title="USA HD",CHANEL4-HD
http://poxyserver.com:8080/15/test/4
Installation
Without Docker
Download lasted release
% iptv-proxy --m3u-url http://example.com/iptv.m3u \
--port 8080 --hostname poxyexample.com \
##### UNSAFE AUTH TODO ADD REAL AUTH
--user test
--password passwordtest
Or
% go install
% iptv-proxy --m3u-url http://example.com/iptv.m3u \
--port 8080 --hostname poxyexample.com \
##### UNSAFE AUTH TODO ADD REAL AUTH
--user test
--password passwordtest
With Docker
Prerequisite
- Add an m3u URL in
docker-compose.ymlor add local file iniptvfolder HOSTNAMEandPORTto expose- Expose same container port as the
PORTENV variable
ports:
# have to be the same as ENV variable PORT
- 8080:8080
environment:
# if you are using m3u remote file
# M3U_URL: https://example.com/iptvfile.m3u
M3U_URL: /root/iptv/iptv.m3u
# Port to expose the IPTVs endpoints
PORT: 8080
# Hostname or IP to expose the IPTVs endpoints (for machine not for docker)
HOSTNAME: localhost
##### UNSAFE AUTH TODO ADD REAL AUTH
USER: test
PASSWORD: testpassword
Start
% docker-compose up -d
TODO
there is unsafe auth just for testing. change with real auth with database and user management and auth with token
ENJOY!
Description
No description provided
dockerdocker-composegogolangiptviptv-proxyiptv-smarterm3um3u-proxym3u8proxyxtreamxtream-codesxtream-proxy
Readme
GPL-3.0
8.1 MiB
Languages
Go
99.2%
Dockerfile
0.8%