add ysptp and itv support

pull/70/head
肥羊 2 years ago
parent 7e9d430e0c
commit 47ce15b442
  1. 455
      Golang/list/tvm3u.go
  2. 341
      Golang/liveurls/itv.go
  3. 10
      Golang/liveurls/youtube.go
  4. 167
      Golang/liveurls/ysptp.go
  5. 50
      Golang/main.go

@ -0,0 +1,455 @@
package list
import (
"fmt"
"github.com/gin-gonic/gin"
)
type Tvm3u struct {
}
func (t *Tvm3u) GetTvM3u(c *gin.Context) {
fmt.Fprintln(c.Writer, "#EXTM3U x-tvg-url=\"https://epg.v1.mk/fy.xml\"")
fmt.Fprintln(c.Writer, "#EXTINF:-1 tvg-name=\"4K60PSDR-H264-AAC测试\" tvg-logo=\"https://cdn.jsdelivr.net/gh/feiyangdigital/testvideo/tg.jpg\" group-title=\"4K频道\",4K60PSDR-H264-AAC测试")
fmt.Fprintln(c.Writer, "https://cdn.jsdelivr.net/gh/feiyangdigital/testvideo/sdr4kvideo/index.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1 tvg-name=\"4K60PHLG-HEVC-EAC3测试\" tvg-logo=\"https://cdn.jsdelivr.net/gh/feiyangdigital/testvideo/tg.jpg\" group-title=\"4K频道\",4K60PHLG-HEVC-EAC3测试")
fmt.Fprintln(c.Writer, "https://cdn.jsdelivr.net/gh/feiyangdigital/testvideo/hlg4kvideo/index.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV1\" tvg-name=\"CCTV1\" tvg-logo=\"https://epg.v1.mk/logo/CCTV1.png\" group-title=\"央视\",cctv1-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv1.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV1\" tvg-name=\"CCTV1\" tvg-logo=\"https://epg.v1.mk/logo/CCTV1.png\" group-title=\"央视\",CCTV-1")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000029752.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv1\" tvg-name=\"cctv1\" tvg-logo=\"https://epg.v1.mk/logo/cctv1.png\" group-title=\"央视\",CCTV-1-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000002226.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV1\" tvg-name=\"CCTV1\" tvg-logo=\"https://epg.v1.mk/logo/CCTV1.png\" group-title=\"央视\",CCTV-1-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265001.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv2\" tvg-name=\"cctv2\" tvg-logo=\"https://epg.v1.mk/logo/cctv2.png\" group-title=\"央视\",cctv2-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv2.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv2\" tvg-name=\"cctv2\" tvg-logo=\"https://epg.v1.mk/logo/cctv2.png\" group-title=\"央视\",CCTV-2")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000023315.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV2\" tvg-name=\"CCTV2\" tvg-logo=\"https://epg.v1.mk/logo/CCTV2.png\" group-title=\"央视\",CCTV-2-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000014161.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv2\" tvg-name=\"cctv2\" tvg-logo=\"https://epg.v1.mk/logo/cctv2.png\" group-title=\"央视\",CCTV-2-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000023315.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv3\" tvg-name=\"cctv3\" tvg-logo=\"https://epg.v1.mk/logo/cctv3.png\" group-title=\"央视\",cctv3-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv3.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv3\" tvg-name=\"cctv3\" tvg-logo=\"https://epg.v1.mk/logo/cctv3.png\" group-title=\"央视\",CCTV-3")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000022313.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv3\" tvg-name=\"cctv3\" tvg-logo=\"https://epg.v1.mk/logo/cctv3.png\" group-title=\"央视\",CCTV-3-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265003.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv4\" tvg-name=\"cctv4\" tvg-logo=\"https://epg.v1.mk/logo/cctv4.png\" group-title=\"央视\",cctv4-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv4.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV4\" tvg-name=\"CCTV4\" tvg-logo=\"https://epg.v1.mk/logo/CCTV4.png\" group-title=\"央视\",CCTV-4-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031102.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv4\" tvg-name=\"cctv4\" tvg-logo=\"https://epg.v1.mk/logo/cctv4.png\" group-title=\"央视\",CCTV-4-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265004.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv5\" tvg-name=\"cctv5\" tvg-logo=\"https://epg.v1.mk/logo/cctv5.png\" group-title=\"央视\",cctv5-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv5.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv5\" tvg-name=\"cctv5\" tvg-logo=\"https://epg.v1.mk/logo/cctv5.png\" group-title=\"央视\",CCTV-5")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000025222.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv5\" tvg-name=\"cctv5\" tvg-logo=\"https://epg.v1.mk/logo/cctv5.png\" group-title=\"央视\",CCTV-5-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265005.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv5+\" tvg-name=\"cctv5+\" tvg-logo=\"https://epg.v1.mk/logo/cctv5+.png\" group-title=\"央视\",cctv5p-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv5p.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv5+\" tvg-name=\"cctv5+\" tvg-logo=\"https://epg.v1.mk/logo/cctv5+.png\" group-title=\"央视\",CCTV-5+")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000015875.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv5+\" tvg-name=\"cctv5+\" tvg-logo=\"https://epg.v1.mk/logo/cctv5+.png\" group-title=\"央视\",CCTV-5+-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265016.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv6\" tvg-name=\"cctv6\" tvg-logo=\"https://epg.v1.mk/logo/cctv6.png\" group-title=\"央视\",cctv6-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv6.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv6\" tvg-name=\"cctv6\" tvg-logo=\"https://epg.v1.mk/logo/cctv6.png\" group-title=\"央视\",CCTV-6")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000001737.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV6\" tvg-name=\"CCTV6\" tvg-logo=\"https://epg.v1.mk/logo/CCTV6.png\" group-title=\"央视\",CCTV-6-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000004574.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv6\" tvg-name=\"cctv6\" tvg-logo=\"https://epg.v1.mk/logo/cctv6.png\" group-title=\"央视\",CCTV-6-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265006.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV7\" tvg-name=\"CCTV7\" tvg-logo=\"https://epg.v1.mk/logo/CCTV7.png\" group-title=\"央视\",cctv7-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv7.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV7\" tvg-name=\"CCTV7\" tvg-logo=\"https://epg.v1.mk/logo/CCTV7.png\" group-title=\"央视\",CCTV-7")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000024341.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV7\" tvg-name=\"CCTV7\" tvg-logo=\"https://epg.v1.mk/logo/CCTV7.png\" group-title=\"央视\",CCTV-7-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000009055.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV7\" tvg-name=\"CCTV7\" tvg-logo=\"https://epg.v1.mk/logo/CCTV7.png\" group-title=\"央视\",CCTV-7-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265007.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv8\" tvg-name=\"cctv8\" tvg-logo=\"https://epg.v1.mk/logo/cctv8.png\" group-title=\"央视\",cctv8-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv8.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv8\" tvg-name=\"cctv8\" tvg-logo=\"https://epg.v1.mk/logo/cctv8.png\" group-title=\"央视\",CCTV-8")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000001070.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv8\" tvg-name=\"cctv8\" tvg-logo=\"https://epg.v1.mk/logo/cctv8.png\" group-title=\"央视\",CCTV-8-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265008.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv9\" tvg-name=\"cctv9\" tvg-logo=\"https://epg.v1.mk/logo/cctv9.png\" group-title=\"央视\",cctv9-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv9.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv9\" tvg-name=\"cctv9\" tvg-logo=\"https://epg.v1.mk/logo/cctv9.png\" group-title=\"央视\",CCTV-9")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000014583.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CCTV9\" tvg-name=\"CCTV9\" tvg-logo=\"https://epg.v1.mk/logo/CCTV9.png\" group-title=\"央视\",CCTV-9-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000032162.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv9\" tvg-name=\"cctv9\" tvg-logo=\"https://epg.v1.mk/logo/cctv9.png\" group-title=\"央视\",CCTV-9-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265009.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv10\" tvg-name=\"cctv10\" tvg-logo=\"https://epg.v1.mk/logo/cctv10.png\" group-title=\"央视\",cctv10-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv10.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv10\" tvg-name=\"cctv10\" tvg-logo=\"https://epg.v1.mk/logo/cctv10.png\" group-title=\"央视\",CCTV-10")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000023734.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv10\" tvg-name=\"cctv10\" tvg-logo=\"https://epg.v1.mk/logo/cctv10.png\" group-title=\"央视\",CCTV-10-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000012827.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv10\" tvg-name=\"cctv10\" tvg-logo=\"https://epg.v1.mk/logo/cctv10.png\" group-title=\"央视\",CCTV-10-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265010.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv11\" tvg-name=\"cctv11\" tvg-logo=\"https://epg.v1.mk/logo/cctv11.png\" group-title=\"央视\",cctv11-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv11.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv11\" tvg-name=\"cctv11\" tvg-logo=\"https://epg.v1.mk/logo/cctv11.png\" group-title=\"央视\",CCTV-11-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031106.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv11\" tvg-name=\"cctv11\" tvg-logo=\"https://epg.v1.mk/logo/cctv11.png\" group-title=\"央视\",CCTV-11-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265011.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv12\" tvg-name=\"cctv12\" tvg-logo=\"https://epg.v1.mk/logo/cctv12.png\" group-title=\"央视\",cctv12-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv12.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv12\" tvg-name=\"cctv12\" tvg-logo=\"https://epg.v1.mk/logo/cctv12.png\" group-title=\"央视\",CCTV-12")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000032494.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv12\" tvg-name=\"cctv12\" tvg-logo=\"https://epg.v1.mk/logo/cctv12.png\" group-title=\"央视\",CCTV-12-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000022586.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv12\" tvg-name=\"cctv12\" tvg-logo=\"https://epg.v1.mk/logo/cctv12.png\" group-title=\"央视\",CCTV-12-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265012.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv13\" tvg-name=\"cctv13\" tvg-logo=\"https://epg.v1.mk/logo/cctv13.png\" group-title=\"央视\",cctv13-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv13.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv13\" tvg-name=\"cctv13\" tvg-logo=\"https://epg.v1.mk/logo/cctv13.png\" group-title=\"央视\",CCTV-13-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031108.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv14\" tvg-name=\"cctv14\" tvg-logo=\"https://epg.v1.mk/logo/cctv14.png\" group-title=\"央视\",cctv14-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv14.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv14\" tvg-name=\"cctv14\" tvg-logo=\"https://epg.v1.mk/logo/cctv14.png\" group-title=\"央视\",CCTV-14")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000008170.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv14\" tvg-name=\"cctv14\" tvg-logo=\"https://epg.v1.mk/logo/cctv14.png\" group-title=\"央视\",CCTV-14-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000006673.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv14\" tvg-name=\"cctv14\" tvg-logo=\"https://epg.v1.mk/logo/cctv14.png\" group-title=\"央视\",CCTV-14-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265013.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv15\" tvg-name=\"cctv15\" tvg-logo=\"https://epg.v1.mk/logo/cctv15.png\" group-title=\"央视\",cctv15-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv15.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv15\" tvg-name=\"cctv15\" tvg-logo=\"https://epg.v1.mk/logo/cctv15.png\" group-title=\"央视\",CCTV-15-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031109.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv15\" tvg-name=\"cctv15\" tvg-logo=\"https://epg.v1.mk/logo/cctv15.png\" group-title=\"央视\",CCTV-15-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265014.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv16\" tvg-name=\"cctv16\" tvg-logo=\"https://epg.v1.mk/logo/cctv16.png\" group-title=\"央视\",cctv16-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv16.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv16\" tvg-name=\"cctv16\" tvg-logo=\"https://epg.v1.mk/logo/cctv16.png\" group-title=\"央视\",CCTV-16")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000006000233002.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv16\" tvg-name=\"cctv16\" tvg-logo=\"https://epg.v1.mk/logo/cctv16.png\" group-title=\"4K频道\",CCTV-16-4K-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000008000023254.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv16\" tvg-name=\"cctv16\" tvg-logo=\"https://epg.v1.mk/logo/cctv16.png\" group-title=\"4K频道\",cctv164k_10m")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv4k16_10m.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv16\" tvg-name=\"cctv16\" tvg-logo=\"https://epg.v1.mk/logo/cctv16.png\" group-title=\"4K频道\",cctv164k")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv4k16.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv17\" tvg-name=\"cctv17\" tvg-logo=\"https://epg.v1.mk/logo/cctv17.png\" group-title=\"央视\",cctv17-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv17.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv17\" tvg-name=\"cctv17\" tvg-logo=\"https://epg.v1.mk/logo/cctv17.png\" group-title=\"央视\",CCTV-17")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000006000268004.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv17\" tvg-name=\"cctv17\" tvg-logo=\"https://epg.v1.mk/logo/cctv17.png\" group-title=\"央视\",CCTV-17-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265015.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cgtn\" tvg-name=\"cgtn\" tvg-logo=\"https://epg.v1.mk/logo/cgtn.png\" group-title=\"央视\",CGTN")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/7745129417417101820.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CGTN记录\" tvg-name=\"CGTN记录\" tvg-logo=\"https://epg.v1.mk/logo/CGTN记录.png\" group-title=\"央视\",CGTN-记录")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/7114647837765104058.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CGTNALBY\" tvg-name=\"CGTNALBY\" tvg-logo=\"https://epg.v1.mk/logo/CGTNALBY.png\" group-title=\"央视\",cgtnar-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cgtnar.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cgtndocumentary\" tvg-name=\"cgtndocumentary\" tvg-logo=\"https://epg.v1.mk/logo/cgtndocumentary.png\" group-title=\"央视\",cgtndoc-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cgtndoc.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CGTNEY\" tvg-name=\"CGTNEY\" tvg-logo=\"https://epg.v1.mk/logo/CGTNEY.png\" group-title=\"央视\",cgtnen-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cgtnen.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cgtnfrench\" tvg-name=\"cgtnfrench\" tvg-logo=\"https://epg.v1.mk/logo/cgtnfrench.png\" group-title=\"央视\",cgtnfr-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cgtnfr.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CGTN1\" tvg-name=\"CGTN1\" tvg-logo=\"https://epg.v1.mk/logo/CGTN1.png\" group-title=\"央视\",cgtnru-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cgtnru.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"CGTN1\" tvg-name=\"CGTN1\" tvg-logo=\"https://epg.v1.mk/logo/CGTN1.png\" group-title=\"央视\",cgtnsp-高码")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cgtnsp.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv4k\" tvg-name=\"cctv4k\" tvg-logo=\"https://epg.v1.mk/logo/cctv4k.png\" group-title=\"4K频道\",cctv4k_10m")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv4k_10m.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv4k\" tvg-name=\"cctv4k\" tvg-logo=\"https://epg.v1.mk/logo/cctv4k.png\" group-title=\"4K频道\",cctv4k")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv4k.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv8k\" tvg-name=\"cctv8k\" tvg-logo=\"https://epg.v1.mk/logo/cctv8k.png\" group-title=\"8K频道\",cctv8k_36m")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv8k_36m.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"cctv8k\" tvg-name=\"cctv8k\" tvg-logo=\"https://epg.v1.mk/logo/cctv8k.png\" group-title=\"8K频道\",cctv8k_120m")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/ysptp/cctv8k_120m.m3u8")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"中国教育1台\" tvg-name=\"中国教育1台\" tvg-logo=\"https://epg.v1.mk/logo/中国教育1台.png\" group-title=\"其他\",中国教育电视台-1")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000002000002652.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"中国教育1台\" tvg-name=\"中国教育1台\" tvg-logo=\"https://epg.v1.mk/logo/中国教育1台.png\" group-title=\"其他\",中国教育电视台-4")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031126.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"北京卫视\" tvg-name=\"北京卫视\" tvg-logo=\"https://epg.v1.mk/logo/北京卫视.png\" group-title=\"北京\",北京卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000020451.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"北京卫视\" tvg-name=\"北京卫视\" tvg-logo=\"https://epg.v1.mk/logo/北京卫视.png\" group-title=\"北京\",北京卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265027.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"北京纪实科教\" tvg-name=\"北京纪实科教\" tvg-logo=\"https://epg.v1.mk/logo/北京纪实科教.png\" group-title=\"北京\",北京纪实科教")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000001910.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"北京纪实科教\" tvg-name=\"北京纪实科教\" tvg-logo=\"https://epg.v1.mk/logo/北京纪实科教.png\" group-title=\"北京\",北京纪实科教-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265020.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"北京卡酷少儿\" tvg-name=\"北京卡酷少儿\" tvg-logo=\"https://epg.v1.mk/logo/北京卡酷少儿.png\" group-title=\"北京\",北京卡酷少儿")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/7851974109718180595.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"安徽卫视\" tvg-name=\"安徽卫视\" tvg-logo=\"https://epg.v1.mk/logo/安徽卫视.png\" group-title=\"安徽\",安徽卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000030159.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"安徽卫视\" tvg-name=\"安徽卫视\" tvg-logo=\"https://epg.v1.mk/logo/安徽卫视.png\" group-title=\"安徽\",安徽卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000009954.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"安徽卫视\" tvg-name=\"安徽卫视\" tvg-logo=\"https://epg.v1.mk/logo/安徽卫视.png\" group-title=\"安徽\",安徽卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265025.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"东南卫视\" tvg-name=\"东南卫视\" tvg-logo=\"https://epg.v1.mk/logo/东南卫视.png\" group-title=\"卫视\",东南卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000010584.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"东南卫视\" tvg-name=\"东南卫视\" tvg-logo=\"https://epg.v1.mk/logo/东南卫视.png\" group-title=\"卫视\",东南卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265033.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"甘肃卫视\" tvg-name=\"甘肃卫视\" tvg-logo=\"https://epg.v1.mk/logo/甘肃卫视.png\" group-title=\"甘肃\",甘肃卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031121.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"广东卫视\" tvg-name=\"广东卫视\" tvg-logo=\"https://epg.v1.mk/logo/广东卫视.png\" group-title=\"广东\",广东卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000014176.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"广东卫视\" tvg-name=\"广东卫视\" tvg-logo=\"https://epg.v1.mk/logo/广东卫视.png\" group-title=\"广东\",广东卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000031076.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"广东卫视\" tvg-name=\"广东卫视\" tvg-logo=\"https://epg.v1.mk/logo/广东卫视.png\" group-title=\"广东\",广东卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265034.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"广西卫视\" tvg-name=\"广西卫视\" tvg-logo=\"https://epg.v1.mk/logo/广西卫视.png\" group-title=\"卫视\",广西卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031118.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"贵州卫视\" tvg-name=\"贵州卫视\" tvg-logo=\"https://epg.v1.mk/logo/贵州卫视.png\" group-title=\"贵州\",贵州卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000025843.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"海南卫视\" tvg-name=\"海南卫视\" tvg-logo=\"https://epg.v1.mk/logo/海南卫视.png\" group-title=\"海南\",海南卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000006211.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"河北卫视\" tvg-name=\"河北卫视\" tvg-logo=\"https://epg.v1.mk/logo/河北卫视.png\" group-title=\"河北\",河北卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000006000040016.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"河南卫视\" tvg-name=\"河南卫视\" tvg-logo=\"https://epg.v1.mk/logo/河南卫视.png\" group-title=\"河南\",河南卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031119.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"黑龙江卫视\" tvg-name=\"黑龙江卫视\" tvg-logo=\"https://epg.v1.mk/logo/黑龙江卫视.png\" group-title=\"黑龙江\",黑龙江卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000001925.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"黑龙江卫视\" tvg-name=\"黑龙江卫视\" tvg-logo=\"https://epg.v1.mk/logo/黑龙江卫视.png\" group-title=\"黑龙江\",黑龙江卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000016510.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"黑龙江卫视\" tvg-name=\"黑龙江卫视\" tvg-logo=\"https://epg.v1.mk/logo/黑龙江卫视.png\" group-title=\"黑龙江\",黑龙江卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265029.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖北卫视\" tvg-name=\"湖北卫视\" tvg-logo=\"https://epg.v1.mk/logo/湖北卫视.png\" group-title=\"湖北\",湖北卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000024621.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖北卫视\" tvg-name=\"湖北卫视\" tvg-logo=\"https://epg.v1.mk/logo/湖北卫视.png\" group-title=\"湖北\",湖北卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000015436.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖北卫视\" tvg-name=\"湖北卫视\" tvg-logo=\"https://epg.v1.mk/logo/湖北卫视.png\" group-title=\"湖北\",湖北卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265023.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖南卫视\" tvg-name=\"湖南卫视\" tvg-logo=\"https://epg.v1.mk/logo/湖南卫视.png\" group-title=\"湖南\",湖南卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000006692.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖南卫视4\" tvg-name=\"湖南卫视4\" tvg-logo=\"https://epg.v1.mk/logo/湖南卫视4.png\" group-title=\"湖南\",湖南卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000018044.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖南卫视\" tvg-name=\"湖南卫视\" tvg-logo=\"https://epg.v1.mk/logo/湖南卫视.png\" group-title=\"湖南\",湖南卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265024.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖南金鹰纪实\" tvg-name=\"湖南金鹰纪实\" tvg-logo=\"https://epg.v1.mk/logo/湖南金鹰纪实.png\" group-title=\"湖南\",湖南金鹰纪实")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031203.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖南\" tvg-name=\"湖南\" tvg-logo=\"https://epg.v1.mk/logo/湖南.png\" group-title=\"湖南\",湖南快乐垂钓")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031206.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"湖南茶频道\" tvg-name=\"湖南茶频道\" tvg-logo=\"https://epg.v1.mk/logo/湖南茶频道.png\" group-title=\"湖南\",湖南茶频道")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031209.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"吉林卫视\" tvg-name=\"吉林卫视\" tvg-logo=\"https://epg.v1.mk/logo/吉林卫视.png\" group-title=\"吉林\",吉林卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031117.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"江苏卫视\" tvg-name=\"江苏卫视\" tvg-logo=\"https://epg.v1.mk/logo/江苏卫视.png\" group-title=\"江苏\",江苏卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000014861.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"江苏卫视\" tvg-name=\"江苏卫视\" tvg-logo=\"https://epg.v1.mk/logo/江苏卫视.png\" group-title=\"江苏\",江苏卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000001828.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"江苏卫视\" tvg-name=\"江苏卫视\" tvg-logo=\"https://epg.v1.mk/logo/江苏卫视.png\" group-title=\"江苏\",江苏卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265030.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"江西卫视\" tvg-name=\"江西卫视\" tvg-logo=\"https://epg.v1.mk/logo/江西卫视.png\" group-title=\"江西\",江西卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000006000268001.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"江西卫视\" tvg-name=\"江西卫视\" tvg-logo=\"https://epg.v1.mk/logo/江西卫视.png\" group-title=\"江西\",江西卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265032.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"辽宁卫视\" tvg-name=\"辽宁卫视\" tvg-logo=\"https://epg.v1.mk/logo/辽宁卫视.png\" group-title=\"辽宁\",辽宁卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000011671.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"辽宁卫视\" tvg-name=\"辽宁卫视\" tvg-logo=\"https://epg.v1.mk/logo/辽宁卫视.png\" group-title=\"辽宁\",辽宁卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265022.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"青海卫视\" tvg-name=\"青海卫视\" tvg-logo=\"https://epg.v1.mk/logo/青海卫视.png\" group-title=\"青海\",青海卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000002000013359.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"山东卫视\" tvg-name=\"山东卫视\" tvg-logo=\"https://epg.v1.mk/logo/山东卫视.png\" group-title=\"山东\",山东卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000016568.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"山东卫视\" tvg-name=\"山东卫视\" tvg-logo=\"https://epg.v1.mk/logo/山东卫视.png\" group-title=\"山东\",山东卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000004134.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"山东卫视\" tvg-name=\"山东卫视\" tvg-logo=\"https://epg.v1.mk/logo/山东卫视.png\" group-title=\"山东\",山东卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265019.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海东方影视\" tvg-name=\"上海东方影视\" tvg-logo=\"https://epg.v1.mk/logo/上海东方影视.png\" group-title=\"上海\",上海东方卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000003639.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海东方影视\" tvg-name=\"上海东方影视\" tvg-logo=\"https://epg.v1.mk/logo/上海东方影视.png\" group-title=\"上海\",上海东方卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000014098.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海东方影视\" tvg-name=\"上海东方影视\" tvg-logo=\"https://epg.v1.mk/logo/上海东方影视.png\" group-title=\"上海\",上海东方卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265018.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海ICS\" tvg-name=\"上海ICS\" tvg-logo=\"https://epg.v1.mk/logo/上海ICS.png\" group-title=\"上海\",上海-ICS-外语")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000010000030951.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海第一财经\" tvg-name=\"上海第一财经\" tvg-logo=\"https://epg.v1.mk/logo/上海第一财经.png\" group-title=\"上海\",上海第一财经")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000010000027146.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海东方影视\" tvg-name=\"上海东方影视\" tvg-logo=\"https://epg.v1.mk/logo/上海东方影视.png\" group-title=\"上海\",上海东方财经")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000007000010003.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海东方影视\" tvg-name=\"上海东方影视\" tvg-logo=\"https://epg.v1.mk/logo/上海东方影视.png\" group-title=\"上海\",上海东方影视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000010000032212.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海都市\" tvg-name=\"上海都市\" tvg-logo=\"https://epg.v1.mk/logo/上海都市.png\" group-title=\"上海\",上海都市")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000010000018926.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海ICS\" tvg-name=\"上海ICS\" tvg-logo=\"https://epg.v1.mk/logo/上海ICS.png\" group-title=\"上海\",上海法治天地")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000002000000014.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海ICS\" tvg-name=\"上海ICS\" tvg-logo=\"https://epg.v1.mk/logo/上海ICS.png\" group-title=\"上海\",上海哈哈炫动")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031123.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海纪实人文\" tvg-name=\"上海纪实人文\" tvg-logo=\"https://epg.v1.mk/logo/上海纪实人文.png\" group-title=\"上海\",上海纪实人文-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000010282.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海纪实人文\" tvg-name=\"上海纪实人文\" tvg-logo=\"https://epg.v1.mk/logo/上海纪实人文.png\" group-title=\"上海\",上海纪实人文-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265021.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海五星体育\" tvg-name=\"上海五星体育\" tvg-logo=\"https://epg.v1.mk/logo/上海五星体育.png\" group-title=\"上海\",上海五星体育")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000010000017540.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"上海新闻综合\" tvg-name=\"上海新闻综合\" tvg-logo=\"https://epg.v1.mk/logo/上海新闻综合.png\" group-title=\"上海\",上海新闻综合")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031110.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"深圳卫视\" tvg-name=\"深圳卫视\" tvg-logo=\"https://epg.v1.mk/logo/深圳卫视.png\" group-title=\"卫视\",深圳卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000007410.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"深圳卫视\" tvg-name=\"深圳卫视\" tvg-logo=\"https://epg.v1.mk/logo/深圳卫视.png\" group-title=\"卫视\",深圳卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000002116.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"深圳卫视\" tvg-name=\"深圳卫视\" tvg-logo=\"https://epg.v1.mk/logo/深圳卫视.png\" group-title=\"卫视\",深圳卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265028.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"四川卫视\" tvg-name=\"四川卫视\" tvg-logo=\"https://epg.v1.mk/logo/四川卫视.png\" group-title=\"四川\",四川卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000006119.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"天津卫视\" tvg-name=\"天津卫视\" tvg-logo=\"https://epg.v1.mk/logo/天津卫视.png\" group-title=\"卫视\",天津卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000006827.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"天津卫视\" tvg-name=\"天津卫视\" tvg-logo=\"https://epg.v1.mk/logo/天津卫视.png\" group-title=\"卫视\",天津卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000001000009186.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"天津卫视\" tvg-name=\"天津卫视\" tvg-logo=\"https://epg.v1.mk/logo/天津卫视.png\" group-title=\"卫视\",天津卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265026.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"云南卫视\" tvg-name=\"云南卫视\" tvg-logo=\"https://epg.v1.mk/logo/云南卫视.png\" group-title=\"云南\",云南卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031120.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"浙江卫视\" tvg-name=\"浙江卫视\" tvg-logo=\"https://epg.v1.mk/logo/浙江卫视.png\" group-title=\"浙江\",浙江卫视-50-FPS")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000004000007275.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"浙江卫视\" tvg-name=\"浙江卫视\" tvg-logo=\"https://epg.v1.mk/logo/浙江卫视.png\" group-title=\"浙江\",浙江卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000014260.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"浙江卫视\" tvg-name=\"浙江卫视\" tvg-logo=\"https://epg.v1.mk/logo/浙江卫视.png\" group-title=\"浙江\",浙江卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265031.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"重庆卫视\" tvg-name=\"重庆卫视\" tvg-logo=\"https://epg.v1.mk/logo/重庆卫视.png\" group-title=\"重庆\",重庆卫视")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000001096.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"重庆卫视\" tvg-name=\"重庆卫视\" tvg-logo=\"https://epg.v1.mk/logo/重庆卫视.png\" group-title=\"重庆\",重庆卫视-HEVC")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000265017.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"华数4K\" tvg-name=\"华数4K\" tvg-logo=\"https://epg.v1.mk/logo/华数4K.png\" group-title=\"4K频道\",华数-4K")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000003000004748.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"纯享4K\" tvg-name=\"纯享4K\" tvg-logo=\"https://epg.v1.mk/logo/纯享4K.png\" group-title=\"4K频道\",纯享-4K")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000011651.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"咪咕4K\" tvg-name=\"咪咕4K\" tvg-logo=\"https://epg.v1.mk/logo/咪咕4K.png\" group-title=\"4K频道\",咪咕4K-1")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/3000000010000005180.m3u8?cdn=FifastbLive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"咪咕4K\" tvg-name=\"咪咕4K\" tvg-logo=\"https://epg.v1.mk/logo/咪咕4K.png\" group-title=\"4K频道\",咪咕4K-2")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/3000000010000015686.m3u8?cdn=FifastbLive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"咪咕4k\" tvg-name=\"咪咕4k\" tvg-logo=\"https://epg.v1.mk/logo/咪咕4k.png\" group-title=\"其他\",咪咕全民热练")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/3000000020000031315.m3u8?cdn=FifastbLive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"求索动物\" tvg-name=\"求索动物\" tvg-logo=\"https://epg.v1.mk/logo/求索动物.png\" group-title=\"其他\",求索动物")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000002000010046.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"求索纪录\" tvg-name=\"求索纪录\" tvg-logo=\"https://epg.v1.mk/logo/求索纪录.png\" group-title=\"其他\",求索纪录")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000002000032052.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"求索科学\" tvg-name=\"求索科学\" tvg-logo=\"https://epg.v1.mk/logo/求索科学.png\" group-title=\"其他\",求索科学")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000002000032344.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"求索生活\" tvg-name=\"求索生活\" tvg-logo=\"https://epg.v1.mk/logo/求索生活.png\" group-title=\"其他\",求索生活")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000002000003382.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NewTV精品综合\" tvg-name=\"NewTV精品综合\" tvg-logo=\"https://epg.v1.mk/logo/NewTV精品综合.png\" group-title=\"NEWTV\",NewTV-精品综合")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000019008.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv精品大剧\" tvg-name=\"newtv精品大剧\" tvg-logo=\"https://epg.v1.mk/logo/newtv精品大剧.png\" group-title=\"NEWTV\",NewTV-精品大剧")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000013968.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv精品纪录\" tvg-name=\"newtv精品纪录\" tvg-logo=\"https://epg.v1.mk/logo/newtv精品纪录.png\" group-title=\"NEWTV\",NewTV-精品纪录")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000013730.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv精品体育\" tvg-name=\"newtv精品体育\" tvg-logo=\"https://epg.v1.mk/logo/newtv精品体育.png\" group-title=\"NEWTV\",NewTV-精品体育")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000014634.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NEWTV精品萌宠\" tvg-name=\"NEWTV精品萌宠\" tvg-logo=\"https://epg.v1.mk/logo/NEWTV精品萌宠.png\" group-title=\"NEWTV\",NewTV-精品萌宠")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000006000032328.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv爱情喜剧\" tvg-name=\"newtv爱情喜剧\" tvg-logo=\"https://epg.v1.mk/logo/newtv爱情喜剧.png\" group-title=\"NEWTV\",NewTV-爱情喜剧")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000010.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv超级电视剧\" tvg-name=\"newtv超级电视剧\" tvg-logo=\"https://epg.v1.mk/logo/newtv超级电视剧.png\" group-title=\"NEWTV\",NewTV-超级电视剧")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000006000268003.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv超级电影\" tvg-name=\"newtv超级电影\" tvg-logo=\"https://epg.v1.mk/logo/newtv超级电影.png\" group-title=\"NEWTV\",NewTV-超级电影")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000003000012426.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv超级体育\" tvg-name=\"newtv超级体育\" tvg-logo=\"https://epg.v1.mk/logo/newtv超级体育.png\" group-title=\"NEWTV\",NewTV-超级体育")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000009601.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv超级综艺\" tvg-name=\"newtv超级综艺\" tvg-logo=\"https://epg.v1.mk/logo/newtv超级综艺.png\" group-title=\"NEWTV\",NewTV-超级综艺")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000006000268002.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv潮妈辣婆\" tvg-name=\"newtv潮妈辣婆\" tvg-logo=\"https://epg.v1.mk/logo/newtv潮妈辣婆.png\" group-title=\"NEWTV\",NewTV-潮妈辣婆")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000018.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NewTV东北热剧\" tvg-name=\"NewTV东北热剧\" tvg-logo=\"https://epg.v1.mk/logo/NewTV东北热剧.png\" group-title=\"NEWTV\",NewTV-东北热剧")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000266013.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv动作电影\" tvg-name=\"newtv动作电影\" tvg-logo=\"https://epg.v1.mk/logo/newtv动作电影.png\" group-title=\"NEWTV\",NewTV-动作电影")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000018653.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NewTV古装剧场\" tvg-name=\"NewTV古装剧场\" tvg-logo=\"https://epg.v1.mk/logo/NewTV古装剧场.png\" group-title=\"NEWTV\",NewTV-古装剧场")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000024.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NewTV欢乐剧场\" tvg-name=\"NewTV欢乐剧场\" tvg-logo=\"https://epg.v1.mk/logo/NewTV欢乐剧场.png\" group-title=\"NEWTV\",NewTV-欢乐剧场")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000266012.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv家庭剧场\" tvg-name=\"newtv家庭剧场\" tvg-logo=\"https://epg.v1.mk/logo/newtv家庭剧场.png\" group-title=\"NEWTV\",NewTV-家庭剧场")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000008284.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NewTV金牌综艺\" tvg-name=\"NewTV金牌综艺\" tvg-logo=\"https://epg.v1.mk/logo/NewTV金牌综艺.png\" group-title=\"NEWTV\",NewTV-金牌综艺")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000026167.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv惊悚悬疑\" tvg-name=\"newtv惊悚悬疑\" tvg-logo=\"https://epg.v1.mk/logo/newtv惊悚悬疑.png\" group-title=\"NEWTV\",NewTV-惊悚悬疑")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000024282.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv军旅剧场\" tvg-name=\"newtv军旅剧场\" tvg-logo=\"https://epg.v1.mk/logo/newtv军旅剧场.png\" group-title=\"NEWTV\",NewTV-军旅剧场")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000014.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv军事评论\" tvg-name=\"newtv军事评论\" tvg-logo=\"https://epg.v1.mk/logo/newtv军事评论.png\" group-title=\"NEWTV\",NewTV-军事评论")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000022.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NewTV魅力潇湘\" tvg-name=\"NewTV魅力潇湘\" tvg-logo=\"https://epg.v1.mk/logo/NewTV魅力潇湘.png\" group-title=\"NEWTV\",NewTV-魅力潇湘")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000006197.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NewTV明星大片\" tvg-name=\"NewTV明星大片\" tvg-logo=\"https://epg.v1.mk/logo/NewTV明星大片.png\" group-title=\"NEWTV\",NewTV-明星大片")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000016.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv农业致富\" tvg-name=\"newtv农业致富\" tvg-logo=\"https://epg.v1.mk/logo/newtv农业致富.png\" group-title=\"NEWTV\",NewTV-农业致富")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000003.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NEWTV武博世界\" tvg-name=\"NEWTV武博世界\" tvg-logo=\"https://epg.v1.mk/logo/NEWTV武博世界.png\" group-title=\"NEWTV\",NewTV-武博世界")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000007.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv炫舞未来\" tvg-name=\"newtv炫舞未来\" tvg-logo=\"https://epg.v1.mk/logo/newtv炫舞未来.png\" group-title=\"NEWTV\",NewTV-炫舞未来")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000000515.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv怡伴健康\" tvg-name=\"newtv怡伴健康\" tvg-logo=\"https://epg.v1.mk/logo/newtv怡伴健康.png\" group-title=\"NEWTV\",NewTV-怡伴健康")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000005000266011.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"newtv中国功夫\" tvg-name=\"newtv中国功夫\" tvg-logo=\"https://epg.v1.mk/logo/newtv中国功夫.png\" group-title=\"NEWTV\",NewTV-中国功夫")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/2000000003000000009.m3u8?cdn=hnbblive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NEWTV黑莓电影\" tvg-name=\"NEWTV黑莓电影\" tvg-logo=\"https://epg.v1.mk/logo/NEWTV黑莓电影.png\" group-title=\"NEWTV\",NewTV-黑莓电影")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000019624.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NEWTV黑莓动画\" tvg-name=\"NEWTV黑莓动画\" tvg-logo=\"https://epg.v1.mk/logo/NEWTV黑莓动画.png\" group-title=\"NEWTV\",NewTV-黑莓动画")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000004000021734.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NEWTVCJDY\" tvg-name=\"NEWTVCJDY\" tvg-logo=\"https://epg.v1.mk/logo/NEWTVCJDY.png\" group-title=\"NEWTV\",NewTV-哒啵电竞")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000006000032327.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"NEWTVCJDY\" tvg-name=\"NEWTVCJDY\" tvg-logo=\"https://epg.v1.mk/logo/NEWTVCJDY.png\" group-title=\"NEWTV\",NewTV-哒啵赛事")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/1000000001000003775.m3u8?cdn=ystenlive")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV\" tvg-name=\"SITV\" tvg-logo=\"https://epg.v1.mk/logo/SITV.png\" group-title=\"其他\",SiTV-动漫秀场")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031113.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV都市剧场\" tvg-name=\"SITV都市剧场\" tvg-logo=\"https://epg.v1.mk/logo/SITV都市剧场.png\" group-title=\"其他\",SiTV-都市剧场")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031111.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV法治天地\" tvg-name=\"SITV法治天地\" tvg-logo=\"https://epg.v1.mk/logo/SITV法治天地.png\" group-title=\"其他\",SiTV-法治天地")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/9001547084732463424.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV欢笑剧场\" tvg-name=\"SITV欢笑剧场\" tvg-logo=\"https://epg.v1.mk/logo/SITV欢笑剧场.png\" group-title=\"其他\",SiTV-欢笑剧场")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000002000009455.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV欢笑剧场\" tvg-name=\"SITV欢笑剧场\" tvg-logo=\"https://epg.v1.mk/logo/SITV欢笑剧场.png\" group-title=\"其他\",SiTV-欢笑剧场-4K")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000007000010001.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV金色学堂\" tvg-name=\"SITV金色学堂\" tvg-logo=\"https://epg.v1.mk/logo/SITV金色学堂.png\" group-title=\"其他\",SiTV-金色学堂")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000010000026105.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV劲爆体育\" tvg-name=\"SITV劲爆体育\" tvg-logo=\"https://epg.v1.mk/logo/SITV劲爆体育.png\" group-title=\"其他\",SiTV-劲爆体育")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000002000029972.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV乐游\" tvg-name=\"SITV乐游\" tvg-logo=\"https://epg.v1.mk/logo/SITV乐游.png\" group-title=\"其他\",SiTV-乐游")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031112.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV\" tvg-name=\"SITV\" tvg-logo=\"https://epg.v1.mk/logo/SITV.png\" group-title=\"其他\",SiTV-魅力足球")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031207.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV七彩戏剧\" tvg-name=\"SITV七彩戏剧\" tvg-logo=\"https://epg.v1.mk/logo/SITV七彩戏剧.png\" group-title=\"其他\",SiTV-七彩戏剧")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031116.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV\" tvg-name=\"SITV\" tvg-logo=\"https://epg.v1.mk/logo/SITV.png\" group-title=\"其他\",SiTV-生活时尚")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000002000019634.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"SITV\" tvg-name=\"SITV\" tvg-logo=\"https://epg.v1.mk/logo/SITV.png\" group-title=\"其他\",SiTV-游戏风云")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/5000000011000031114.m3u8?cdn=bestzb")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱电竞\" tvg-name=\"IHOT爱电竞\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱电竞.png\" group-title=\"IHOT\",iHOT-爱电竞")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000230630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱谍战\" tvg-name=\"IHOT爱谍战\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱谍战.png\" group-title=\"IHOT\",iHOT-爱谍战")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000070630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱动漫\" tvg-name=\"IHOT爱动漫\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱动漫.png\" group-title=\"IHOT\",iHOT-爱动漫")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000280630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱都市\" tvg-name=\"IHOT爱都市\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱都市.png\" group-title=\"IHOT\",iHOT-爱都市")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000080630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱怀旧\" tvg-name=\"IHOT爱怀旧\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱怀旧.png\" group-title=\"IHOT\",iHOT-爱怀旧")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000260630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱经典\" tvg-name=\"IHOT爱经典\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱经典.png\" group-title=\"IHOT\",iHOT-爱经典")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000060630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱科幻\" tvg-name=\"IHOT爱科幻\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱科幻.png\" group-title=\"IHOT\",iHOT-爱科幻")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000020630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱科学\" tvg-name=\"IHOT爱科学\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱科学.png\" group-title=\"IHOT\",iHOT-爱科学")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000160630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱浪漫\" tvg-name=\"IHOT爱浪漫\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱浪漫.png\" group-title=\"IHOT\",iHOT-爱浪漫")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000040630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱历史\" tvg-name=\"IHOT爱历史\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱历史.png\" group-title=\"IHOT\",iHOT-爱历史")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000150630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱旅行\" tvg-name=\"IHOT爱旅行\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱旅行.png\" group-title=\"IHOT\",iHOT-爱旅行")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000250630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱奇谈\" tvg-name=\"IHOT爱奇谈\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱奇谈.png\" group-title=\"IHOT\",iHOT-爱奇谈")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000270630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱青春\" tvg-name=\"IHOT爱青春\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱青春.png\" group-title=\"IHOT\",iHOT-爱青春")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000100630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱赛车\" tvg-name=\"IHOT爱赛车\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱赛车.png\" group-title=\"IHOT\",iHOT-爱赛车")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000240630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱体育\" tvg-name=\"IHOT爱体育\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱体育.png\" group-title=\"IHOT\",iHOT-爱体育")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000290630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱玩具\" tvg-name=\"IHOT爱玩具\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱玩具.png\" group-title=\"IHOT\",iHOT-爱玩具")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000220630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱喜剧\" tvg-name=\"IHOT爱喜剧\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱喜剧.png\" group-title=\"IHOT\",iHOT-爱喜剧")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000010630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱悬疑\" tvg-name=\"IHOT爱悬疑\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱悬疑.png\" group-title=\"IHOT\",iHOT-爱悬疑")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000050630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱幼教\" tvg-name=\"IHOT爱幼教\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱幼教.png\" group-title=\"IHOT\",iHOT-爱幼教")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000180630.m3u8?cdn=wasusyt")
fmt.Fprintln(c.Writer, "#EXTINF:-1,tvg-id=\"IHOT爱院线\" tvg-name=\"IHOT爱院线\" tvg-logo=\"https://epg.v1.mk/logo/IHOT爱院线.png\" group-title=\"IHOT\",iHOT-爱院线")
fmt.Fprintln(c.Writer, "http://"+c.Request.Host+"/itv/6000000006000030630.m3u8?cdn=wasusyt")
}

