tor_requests 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -10,10 +10,6 @@ group :development do
10
10
  gem "rdoc", "~> 3.12"
11
11
  gem "bundler", "~> 1.0.0"
12
12
  gem "jeweler", "~> 1.8.3"
13
- # gem "rcov", ">= 0"
14
13
  gem "simplecov"
15
14
  gem "socksify"
16
-
17
- # require 'net/http'
18
- # require 'socksify/http'
19
15
  end
data/README.rdoc CHANGED
@@ -2,13 +2,26 @@
2
2
 
3
3
  1 - Install Tor
4
4
 
5
- https://www.torproject.org
6
- On Settings -> Advanced -> Fix the port to 9051
5
+ * Download at https://www.torproject.org
6
+ * Start Tor
7
+ * You can change port configuration following On Settings -> Advanced -> Fix the port to 9051
7
8
 
8
9
  2 - Ruby code
9
10
 
10
- res = Request.new.http("google.com", 80, "/")
11
- res.code.should eq("301")
11
+ res = Tor::HTTP.get("google.com", 80, "/")
12
+ p res.code
13
+ p res.body
14
+
15
+ OR
16
+
17
+ res = Tor::HTTP.get("google.com")
18
+
19
+ Default configuration is port 9050 and ip 127.0.0.1. If you need to change configuration, you can call:
20
+
21
+ Tor.configure do |config|
22
+ config.ip = "127.0.0.1"
23
+ config.port = 9050
24
+ end
12
25
 
13
26
  == Contributing to tor_requests
14
27
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -0,0 +1,18 @@
1
+ require 'net/http'
2
+ require 'socksify/http'
3
+
4
+ module Tor
5
+
6
+ class Configuration
7
+
8
+ attr_accessor :ip,
9
+ :port
10
+
11
+ def initialize
12
+ @ip = '127.0.0.1'
13
+ @port = 9050
14
+ end
15
+
16
+ end
17
+
18
+ end
data/lib/tor/http.rb ADDED
@@ -0,0 +1,19 @@
1
+ require 'net/http'
2
+ require 'socksify/http'
3
+
4
+ module Tor
5
+
6
+ class HTTP
7
+
8
+ def self.get(host, port = 80, path = "/")
9
+ res = ""
10
+ Net::HTTP.SOCKSProxy(Tor.configuration.ip, Tor.configuration.port).start(host, port) do |http|
11
+ res = http.get(path)
12
+ end
13
+ res
14
+ end
15
+
16
+ end
17
+
18
+ end
19
+
@@ -0,0 +1,19 @@
1
+ module Tor
2
+ class << self
3
+ def configuration
4
+ config
5
+ end
6
+
7
+ def configure
8
+ config
9
+ yield(configuration)
10
+ end
11
+
12
+ private
13
+
14
+ def config
15
+ @onfiguration ||= Configuration.new
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,28 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+
4
+ describe "Configure" do
5
+
6
+ it "default port" do
7
+ Tor::Configuration.new.port.should eq(9050)
8
+ end
9
+
10
+ it "default ip" do
11
+ Tor::Configuration.new.ip.should eq('127.0.0.1')
12
+ end
13
+
14
+ context "initialize" do
15
+ it "default port" do
16
+ config = Tor::Configuration.new
17
+ config.port = 99
18
+ config.port.should eq(99)
19
+ end
20
+
21
+ it "default ip" do
22
+ config = Tor::Configuration.new
23
+ config.ip = "whatever"
24
+ config.ip.should eq("whatever")
25
+ end
26
+ end
27
+
28
+ end
data/spec/http_spec.rb ADDED
@@ -0,0 +1,19 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+
4
+ describe "Http" do
5
+
6
+ describe "get" do
7
+ it "default params" do
8
+ res = Tor::HTTP.get("google.com")
9
+ res.code.should eq("301")
10
+ end
11
+
12
+ it "makes a HTTP request to Google" do
13
+ res = Tor::HTTP.get("google.com", 80, "/")
14
+ res.code.should eq("301")
15
+ end
16
+
17
+ end
18
+
19
+ end
@@ -0,0 +1,22 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+ require 'net/http'
3
+ require 'socksify/http'
4
+
5
+ describe "Configure" do
6
+
7
+ context "different values" do
8
+ it "calls correctly" do
9
+
10
+ Tor.configure do |config|
11
+ config.ip = "a"
12
+ config.port = 9051
13
+ end
14
+
15
+ proxy = Net::HTTP.SOCKSProxy("127.0.0.1", 9050)
16
+ proxy.stub(:start)
17
+ Net::HTTP.should_receive(:SOCKSProxy).with("a", 9051).and_return( proxy)
18
+ Tor::HTTP.get("google.com")
19
+ end
20
+ end
21
+
22
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,9 @@
1
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
2
  $LOAD_PATH.unshift(File.dirname(__FILE__))
