captcha_solver 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b3f328452ef3fc2ff920e8f87336ea979152e7f33a243887e25e45f88e3cbb4
4
- data.tar.gz: 851f4d47bf4bb394c8651d5711b15828b15be85abc422e6fe3bb4eb637aaa43e
3
+ metadata.gz: cb552923bd6768418ba4fad4480c7cb95971949d6f5c6b3f0dc62ef8c4adbd2f
4
+ data.tar.gz: f1fc27b083b6399ecd367d6da461afc60733cebd3df0354193f99ed920fba4ce
5
5
  SHA512:
6
- metadata.gz: 91ff9c119d6a048bdcab810e414c4a55e77b4bf02a25ca6d0909777c7765e13914339c98030dc8b4b1c4526d9a2392d68e90b4b6fd653b31840af72a77f7eb84
7
- data.tar.gz: 686cd8c8c7e39b6baa71aea17b81fa1c5654147fb0ce2be8418d17c623bd99e2d187d9427410b29a0a62faaaa6d4f5104308bf2b47f16461332aeebd764faf11
6
+ metadata.gz: 988782a644cba122259eed79f3af63cba859204cd42313bde0c7d4ae43a357426dd018148d1fb74c6264d0a2cea6f96906889232ed9357a2dc12785d06f936aa
7
+ data.tar.gz: 7de72ce2784bd5aa34069e102efc9f53da879f3a59400870192cfd8d5c27db5c4bb012d2c0202532964d9f7d0d6ccad58e9c1b668571d163dc7b70994c18663b
@@ -0,0 +1,82 @@
1
+ require 'base64'
2
+
3
+ module CaptchaSolver
4
+ class RecaptchaV1 < Base
5
+
6
+ attr_reader :image_path, :help_params
7
+
8
+ def initialize(args)
9
+ super
10
+ @image_path = args[:image_path]
11
+ @help_params = args[:help_params]
12
+ end
13
+
14
+ private
15
+
16
+ def phrase
17
+ help_params[:phrase] == true ? 1 : 0
18
+ end
19
+
20
+ def register_sensitive
21
+ help_params[:register_sensitive] == true ? 1 : 0
22
+ end
23
+
24
+ def numeric
25
+ return 0 unless help_params.key?(:numeric)
26
+ {
27
+ digits: 1,
28
+ letters: 2,
29
+ digits_or_letters: 3,
30
+ digits_and_letters: 4
31
+ }[help_params[:numeric]] || 0
32
+ end
33
+
34
+ def calculation
35
+ help_params[:calculation] == true ? 1 : 0
36
+ end
37
+
38
+ def language
39
+ return 0 unless help_params.key?(:language)
40
+ {
41
+ cyrillic: 1,
42
+ latin: 2
43
+ }[help_params[:language].to_sym] || 0
44
+ end
45
+
46
+ def make_start_request
47
+ RestClient::Request.execute(
48
+ method: :post,
49
+ url: 'http://rucaptcha.com/in.php',
50
+ proxy: "http://#{proxy_address}",
51
+ headers: default_request_headers,
52
+ payload: default_request_params.merge(
53
+ body: base64_image,
54
+ method: :base64,
55
+ phrase: phrase,
56
+ regsense: register_sensitive,
57
+ numeric: numeric,
58
+ calc: calculation,
59
+ language: language,
60
+ )
61
+ )
62
+ end
63
+
64
+ def make_complete_request
65
+ RestClient::Request.execute(
66
+ method: :post,
67
+ url: 'http://rucaptcha.com/res.php',
68
+ proxy: "http://#{proxy_address}",
69
+ headers: default_request_headers,
70
+ payload: default_request_params.merge(
71
+ id: rucaptcha_id,
72
+ action: 'get'
73
+ )
74
+ )
75
+ end
76
+
77
+ def base64_image
78
+ @base64_image ||=
79
+ File.open(image_path, 'rb') { |file| Base64.encode64(file.read) }
80
+ end
81
+ end
82
+ end
@@ -1,6 +1,7 @@
1
1
  require 'rest-client'
2
2
 
3
3
  require 'captcha_solver/base'
4
+ require 'captcha_solver/recaptcha_v1'
4
5
  require 'captcha_solver/recaptcha_v2'
5
6
 
6
7
  module CaptchaSolver
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: captcha_solver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Randi Korhonen
@@ -32,6 +32,7 @@ extra_rdoc_files: []
32
32
  files:
33
33
  - lib/captcha_solver.rb
34
34
  - lib/captcha_solver/base.rb
35
+ - lib/captcha_solver/recaptcha_v1.rb
35
36
  - lib/captcha_solver/recaptcha_v2.rb
36
37
  homepage: https://rubygems.org/gems/captcha_solver
37
38
  licenses: