Help us shape the future of Go! Take the 2026 Go Developer Survey

cfsolve

package
v0.12.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2026 License: AGPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsCFChallenge

func IsCFChallenge(statusCode int, headers map[string]string, body []byte) bool

IsCFChallenge returns true if the response looks like a Cloudflare challenge page. It requires all three conditions: status 403/503, a CF header, and a body marker.

Types

type APIResolver added in v0.12.1

type APIResolver struct {
	// contains filtered or unexported fields
}

APIResolver resolves Cloudflare challenges via an external HTTP API.

func NewAPIResolver added in v0.12.1

func NewAPIResolver(apiURL, apiKey string, timeout time.Duration) *APIResolver

NewAPIResolver creates an APIResolver targeting the given endpoint.

func (*APIResolver) Close added in v0.12.1

func (a *APIResolver) Close()

func (*APIResolver) Solve added in v0.12.1

func (a *APIResolver) Solve(ctx context.Context, challengeURL string) (*SolveResult, error)

type ChallengeResolver added in v0.12.1

type ChallengeResolver interface {
	Solve(ctx context.Context, challengeURL string) (*SolveResult, error)
	Close()
}

ChallengeResolver resolves Cloudflare challenges for a given URL.

type NullResolver added in v0.12.1

type NullResolver struct{}

NullResolver is a no-op resolver that always returns unsolved.

func (*NullResolver) Close added in v0.12.1

func (n *NullResolver) Close()

func (*NullResolver) Solve added in v0.12.1

func (n *NullResolver) Solve(_ context.Context, _ string) (*SolveResult, error)

type SolveResult

type SolveResult struct {
	Solved  bool
	Cookies []*http.Cookie
	Err     error
}

SolveResult holds the outcome of a Cloudflare challenge solve attempt.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL