mirror of
https://gitea.invidious.io/iv-org/invidious.git
synced 2024-08-15 00:53:41 +00:00
allow to set a custom anti-captcha api url (#1473)
This commit is contained in:
parent
6ca948ac3c
commit
3a2f4d4def
2 changed files with 12 additions and 7 deletions
|
@ -93,8 +93,9 @@ struct Config
|
|||
property admin_email : String = "omarroth@protonmail.com" # Email for bug reports
|
||||
|
||||
@[YAML::Field(converter: Preferences::StringToCookies)]
|
||||
property cookies : HTTP::Cookies = HTTP::Cookies.new # Saved cookies in "name1=value1; name2=value2..." format
|
||||
property captcha_key : String? = nil # Key for Anti-Captcha
|
||||
property cookies : HTTP::Cookies = HTTP::Cookies.new # Saved cookies in "name1=value1; name2=value2..." format
|
||||
property captcha_key : String? = nil # Key for Anti-Captcha
|
||||
property captcha_api_url : String = "https://api.anti-captcha.com" # API URL for Anti-Captcha
|
||||
|
||||
def disabled?(option)
|
||||
case disabled = CONFIG.disable_proxy
|
||||
|
|
|
@ -23,7 +23,8 @@ class Invidious::Jobs::BypassCaptchaJob < Invidious::Jobs::BaseJob
|
|||
|
||||
headers = response.cookies.add_request_headers(HTTP::Headers.new)
|
||||
|
||||
response = JSON.parse(HTTP::Client.post("https://api.anti-captcha.com/createTask", body: {
|
||||
response = JSON.parse(HTTP::Client.post(config.captcha_api_url + "/createTask",
|
||||
headers: HTTP::Headers{"Content-Type" => "application/json"}, body: {
|
||||
"clientKey" => config.captcha_key,
|
||||
"task" => {
|
||||
"type" => "NoCaptchaTaskProxyless",
|
||||
|
@ -39,7 +40,8 @@ class Invidious::Jobs::BypassCaptchaJob < Invidious::Jobs::BaseJob
|
|||
loop do
|
||||
sleep 10.seconds
|
||||
|
||||
response = JSON.parse(HTTP::Client.post("https://api.anti-captcha.com/getTaskResult", body: {
|
||||
response = JSON.parse(HTTP::Client.post(config.captcha_api_url + "/getTaskResult",
|
||||
headers: HTTP::Headers{"Content-Type" => "application/json"}, body: {
|
||||
"clientKey" => config.captcha_key,
|
||||
"taskId" => task_id,
|
||||
}.to_json).body)
|
||||
|
@ -76,9 +78,10 @@ class Invidious::Jobs::BypassCaptchaJob < Invidious::Jobs::BaseJob
|
|||
inputs[node["name"]] = node["value"]
|
||||
end
|
||||
|
||||
captcha_client = HTTPClient.new(URI.parse("https://api.anti-captcha.com"))
|
||||
captcha_client = HTTPClient.new(URI.parse(config.captcha_api_url))
|
||||
captcha_client.family = config.force_resolve || Socket::Family::INET
|
||||
response = JSON.parse(captcha_client.post("/createTask", body: {
|
||||
response = JSON.parse(captcha_client.post("/createTask",
|
||||
headers: HTTP::Headers{"Content-Type" => "application/json"}, body: {
|
||||
"clientKey" => config.captcha_key,
|
||||
"task" => {
|
||||
"type" => "NoCaptchaTaskProxyless",
|
||||
|
@ -94,7 +97,8 @@ class Invidious::Jobs::BypassCaptchaJob < Invidious::Jobs::BaseJob
|
|||
loop do
|
||||
sleep 10.seconds
|
||||
|
||||
response = JSON.parse(captcha_client.post("/getTaskResult", body: {
|
||||
response = JSON.parse(captcha_client.post("/getTaskResult",
|
||||
headers: HTTP::Headers{"Content-Type" => "application/json"}, body: {
|
||||
"clientKey" => config.captcha_key,
|
||||
"taskId" => task_id,
|
||||
}.to_json).body)
|
||||
|
|
Loading…
Reference in a new issue