support hls stream proxy

Signed-off-by: Pierre-Emmanuel Jacquier <pierre-emmanuel.jacquier@epitech.eu>
This commit is contained in:
Pierre-Emmanuel Jacquier
2019-05-19 10:18:49 +00:00
parent e8e8f4bfa3
commit 1718204a36
2 changed files with 11 additions and 2 deletions

View File

@@ -52,8 +52,6 @@ func Routes(proxyConfig *config.ProxyConfig, r *gin.RouterGroup, newM3U []byte)
// XXX Private need for external Android app
r.POST("/iptv.m3u", p.authenticate, p.getM3U)
r.GET("/hlsr/*", p.authenticate, p.xtreamStream)
//Xtream, iptv Smarter android app compatibility
r.GET("/player_api.php", p.authenticate, p.xtreamPlayerAPIGET)
r.POST("/player_api.php", p.appAuthenticate, p.xtreamPlayerAPIPOST)
@@ -62,6 +60,7 @@ func Routes(proxyConfig *config.ProxyConfig, r *gin.RouterGroup, newM3U []byte)
r.GET(fmt.Sprintf("/live/%s/%s/:id", proxyConfig.User, proxyConfig.Password), p.xtreamStreamLive)
r.GET(fmt.Sprintf("/movie/%s/%s/:id", proxyConfig.User, proxyConfig.Password), p.xtreamStreamMovie)
r.GET(fmt.Sprintf("/series/%s/%s/:id", proxyConfig.User, proxyConfig.Password), p.xtreamStreamSeries)
r.GET("/hlsr/:token/:username/:password/:channel/:tmp/:extension", p.hlsrStream)
for i, track := range proxyConfig.Playlist.Tracks {
oriURL, err := url.Parse(track.URI)

View File

@@ -144,3 +144,13 @@ func (p *proxy) xtreamStreamSeries(c *gin.Context) {
stream(c, rpURL)
}
func (p *proxy) hlsrStream(c *gin.Context) {
req, err := url.Parse(fmt.Sprintf("%s%s", p.XtreamBaseURL, c.Request.URL.String()))
if err != nil {
c.AbortWithError(http.StatusInternalServerError, err)
return
}
stream(c, req)
}