@ -0,0 +1,341 @@
package liveurls
import (
"context"
"github.com/gin-gonic/gin"
"io"
"net"
"net/http"
"regexp"
"strings"
"sync"
"time"
)
type Itv struct {
}
var (
hostMappings = map[string]string{
"cache.ott.ystenlive.itv.cmvideo.cn": "feiyangdigital.tg.ystenlive.ottdns.com",
"cache.ott.bestlive.itv.cmvideo.cn": "feiyangdigital.tg.bestlive.ottdns.com",
"cache.ott.wasulive.itv.cmvideo.cn": "feiyangdigital.tg.wasulive.ottdns.com",
"cache.ott.fifalive.itv.cmvideo.cn": "feiyangdigital.tg.fifalive.ottdns.com",
"cache.ott.hnbblive.itv.cmvideo.cn": "feiyangdigital.tg.hnbblive.ottdns.com",
}
programList = map[string]string{
"wasusyt/6000000001000029752.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000029752/1.m3u8?channel-id=wasusyt&Contentid=6000000001000029752&livemode=1&stbId=3",
"bestzb/5000000004000002226.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000002226/1.m3u8?channel-id=bestzb&Contentid=5000000004000002226&livemode=1&stbId=3",
"ystenlive/1000000005000265001.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265001/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265001&livemode=1&stbId=3",
"ystenlive/1000000001000023315.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000023315/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023315&livemode=1&stbId=3",
"wasusyt/6000000001000014161.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000014161/1.m3u8?channel-id=wasusyt&Contentid=6000000001000014161&livemode=1&stbId=3",
"wasusyt/6000000001000022313.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000022313/1.m3u8?channel-id=wasusyt&Contentid=6000000001000022313&livemode=1&stbId=3",
"ystenlive/1000000005000265003.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265003/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265003&livemode=1&stbId=3",
"bestzb/5000000011000031102.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031102/1.m3u8?channel-id=bestzb&Contentid=5000000011000031102&livemode=1&stbId=3",
"ystenlive/1000000005000265004.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265004/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265004&livemode=1&stbId=3",
"ystenlive/1000000005000025222.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000025222/1.m3u8?channel-id=ystenlive&Contentid=1000000005000025222&livemode=1&stbId=3",
"ystenlive/1000000005000265005.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265005/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265005&livemode=1&stbId=3",
"wasusyt/6000000001000015875.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000015875/1.m3u8?channel-id=wasusyt&Contentid=6000000001000015875&livemode=1&stbId=3",
"ystenlive/1000000005000265016.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265016/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265016&livemode=1&stbId=3",
"ystenlive/1000000001000001737.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000001737/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001737&livemode=1&stbId=3",
"wasusyt/6000000001000004574.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000004574/1.m3u8?channel-id=wasusyt&Contentid=6000000001000004574&livemode=1&stbId=3",
"ystenlive/1000000005000265006.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265006/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265006&livemode=1&stbId=3",
"ystenlive/1000000001000024341.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000024341/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024341&livemode=1&stbId=3",
"wasusyt/6000000001000009055.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000009055/1.m3u8?channel-id=wasusyt&Contentid=6000000001000009055&livemode=1&stbId=3",
"ystenlive/1000000005000265007.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265007/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265007&livemode=1&stbId=3",
"wasusyt/6000000001000001070.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000001070/1.m3u8?channel-id=wasusyt&Contentid=6000000001000001070&livemode=1&stbId=3",
"ystenlive/1000000005000265008.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265008/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265008&livemode=1&stbId=3",
"ystenlive/1000000001000014583.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000014583/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014583&livemode=1&stbId=3",
"wasusyt/6000000001000032162.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000032162/1.m3u8?channel-id=wasusyt&Contentid=6000000001000032162&livemode=1&stbId=3",
"ystenlive/1000000005000265009.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265009/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265009&livemode=1&stbId=3",
"ystenlive/1000000001000023734.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000023734/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023734&livemode=1&stbId=3",
"bestzb/5000000004000012827.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000012827/1.m3u8?channel-id=bestzb&Contentid=5000000004000012827&livemode=1&stbId=3",
"ystenlive/1000000005000265010.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265010/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265010&livemode=1&stbId=3",
"bestzb/5000000011000031106.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031106/1.m3u8?channel-id=bestzb&Contentid=5000000011000031106&livemode=1&stbId=3",
"ystenlive/1000000005000265011.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265011/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265011&livemode=1&stbId=3",
"ystenlive/1000000001000032494.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000032494/1.m3u8?channel-id=ystenlive&Contentid=1000000001000032494&livemode=1&stbId=3",
"wasusyt/6000000001000022586.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000022586/1.m3u8?channel-id=wasusyt&Contentid=6000000001000022586&livemode=1&stbId=3",
"ystenlive/1000000005000265012.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265012/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265012&livemode=1&stbId=3",
"bestzb/5000000011000031108.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031108/1.m3u8?channel-id=bestzb&Contentid=5000000011000031108&livemode=1&stbId=3",
"ystenlive/1000000001000008170.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000008170/1.m3u8?channel-id=ystenlive&Contentid=1000000001000008170&livemode=1&stbId=3",
"bestzb/5000000004000006673.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000006673/1.m3u8?channel-id=bestzb&Contentid=5000000004000006673&livemode=1&stbId=3",
"ystenlive/1000000005000265013.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265013/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265013&livemode=1&stbId=3",
"bestzb/5000000011000031109.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031109/1.m3u8?channel-id=bestzb&Contentid=5000000011000031109&livemode=1&stbId=3",
"ystenlive/1000000005000265014.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265014/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265014&livemode=1&stbId=3",
"ystenlive/1000000006000233002.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000006000233002/1.m3u8?channel-id=ystenlive&Contentid=1000000006000233002&livemode=1&stbId=3",
"bestzb/5000000008000023254.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000008000023254/1.m3u8?channel-id=bestzb&Contentid=5000000008000023254&livemode=1&stbId=3",
"ystenlive/1000000006000268004.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000006000268004/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268004&livemode=1&stbId=3",
"ystenlive/1000000005000265015.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265015/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265015&livemode=1&stbId=3",
"hnbblive/7745129417417101820.m3u8": "http://gslbserv.itv.cmvideo.cn:80/7745129417417101820/1.m3u8?channel-id=hnbblive&Contentid=7745129417417101820&livemode=1&stbId=3",
"hnbblive/7114647837765104058.m3u8": "http://gslbserv.itv.cmvideo.cn:80/7114647837765104058/1.m3u8?channel-id=hnbblive&Contentid=7114647837765104058&livemode=1&stbId=3",
"bestzb/5000000002000002652.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000002000002652/1.m3u8?channel-id=bestzb&Contentid=5000000002000002652&livemode=1&stbId=3",
"bestzb/5000000011000031126.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031126/1.m3u8?channel-id=bestzb&Contentid=5000000011000031126&livemode=1&stbId=3",
"wasusyt/6000000001000020451.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000020451/1.m3u8?channel-id=wasusyt&Contentid=6000000001000020451&livemode=1&stbId=3",
"ystenlive/1000000005000265027.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265027/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265027&livemode=1&stbId=3",
"ystenlive/1000000001000001910.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000001910/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001910&livemode=1&stbId=3",
"ystenlive/1000000005000265020.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265020/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265020&livemode=1&stbId=3",
"bestzb/7851974109718180595.m3u8": "http://gslbserv.itv.cmvideo.cn:80/7851974109718180595/1.m3u8?channel-id=bestzb&Contentid=7851974109718180595&livemode=1&stbId=3",
"ystenlive/1000000001000030159.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000030159/1.m3u8?channel-id=ystenlive&Contentid=1000000001000030159&livemode=1&stbId=3",
"wasusyt/6000000001000009954.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000009954/1.m3u8?channel-id=wasusyt&Contentid=6000000001000009954&livemode=1&stbId=3",
"ystenlive/1000000005000265025.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265025/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265025&livemode=1&stbId=3",
"bestzb/5000000004000010584.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000010584/1.m3u8?channel-id=bestzb&Contentid=5000000004000010584&livemode=1&stbId=3",
"ystenlive/1000000005000265033.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265033/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265033&livemode=1&stbId=3",
"bestzb/5000000011000031121.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031121/1.m3u8?channel-id=bestzb&Contentid=5000000011000031121&livemode=1&stbId=3",
"ystenlive/1000000001000014176.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000014176/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014176&livemode=1&stbId=3",
"wasusyt/6000000001000031076.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000031076/1.m3u8?channel-id=wasusyt&Contentid=6000000001000031076&livemode=1&stbId=3",
"ystenlive/1000000005000265034.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265034/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265034&livemode=1&stbId=3",
"bestzb/5000000011000031118.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031118/1.m3u8?channel-id=bestzb&Contentid=5000000011000031118&livemode=1&stbId=3",
"bestzb/5000000004000025843.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000025843/1.m3u8?channel-id=bestzb&Contentid=5000000004000025843&livemode=1&stbId=3",
"bestzb/5000000004000006211.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000006211/1.m3u8?channel-id=bestzb&Contentid=5000000004000006211&livemode=1&stbId=3",
"bestzb/5000000006000040016.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000006000040016/1.m3u8?channel-id=bestzb&Contentid=5000000006000040016&livemode=1&stbId=3",
"bestzb/5000000011000031119.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031119/1.m3u8?channel-id=bestzb&Contentid=5000000011000031119&livemode=1&stbId=3",
"ystenlive/1000000001000001925.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000001925/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001925&livemode=1&stbId=3",
"wasusyt/6000000001000016510.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000016510/1.m3u8?channel-id=wasusyt&Contentid=6000000001000016510&livemode=1&stbId=3",
"ystenlive/1000000005000265029.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265029/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265029&livemode=1&stbId=3",
"ystenlive/1000000001000024621.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000024621/1.m3u8?channel-id=ystenlive&Contentid=1000000001000024621&livemode=1&stbId=3",
"wasusyt/6000000001000015436.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000015436/1.m3u8?channel-id=wasusyt&Contentid=6000000001000015436&livemode=1&stbId=3",
"ystenlive/1000000005000265023.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265023/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265023&livemode=1&stbId=3",
"bestzb/5000000004000006692.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000006692/1.m3u8?channel-id=bestzb&Contentid=5000000004000006692&livemode=1&stbId=3",
"wasusyt/6000000001000018044.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000018044/1.m3u8?channel-id=wasusyt&Contentid=6000000001000018044&livemode=1&stbId=3",
"ystenlive/1000000005000265024.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265024/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265024&livemode=1&stbId=3",
"bestzb/5000000011000031203.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031203/1.m3u8?channel-id=bestzb&Contentid=5000000011000031203&livemode=1&stbId=3",
"bestzb/5000000011000031206.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031206/1.m3u8?channel-id=bestzb&Contentid=5000000011000031206&livemode=1&stbId=3",
"bestzb/5000000011000031209.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031209/1.m3u8?channel-id=bestzb&Contentid=5000000011000031209&livemode=1&stbId=3",
"bestzb/5000000011000031117.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031117/1.m3u8?channel-id=bestzb&Contentid=5000000011000031117&livemode=1&stbId=3",
"wasusyt/6000000001000014861.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000014861/1.m3u8?channel-id=wasusyt&Contentid=6000000001000014861&livemode=1&stbId=3",
"ystenlive/1000000001000001828.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000001828/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001828&livemode=1&stbId=3",
"ystenlive/1000000005000265030.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265030/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265030&livemode=1&stbId=3",
"ystenlive/1000000006000268001.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000006000268001/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268001&livemode=1&stbId=3",
"ystenlive/1000000005000265032.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265032/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265032&livemode=1&stbId=3",
"bestzb/5000000004000011671.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000011671/1.m3u8?channel-id=bestzb&Contentid=5000000004000011671&livemode=1&stbId=3",
"ystenlive/1000000005000265022.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265022/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265022&livemode=1&stbId=3",
"ystenlive/1000000002000013359.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000002000013359/1.m3u8?channel-id=ystenlive&Contentid=1000000002000013359&livemode=1&stbId=3",
"ystenlive/1000000001000016568.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000016568/1.m3u8?channel-id=ystenlive&Contentid=1000000001000016568&livemode=1&stbId=3",
"wasusyt/6000000001000004134.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000004134/1.m3u8?channel-id=wasusyt&Contentid=6000000001000004134&livemode=1&stbId=3",
"ystenlive/1000000005000265019.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265019/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265019&livemode=1&stbId=3",
"wasusyt/6000000001000003639.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000003639/1.m3u8?channel-id=wasusyt&Contentid=6000000001000003639&livemode=1&stbId=3",
"bestzb/5000000004000014098.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000014098/1.m3u8?channel-id=bestzb&Contentid=5000000004000014098&livemode=1&stbId=3",
"ystenlive/1000000005000265018.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265018/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265018&livemode=1&stbId=3",
"bestzb/5000000010000030951.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000010000030951/1.m3u8?channel-id=bestzb&Contentid=5000000010000030951&livemode=1&stbId=3",
"bestzb/5000000010000027146.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000010000027146/1.m3u8?channel-id=bestzb&Contentid=5000000010000027146&livemode=1&stbId=3",
"bestzb/5000000007000010003.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000007000010003/1.m3u8?channel-id=bestzb&Contentid=5000000007000010003&livemode=1&stbId=3",
"bestzb/5000000010000032212.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000010000032212/1.m3u8?channel-id=bestzb&Contentid=5000000010000032212&livemode=1&stbId=3",
"bestzb/5000000010000018926.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000010000018926/1.m3u8?channel-id=bestzb&Contentid=5000000010000018926&livemode=1&stbId=3",
"hnbblive/2000000002000000014.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000002000000014/1.m3u8?channel-id=hnbblive&Contentid=2000000002000000014&livemode=1&stbId=3",
"bestzb/5000000011000031123.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031123/1.m3u8?channel-id=bestzb&Contentid=5000000011000031123&livemode=1&stbId=3",
"bestzb/5000000004000010282.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000010282/1.m3u8?channel-id=bestzb&Contentid=5000000004000010282&livemode=1&stbId=3",
"ystenlive/1000000005000265021.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265021/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265021&livemode=1&stbId=3",
"bestzb/5000000010000017540.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000010000017540/1.m3u8?channel-id=bestzb&Contentid=5000000010000017540&livemode=1&stbId=3",
"bestzb/5000000011000031110.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031110/1.m3u8?channel-id=bestzb&Contentid=5000000011000031110&livemode=1&stbId=3",
"bestzb/5000000004000007410.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000007410/1.m3u8?channel-id=bestzb&Contentid=5000000004000007410&livemode=1&stbId=3",
"wasusyt/6000000001000002116.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000002116/1.m3u8?channel-id=wasusyt&Contentid=6000000001000002116&livemode=1&stbId=3",
"ystenlive/1000000005000265028.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265028/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265028&livemode=1&stbId=3",
"bestzb/5000000004000006119.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000006119/1.m3u8?channel-id=bestzb&Contentid=5000000004000006119&livemode=1&stbId=3",
"bestzb/5000000004000006827.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000006827/1.m3u8?channel-id=bestzb&Contentid=5000000004000006827&livemode=1&stbId=3",
"wasusyt/6000000001000009186.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000001000009186/1.m3u8?channel-id=wasusyt&Contentid=6000000001000009186&livemode=1&stbId=3",
"ystenlive/1000000005000265026.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265026/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265026&livemode=1&stbId=3",
"bestzb/5000000011000031120.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031120/1.m3u8?channel-id=bestzb&Contentid=5000000011000031120&livemode=1&stbId=3",
"bestzb/5000000004000007275.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000004000007275/1.m3u8?channel-id=bestzb&Contentid=5000000004000007275&livemode=1&stbId=3",
"ystenlive/1000000001000014260.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000014260/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014260&livemode=1&stbId=3",
"ystenlive/1000000005000265031.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265031/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265031&livemode=1&stbId=3",
"ystenlive/1000000001000001096.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000001096/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001096&livemode=1&stbId=3",
"ystenlive/1000000005000265017.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000265017/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265017&livemode=1&stbId=3",
"wasusyt/6000000003000004748.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000003000004748/1.m3u8?channel-id=wasusyt&Contentid=6000000003000004748&livemode=1&stbId=3",
"ystenlive/1000000004000011651.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000011651/1.m3u8?channel-id=ystenlive&Contentid=1000000004000011651&livemode=1&stbId=3",
"FifastbLive/3000000010000005180.m3u8": "http://gslbserv.itv.cmvideo.cn:80/3000000010000005180/1.m3u8?channel-id=FifastbLive&Contentid=3000000010000005180&livemode=1&stbId=3",
"FifastbLive/3000000010000015686.m3u8": "http://gslbserv.itv.cmvideo.cn:80/3000000010000015686/1.m3u8?channel-id=FifastbLive&Contentid=3000000010000015686&livemode=1&stbId=3",
"FifastbLive/3000000020000031315.m3u8": "http://gslbserv.itv.cmvideo.cn:80/3000000020000031315/1.m3u8?channel-id=FifastbLive&Contentid=3000000020000031315&livemode=1&stbId=3",
"wasusyt/6000000002000010046.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000002000010046/1.m3u8?channel-id=wasusyt&Contentid=6000000002000010046&livemode=1&stbId=3",
"wasusyt/6000000002000032052.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000002000032052/1.m3u8?channel-id=wasusyt&Contentid=6000000002000032052&livemode=1&stbId=3",
"wasusyt/6000000002000032344.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000002000032344/1.m3u8?channel-id=wasusyt&Contentid=6000000002000032344&livemode=1&stbId=3",
"wasusyt/6000000002000003382.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000002000003382/1.m3u8?channel-id=wasusyt&Contentid=6000000002000003382&livemode=1&stbId=3",
"ystenlive/1000000004000019008.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000019008/1.m3u8?channel-id=ystenlive&Contentid=1000000004000019008&livemode=1&stbId=3",
"ystenlive/1000000004000013968.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000013968/1.m3u8?channel-id=ystenlive&Contentid=1000000004000013968&livemode=1&stbId=3",
"ystenlive/1000000004000013730.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000013730/1.m3u8?channel-id=ystenlive&Contentid=1000000004000013730&livemode=1&stbId=3",
"ystenlive/1000000004000014634.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000014634/1.m3u8?channel-id=ystenlive&Contentid=1000000004000014634&livemode=1&stbId=3",
"ystenlive/1000000006000032328.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000006000032328/1.m3u8?channel-id=ystenlive&Contentid=1000000006000032328&livemode=1&stbId=3",
"hnbblive/2000000003000000010.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000010/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000010&livemode=1&stbId=3",
"ystenlive/1000000006000268003.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000006000268003/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268003&livemode=1&stbId=3",
"ystenlive/1000000003000012426.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000003000012426/1.m3u8?channel-id=ystenlive&Contentid=1000000003000012426&livemode=1&stbId=3",
"ystenlive/1000000001000009601.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000009601/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009601&livemode=1&stbId=3",
"ystenlive/1000000006000268002.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000006000268002/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268002&livemode=1&stbId=3",
"hnbblive/2000000003000000018.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000018/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000018&livemode=1&stbId=3",
"ystenlive/1000000005000266013.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000266013/1.m3u8?channel-id=ystenlive&Contentid=1000000005000266013&livemode=1&stbId=3",
"ystenlive/1000000004000018653.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000018653/1.m3u8?channel-id=ystenlive&Contentid=1000000004000018653&livemode=1&stbId=3",
"hnbblive/2000000003000000024.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000024/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000024&livemode=1&stbId=3",
"ystenlive/1000000005000266012.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000266012/1.m3u8?channel-id=ystenlive&Contentid=1000000005000266012&livemode=1&stbId=3",
"ystenlive/1000000004000008284.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000008284/1.m3u8?channel-id=ystenlive&Contentid=1000000004000008284&livemode=1&stbId=3",
"ystenlive/1000000004000026167.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000026167/1.m3u8?channel-id=ystenlive&Contentid=1000000004000026167&livemode=1&stbId=3",
"ystenlive/1000000004000024282.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000024282/1.m3u8?channel-id=ystenlive&Contentid=1000000004000024282&livemode=1&stbId=3",
"hnbblive/2000000003000000014.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000014/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000014&livemode=1&stbId=3",
"hnbblive/2000000003000000022.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000022/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000022&livemode=1&stbId=3",
"ystenlive/1000000001000006197.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000006197/1.m3u8?channel-id=ystenlive&Contentid=1000000001000006197&livemode=1&stbId=3",
"hnbblive/2000000003000000016.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000016/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000016&livemode=1&stbId=3",
"hnbblive/2000000003000000003.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000003/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000003&livemode=1&stbId=3",
"hnbblive/2000000003000000007.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000007/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000007&livemode=1&stbId=3",
"ystenlive/1000000001000000515.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000000515/1.m3u8?channel-id=ystenlive&Contentid=1000000001000000515&livemode=1&stbId=3",
"ystenlive/1000000005000266011.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000005000266011/1.m3u8?channel-id=ystenlive&Contentid=1000000005000266011&livemode=1&stbId=3",
"hnbblive/2000000003000000009.m3u8": "http://gslbserv.itv.cmvideo.cn:80/2000000003000000009/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000009&livemode=1&stbId=3",
"ystenlive/1000000004000019624.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000019624/1.m3u8?channel-id=ystenlive&Contentid=1000000004000019624&livemode=1&stbId=3",
"ystenlive/1000000004000021734.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000004000021734/1.m3u8?channel-id=ystenlive&Contentid=1000000004000021734&livemode=1&stbId=3",
"ystenlive/1000000006000032327.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000006000032327/1.m3u8?channel-id=ystenlive&Contentid=1000000006000032327&livemode=1&stbId=3",
"ystenlive/1000000001000003775.m3u8": "http://gslbserv.itv.cmvideo.cn:80/1000000001000003775/1.m3u8?channel-id=ystenlive&Contentid=1000000001000003775&livemode=1&stbId=3",
"bestzb/5000000011000031113.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031113/1.m3u8?channel-id=bestzb&Contentid=5000000011000031113&livemode=1&stbId=3",
"bestzb/5000000011000031111.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031111/1.m3u8?channel-id=bestzb&Contentid=5000000011000031111&livemode=1&stbId=3",
"bestzb/9001547084732463424.m3u8": "http://gslbserv.itv.cmvideo.cn:80/9001547084732463424/1.m3u8?channel-id=bestzb&Contentid=9001547084732463424&livemode=1&stbId=3",
"bestzb/5000000002000009455.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000002000009455/1.m3u8?channel-id=bestzb&Contentid=5000000002000009455&livemode=1&stbId=3",
"bestzb/5000000007000010001.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000007000010001/1.m3u8?channel-id=bestzb&Contentid=5000000007000010001&livemode=1&stbId=3",
"bestzb/5000000010000026105.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000010000026105/1.m3u8?channel-id=bestzb&Contentid=5000000010000026105&livemode=1&stbId=3",
"bestzb/5000000002000029972.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000002000029972/1.m3u8?channel-id=bestzb&Contentid=5000000002000029972&livemode=1&stbId=3",
"bestzb/5000000011000031112.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031112/1.m3u8?channel-id=bestzb&Contentid=5000000011000031112&livemode=1&stbId=3",
"bestzb/5000000011000031207.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031207/1.m3u8?channel-id=bestzb&Contentid=5000000011000031207&livemode=1&stbId=3",
"bestzb/5000000011000031116.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031116/1.m3u8?channel-id=bestzb&Contentid=5000000011000031116&livemode=1&stbId=3",
"bestzb/5000000002000019634.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000002000019634/1.m3u8?channel-id=bestzb&Contentid=5000000002000019634&livemode=1&stbId=3",
"bestzb/5000000011000031114.m3u8": "http://gslbserv.itv.cmvideo.cn:80/5000000011000031114/1.m3u8?channel-id=bestzb&Contentid=5000000011000031114&livemode=1&stbId=3",
"wasusyt/6000000006000230630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000230630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000230630&livemode=1&stbId=3",
"wasusyt/6000000006000070630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000070630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000070630&livemode=1&stbId=3",
"wasusyt/6000000006000280630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000280630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000280630&livemode=1&stbId=3",
"wasusyt/6000000006000080630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000080630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000080630&livemode=1&stbId=3",
"wasusyt/6000000006000260630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000260630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000260630&livemode=1&stbId=3",
"wasusyt/6000000006000060630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000060630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000060630&livemode=1&stbId=3",
"wasusyt/6000000006000020630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000020630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000020630&livemode=1&stbId=3",
"wasusyt/6000000006000160630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000160630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000160630&livemode=1&stbId=3",
"wasusyt/6000000006000040630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000040630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000040630&livemode=1&stbId=3",
"wasusyt/6000000006000150630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000150630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000150630&livemode=1&stbId=3",
"wasusyt/6000000006000250630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000250630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000250630&livemode=1&stbId=3",
"wasusyt/6000000006000270630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000270630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000270630&livemode=1&stbId=3",
"wasusyt/6000000006000100630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000100630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000100630&livemode=1&stbId=3",
"wasusyt/6000000006000240630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000240630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000240630&livemode=1&stbId=3",
"wasusyt/6000000006000290630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000290630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000290630&livemode=1&stbId=3",
"wasusyt/6000000006000220630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000220630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000220630&livemode=1&stbId=3",
"wasusyt/6000000006000010630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000010630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000010630&livemode=1&stbId=3",
"wasusyt/6000000006000050630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000050630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000050630&livemode=1&stbId=3",
"wasusyt/6000000006000180630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000180630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000180630&livemode=1&stbId=3",
"wasusyt/6000000006000030630.m3u8": "http://gslbserv.itv.cmvideo.cn:80/6000000006000030630/1.m3u8?channel-id=wasusyt&Contentid=6000000006000030630&livemode=1&stbId=3",
}
dnsCache = sync.Map{}
cacheTimeout = 1 * time.Minute
)
type cacheEntry struct {
ip string
expiry time.Time
}
func (i *Itv) HandleMainRequest(c *gin.Context, cdn, id string) {
key := cdn + "/" + id
url, ok := programList[key]
if !ok {
c.String(http.StatusNotFound, "id not found!")
return
}
data, redirectURL, err := getHTTPResponse(url)
if err != nil {
c.String(http.StatusInternalServerError, err.Error())
return
}
redirectPrefix := redirectURL[:strings.LastIndex(redirectURL, "/")+1]
// 替换TS文件的链接
golang := "http://" + c.Request.Host + c.Request.URL.Path
re := regexp.MustCompile(`((?i).*?\.ts)`)
data = re.ReplaceAllStringFunc(data, func(match string) string {
return golang + "?ts=" + redirectPrefix + match
})
// 将&替换为$
data = strings.ReplaceAll(data, "&", "$")
c.Header("Content-Disposition", "attachment;filename="+id)
c.String(http.StatusOK, data)
}
func (i *Itv) HandleTsRequest(c *gin.Context, ts string) {
// 将$替换回&
ts = strings.ReplaceAll(ts, "$", "&")
c.Header("Content-Type", "video/MP2T")
content, _, err := getHTTPResponse(ts)
if err != nil {
c.String(http.StatusInternalServerError, err.Error())
return
}
c.String(http.StatusOK, content)
}
func getHTTPResponse(requestURL string) (string, string, error) {
dialer := &net.Dialer{
Timeout: 5 * time.Second,
}
// 自定义resolver
resolver := net.Resolver{
PreferGo: true,
Dial: func(ctx context.Context, network, address string) (net.Conn, error) {
for originalHost, mappedHost := range hostMappings {
if strings.Contains(address, originalHost) {
ip := resolveIP(mappedHost)
if ip != "" {
address = strings.Replace(address, originalHost, ip, 1)
}
}
}
return dialer.DialContext(ctx, network, address)
},
}
client := &http.Client{
Transport: &http.Transport{
DialContext: resolver.Dial,
},
}
resp, err := client.Get(requestURL)
if err != nil {
return "", "", err
}
defer resp.Body.Close()
redirectURL := resp.Header.Get("Location")
if redirectURL == "" {
redirectURL = requestURL
}
body, err := readResponseBody(resp)
if err != nil {
return "", "", err
}
return body, redirectURL, nil
}
func resolveIP(host string) string {
now := time.Now()
if entry, found := dnsCache.Load(host); found {
cachedEntry := entry.(cacheEntry)
if now.Before(cachedEntry.expiry) {
return cachedEntry.ip
}
dnsCache.Delete(host)
}
ips, err := net.LookupIP(host)
if err != nil || len(ips) == 0 {
return ""
}
ip := ips[0].String()
dnsCache.Store(host, cacheEntry{ip: ip, expiry: now.Add(cacheTimeout)})
return ip
}
func readResponseBody(resp *http.Response) (string, error) {
var builder strings.Builder
_, err := io.Copy(&builder, resp.Body)
if err != nil {
return "", err
}
return builder.String(), nil
}

