diff --git a/.github/workflows/agent.yml b/.github/workflows/agent.yml index 0ce55e9..e8e8968 100644 --- a/.github/workflows/agent.yml +++ b/.github/workflows/agent.yml @@ -8,11 +8,16 @@ on: jobs: deploy: runs-on: ubuntu-latest + container: + # https://github.com/goreleaser/goreleaser-cross/issues/29 + image: goreleaser/goreleaser-cross:v1.19.2 steps: - uses: actions/checkout@master with: fetch-depth: 0 - uses: actions/setup-go@v2 + with: + go-version: "^1.20.0" - name: Run GoReleaser uses: goreleaser/goreleaser-action@v2 with: diff --git a/.github/workflows/test-on-pr.yml b/.github/workflows/test-on-pr.yml index cb3bb26..b9cdf7a 100644 --- a/.github/workflows/test-on-pr.yml +++ b/.github/workflows/test-on-pr.yml @@ -12,6 +12,8 @@ jobs: steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 + with: + go-version: "^1.20.0" - name: Unit test run: | go test -v ./... diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aae8c77..6432d70 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,8 @@ jobs: steps: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 + with: + go-version: "^1.20.0" - name: Unit test run: | go test -v ./... diff --git a/main.go b/main.go index a34e8d7..0b119de 100644 --- a/main.go +++ b/main.go @@ -71,13 +71,21 @@ var ( const ( delayWhenError = time.Second * 10 // Agent 重连间隔 networkTimeOut = time.Second * 5 // 普通网络超时 + macOSChromeUA = "" ) func init() { flag.CommandLine.ParseErrorsWhitelist.UnknownFlags = true http.DefaultClient.Timeout = time.Second * 5 - httpClient.Transport = bpc.AddCloudFlareByPass(httpClient.Transport) + httpClient.Transport = bpc.AddCloudFlareByPass(httpClient.Transport, bpc.Options{ + AddMissingHeaders: true, + Headers: map[string]string{ + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + "Accept-Language": "en-US,en;q=0.5", + "User-Agent": monitor.MacOSChromeUA, + }, + }) ex, err := os.Executable() if err != nil { diff --git a/pkg/monitor/myip.go b/pkg/monitor/myip.go index ad86cd7..b1da0ad 100644 --- a/pkg/monitor/myip.go +++ b/pkg/monitor/myip.go @@ -7,11 +7,11 @@ import ( "strings" "time" - fakeUa "github.com/EDDYCJY/fake-useragent" - "github.com/nezhahq/agent/pkg/util" ) +const MacOSChromeUA = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" + type geoIP struct { CountryCode string `json:"country_code,omitempty"` CountryCode2 string `json:"countryCode,omitempty"` @@ -120,6 +120,6 @@ func httpGetWithUA(client *http.Client, url string) (*http.Response, error) { if err != nil { return nil, err } - req.Header.Add("User-Agent", fakeUa.Random()) + req.Header.Add("User-Agent", MacOSChromeUA) return client.Do(req) }