From 6bdb0acf93df090b1152d1cbc96d65d8668e7adb Mon Sep 17 00:00:00 2001 From: Aynakeya Date: Sat, 2 Jul 2022 22:01:11 -0700 Subject: [PATCH] fix bilibili video source header & fix player header setting --- config/config.go | 2 +- player/player.go | 9 +++++---- provider/bilivideo.go | 7 ++++++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/config/config.go b/config/config.go index 4aef583..92cb914 100644 --- a/config/config.go +++ b/config/config.go @@ -6,7 +6,7 @@ import ( "path" ) -const VERSION = "alpha 0.7.2" +const VERSION = "alpha 0.7.3" const CONFIG_PATH = "./config.ini" const Assests_PATH = "./assets" diff --git a/player/player.go b/player/player.go index 3f83db6..0d3dabd 100644 --- a/player/player.go +++ b/player/player.go @@ -75,16 +75,17 @@ func (p *Player) l() *logrus.Entry { func (p *Player) Play(media *Media) error { p.l().Infof("Play media %s", media.Url) - p.l().Trace("set user-agent for mpv player") - if val, ok := media.Header["user-agent"]; ok { + if val, ok := media.Header["User-Agent"]; ok { + p.l().Debug("set user-agent for mpv player") err := p.libmpv.SetPropertyString("user-agent", val) if err != nil { p.l().Warn("set player user-agent failed", err) return err } } - p.l().Trace("set referrer for mpv player") - if val, ok := media.Header["referrer"]; ok { + + if val, ok := media.Header["Referer"]; ok { + p.l().Debug("set referrer for mpv player") err := p.libmpv.SetPropertyString("referrer", val) if err != nil { p.l().Warn("set player referrer failed", err) diff --git a/provider/bilivideo.go b/provider/bilivideo.go index dd9afe8..bcf71dc 100644 --- a/provider/bilivideo.go +++ b/provider/bilivideo.go @@ -4,6 +4,7 @@ import ( "AynaLivePlayer/player" "AynaLivePlayer/util" "fmt" + "github.com/jinzhu/copier" "github.com/tidwall/gjson" "regexp" ) @@ -27,8 +28,9 @@ func _newBilibiliVideo() *BilibiliVideo { IdRegex: regexp.MustCompile("^BV[0-9A-Za-z]+(\\?p=[0-9]+)?"), PageRegex: regexp.MustCompile("p=[0-9]+"), header: map[string]string{ - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0", "Referer": "https://www.bilibili.com/", + "Origin": "https://www.bilibili.com", }, } } @@ -119,6 +121,9 @@ func (b *BilibiliVideo) UpdateMediaUrl(media *player.Media) error { return ErrorExternalApi } media.Url = url + header := make(map[string]string) + _ = copier.Copy(&header, &b.header) + header["Referer"] = fmt.Sprintf("https://www.bilibili.com/video/%s", b.getBv(media.Meta.(Meta).Id)) media.Header = b.header return nil }