bugfix
Some checks failed
continuous-integration/drone/push Build encountered an error

This commit is contained in:
2026-02-11 11:52:34 +11:00
parent a23cc7a183
commit 43a9cf5a7e
11 changed files with 90 additions and 19 deletions

View File

@@ -657,7 +657,7 @@ func connectToStreamingServer(streamID int, playlistID string) {
Redirect:
req, err := http.NewRequest("GET", currentURL, nil)
req.Header.Set("User-Agent", Settings.UserAgent)
req.Header.Set("User-Agent", getUserAgent())
req.Header.Set("Connection", "close")
//req.Header.Set("Range", "bytes=0-")
req.Header.Set("Accept", "*/*")
@@ -1423,14 +1423,16 @@ func thirdPartyBuffer(streamID int, playlistID string) {
// User-Agent setzen
var args []string
var userAgent = getUserAgent()
for i, a := range strings.Split(options, " ") {
switch bufferType {
case "FFMPEG":
a = strings.Replace(a, "[URL]", url, -1)
if i == 0 {
if len(Settings.UserAgent) != 0 {
args = []string{"-user_agent", Settings.UserAgent}
if len(userAgent) != 0 {
args = []string{"-user_agent", userAgent}
}
}
@@ -1441,8 +1443,8 @@ func thirdPartyBuffer(streamID int, playlistID string) {
a = strings.Replace(a, "[URL]", url, -1)
args = append(args, a)
if len(Settings.UserAgent) != 0 {
args = append(args, fmt.Sprintf(":http-user-agent=%s", Settings.UserAgent))
if len(userAgent) != 0 {
args = append(args, fmt.Sprintf(":http-user-agent=%s", userAgent))
}
} else {

View File

@@ -282,15 +282,23 @@ func downloadFileFromServer(providerURL string) (filename string, body []byte, e
return
}
resp, err := http.Get(providerURL)
req, err := http.NewRequest(http.MethodGet, providerURL, nil)
if err != nil {
return
}
resp.Header.Set("User-Agent", Settings.UserAgent)
req.Header.Set("User-Agent", getUserAgent())
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
err = fmt.Errorf(fmt.Sprintf("%d: %s "+http.StatusText(resp.StatusCode), resp.StatusCode, providerURL))
err = fmt.Errorf("%d: %s %s", resp.StatusCode, providerURL, http.StatusText(resp.StatusCode))
return
}

View File

@@ -136,7 +136,7 @@ func loadSettings() (settings SettingsStruct, err error) {
defaults["ssdp"] = true
defaults["tuner"] = 1
defaults["update"] = []string{"0000"}
defaults["user.agent"] = System.Name
defaults["user.agent"] = defaultUserAgent
defaults["uuid"] = createUUID()
defaults["udpxy"] = ""
defaults["version"] = System.DBVersion
@@ -204,6 +204,11 @@ func saveSettings(settings SettingsStruct) (err error) {
settings.BufferTimeout = 0
}
var userAgent = strings.TrimSpace(settings.UserAgent)
if len(userAgent) == 0 || userAgent == System.Name {
settings.UserAgent = defaultUserAgent
}
System.Folder.Temp = settings.TempPath + settings.UUID + string(os.PathSeparator)
err = writeByteToFile(System.File.Settings, []byte(mapToJSON(settings)))

15
src/user_agent.go Normal file
View File

@@ -0,0 +1,15 @@
package src
import "strings"
const defaultUserAgent = "otg/1.5.1 (AppleTv Apple TV 4; tvOS16.0; appletv.client) libcurl/7.58.0 OpenSSL/1.0.2o zlib/1.2.11 clib/1.8.56"
func getUserAgent() string {
var userAgent = strings.TrimSpace(Settings.UserAgent)
if len(userAgent) == 0 {
return defaultUserAgent
}
return userAgent
}

View File

@@ -542,7 +542,7 @@ func mapping() (err error) {
if xepgChannel.XActive == false {
// Werte kann "-" sein, deswegen len < 1
if len(xepgChannel.XmltvFile) < 1 && len(xepgChannel.XmltvFile) < 1 {
if len(xepgChannel.XmltvFile) < 1 && len(xepgChannel.XMapping) < 1 {
var tvgID = xepgChannel.TvgID