From 6eb511fb2aa251ce814076b108dff1dee9f06e79 Mon Sep 17 00:00:00 2001 From: Jeremy Lin Date: Tue, 23 Dec 2025 19:52:25 -0800 Subject: [PATCH] fix(publicip/api/cloudflare): add `Referer` header (#3058) --- internal/publicip/api/cloudflare.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/publicip/api/cloudflare.go b/internal/publicip/api/cloudflare.go index 6421b129..06ae55a3 100644 --- a/internal/publicip/api/cloudflare.go +++ b/internal/publicip/api/cloudflare.go @@ -40,7 +40,8 @@ func (c *cloudflare) Token() (token string) { func (c *cloudflare) FetchInfo(ctx context.Context, ip netip.Addr) ( result models.PublicIP, err error, ) { - url := "https://speed.cloudflare.com/meta" + urlBase := "https://speed.cloudflare.com" + url := urlBase + "/meta" if ip.IsValid() { return result, fmt.Errorf("%w: cloudflare cannot provide information on the arbitrary IP address %s", ErrServiceLimited, ip) @@ -50,6 +51,7 @@ func (c *cloudflare) FetchInfo(ctx context.Context, ip netip.Addr) ( if err != nil { return result, err } + request.Header.Add("Referer", urlBase) // returns HTTP 403 otherwise response, err := c.client.Do(request) if err != nil {