feat: add funcaptcha support
All checks were successful
release-tag / release (push) Successful in 2m6s

This commit is contained in:
2023-07-13 19:38:05 +03:00
parent 197918a26d
commit 00b07f7e2b
4 changed files with 65 additions and 10 deletions

View File

@ -115,19 +115,20 @@ func (a *antigateV2Api) getTaskResult(request struct {
response.Status = "ready"
response.EndTime = &task.EndTime
response.Cost = task.Entity.Cost
switch task.Result.(type) {
switch result := task.Result.(type) {
case *sati.ReCaptcha2Result:
response.Solution = struct {
GRecaptchaResponse string `json:"gRecaptchaResponse"`
}{task.Result.(*sati.ReCaptcha2Result).Token}
}{result.Token}
case *sati.TurnstileResult:
response.Solution = struct {
Token string `json:"token"`
UserAgent string `json:"userAgent"`
}{
task.Result.(*sati.TurnstileResult).Token,
a.ctx.Config.AntiGateV2.TurnstileUserAgent,
}
}{result.Token, a.ctx.Config.AntiGateV2.TurnstileUserAgent}
case *sati.FunCaptchaResult:
response.Solution = struct {
Token string `json:"token"`
}{result.Token}
default:
return errorTaskNotSupported
}
@ -169,6 +170,18 @@ func (a *antigateV2Api) createTask(request struct {
PageUrl: task.WebsiteURL,
SiteKey: task.WebsiteKey,
})
case "FunCaptchaTask", "FunCaptchaTaskProxyless":
var task struct {
WebsiteURL string `json:"websiteURL"`
WebsitePublicKey string `json:"websitePublicKey"`
Data map[string]string `json:"data"`
}
mapstructure.Decode(request.Task, &task)
id = a.ctx.Registry.CreateTask(&sati.FunCaptchaTask{
PageUrl: task.WebsiteURL,
SiteKey: task.WebsitePublicKey,
Data: task.Data,
})
default:
return errorTaskNotSupported
}