tor_requests 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.
- data/Gemfile +0 -4
- data/README.rdoc +17 -4
- data/VERSION +1 -1
- data/lib/tor/configuration.rb +18 -0
- data/lib/tor/http.rb +19 -0
- data/lib/tor/tor_requests.rb +19 -0
- data/spec/configuration_spec.rb +28 -0
- data/spec/http_spec.rb +19 -0
- data/spec/integration_spec.rb +22 -0
- data/spec/spec_helper.rb +3 -1
- data/tor_requests.gemspec +8 -4
- metadata +21 -17
- data/lib/tor_requests.rb +0 -19
- data/spec/tor_requests_spec.rb +0 -8
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -2,13 +2,26 @@
|
|
2
2
|
|
3
3
|
1 - Install Tor
|
4
4
|
|
5
|
-
https://www.torproject.org
|
6
|
-
|
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 =
|
11
|
-
res.code
|
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.2.0
|
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,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 '
|
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.
|
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-
|
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/
|
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.
|
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-
|
12
|
+
date: 2012-06-12 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
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: *
|
24
|
+
version_requirements: *91003340
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rdoc
|
27
|
-
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: *
|
35
|
+
version_requirements: *91003080
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: bundler
|
38
|
-
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: *
|
46
|
+
version_requirements: *91002840
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: jeweler
|
49
|
-
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: *
|
57
|
+
version_requirements: *91002600
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: simplecov
|
60
|
-
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: *
|
68
|
+
version_requirements: *91002360
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: socksify
|
71
|
-
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: *
|
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/
|
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: -
|
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
|
-
|