@ -30,7 +30,7 @@ type Youtube struct {
}
func (y *Youtube) GetLiveUrl() any {
if cached, ok := get(y.Rid); ok {
if cached, ok := getKey(y.Rid); ok {
return cached
}
//proxyUrl, err := url.Parse("http://127.0.0.1:8888")
@ -99,22 +99,22 @@ func (y *Youtube) getResolution(liveurl string) *string {
}
if stream, ok := mapping[y.Quality]; ok {
set(y.Rid, stream, 600)
setKey(y.Rid, stream, 600)
return &stream
}
stream := playlists[len(playlists)-1].URI
set(y.Rid, stream, 600)
setKey(y.Rid, stream, 600)
return &stream
}
func set(key string, data interface{}, timeout int) {
func setKey(key string, data interface{}, timeout int) {
streamCachedMap.Store(key, data)
time.AfterFunc(time.Second*time.Duration(timeout), func() {
streamCachedMap.Delete(key)
})
}
func get(key string) (interface{}, bool) {
func getKey(key string) (interface{}, bool) {
return streamCachedMap.Load(key)
}

@ -0,0 +1,167 @@
package liveurls
import (
"encoding/json"
"github.com/gin-gonic/gin"
"io"
"net/http"
"regexp"
"strings"
"sync"
"time"
)
type Ysptp struct{}
var cache sync.Map
type CacheItem struct {
Value string
Expiration int64
}
var cctvList = map[string]string{
"cctv1.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv1.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv2.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv2.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv3.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv3.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv4.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv4.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv5.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv5.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv5p.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv5p.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv6.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv6.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv7.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv7.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv8.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv8.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv9.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv9.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv10.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv10.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv11.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv11.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv12.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv12.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv13.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv13.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv14.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv14.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv15.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv15.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv16.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv16.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv17.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv17.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cgtnar.m3u8": "http://liveali-tpgq.cctv.cn/live/cgtnar.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cgtndoc.m3u8": "http://liveali-tpgq.cctv.cn/live/cgtndoc.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cgtnen.m3u8": "http://liveali-tpgq.cctv.cn/live/cgtnen.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cgtnfr.m3u8": "http://liveali-tpgq.cctv.cn/live/cgtnfr.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cgtnru.m3u8": "http://liveali-tpgq.cctv.cn/live/cgtnru.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cgtnsp.m3u8": "http://liveali-tpgq.cctv.cn/live/cgtnsp.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv4k.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv4k.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv4k_10m.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv4k10m.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv4k16.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv4k16.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv4k16_10m.m3u8": "http://liveali-tpgq.cctv.cn/live/cctv4k1610m.m3u8,http://liveali-tpgq.cctv.cn/live/",
"cctv8k_36m.m3u8": "http://liveali-tp4k.cctv.cn/live/4K36M/playlist.m3u8,http://liveali-tp4k.cctv.cn/live/4K36M/",
"cctv8k_120m.m3u8": "http://liveali-tp4k.cctv.cn/live/8K120M/playlist.m3u8,http://liveali-tp4k.cctv.cn/live/8K120M/",
}
func (y *Ysptp) HandleMainRequest(c *gin.Context, id string) {
uid := c.DefaultQuery("uid", "1234123122")
if _, ok := cctvList[id]; !ok {
c.String(http.StatusNotFound, "id not found!")
return
}
urls := strings.Split(cctvList[id], ",")
data := getURL(id, urls[0], uid, urls[1])
golang := "http://" + c.Request.Host + c.Request.URL.Path
re := regexp.MustCompile(`((?i).*?\.ts)`)
data = re.ReplaceAllString(data, golang+"?ts="+urls[1]+"$1")
c.Header("Content-Disposition", "attachment;filename="+id)
c.String(http.StatusOK, data)
}
func (y *Ysptp) HandleTsRequest(c *gin.Context, ts, wsTime string) {
data := ts + "&wsTime=" + wsTime
c.Header("Content-Type", "video/MP2T")
c.String(http.StatusOK, getTs(data))
}
func getURL(id, url, uid, path string) string {
cacheKey := id + uid
if playURL, found := getCache(cacheKey); found {
return fetchData(playURL, path, uid)
}
bstrURL := "https://ytpvdn.cctv.cn/cctvmobileinf/rest/cctv/videoliveUrl/getstream"
postData := `appcommon={"ap":"cctv_app_tv","an":"央视投屏助手","adid":" ` + uid + `","av":"1.1.7"}&url=` + url
req, _ := http.NewRequest("POST", bstrURL, strings.NewReader(postData))
req.Header.Set("User-Agent", "cctv_app_tv")
req.Header.Set("Referer", "api.cctv.cn")
req.Header.Set("UID", uid)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var body strings.Builder
_, _ = io.Copy(&body, resp.Body)
var result map[string]interface{}
json.Unmarshal([]byte(body.String()), &result)
playURL := result["url"].(string)
setCache(cacheKey, playURL)
return fetchData(playURL, path, uid)
}
func fetchData(playURL, path, uid string) string {
client := &http.Client{}
for {
req, _ := http.NewRequest("GET", playURL, nil)
req.Header.Set("User-Agent", "cctv_app_tv")
req.Header.Set("Referer", "api.cctv.cn")
req.Header.Set("UID", uid)
resp, _ := client.Do(req)
defer resp.Body.Close()
var body strings.Builder
_, _ = io.Copy(&body, resp.Body)
data := body.String()
re := regexp.MustCompile(`(.*\.m3u8\?.*)`)
matches := re.FindStringSubmatch(data)
if len(matches) > 0 {
playURL = path + matches[0]
} else {
return data
}
}
}
func getTs(url string) string {
req, _ := http.NewRequest("GET", url, nil)
req.Header.Set("User-Agent", "cctv_app_tv")
req.Header.Set("Referer", "https://api.cctv.cn/")
req.Header.Set("UID", "1234123122")
req.Header.Set("accept", "*/*")
req.Header.Set("accept-encoding", "gzip, deflate")
req.Header.Set("accept-language", "zh-CN,zh;q=0.9")
req.Header.Set("Connection", "keep-alive")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var body strings.Builder
_, _ = io.Copy(&body, resp.Body)
return body.String()
}
func getCache(key string) (string, bool) {
if item, found := cache.Load(key); found {
cacheItem := item.(CacheItem)
if time.Now().Unix() < cacheItem.Expiration {
return cacheItem.Value, true
}
}
return "", false
}
func setCache(key, value string) {
cache.Store(key, CacheItem{
Value: value,
Expiration: time.Now().Unix() + 3600,
})
}

@ -1,10 +1,3 @@
// Package Golang
// @Time:2024/02/19 11:30
// @File:main.go
// @SoftWare:Goland
// @Author:feiyang
// @Contact:TG@feiyangdigital
package main
import (
@ -12,6 +5,7 @@ import (
"Golang/liveurls"
"encoding/base64"
"encoding/json"
"flag"
"fmt"
"github.com/forgoer/openssl"
"github.com/gin-gonic/gin"
@ -52,7 +46,7 @@ func getLivePrefix(c *gin.Context) string {
return realUrl
}
func setupRouter(adurl string) *gin.Engine {
func setupRouter(adurl string, enableTV bool) *gin.Engine {
gin.SetMode(gin.ReleaseMode)
r := gin.Default()
@ -64,6 +58,17 @@ func setupRouter(adurl string) *gin.Engine {
c.String(http.StatusOK, "请求成功!")
})
r.GET("/tv.m3u", func(c *gin.Context) {
if enableTV {
itvm3uobj := &list.Tvm3u{}
c.Writer.Header().Set("Content-Type", "application/octet-stream")
c.Writer.Header().Set("Content-Disposition", "attachment; filename=tv.m3u")
itvm3uobj.GetTvM3u(c)
} else {
c.String(http.StatusForbidden, "公共服务不提供TV直播")
}
})
r.GET("/huyayqk.m3u", func(c *gin.Context) {
yaobj := &list.HuyaYqk{}
res, _ := yaobj.HuYaYqk("https://live.cdn.huya.com/liveHttpUI/getLiveList?iGid=2135")
@ -138,7 +143,31 @@ func setupRouter(adurl string) *gin.Engine {
r.GET("/:path/:rid", func(c *gin.Context) {
path := c.Param("path")
rid := c.Param("rid")
ts := c.Query("ts")
switch path {
case "itv":
if enableTV {
itvobj := &liveurls.Itv{}
cdn := c.Query("cdn")
if ts == "" {
itvobj.HandleMainRequest(c, cdn, rid)
} else {
itvobj.HandleTsRequest(c, ts)
}
} else {
c.String(http.StatusForbidden, "公共服务不提供TV直播")
}
case "ysptp":
if enableTV {
ysptpobj := &liveurls.Ysptp{}
if ts == "" {
ysptpobj.HandleMainRequest(c, rid)
} else {
ysptpobj.HandleTsRequest(c, ts, c.Query("wsTime"))
}
} else {
c.String(http.StatusForbidden, "公共服务不提供TV直播")
}
case "douyin":
douyinobj := &liveurls.Douyin{}
douyinobj.Rid = rid
@ -183,9 +212,12 @@ func setupRouter(adurl string) *gin.Engine {
}
func main() {
tvEnabled := flag.Bool("tv", true, "Enable TV routes")
flag.Parse()
key := []byte("6354127897263145")
defstr, _ := base64.StdEncoding.DecodeString("NGrrC9lxtd9O7ezMt3Ux2WfX+HyCyepe9vDuhbSWVa8c+s7oFKbxuExfT4M/e4qvEgsUsvtceDWCYZ5+a7iKCEI/sps5jzGuWJNmsFnaFmQ=")
defurl, _ := openssl.AesECBDecrypt(defstr, key, openssl.PKCS7_PADDING)
r := setupRouter(string(defurl))
r := setupRouter(string(defurl), *tvEnabled)
r.Run(":35455")
}

Loading…
Cancel
Save