hidemyass 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +27 -1
- data/lib/hidemyass.rb +5 -5
- data/lib/hidemyass/http.rb +3 -4
- data/lib/hidemyass/version.rb +1 -1
- metadata +1 -1
data/README.md
CHANGED
@@ -20,7 +20,33 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
-
|
23
|
+
@uri = URI('http://www.iana.org/domains/example/')
|
24
|
+
@request = Net::HTTP::Get.new(@uri.request_uri)
|
25
|
+
@request['Referer'] = @uri.host
|
26
|
+
|
27
|
+
response = Hidemyass::HTTP.start(@uri.host, @uri.port) do |http|
|
28
|
+
http.request(@request)
|
29
|
+
end
|
30
|
+
|
31
|
+
response
|
32
|
+
=> #<Net::HTTPOK 200 OK readbody=true>
|
33
|
+
|
34
|
+
This method defaults to return on HTTPSuccess (2xx)
|
35
|
+
If you want more control to follow redirections or whatever, you can retrieve the proxies list and connect manually
|
36
|
+
|
37
|
+
Hidemyass.proxies.each do |proxy|
|
38
|
+
response = Net::HTTP::Proxy(proxy[:host], proxy[:port]).start(@uri.host, @uri.port) do |http|
|
39
|
+
http.request(@request)
|
40
|
+
end
|
41
|
+
if response.class.ancestors.include?(Net::HTTPRedirection)
|
42
|
+
# ...
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
To try connecting through local machine before trying proxies
|
47
|
+
|
48
|
+
Hidemyass.options[:local] = true
|
49
|
+
Hidemyass::HTTP.start ...
|
24
50
|
|
25
51
|
## Contributing
|
26
52
|
|
data/lib/hidemyass.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
require 'nokogiri'
|
2
2
|
require 'open-uri'
|
3
3
|
require 'net/http'
|
4
|
-
require 'logger'
|
5
|
-
|
6
4
|
require 'hidemyass/version'
|
7
|
-
require 'hidemyass/railtie'
|
8
|
-
require 'hidemyass/logger'
|
9
5
|
require 'hidemyass/http'
|
6
|
+
require 'hidemyass/logger'
|
7
|
+
require 'hidemyass/railtie'
|
8
|
+
require 'logger'
|
10
9
|
|
11
10
|
module Hidemyass
|
12
11
|
extend Logger
|
@@ -24,7 +23,8 @@ module Hidemyass
|
|
24
23
|
|
25
24
|
def self.options
|
26
25
|
@options ||= {
|
27
|
-
:log => true
|
26
|
+
:log => true,
|
27
|
+
:local => false
|
28
28
|
}
|
29
29
|
end
|
30
30
|
|
data/lib/hidemyass/http.rb
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
module Hidemyass
|
2
2
|
module HTTP
|
3
|
-
def HTTP.start(address,
|
4
|
-
Hidemyass.log 'Connecting to ' + address + '
|
3
|
+
def HTTP.start(address, *arg, &block)
|
4
|
+
Hidemyass.log 'Connecting to ' + address + ' through:'
|
5
5
|
response = nil
|
6
6
|
|
7
|
-
if
|
7
|
+
if Hidemyass.options[:local]
|
8
8
|
begin
|
9
9
|
Hidemyass.log 'localhost...'
|
10
10
|
response = Net::HTTP.start(address, *arg, &block)
|
11
|
-
Hidemyass.log response.class.to_s
|
12
11
|
if response.class.ancestors.include?(Net::HTTPSuccess)
|
13
12
|
return response
|
14
13
|
end
|
data/lib/hidemyass/version.rb
CHANGED