v7.1.7
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
package backend
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const amazonMusicAPIBaseURL = "https://amazon.spotbye.qzz.io"
|
||||
|
||||
const (
|
||||
qobuzWJHEBaseURL = "https://music.wjhe.top"
|
||||
qobuzWJHESearchAPIURL = qobuzWJHEBaseURL + "/api/music/qobuz/search"
|
||||
qobuzWJHEStreamAPIURL = qobuzWJHEBaseURL + "/api/music/qobuz/url"
|
||||
qobuzMusicDLDownloadAPIURL = "https://www.musicdl.me/api/qobuz/download"
|
||||
qobuzGDStudioAPIURLXYZ = "https://music.gdstudio.xyz/api.php"
|
||||
qobuzGDStudioAPIURLORG = "https://music.gdstudio.org/api.php"
|
||||
qobuzGDStudioVersion = "2026.5.10"
|
||||
)
|
||||
|
||||
var defaultQobuzDownloadProviderURLs = []string{
|
||||
qobuzWJHEStreamAPIURL,
|
||||
qobuzGDStudioAPIURLXYZ,
|
||||
qobuzGDStudioAPIURLORG,
|
||||
qobuzMusicDLDownloadAPIURL,
|
||||
}
|
||||
|
||||
func GetQobuzDownloadProviderURLs() []string {
|
||||
return append([]string(nil), defaultQobuzDownloadProviderURLs...)
|
||||
}
|
||||
|
||||
func GetQobuzWJHESearchAPIURL() string {
|
||||
return qobuzWJHESearchAPIURL
|
||||
}
|
||||
|
||||
func GetQobuzWJHEStreamAPIURL() string {
|
||||
return qobuzWJHEStreamAPIURL
|
||||
}
|
||||
|
||||
func GetQobuzMusicDLDownloadAPIURL() string {
|
||||
return qobuzMusicDLDownloadAPIURL
|
||||
}
|
||||
|
||||
func GetQobuzGDStudioAPIURLs() []string {
|
||||
return []string{qobuzGDStudioAPIURLXYZ, qobuzGDStudioAPIURLORG}
|
||||
}
|
||||
|
||||
func GetQobuzGDStudioPrimaryAPIURL() string {
|
||||
return qobuzGDStudioAPIURLXYZ
|
||||
}
|
||||
|
||||
func GetQobuzGDStudioFallbackAPIURL() string {
|
||||
return qobuzGDStudioAPIURLORG
|
||||
}
|
||||
|
||||
func GetQobuzGDStudioSignatureHost(apiURL string) string {
|
||||
parsed, err := url.Parse(strings.TrimSpace(apiURL))
|
||||
if err != nil || strings.TrimSpace(parsed.Host) == "" {
|
||||
return ""
|
||||
}
|
||||
return strings.TrimSpace(parsed.Host)
|
||||
}
|
||||
|
||||
func GetQobuzGDStudioVersion() string {
|
||||
return qobuzGDStudioVersion
|
||||
}
|
||||
|
||||
func IsQobuzWJHEProviderURL(raw string) bool {
|
||||
candidate := strings.TrimSpace(raw)
|
||||
return candidate == qobuzWJHEStreamAPIURL || strings.HasPrefix(candidate, qobuzWJHEStreamAPIURL+"?")
|
||||
}
|
||||
|
||||
func IsQobuzMusicDLProviderURL(raw string) bool {
|
||||
return strings.EqualFold(strings.TrimSpace(raw), qobuzMusicDLDownloadAPIURL)
|
||||
}
|
||||
|
||||
func IsQobuzGDStudioProviderURL(raw string) bool {
|
||||
candidate := strings.TrimSpace(raw)
|
||||
for _, apiURL := range GetQobuzGDStudioAPIURLs() {
|
||||
if candidate == apiURL || strings.HasPrefix(candidate, apiURL+"?") {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func GetAmazonMusicAPIBaseURL() string {
|
||||
return amazonMusicAPIBaseURL
|
||||
}
|
||||
Reference in New Issue
Block a user