You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.3 KiB
97 lines
2.3 KiB
// Package Golang
|
|
// @Time:2023/02/03 02:27
|
|
// @File:main.go
|
|
// @SoftWare:Goland
|
|
// @Author:feiyang
|
|
// @Contact:TG@feiyangdigital
|
|
|
|
package main
|
|
|
|
import (
|
|
"Golang/liveurls"
|
|
"encoding/base64"
|
|
"github.com/gin-gonic/gin"
|
|
"net/http"
|
|
)
|
|
|
|
func setupRouter(adurl string) *gin.Engine {
|
|
gin.SetMode(gin.ReleaseMode)
|
|
r := gin.Default()
|
|
|
|
r.GET("/douyin", func(c *gin.Context) {
|
|
url := c.Query("url")
|
|
quality := c.DefaultQuery("quality", "origin")
|
|
var dyliveurl string
|
|
douyinobj := &liveurls.Douyin{}
|
|
douyinobj.Shorturl = url
|
|
douyinobj.Quality = quality
|
|
dyurl := douyinobj.GetRealurl()
|
|
if str, ok := dyurl.(string); ok {
|
|
dyliveurl = str
|
|
} else {
|
|
dyliveurl = adurl
|
|
}
|
|
c.Redirect(http.StatusMovedPermanently, dyliveurl)
|
|
})
|
|
|
|
r.GET("/:path/:rid", func(c *gin.Context) {
|
|
path := c.Param("path")
|
|
rid := c.Param("rid")
|
|
switch path {
|
|
case "douyin":
|
|
var dyliveurl string
|
|
douyinobj := &liveurls.Douyin{}
|
|
douyinobj.Rid = rid
|
|
dyurl := douyinobj.GetDouYinUrl()
|
|
if str, ok := dyurl.(string); ok {
|
|
dyliveurl = str
|
|
} else {
|
|
dyliveurl = adurl
|
|
}
|
|
c.Redirect(http.StatusMovedPermanently, dyliveurl)
|
|
case "douyu":
|
|
var douyuurl string
|
|
douyuobj := &liveurls.Douyu{}
|
|
douyuobj.Rid = rid
|
|
douyuobj.Stream_type = c.DefaultQuery("stream", "hls")
|
|
douyuobj.Cdn_type = c.DefaultQuery("cdn", "akm-tct")
|
|
douyuliveurl := douyuobj.GetRealUrl()
|
|
if str, ok := douyuliveurl.(string); ok {
|
|
douyuurl = str
|
|
} else {
|
|
douyuurl = adurl
|
|
}
|
|
c.Redirect(http.StatusMovedPermanently, douyuurl)
|
|
case "huya":
|
|
var huyaurl string
|
|
huyaobj := &liveurls.Huya{}
|
|
huyaobj.Rid = rid
|
|
hyurl := huyaobj.GetLiveUrl()
|
|
if str, ok := hyurl.(string); ok {
|
|
huyaurl = str
|
|
} else {
|
|
huyaurl = adurl
|
|
}
|
|
c.Redirect(http.StatusMovedPermanently, huyaurl)
|
|
case "bilibili":
|
|
//var biliurl string
|
|
//biliobj := &liveurls.BiliBili{}
|
|
//biliobj.Rid = rid
|
|
//biurl := biliobj.GetPlayUrl()
|
|
//if str, ok := biurl.(string); ok {
|
|
// biliurl = str
|
|
//} else {
|
|
// biliurl = adurl
|
|
//}
|
|
//c.Redirect(http.StatusMovedPermanently, biliurl)
|
|
c.String(http.StatusOK, "待重写中")
|
|
}
|
|
})
|
|
return r
|
|
}
|
|
|
|
func main() {
|
|
defurl, _ := base64.StdEncoding.DecodeString("aHR0cDovLzE1OS43NS44NS42Mzo1NjgwL2QvYWQvcm9vbWFkL3BsYXlsaXN0Lm0zdTg=")
|
|
r := setupRouter(string(defurl))
|
|
r.Run(":35455")
|
|
}
|
|
|