proxied 0.2.6 → 0.2.7
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 +4 -4
- data/.gitignore +2 -1
- data/Appraisals +9 -2
- data/Gemfile +1 -1
- data/Gemfile.lock +110 -104
- data/README.md +10 -4
- data/bin/console +1 -1
- data/lib/generators/templates/proxied.rb +1 -1
- data/lib/proxied/checker.rb +59 -27
- data/lib/proxied/configuration.rb +2 -4
- data/lib/proxied/shared.rb +14 -7
- data/lib/proxied/utilities.rb +7 -6
- data/lib/proxied/version.rb +1 -1
- data/proxied.gemspec +16 -16
- metadata +41 -110
- data/gemfiles/.bundle/config +0 -2
- data/gemfiles/activerecord5.gemfile +0 -11
- data/gemfiles/mongoid7.gemfile +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: db12c4ace8bc64f321360c8e1a6157d07dbd7ee645b6736f38bd1b19e12ef952
|
|
4
|
+
data.tar.gz: a894a6f8b9ca8608bf1d09670fb3c41010f3fe2c4265645a6c7508564f4f31f1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4621888e60cfedd8dc04f923c57b2a0ed7cae70a642e9bfa9c2a3fcc23c209b03455fbe306e0f4c83ed1e04f82f8d49d46d49f3284563b64aa8a16b15a31663d
|
|
7
|
+
data.tar.gz: bcf9e6d50d2730c415a29a20d4bd27ef57e45bc4d814867715117e029cd667641bd7687baaef49627aaea0446781e5b49517532fcf1bebd5b58287bcc7dda8dd
|
data/.gitignore
CHANGED
data/Appraisals
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
appraise 'mongoid7' do
|
|
2
|
-
gem "mongoid", "~> 7", require: "mongoid"
|
|
2
|
+
gem "mongoid", "~> 7.2", require: "mongoid"
|
|
3
3
|
gem "bson_ext", platform: "ruby"
|
|
4
4
|
end
|
|
5
5
|
|
|
6
6
|
appraise 'activerecord5' do
|
|
7
7
|
gem "activerecord", ">= 5.2", require: "active_record"
|
|
8
8
|
|
|
9
|
-
# Ammeter dependencies:
|
|
10
9
|
gem "actionpack", ">= 5.2"
|
|
11
10
|
gem "activemodel", ">= 5.2"
|
|
12
11
|
gem "railties", ">= 5.2"
|
|
13
12
|
end
|
|
13
|
+
|
|
14
|
+
appraise 'activerecord6' do
|
|
15
|
+
gem "activerecord", ">= 6.1", require: "active_record"
|
|
16
|
+
|
|
17
|
+
gem "actionpack", ">= 6.1"
|
|
18
|
+
gem "activemodel", ">= 6.1"
|
|
19
|
+
gem "railties", ">= 6.1"
|
|
20
|
+
end
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -2,67 +2,71 @@ PATH
|
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
4
|
proxied (0.2.6)
|
|
5
|
-
faraday (
|
|
6
|
-
net-ssh (
|
|
5
|
+
faraday (>= 1.0)
|
|
6
|
+
net-ssh (>= 6.0)
|
|
7
7
|
|
|
8
8
|
GEM
|
|
9
9
|
remote: https://rubygems.org/
|
|
10
10
|
specs:
|
|
11
|
-
actioncable (6.0
|
|
12
|
-
actionpack (= 6.0
|
|
11
|
+
actioncable (6.1.0)
|
|
12
|
+
actionpack (= 6.1.0)
|
|
13
|
+
activesupport (= 6.1.0)
|
|
13
14
|
nio4r (~> 2.0)
|
|
14
15
|
websocket-driver (>= 0.6.1)
|
|
15
|
-
actionmailbox (6.0
|
|
16
|
-
actionpack (= 6.0
|
|
17
|
-
activejob (= 6.0
|
|
18
|
-
activerecord (= 6.0
|
|
19
|
-
activestorage (= 6.0
|
|
20
|
-
activesupport (= 6.0
|
|
16
|
+
actionmailbox (6.1.0)
|
|
17
|
+
actionpack (= 6.1.0)
|
|
18
|
+
activejob (= 6.1.0)
|
|
19
|
+
activerecord (= 6.1.0)
|
|
20
|
+
activestorage (= 6.1.0)
|
|
21
|
+
activesupport (= 6.1.0)
|
|
21
22
|
mail (>= 2.7.1)
|
|
22
|
-
actionmailer (6.0
|
|
23
|
-
actionpack (= 6.0
|
|
24
|
-
actionview (= 6.0
|
|
25
|
-
activejob (= 6.0
|
|
23
|
+
actionmailer (6.1.0)
|
|
24
|
+
actionpack (= 6.1.0)
|
|
25
|
+
actionview (= 6.1.0)
|
|
26
|
+
activejob (= 6.1.0)
|
|
27
|
+
activesupport (= 6.1.0)
|
|
26
28
|
mail (~> 2.5, >= 2.5.4)
|
|
27
29
|
rails-dom-testing (~> 2.0)
|
|
28
|
-
actionpack (6.0
|
|
29
|
-
actionview (= 6.0
|
|
30
|
-
activesupport (= 6.0
|
|
31
|
-
rack (~> 2.0, >= 2.0.
|
|
30
|
+
actionpack (6.1.0)
|
|
31
|
+
actionview (= 6.1.0)
|
|
32
|
+
activesupport (= 6.1.0)
|
|
33
|
+
rack (~> 2.0, >= 2.0.9)
|
|
32
34
|
rack-test (>= 0.6.3)
|
|
33
35
|
rails-dom-testing (~> 2.0)
|
|
34
36
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
|
35
|
-
actiontext (6.0
|
|
36
|
-
actionpack (= 6.0
|
|
37
|
-
activerecord (= 6.0
|
|
38
|
-
activestorage (= 6.0
|
|
39
|
-
activesupport (= 6.0
|
|
37
|
+
actiontext (6.1.0)
|
|
38
|
+
actionpack (= 6.1.0)
|
|
39
|
+
activerecord (= 6.1.0)
|
|
40
|
+
activestorage (= 6.1.0)
|
|
41
|
+
activesupport (= 6.1.0)
|
|
40
42
|
nokogiri (>= 1.8.5)
|
|
41
|
-
actionview (6.0
|
|
42
|
-
activesupport (= 6.0
|
|
43
|
+
actionview (6.1.0)
|
|
44
|
+
activesupport (= 6.1.0)
|
|
43
45
|
builder (~> 3.1)
|
|
44
46
|
erubi (~> 1.4)
|
|
45
47
|
rails-dom-testing (~> 2.0)
|
|
46
48
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
|
47
|
-
activejob (6.0
|
|
48
|
-
activesupport (= 6.0
|
|
49
|
+
activejob (6.1.0)
|
|
50
|
+
activesupport (= 6.1.0)
|
|
49
51
|
globalid (>= 0.3.6)
|
|
50
|
-
activemodel (6.0
|
|
51
|
-
activesupport (= 6.0
|
|
52
|
-
activerecord (6.0
|
|
53
|
-
activemodel (= 6.0
|
|
54
|
-
activesupport (= 6.0
|
|
55
|
-
activestorage (6.0
|
|
56
|
-
actionpack (= 6.0
|
|
57
|
-
activejob (= 6.0
|
|
58
|
-
activerecord (= 6.0
|
|
52
|
+
activemodel (6.1.0)
|
|
53
|
+
activesupport (= 6.1.0)
|
|
54
|
+
activerecord (6.1.0)
|
|
55
|
+
activemodel (= 6.1.0)
|
|
56
|
+
activesupport (= 6.1.0)
|
|
57
|
+
activestorage (6.1.0)
|
|
58
|
+
actionpack (= 6.1.0)
|
|
59
|
+
activejob (= 6.1.0)
|
|
60
|
+
activerecord (= 6.1.0)
|
|
61
|
+
activesupport (= 6.1.0)
|
|
59
62
|
marcel (~> 0.3.1)
|
|
60
|
-
|
|
63
|
+
mimemagic (~> 0.3.2)
|
|
64
|
+
activesupport (6.1.0)
|
|
61
65
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
62
|
-
i18n (>=
|
|
63
|
-
minitest (
|
|
64
|
-
tzinfo (~>
|
|
65
|
-
zeitwerk (~> 2.
|
|
66
|
+
i18n (>= 1.6, < 2)
|
|
67
|
+
minitest (>= 5.1)
|
|
68
|
+
tzinfo (~> 2.0)
|
|
69
|
+
zeitwerk (~> 2.3)
|
|
66
70
|
addressable (2.7.0)
|
|
67
71
|
public_suffix (>= 2.0.2, < 5.0)
|
|
68
72
|
appraisal (2.3.0)
|
|
@@ -77,27 +81,28 @@ GEM
|
|
|
77
81
|
coderay (1.1.3)
|
|
78
82
|
coercible (1.0.0)
|
|
79
83
|
descendants_tracker (~> 0.0.1)
|
|
80
|
-
concurrent-ruby (1.1.
|
|
81
|
-
crack (0.4.
|
|
82
|
-
|
|
84
|
+
concurrent-ruby (1.1.7)
|
|
85
|
+
crack (0.4.5)
|
|
86
|
+
rexml
|
|
83
87
|
crass (1.0.6)
|
|
84
88
|
descendants_tracker (0.0.4)
|
|
85
89
|
thread_safe (~> 0.3, >= 0.3.1)
|
|
86
90
|
diff-lcs (1.4.4)
|
|
87
91
|
equalizer (0.0.11)
|
|
88
|
-
erubi (1.
|
|
89
|
-
faraday (1.0
|
|
92
|
+
erubi (1.10.0)
|
|
93
|
+
faraday (1.2.0)
|
|
90
94
|
multipart-post (>= 1.2, < 3)
|
|
95
|
+
ruby2_keywords
|
|
91
96
|
generator_spec (0.9.4)
|
|
92
97
|
activesupport (>= 3.0.0)
|
|
93
98
|
railties (>= 3.0.0)
|
|
94
99
|
globalid (0.4.2)
|
|
95
100
|
activesupport (>= 4.2.0)
|
|
96
101
|
hashdiff (1.0.1)
|
|
97
|
-
i18n (1.8.
|
|
102
|
+
i18n (1.8.5)
|
|
98
103
|
concurrent-ruby (~> 1.0)
|
|
99
104
|
ice_nine (0.11.2)
|
|
100
|
-
loofah (2.
|
|
105
|
+
loofah (2.8.0)
|
|
101
106
|
crass (~> 1.0.2)
|
|
102
107
|
nokogiri (>= 1.5.9)
|
|
103
108
|
mail (2.7.1)
|
|
@@ -108,111 +113,112 @@ GEM
|
|
|
108
113
|
mimemagic (0.3.5)
|
|
109
114
|
mini_mime (1.0.2)
|
|
110
115
|
mini_portile2 (2.4.0)
|
|
111
|
-
minitest (5.14.
|
|
116
|
+
minitest (5.14.2)
|
|
112
117
|
multipart-post (2.1.1)
|
|
113
118
|
net-ssh (6.1.0)
|
|
114
|
-
nio4r (2.5.
|
|
119
|
+
nio4r (2.5.4)
|
|
115
120
|
nokogiri (1.10.10)
|
|
116
121
|
mini_portile2 (~> 2.4.0)
|
|
117
122
|
pry (0.13.1)
|
|
118
123
|
coderay (~> 1.1)
|
|
119
124
|
method_source (~> 1.0)
|
|
120
|
-
public_suffix (4.0.
|
|
125
|
+
public_suffix (4.0.6)
|
|
121
126
|
rack (2.2.3)
|
|
122
127
|
rack-test (1.1.0)
|
|
123
128
|
rack (>= 1.0, < 3)
|
|
124
|
-
rails (6.0
|
|
125
|
-
actioncable (= 6.0
|
|
126
|
-
actionmailbox (= 6.0
|
|
127
|
-
actionmailer (= 6.0
|
|
128
|
-
actionpack (= 6.0
|
|
129
|
-
actiontext (= 6.0
|
|
130
|
-
actionview (= 6.0
|
|
131
|
-
activejob (= 6.0
|
|
132
|
-
activemodel (= 6.0
|
|
133
|
-
activerecord (= 6.0
|
|
134
|
-
activestorage (= 6.0
|
|
135
|
-
activesupport (= 6.0
|
|
136
|
-
bundler (>= 1.
|
|
137
|
-
railties (= 6.0
|
|
129
|
+
rails (6.1.0)
|
|
130
|
+
actioncable (= 6.1.0)
|
|
131
|
+
actionmailbox (= 6.1.0)
|
|
132
|
+
actionmailer (= 6.1.0)
|
|
133
|
+
actionpack (= 6.1.0)
|
|
134
|
+
actiontext (= 6.1.0)
|
|
135
|
+
actionview (= 6.1.0)
|
|
136
|
+
activejob (= 6.1.0)
|
|
137
|
+
activemodel (= 6.1.0)
|
|
138
|
+
activerecord (= 6.1.0)
|
|
139
|
+
activestorage (= 6.1.0)
|
|
140
|
+
activesupport (= 6.1.0)
|
|
141
|
+
bundler (>= 1.15.0)
|
|
142
|
+
railties (= 6.1.0)
|
|
138
143
|
sprockets-rails (>= 2.0.0)
|
|
139
144
|
rails-dom-testing (2.0.3)
|
|
140
145
|
activesupport (>= 4.2.0)
|
|
141
146
|
nokogiri (>= 1.6)
|
|
142
147
|
rails-html-sanitizer (1.3.0)
|
|
143
148
|
loofah (~> 2.3)
|
|
144
|
-
railties (6.0
|
|
145
|
-
actionpack (= 6.0
|
|
146
|
-
activesupport (= 6.0
|
|
149
|
+
railties (6.1.0)
|
|
150
|
+
actionpack (= 6.1.0)
|
|
151
|
+
activesupport (= 6.1.0)
|
|
147
152
|
method_source
|
|
148
153
|
rake (>= 0.8.7)
|
|
149
|
-
thor (
|
|
150
|
-
rake (13.0.
|
|
151
|
-
rdoc (6.
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
154
|
+
thor (~> 1.0)
|
|
155
|
+
rake (13.0.3)
|
|
156
|
+
rdoc (6.3.0)
|
|
157
|
+
rexml (3.2.4)
|
|
158
|
+
rspec-core (3.10.0)
|
|
159
|
+
rspec-support (~> 3.10.0)
|
|
160
|
+
rspec-expectations (3.10.0)
|
|
155
161
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
156
|
-
rspec-support (~> 3.
|
|
157
|
-
rspec-mocks (3.
|
|
162
|
+
rspec-support (~> 3.10.0)
|
|
163
|
+
rspec-mocks (3.10.0)
|
|
158
164
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
159
|
-
rspec-support (~> 3.
|
|
160
|
-
rspec-rails (4.0.
|
|
165
|
+
rspec-support (~> 3.10.0)
|
|
166
|
+
rspec-rails (4.0.2)
|
|
161
167
|
actionpack (>= 4.2)
|
|
162
168
|
activesupport (>= 4.2)
|
|
163
169
|
railties (>= 4.2)
|
|
164
|
-
rspec-core (~> 3.
|
|
165
|
-
rspec-expectations (~> 3.
|
|
166
|
-
rspec-mocks (~> 3.
|
|
167
|
-
rspec-support (~> 3.
|
|
168
|
-
rspec-support (3.
|
|
169
|
-
|
|
170
|
+
rspec-core (~> 3.10)
|
|
171
|
+
rspec-expectations (~> 3.10)
|
|
172
|
+
rspec-mocks (~> 3.10)
|
|
173
|
+
rspec-support (~> 3.10)
|
|
174
|
+
rspec-support (3.10.0)
|
|
175
|
+
ruby2_keywords (0.0.2)
|
|
170
176
|
sprockets (4.0.2)
|
|
171
177
|
concurrent-ruby (~> 1.0)
|
|
172
178
|
rack (> 1, < 3)
|
|
173
|
-
sprockets-rails (3.2.
|
|
179
|
+
sprockets-rails (3.2.2)
|
|
174
180
|
actionpack (>= 4.0)
|
|
175
181
|
activesupport (>= 4.0)
|
|
176
182
|
sprockets (>= 3.0.0)
|
|
177
183
|
thor (1.0.1)
|
|
178
184
|
thread_safe (0.3.6)
|
|
179
|
-
tzinfo (
|
|
180
|
-
|
|
185
|
+
tzinfo (2.0.4)
|
|
186
|
+
concurrent-ruby (~> 1.0)
|
|
181
187
|
vcr (6.0.0)
|
|
182
188
|
virtus (1.0.5)
|
|
183
189
|
axiom-types (~> 0.1)
|
|
184
190
|
coercible (~> 1.0)
|
|
185
191
|
descendants_tracker (~> 0.0, >= 0.0.3)
|
|
186
192
|
equalizer (~> 0.0, >= 0.0.9)
|
|
187
|
-
webmock (3.
|
|
193
|
+
webmock (3.11.0)
|
|
188
194
|
addressable (>= 2.3.6)
|
|
189
195
|
crack (>= 0.3.2)
|
|
190
196
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
191
197
|
websocket-driver (0.7.3)
|
|
192
198
|
websocket-extensions (>= 0.1.0)
|
|
193
199
|
websocket-extensions (0.1.5)
|
|
194
|
-
zeitwerk (2.
|
|
200
|
+
zeitwerk (2.4.2)
|
|
195
201
|
|
|
196
202
|
PLATFORMS
|
|
197
203
|
ruby
|
|
198
204
|
|
|
199
205
|
DEPENDENCIES
|
|
200
|
-
appraisal (
|
|
201
|
-
bundler (
|
|
202
|
-
generator_spec (
|
|
206
|
+
appraisal (>= 2.3)
|
|
207
|
+
bundler (>= 2.0)
|
|
208
|
+
generator_spec (>= 0.9)
|
|
203
209
|
proxied!
|
|
204
|
-
pry (
|
|
205
|
-
rails (
|
|
206
|
-
rake (
|
|
207
|
-
rdoc (
|
|
208
|
-
rspec-core (
|
|
209
|
-
rspec-expectations (
|
|
210
|
-
rspec-mocks (
|
|
211
|
-
rspec-rails (
|
|
212
|
-
rspec-support (
|
|
213
|
-
vcr (
|
|
214
|
-
virtus (
|
|
215
|
-
webmock (
|
|
210
|
+
pry (>= 0.13)
|
|
211
|
+
rails (>= 6.0)
|
|
212
|
+
rake (>= 13.0)
|
|
213
|
+
rdoc (>= 6.3)
|
|
214
|
+
rspec-core (>= 3.10)
|
|
215
|
+
rspec-expectations (>= 3.10)
|
|
216
|
+
rspec-mocks (>= 3.10)
|
|
217
|
+
rspec-rails (>= 4.0)
|
|
218
|
+
rspec-support (>= 3.10)
|
|
219
|
+
vcr (>= 6.0)
|
|
220
|
+
virtus (>= 1.0)
|
|
221
|
+
webmock (>= 3.11)
|
|
216
222
|
|
|
217
223
|
BUNDLED WITH
|
|
218
224
|
2.1.4
|
data/README.md
CHANGED
|
@@ -62,16 +62,22 @@ Features:
|
|
|
62
62
|
|
|
63
63
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
64
64
|
|
|
65
|
+
### Appraisals
|
|
66
|
+
|
|
67
|
+
Install appraisal dependencies (if not already done):
|
|
68
|
+
```
|
|
69
|
+
bundle exec appraisal install
|
|
70
|
+
```
|
|
71
|
+
|
|
65
72
|
To test specific appraisals/gemfiles, you can do
|
|
66
73
|
|
|
67
|
-
* ActiveRecord: bundle exec appraisal
|
|
74
|
+
* ActiveRecord: bundle exec appraisal activerecord6 rake spec
|
|
68
75
|
|
|
69
|
-
In order to test specific specs: bundle exec appraisal
|
|
76
|
+
In order to test specific specs: `bundle exec appraisal activerecord6 rspec spec/lib/generators/activerecord_generator_spec.rb`
|
|
70
77
|
|
|
71
78
|
* Mongoid: bundle exec appraisal mongoid7 rake spec ADAPTER=mongoid
|
|
72
79
|
|
|
73
|
-
In order to test specific specs: ADAPTER=mongoid bundle exec appraisal mongoid7 rspec spec/lib/generators/mongoid_generator_spec.rb
|
|
74
|
-
|
|
80
|
+
In order to test specific specs: `ADAPTER=mongoid bundle exec appraisal mongoid7 rspec spec/lib/generators/mongoid_generator_spec.rb`
|
|
75
81
|
|
|
76
82
|
## Contributing
|
|
77
83
|
|
data/bin/console
CHANGED
|
@@ -8,7 +8,7 @@ require "proxied"
|
|
|
8
8
|
|
|
9
9
|
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
10
10
|
require "pry"
|
|
11
|
-
Pry.config.
|
|
11
|
+
Pry.config.history_file = File.join(__FILE__, "../.pry_history")
|
|
12
12
|
Pry.start
|
|
13
13
|
|
|
14
14
|
#require "irb"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
# The settings below are for configuring the proxy checker service
|
|
17
17
|
config.faraday = {
|
|
18
18
|
adapter: :net_http,
|
|
19
|
-
user_agent: -> { "Mozilla/5.0 (Macintosh; Intel Mac OS X
|
|
19
|
+
user_agent: -> { "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15" },
|
|
20
20
|
verbose: false
|
|
21
21
|
}
|
|
22
22
|
|
data/lib/proxied/checker.rb
CHANGED
|
@@ -33,57 +33,79 @@ module Proxied
|
|
|
33
33
|
::Proxied::Jobs::CheckProxyJob.perform_async(proxy.id.to_s)
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
|
-
|
|
37
36
|
else
|
|
38
37
|
::Proxied::Logger.log "Couldn't find any proxies to check!"
|
|
39
38
|
end
|
|
40
39
|
end
|
|
41
|
-
|
|
42
|
-
def check_proxy(proxy, update: true)
|
|
40
|
+
|
|
41
|
+
def check_proxy(proxy, protocol: nil, update: true)
|
|
43
42
|
::Proxied::Logger.log "#{Time.now}: Will check if proxy #{proxy.proxy_address} is working."
|
|
43
|
+
protocol ||= proxy.protocol
|
|
44
44
|
|
|
45
|
-
self.send("check_#{
|
|
45
|
+
self.send("check_#{protocol}_proxy", proxy, update: update)
|
|
46
46
|
end
|
|
47
|
-
|
|
48
|
-
def check_socks_proxy(
|
|
47
|
+
|
|
48
|
+
def check_socks_proxy(
|
|
49
|
+
proxy,
|
|
50
|
+
test_host: ::Proxied.configuration.socks_test[:hostname],
|
|
51
|
+
test_port: ::Proxied.configuration.socks_test[:port],
|
|
52
|
+
test_query: ::Proxied.configuration.socks_test[:query],
|
|
53
|
+
timeout: ::Proxied.configuration.socks_test[:timeout],
|
|
54
|
+
update: true
|
|
55
|
+
)
|
|
49
56
|
valid_proxy = false
|
|
50
57
|
|
|
51
58
|
begin
|
|
52
59
|
socks_proxy = ::Net::SSH::Proxy::SOCKS5.new(proxy.host, proxy.port, proxy.socks_proxy_credentials)
|
|
53
|
-
|
|
60
|
+
socket = socks_proxy.open(test_host, test_port, {timeout: timeout})
|
|
61
|
+
|
|
62
|
+
socket.write("#{test_query}\r\n")
|
|
63
|
+
response = socket.read
|
|
64
|
+
valid_proxy = !response.to_s.empty? && response.downcase.include?(test_query.gsub(/^=/, '').downcase)
|
|
65
|
+
|
|
66
|
+
socket.close
|
|
54
67
|
|
|
55
|
-
client.write("#{test_query}\r\n")
|
|
56
|
-
response = client.read
|
|
57
|
-
|
|
58
|
-
valid_proxy = !response.to_s.empty?
|
|
59
|
-
|
|
60
|
-
client.close
|
|
61
|
-
|
|
62
68
|
rescue StandardError => e
|
|
63
69
|
::Proxied::Logger.log "Exception occured while trying to check proxy #{proxy.proxy_address}. Error Class: #{e.class}. Error Message: #{e.message}"
|
|
64
70
|
valid_proxy = false
|
|
65
71
|
end
|
|
66
|
-
|
|
72
|
+
|
|
67
73
|
update_proxy(proxy, valid_proxy) if update
|
|
68
|
-
|
|
74
|
+
|
|
69
75
|
return valid_proxy
|
|
70
76
|
end
|
|
71
|
-
|
|
72
|
-
def
|
|
73
|
-
|
|
77
|
+
|
|
78
|
+
def check_https_proxy(
|
|
79
|
+
proxy,
|
|
80
|
+
test_url: ::Proxied.configuration.http_test[:url],
|
|
81
|
+
evaluate: ::Proxied.configuration.http_test[:evaluate],
|
|
82
|
+
timeout: ::Proxied.configuration.http_test[:timeout],
|
|
83
|
+
update: true)
|
|
74
84
|
|
|
85
|
+
return check_http_proxy(proxy, test_url: test_url, evaluate: evaluate, timeout: timeout, update: update)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def check_http_proxy(
|
|
89
|
+
proxy,
|
|
90
|
+
test_url: ::Proxied.configuration.http_test[:url],
|
|
91
|
+
evaluate: ::Proxied.configuration.http_test[:evaluate],
|
|
92
|
+
timeout: ::Proxied.configuration.http_test[:timeout],
|
|
93
|
+
update: true)
|
|
94
|
+
|
|
95
|
+
::Proxied::Logger.log "#{Time.now}: Fetching #{::Proxied.configuration.http_test[:url]} with proxy #{proxy.proxy_address} (#{proxy.ip_address})."
|
|
96
|
+
|
|
75
97
|
response = request(test_url, proxy, options: {timeout: timeout})
|
|
76
98
|
valid_proxy = evaluate.call(proxy, response)
|
|
77
99
|
|
|
78
100
|
update_proxy(proxy, valid_proxy, response) if update
|
|
79
|
-
|
|
101
|
+
|
|
80
102
|
return valid_proxy
|
|
81
103
|
end
|
|
82
|
-
|
|
104
|
+
|
|
83
105
|
def update_proxy(proxy, valid, response = nil)
|
|
84
106
|
::Proxied::Logger.info "#{Time.now}: Proxy #{proxy.proxy_address} (#{proxy.ip_address}) is #{valid ? "working" : "not working"}!"
|
|
85
107
|
::Proxied::Logger.debug "Response: #{response}" if !valid && response
|
|
86
|
-
|
|
108
|
+
|
|
87
109
|
successful_attempts = proxy.successful_attempts || 0
|
|
88
110
|
failed_attempts = proxy.failed_attempts || 0
|
|
89
111
|
|
|
@@ -94,30 +116,32 @@ module Proxied
|
|
|
94
116
|
end
|
|
95
117
|
|
|
96
118
|
is_valid = (successful_attempts >= self.minimum_successful_attempts && failed_attempts < self.maximum_failed_attempts)
|
|
97
|
-
|
|
119
|
+
|
|
98
120
|
proxy.valid_proxy = is_valid
|
|
99
121
|
proxy.successful_attempts = successful_attempts
|
|
100
122
|
proxy.failed_attempts = failed_attempts
|
|
101
123
|
proxy.last_checked_at = Time.now
|
|
102
124
|
proxy.save
|
|
103
125
|
end
|
|
104
|
-
|
|
126
|
+
|
|
105
127
|
private
|
|
106
128
|
def request(url, proxy, options: {})
|
|
107
129
|
response = nil
|
|
108
130
|
|
|
109
131
|
user_agent = options.fetch(:user_agent, ::Proxied.configuration.faraday.fetch(:user_agent, nil)&.call)
|
|
110
132
|
timeout = options.fetch(:timeout, ::Proxied.configuration.http_test[:timeout])
|
|
111
|
-
|
|
133
|
+
auth_mode = proxy.respond_to?(:auth_mode) ? proxy.auth_mode : 'credentials'
|
|
134
|
+
|
|
112
135
|
begin
|
|
113
136
|
connection = ::Faraday.new(url: url) do |builder|
|
|
114
137
|
builder.headers["User-Agent"] = user_agent if !user_agent.to_s.empty?
|
|
115
138
|
builder.options[:timeout] = timeout if timeout
|
|
116
|
-
builder.proxy = proxy.proxy_options_for_faraday
|
|
139
|
+
builder.proxy = proxy.proxy_options_for_faraday
|
|
140
|
+
#builder.basic_auth(proxy.username, proxy.password) if using_basic_auth?(auth_mode)
|
|
117
141
|
builder.response :logger if ::Proxied.configuration.verbose_faraday?
|
|
118
142
|
builder.adapter ::Proxied.configuration.faraday.fetch(:adapter, :net_http)
|
|
119
143
|
end
|
|
120
|
-
|
|
144
|
+
|
|
121
145
|
response = connection.get&.body
|
|
122
146
|
|
|
123
147
|
rescue Faraday::TimeoutError, Faraday::Error => e
|
|
@@ -127,5 +151,13 @@ module Proxied
|
|
|
127
151
|
return response
|
|
128
152
|
end
|
|
129
153
|
|
|
154
|
+
def using_credentials?(mode)
|
|
155
|
+
mode.to_s.eql?('credentials')
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
def using_basic_auth?(mode)
|
|
159
|
+
mode.to_s.eql?('basic') || mode.to_s.eql?('basic_auth')
|
|
160
|
+
end
|
|
161
|
+
|
|
130
162
|
end
|
|
131
163
|
end
|
|
@@ -7,8 +7,6 @@ module Proxied
|
|
|
7
7
|
attr_accessor :faraday
|
|
8
8
|
attr_accessor :http_test, :socks_test
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
10
|
def initialize
|
|
13
11
|
# The ActiveRecord or Mongoid model that will be used for managing proxies - Must be set otherwise the gem won't work!
|
|
14
12
|
self.proxy_class = nil
|
|
@@ -27,12 +25,12 @@ module Proxied
|
|
|
27
25
|
# The settings below are for configuring the proxy checker service
|
|
28
26
|
self.faraday = {
|
|
29
27
|
adapter: :net_http,
|
|
30
|
-
user_agent: -> { "Mozilla/5.0 (Macintosh; Intel Mac OS X
|
|
28
|
+
user_agent: -> { "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15" },
|
|
31
29
|
verbose: false
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
self.http_test = {
|
|
35
|
-
url: "
|
|
33
|
+
url: "https://ipinfo.io/ip",
|
|
36
34
|
evaluate: -> (proxy, response) { !(response&.to_s&.strip&.downcase =~ /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/i).nil? },
|
|
37
35
|
timeout: 30,
|
|
38
36
|
}
|
data/lib/proxied/shared.rb
CHANGED
|
@@ -13,8 +13,8 @@ module Proxied
|
|
|
13
13
|
end
|
|
14
14
|
|
|
15
15
|
# Keep these for compatibility for now, they just wrap the utility functions
|
|
16
|
-
def format_proxy_address(host, port = 80,
|
|
17
|
-
::Proxied::Utilities.format_proxy_address(host: host, port: port,
|
|
16
|
+
def format_proxy_address(host, port = 80, include_protocol = false)
|
|
17
|
+
::Proxied::Utilities.format_proxy_address(host: host, port: port, include_protocol: include_protocol)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def format_proxy_credentials(username, password)
|
|
@@ -23,12 +23,12 @@ module Proxied
|
|
|
23
23
|
end
|
|
24
24
|
|
|
25
25
|
module InstanceMethods
|
|
26
|
-
def proxy_address(
|
|
26
|
+
def proxy_address(include_protocol: false)
|
|
27
27
|
case self.auth_mode.to_sym
|
|
28
28
|
when :credentials
|
|
29
|
-
::Proxied::Utilities.format_proxy_address(host: self.host, port: self.port,
|
|
30
|
-
when :
|
|
31
|
-
::Proxied::Utilities.format_proxy_address(host: self.host, port: self.port, username: self.username, password: self.password,
|
|
29
|
+
::Proxied::Utilities.format_proxy_address(host: self.host, port: self.port, protocol: self.protocol, include_protocol: include_protocol)
|
|
30
|
+
when :url
|
|
31
|
+
::Proxied::Utilities.format_proxy_address(host: self.host, port: self.port, protocol: self.protocol, username: self.username, password: self.password, include_protocol: include_protocol)
|
|
32
32
|
end
|
|
33
33
|
end
|
|
34
34
|
|
|
@@ -41,7 +41,14 @@ module Proxied
|
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
def proxy_options_for_faraday
|
|
44
|
-
::Proxied::Utilities.proxy_options_for_faraday(
|
|
44
|
+
::Proxied::Utilities.proxy_options_for_faraday(
|
|
45
|
+
host: self.host,
|
|
46
|
+
port: self.port,
|
|
47
|
+
protocol: self.protocol,
|
|
48
|
+
username: self.username,
|
|
49
|
+
password: self.password,
|
|
50
|
+
auth_mode: self.auth_mode
|
|
51
|
+
)
|
|
45
52
|
end
|
|
46
53
|
|
|
47
54
|
end
|
data/lib/proxied/utilities.rb
CHANGED
|
@@ -2,10 +2,11 @@ module Proxied
|
|
|
2
2
|
class Utilities
|
|
3
3
|
class << self
|
|
4
4
|
|
|
5
|
-
def format_proxy_address(host:, port: 80, username: nil, password: nil,
|
|
5
|
+
def format_proxy_address(host:, port: 80, username: nil, password: nil, protocol: 'http', include_protocol: false)
|
|
6
|
+
protocol ||= 'http'
|
|
6
7
|
address = "#{host.strip}:#{port}"
|
|
7
8
|
address = "#{format_proxy_credentials(username, password)}@#{address}" if !username.to_s.empty? && !password.to_s.empty?
|
|
8
|
-
address =
|
|
9
|
+
address = include_protocol && address !~ /^http(s)?/i ? "#{protocol}://#{address}" : address
|
|
9
10
|
|
|
10
11
|
return address
|
|
11
12
|
end
|
|
@@ -27,14 +28,14 @@ module Proxied
|
|
|
27
28
|
return credentials
|
|
28
29
|
end
|
|
29
30
|
|
|
30
|
-
def proxy_options_for_faraday(host:, port: 80, username: nil, password: nil, auth_mode: :credentials)
|
|
31
|
+
def proxy_options_for_faraday(host:, port: 80, username: nil, password: nil, auth_mode: :credentials, protocol: 'http')
|
|
31
32
|
proxy_options = {}
|
|
32
33
|
username = encode_credential(username)
|
|
33
34
|
password = encode_credential(password)
|
|
34
35
|
|
|
35
|
-
options = {host: host, port: port,
|
|
36
|
-
options[:username] = username if !username.to_s.empty? && auth_mode&.to_sym&.eql?(:
|
|
37
|
-
options[:password] = password if !password.to_s.empty? && auth_mode&.to_sym&.eql?(:
|
|
36
|
+
options = {host: host, port: port, protocol: protocol, include_protocol: true}
|
|
37
|
+
options[:username] = username if !username.to_s.empty? && auth_mode&.to_sym&.eql?(:url)
|
|
38
|
+
options[:password] = password if !password.to_s.empty? && auth_mode&.to_sym&.eql?(:url)
|
|
38
39
|
|
|
39
40
|
proxy_options[:uri] = format_proxy_address(options)
|
|
40
41
|
proxy_options[:user] = username if !username.to_s.empty? && auth_mode&.to_sym&.eql?(:credentials)
|
data/lib/proxied/version.rb
CHANGED
data/proxied.gemspec
CHANGED
|
@@ -23,25 +23,25 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
24
24
|
spec.require_paths = ["lib"]
|
|
25
25
|
|
|
26
|
-
spec.add_dependency 'faraday', '
|
|
27
|
-
spec.add_dependency 'net-ssh', '
|
|
26
|
+
spec.add_dependency 'faraday', '>= 1.0'
|
|
27
|
+
spec.add_dependency 'net-ssh', '>= 6.0'
|
|
28
28
|
|
|
29
|
-
spec.add_development_dependency 'bundler', '
|
|
30
|
-
spec.add_development_dependency 'rake', '
|
|
31
|
-
spec.add_development_dependency 'appraisal', '
|
|
29
|
+
spec.add_development_dependency 'bundler', '>= 2.0'
|
|
30
|
+
spec.add_development_dependency 'rake', '>= 13.0'
|
|
31
|
+
spec.add_development_dependency 'appraisal', '>= 2.3'
|
|
32
32
|
|
|
33
|
-
spec.add_development_dependency 'virtus', '
|
|
33
|
+
spec.add_development_dependency 'virtus', '>= 1.0'
|
|
34
34
|
|
|
35
|
-
spec.add_development_dependency 'rspec-rails', '
|
|
36
|
-
spec.add_development_dependency 'rspec-core', '
|
|
37
|
-
spec.add_development_dependency 'rspec-expectations', '
|
|
38
|
-
spec.add_development_dependency 'rspec-mocks', '
|
|
39
|
-
spec.add_development_dependency 'rspec-support', '
|
|
40
|
-
spec.add_development_dependency 'generator_spec', '
|
|
35
|
+
spec.add_development_dependency 'rspec-rails', '>= 4.0'
|
|
36
|
+
spec.add_development_dependency 'rspec-core', '>= 3.10'
|
|
37
|
+
spec.add_development_dependency 'rspec-expectations', '>= 3.10'
|
|
38
|
+
spec.add_development_dependency 'rspec-mocks', '>= 3.10'
|
|
39
|
+
spec.add_development_dependency 'rspec-support', '>= 3.10'
|
|
40
|
+
spec.add_development_dependency 'generator_spec', '>= 0.9'
|
|
41
41
|
|
|
42
|
-
spec.add_development_dependency 'rdoc', '
|
|
43
|
-
spec.add_development_dependency 'vcr', '
|
|
44
|
-
spec.add_development_dependency 'webmock', '
|
|
42
|
+
spec.add_development_dependency 'rdoc', '>= 6.3'
|
|
43
|
+
spec.add_development_dependency 'vcr', '>= 6.0'
|
|
44
|
+
spec.add_development_dependency 'webmock', '>= 3.11'
|
|
45
45
|
|
|
46
|
-
spec.add_development_dependency 'pry', '
|
|
46
|
+
spec.add_development_dependency 'pry', '>= 0.13'
|
|
47
47
|
end
|
metadata
CHANGED
|
@@ -1,305 +1,239 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: proxied
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sebastian
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-12-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.0'
|
|
20
17
|
- - ">="
|
|
21
18
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 1.0
|
|
19
|
+
version: '1.0'
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
|
-
- - "~>"
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: '1.0'
|
|
30
24
|
- - ">="
|
|
31
25
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 1.0
|
|
26
|
+
version: '1.0'
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
34
28
|
name: net-ssh
|
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
|
36
30
|
requirements:
|
|
37
|
-
- - "
|
|
31
|
+
- - ">="
|
|
38
32
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '6.
|
|
33
|
+
version: '6.0'
|
|
40
34
|
type: :runtime
|
|
41
35
|
prerelease: false
|
|
42
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
37
|
requirements:
|
|
44
|
-
- - "
|
|
38
|
+
- - ">="
|
|
45
39
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '6.
|
|
40
|
+
version: '6.0'
|
|
47
41
|
- !ruby/object:Gem::Dependency
|
|
48
42
|
name: bundler
|
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
|
50
44
|
requirements:
|
|
51
|
-
- - "~>"
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '2.1'
|
|
54
45
|
- - ">="
|
|
55
46
|
- !ruby/object:Gem::Version
|
|
56
|
-
version: 2.
|
|
47
|
+
version: '2.0'
|
|
57
48
|
type: :development
|
|
58
49
|
prerelease: false
|
|
59
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
60
51
|
requirements:
|
|
61
|
-
- - "~>"
|
|
62
|
-
- !ruby/object:Gem::Version
|
|
63
|
-
version: '2.1'
|
|
64
52
|
- - ">="
|
|
65
53
|
- !ruby/object:Gem::Version
|
|
66
|
-
version: 2.
|
|
54
|
+
version: '2.0'
|
|
67
55
|
- !ruby/object:Gem::Dependency
|
|
68
56
|
name: rake
|
|
69
57
|
requirement: !ruby/object:Gem::Requirement
|
|
70
58
|
requirements:
|
|
71
|
-
- - "~>"
|
|
72
|
-
- !ruby/object:Gem::Version
|
|
73
|
-
version: '13.0'
|
|
74
59
|
- - ">="
|
|
75
60
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: 13.0
|
|
61
|
+
version: '13.0'
|
|
77
62
|
type: :development
|
|
78
63
|
prerelease: false
|
|
79
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
80
65
|
requirements:
|
|
81
|
-
- - "~>"
|
|
82
|
-
- !ruby/object:Gem::Version
|
|
83
|
-
version: '13.0'
|
|
84
66
|
- - ">="
|
|
85
67
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: 13.0
|
|
68
|
+
version: '13.0'
|
|
87
69
|
- !ruby/object:Gem::Dependency
|
|
88
70
|
name: appraisal
|
|
89
71
|
requirement: !ruby/object:Gem::Requirement
|
|
90
72
|
requirements:
|
|
91
|
-
- - "
|
|
73
|
+
- - ">="
|
|
92
74
|
- !ruby/object:Gem::Version
|
|
93
75
|
version: '2.3'
|
|
94
76
|
type: :development
|
|
95
77
|
prerelease: false
|
|
96
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
97
79
|
requirements:
|
|
98
|
-
- - "
|
|
80
|
+
- - ">="
|
|
99
81
|
- !ruby/object:Gem::Version
|
|
100
82
|
version: '2.3'
|
|
101
83
|
- !ruby/object:Gem::Dependency
|
|
102
84
|
name: virtus
|
|
103
85
|
requirement: !ruby/object:Gem::Requirement
|
|
104
86
|
requirements:
|
|
105
|
-
- - "~>"
|
|
106
|
-
- !ruby/object:Gem::Version
|
|
107
|
-
version: '1.0'
|
|
108
87
|
- - ">="
|
|
109
88
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: 1.0
|
|
89
|
+
version: '1.0'
|
|
111
90
|
type: :development
|
|
112
91
|
prerelease: false
|
|
113
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
114
93
|
requirements:
|
|
115
|
-
- - "~>"
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '1.0'
|
|
118
94
|
- - ">="
|
|
119
95
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: 1.0
|
|
96
|
+
version: '1.0'
|
|
121
97
|
- !ruby/object:Gem::Dependency
|
|
122
98
|
name: rspec-rails
|
|
123
99
|
requirement: !ruby/object:Gem::Requirement
|
|
124
100
|
requirements:
|
|
125
|
-
- - "~>"
|
|
126
|
-
- !ruby/object:Gem::Version
|
|
127
|
-
version: '4.0'
|
|
128
101
|
- - ">="
|
|
129
102
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: 4.0
|
|
103
|
+
version: '4.0'
|
|
131
104
|
type: :development
|
|
132
105
|
prerelease: false
|
|
133
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
134
107
|
requirements:
|
|
135
|
-
- - "~>"
|
|
136
|
-
- !ruby/object:Gem::Version
|
|
137
|
-
version: '4.0'
|
|
138
108
|
- - ">="
|
|
139
109
|
- !ruby/object:Gem::Version
|
|
140
|
-
version: 4.0
|
|
110
|
+
version: '4.0'
|
|
141
111
|
- !ruby/object:Gem::Dependency
|
|
142
112
|
name: rspec-core
|
|
143
113
|
requirement: !ruby/object:Gem::Requirement
|
|
144
114
|
requirements:
|
|
145
|
-
- - "~>"
|
|
146
|
-
- !ruby/object:Gem::Version
|
|
147
|
-
version: '3.9'
|
|
148
115
|
- - ">="
|
|
149
116
|
- !ruby/object:Gem::Version
|
|
150
|
-
version: 3.
|
|
117
|
+
version: '3.10'
|
|
151
118
|
type: :development
|
|
152
119
|
prerelease: false
|
|
153
120
|
version_requirements: !ruby/object:Gem::Requirement
|
|
154
121
|
requirements:
|
|
155
|
-
- - "~>"
|
|
156
|
-
- !ruby/object:Gem::Version
|
|
157
|
-
version: '3.9'
|
|
158
122
|
- - ">="
|
|
159
123
|
- !ruby/object:Gem::Version
|
|
160
|
-
version: 3.
|
|
124
|
+
version: '3.10'
|
|
161
125
|
- !ruby/object:Gem::Dependency
|
|
162
126
|
name: rspec-expectations
|
|
163
127
|
requirement: !ruby/object:Gem::Requirement
|
|
164
128
|
requirements:
|
|
165
|
-
- - "~>"
|
|
166
|
-
- !ruby/object:Gem::Version
|
|
167
|
-
version: '3.9'
|
|
168
129
|
- - ">="
|
|
169
130
|
- !ruby/object:Gem::Version
|
|
170
|
-
version: 3.
|
|
131
|
+
version: '3.10'
|
|
171
132
|
type: :development
|
|
172
133
|
prerelease: false
|
|
173
134
|
version_requirements: !ruby/object:Gem::Requirement
|
|
174
135
|
requirements:
|
|
175
|
-
- - "~>"
|
|
176
|
-
- !ruby/object:Gem::Version
|
|
177
|
-
version: '3.9'
|
|
178
136
|
- - ">="
|
|
179
137
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: 3.
|
|
138
|
+
version: '3.10'
|
|
181
139
|
- !ruby/object:Gem::Dependency
|
|
182
140
|
name: rspec-mocks
|
|
183
141
|
requirement: !ruby/object:Gem::Requirement
|
|
184
142
|
requirements:
|
|
185
|
-
- - "~>"
|
|
186
|
-
- !ruby/object:Gem::Version
|
|
187
|
-
version: '3.9'
|
|
188
143
|
- - ">="
|
|
189
144
|
- !ruby/object:Gem::Version
|
|
190
|
-
version: 3.
|
|
145
|
+
version: '3.10'
|
|
191
146
|
type: :development
|
|
192
147
|
prerelease: false
|
|
193
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
194
149
|
requirements:
|
|
195
|
-
- - "~>"
|
|
196
|
-
- !ruby/object:Gem::Version
|
|
197
|
-
version: '3.9'
|
|
198
150
|
- - ">="
|
|
199
151
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: 3.
|
|
152
|
+
version: '3.10'
|
|
201
153
|
- !ruby/object:Gem::Dependency
|
|
202
154
|
name: rspec-support
|
|
203
155
|
requirement: !ruby/object:Gem::Requirement
|
|
204
156
|
requirements:
|
|
205
|
-
- - "~>"
|
|
206
|
-
- !ruby/object:Gem::Version
|
|
207
|
-
version: '3.9'
|
|
208
157
|
- - ">="
|
|
209
158
|
- !ruby/object:Gem::Version
|
|
210
|
-
version: 3.
|
|
159
|
+
version: '3.10'
|
|
211
160
|
type: :development
|
|
212
161
|
prerelease: false
|
|
213
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
214
163
|
requirements:
|
|
215
|
-
- - "~>"
|
|
216
|
-
- !ruby/object:Gem::Version
|
|
217
|
-
version: '3.9'
|
|
218
164
|
- - ">="
|
|
219
165
|
- !ruby/object:Gem::Version
|
|
220
|
-
version: 3.
|
|
166
|
+
version: '3.10'
|
|
221
167
|
- !ruby/object:Gem::Dependency
|
|
222
168
|
name: generator_spec
|
|
223
169
|
requirement: !ruby/object:Gem::Requirement
|
|
224
170
|
requirements:
|
|
225
|
-
- - "
|
|
171
|
+
- - ">="
|
|
226
172
|
- !ruby/object:Gem::Version
|
|
227
|
-
version: 0.9
|
|
173
|
+
version: '0.9'
|
|
228
174
|
type: :development
|
|
229
175
|
prerelease: false
|
|
230
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
231
177
|
requirements:
|
|
232
|
-
- - "
|
|
178
|
+
- - ">="
|
|
233
179
|
- !ruby/object:Gem::Version
|
|
234
|
-
version: 0.9
|
|
180
|
+
version: '0.9'
|
|
235
181
|
- !ruby/object:Gem::Dependency
|
|
236
182
|
name: rdoc
|
|
237
183
|
requirement: !ruby/object:Gem::Requirement
|
|
238
184
|
requirements:
|
|
239
|
-
- - "~>"
|
|
240
|
-
- !ruby/object:Gem::Version
|
|
241
|
-
version: '6.2'
|
|
242
185
|
- - ">="
|
|
243
186
|
- !ruby/object:Gem::Version
|
|
244
|
-
version: 6.
|
|
187
|
+
version: '6.3'
|
|
245
188
|
type: :development
|
|
246
189
|
prerelease: false
|
|
247
190
|
version_requirements: !ruby/object:Gem::Requirement
|
|
248
191
|
requirements:
|
|
249
|
-
- - "~>"
|
|
250
|
-
- !ruby/object:Gem::Version
|
|
251
|
-
version: '6.2'
|
|
252
192
|
- - ">="
|
|
253
193
|
- !ruby/object:Gem::Version
|
|
254
|
-
version: 6.
|
|
194
|
+
version: '6.3'
|
|
255
195
|
- !ruby/object:Gem::Dependency
|
|
256
196
|
name: vcr
|
|
257
197
|
requirement: !ruby/object:Gem::Requirement
|
|
258
198
|
requirements:
|
|
259
|
-
- - "
|
|
199
|
+
- - ">="
|
|
260
200
|
- !ruby/object:Gem::Version
|
|
261
201
|
version: '6.0'
|
|
262
202
|
type: :development
|
|
263
203
|
prerelease: false
|
|
264
204
|
version_requirements: !ruby/object:Gem::Requirement
|
|
265
205
|
requirements:
|
|
266
|
-
- - "
|
|
206
|
+
- - ">="
|
|
267
207
|
- !ruby/object:Gem::Version
|
|
268
208
|
version: '6.0'
|
|
269
209
|
- !ruby/object:Gem::Dependency
|
|
270
210
|
name: webmock
|
|
271
211
|
requirement: !ruby/object:Gem::Requirement
|
|
272
212
|
requirements:
|
|
273
|
-
- - "~>"
|
|
274
|
-
- !ruby/object:Gem::Version
|
|
275
|
-
version: '3.8'
|
|
276
213
|
- - ">="
|
|
277
214
|
- !ruby/object:Gem::Version
|
|
278
|
-
version: 3.
|
|
215
|
+
version: '3.11'
|
|
279
216
|
type: :development
|
|
280
217
|
prerelease: false
|
|
281
218
|
version_requirements: !ruby/object:Gem::Requirement
|
|
282
219
|
requirements:
|
|
283
|
-
- - "~>"
|
|
284
|
-
- !ruby/object:Gem::Version
|
|
285
|
-
version: '3.8'
|
|
286
220
|
- - ">="
|
|
287
221
|
- !ruby/object:Gem::Version
|
|
288
|
-
version: 3.
|
|
222
|
+
version: '3.11'
|
|
289
223
|
- !ruby/object:Gem::Dependency
|
|
290
224
|
name: pry
|
|
291
225
|
requirement: !ruby/object:Gem::Requirement
|
|
292
226
|
requirements:
|
|
293
|
-
- - "
|
|
227
|
+
- - ">="
|
|
294
228
|
- !ruby/object:Gem::Version
|
|
295
|
-
version: 0.13
|
|
229
|
+
version: '0.13'
|
|
296
230
|
type: :development
|
|
297
231
|
prerelease: false
|
|
298
232
|
version_requirements: !ruby/object:Gem::Requirement
|
|
299
233
|
requirements:
|
|
300
|
-
- - "
|
|
234
|
+
- - ">="
|
|
301
235
|
- !ruby/object:Gem::Version
|
|
302
|
-
version: 0.13
|
|
236
|
+
version: '0.13'
|
|
303
237
|
description: Manage HTTP(S) and SOCKS proxies for Rails apps. Supports ActiveRecord
|
|
304
238
|
and Mongoid as ORM.
|
|
305
239
|
email:
|
|
@@ -320,9 +254,6 @@ files:
|
|
|
320
254
|
- Rakefile
|
|
321
255
|
- bin/console
|
|
322
256
|
- bin/setup
|
|
323
|
-
- gemfiles/.bundle/config
|
|
324
|
-
- gemfiles/activerecord5.gemfile
|
|
325
|
-
- gemfiles/mongoid7.gemfile
|
|
326
257
|
- lib/generators/active_record/proxied_generator.rb
|
|
327
258
|
- lib/generators/active_record/templates/migration.rb
|
|
328
259
|
- lib/generators/mongoid/proxied_generator.rb
|
|
@@ -364,7 +295,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
364
295
|
- !ruby/object:Gem::Version
|
|
365
296
|
version: '0'
|
|
366
297
|
requirements: []
|
|
367
|
-
rubygems_version: 3.1.
|
|
298
|
+
rubygems_version: 3.1.4
|
|
368
299
|
signing_key:
|
|
369
300
|
specification_version: 4
|
|
370
301
|
summary: Proxied is a proxy management gem for Ruby/Rails.
|
data/gemfiles/.bundle/config
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# This file was generated by Appraisal
|
|
2
|
-
|
|
3
|
-
source "https://rubygems.org"
|
|
4
|
-
|
|
5
|
-
gem "rails", "~> 5.2"
|
|
6
|
-
gem "activerecord", ">= 5.2", require: "active_record"
|
|
7
|
-
gem "actionpack", ">= 5.2"
|
|
8
|
-
gem "activemodel", ">= 5.2"
|
|
9
|
-
gem "railties", ">= 5.2"
|
|
10
|
-
|
|
11
|
-
gemspec path: "../"
|