Documentation
¶
Index ¶
- Variables
- func AngleToPixels(angleDeg float32, trackWidth, knobWidth float64) float64
- func DownloadImageAsBase64(imageURL string) (string, error)
- func DownloadImageBytes(url string) ([]byte, error)
- func DownloadImageRaw(imageURL string) ([]byte, error)
- func ExtractRotateImageBytes(page *rod.Page) (outer, inner []byte, err error)
- func ExtractRotateImages(page *rod.Page) (outer, inner string, err error)
- func IsCaptchaPresent(page *rod.Page) bool
- func RunShadowCollector(page *rod.Page, datasetPath string, origin string) error
- type RotationLabel
- type Solver
Constants ¶
This section is empty.
Variables ¶
var ErrCaptchaNotFound = errors.New("elementos do captcha não encontrados")
var ErrCaptchaTimeout = errors.New("timeout aguardando resolução do captcha")
Functions ¶
func AngleToPixels ¶
AngleToPixels converte um ângulo (em graus, range -180 a 180) para a distância em pixels que o slider deve ser arrastado.
Normaliza o ângulo para o espectro positivo [0, 360) usando math.Mod e calcula:
pixels = (ângulo / 360) × (trackWidth - knobWidth)
func DownloadImageAsBase64 ¶
func DownloadImageBytes ¶
DownloadImageBytes baixa uma imagem por URL e retorna os bytes crus.
func DownloadImageRaw ¶
DownloadImageRaw baixa uma imagem por URL e retorna os bytes crus. Trata data URIs extraindo e decodificando o base64 embutido.
func ExtractRotateImageBytes ¶
ExtractRotateImageBytes extrai as imagens do captcha de rotação como bytes crus. Retorna os binários das imagens (PNG/JPEG/WebP) prontos para inferência ONNX.
func ExtractRotateImages ¶
ExtractRotateImages extrai as imagens do captcha de rotação em Base64. Mantido para compatibilidade com fallbacks (NATS, SadCaptcha).
func IsCaptchaPresent ¶
IsCaptchaPresent verifica se um captcha está presente na página de forma não-bloqueante.
Types ¶
type RotationLabel ¶
type RotationLabel struct {
ID string `json:"id"`
Angle float64 `json:"angle"`
RawPixels float64 `json:"raw_pixels"`
SlidebarWidth float64 `json:"slidebar_width"`
IconWidth float64 `json:"icon_width"`
Timestamp string `json:"timestamp"`
}
RotationLabel é o JSON final salvo para cada sample de treinamento.
type Solver ¶
type Solver struct {
// contains filtered or unexported fields
}
Solver executa inferência ONNX para resolver captchas de rotação. Thread-safe: pode ser chamado de múltiplas goroutines.
func NewSolver ¶
NewSolver inicializa o ONNX Runtime e cria uma sessão com o modelo. modelPath é o caminho absoluto para o arquivo .onnx. sharedLibPath é o caminho para libonnxruntime.so (pode ser "" para usar o default).