captcha_solver 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: