feat: add shared user agent constants
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"mal/internal/domain"
|
||||
"mal/pkg/net/useragent"
|
||||
"mal/pkg/net/utls"
|
||||
"net/http"
|
||||
"net/url"
|
||||
@@ -23,7 +24,7 @@ const (
|
||||
allAnimeBaseURL = "https://api.allanime.day"
|
||||
allAnimeReferer = "https://allmanga.to/"
|
||||
allAnimeOrigin = "https://youtu-chan.com"
|
||||
defaultUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/121.0"
|
||||
defaultUserAgent = useragent.Firefox121
|
||||
)
|
||||
|
||||
var (
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"mal/pkg/net/useragent"
|
||||
"net/http"
|
||||
"regexp"
|
||||
"strconv"
|
||||
@@ -13,8 +14,6 @@ import (
|
||||
"github.com/PuerkitoBio/goquery"
|
||||
)
|
||||
|
||||
const defaultUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
|
||||
|
||||
// idPattern extracts the watch order ID from chiaki.site URLs
|
||||
var idPattern = regexp.MustCompile(`/id/(\d+)`)
|
||||
|
||||
@@ -82,7 +81,7 @@ func parseRootID(url string) (int, error) {
|
||||
}
|
||||
|
||||
func addCommonHeaders(request *http.Request) {
|
||||
request.Header.Set("User-Agent", defaultUserAgent)
|
||||
request.Header.Set("User-Agent", useragent.Chrome135)
|
||||
request.Header.Set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8")
|
||||
request.Header.Set("Accept-Language", "en-US,en;q=0.9")
|
||||
request.Header.Set("Referer", "https://chiaki.site/")
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
"mal/integrations/jikan"
|
||||
"mal/internal/db"
|
||||
"mal/internal/domain"
|
||||
"mal/pkg/net/useragent"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"sort"
|
||||
@@ -359,7 +360,7 @@ func (s *playbackService) fetchSkipSegments(ctx context.Context, malID int, epis
|
||||
if err != nil {
|
||||
return []SkipSegment{}
|
||||
}
|
||||
req.Header.Set("User-Agent", "Mozilla/5.0")
|
||||
req.Header.Set("User-Agent", useragent.Generic)
|
||||
|
||||
resp, err := s.httpClient.Do(req)
|
||||
if err != nil {
|
||||
@@ -424,7 +425,7 @@ func (s *playbackService) warmStreamURL(targetURL, referer string) {
|
||||
if referer != "" {
|
||||
req.Header.Set("Referer", referer)
|
||||
}
|
||||
req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/121.0")
|
||||
req.Header.Set("User-Agent", useragent.Firefox121)
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||
defer cancel()
|
||||
|
||||
14
pkg/net/useragent/useragent.go
Normal file
14
pkg/net/useragent/useragent.go
Normal file
@@ -0,0 +1,14 @@
|
||||
package useragent
|
||||
|
||||
// Keep these centralized so we don't end up with many drifting UA strings.
|
||||
|
||||
// Firefox121 mimics a modern Firefox desktop UA (used for some upstreams that
|
||||
// gate responses based on UA).
|
||||
const Firefox121 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/121.0"
|
||||
|
||||
// Chrome135 mimics a modern Chrome desktop UA.
|
||||
const Chrome135 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36"
|
||||
|
||||
// Generic is a minimal UA string.
|
||||
const Generic = "Mozilla/5.0"
|
||||
|
||||
Reference in New Issue
Block a user