pull/70/head
肥羊 2 years ago
parent 6c942b43be
commit 5f7328611b
  1. 8
      Golang/README.md
  2. 13
      Golang/liveurls/huya.go
  3. 7
      Golang/main.go

@ -70,11 +70,15 @@ http://你的IP:35455/douyu/xxxxx(?stream=flv)
http://你的IP:35455/bilibili/xxxxxx(?platform=h5&line=first&quality=10000)
```
## **虎牙`(huya.com/)xxxxxx`:**
### 1,切换CDN(默认HW,可选HY、AL、TX、HS、WS):
### 1,查看CDN支持
```
http://你的IP:35455/huya/xxxxx?cdntype=display
```
### 2,切换CDN(默认HW,可选HY、AL、TX、HS、WS,具体支持哪些cdn,可以参考“1”):
```
http://你的IP:35455/huya/xxxxx?cdn=AL
```
### 2,最后的代理链接示例:
### 3,最后的代理链接示例:
```
http://你的IP:35455/huya/xxxxx(?cdn=xxx)
```

@ -26,8 +26,9 @@ import (
const userAgent = "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1"
type Huya struct {
Rid string
Cdn string
Rid string
Cdn string
CdnType string
}
func GetMD5Hash(text string) string {
@ -83,9 +84,12 @@ func (h *Huya) GetLiveUrl() any {
}
liveInfoJson := gjson.Parse(liveInfoJsonRawString)
streamInfoJsons := liveInfoJson.Get("tLiveStreamInfo.vStreamInfo.value")
var cdnSlice []string
var finalurl string
streamInfoJsons.ForEach(func(key, value gjson.Result) bool {
if gjson.Get(value.String(), "sCdnType").String() == h.Cdn {
var cdnType = gjson.Get(value.String(), "sCdnType").String()
cdnSlice = append(cdnSlice, cdnType)
if cdnType == h.Cdn {
sStreamName := gjson.Get(value.String(), "sStreamName").String()
sFlvAntiCode := gjson.Get(value.String(), "sFlvAntiCode").String()
sFlvUrl := gjson.Get(value.String(), "sFlvUrl").String()
@ -95,5 +99,8 @@ func (h *Huya) GetLiveUrl() any {
}
return true
})
if h.CdnType == "display" {
return cdnSlice
}
return finalurl
}

@ -153,7 +153,12 @@ func setupRouter(adurl string) *gin.Engine {
huyaobj := &liveurls.Huya{}
huyaobj.Rid = rid
huyaobj.Cdn = c.DefaultQuery("cdn", "HW")
c.Redirect(http.StatusMovedPermanently, duanyan(adurl, huyaobj.GetLiveUrl()))
huyaobj.CdnType = c.DefaultQuery("cdntype", "nodisplay")
if huyaobj.CdnType == "display" {
c.JSON(200, huyaobj.GetLiveUrl())
} else {
c.Redirect(http.StatusMovedPermanently, duanyan(adurl, huyaobj.GetLiveUrl()))
}
case "bilibili":
biliobj := &liveurls.BiliBili{}
biliobj.Rid = rid

Loading…
Cancel
Save