3
3
  require 'rspec'
4
- require 'tor_requests'
4
+ require 'tor/http'
5
+ require 'tor/configuration'
6
+ require 'tor/tor_requests'
5
7
 
6
8
  # Requires supporting files with custom matchers and macros, etc,
7
9
  # in ./support/ and its subdirectories.
data/tor_requests.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{tor_requests}
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Bruno Ghisi}]
12
- s.date = %q{2012-06-10}
12
+ s.date = %q{2012-06-12}
13
13
  s.description = %q{Create anonymously requests through Tor network}
14
14
  s.email = %q{brunogh@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -26,9 +26,13 @@ Gem::Specification.new do |s|
26
26
  "README.rdoc",
27
27
  "Rakefile",
28
28
  "VERSION",
29
- "lib/tor_requests.rb",
29
+ "lib/tor/configuration.rb",
30
+ "lib/tor/http.rb",
31
+ "lib/tor/tor_requests.rb",
32
+ "spec/configuration_spec.rb",
33
+ "spec/http_spec.rb",
34
+ "spec/integration_spec.rb",
30
35
  "spec/spec_helper.rb",
31
- "spec/tor_requests_spec.rb",
32
36
  "tor_requests.gemspec"
33
37
  ]
34
38
  s.homepage = %q{http://github.com/brunogh/tor_requests}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tor_requests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-10 00:00:00.000000000Z
12
+ date: 2012-06-12 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &76062060 !ruby/object:Gem::Requirement
16
+ requirement: &91003340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 2.8.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *76062060
24
+ version_requirements: *91003340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rdoc
27
- requirement: &76061820 !ruby/object:Gem::Requirement
27
+ requirement: &91003080 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '3.12'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *76061820
35
+ version_requirements: *91003080
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &76061580 !ruby/object:Gem::Requirement
38
+ requirement: &91002840 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *76061580
46
+ version_requirements: *91002840
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &76061340 !ruby/object:Gem::Requirement
49
+ requirement: &91002600 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.8.3
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *76061340
57
+ version_requirements: *91002600
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: simplecov
60
- requirement: &76061080 !ruby/object:Gem::Requirement
60
+ requirement: &91002360 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *76061080
68
+ version_requirements: *91002360
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: socksify
71
- requirement: &76060840 !ruby/object:Gem::Requirement
71
+ requirement: &91002100 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *76060840
79
+ version_requirements: *91002100
80
80
  description: Create anonymously requests through Tor network
81
81
  email: brunogh@gmail.com
82
82
  executables: []
@@ -94,9 +94,13 @@ files:
94
94
  - README.rdoc
95
95
  - Rakefile
96
96
  - VERSION
97
- - lib/tor_requests.rb
97
+ - lib/tor/configuration.rb
98
+ - lib/tor/http.rb
99
+ - lib/tor/tor_requests.rb
100
+ - spec/configuration_spec.rb
101
+ - spec/http_spec.rb
102
+ - spec/integration_spec.rb
98
103
  - spec/spec_helper.rb
99
- - spec/tor_requests_spec.rb
100
104
  - tor_requests.gemspec
101
105
  homepage: http://github.com/brunogh/tor_requests
102
106
  licenses:
@@ -113,7 +117,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
117
  version: '0'
114
118
  segments:
115
119
  - 0
116
- hash: -911800557
120
+ hash: -879153155
117
121
  required_rubygems_version: !ruby/object:Gem::Requirement
118
122
  none: false
119
123
  requirements:
data/lib/tor_requests.rb DELETED
@@ -1,19 +0,0 @@
1
- require 'net/http'
2
- require 'socksify/http'
3
-
4
- class Request
5
-
6
- class << self
7
-
8
- def http(host, port = 80, path = "/")
9
- res = ""
10
- Net::HTTP.SOCKSProxy('127.0.0.1', 9050).start(host, port) do |http|
11
- res = http.get(path)
12
- end
13
- res
14
- end
15
-
16
- end
17
-
18
- end
19
-
@@ -1,8 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
-
3
- describe "TorRequests" do
4
- it "makes a HTTP request to Google" do
5
- res = Request.new.http("google.com", 80, "/")
6
- res.code.should eq("301")
7
- end
8
- end