pwn 0.4.666 → 0.4.668

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,6 +9,17 @@ require 'openssl'
9
9
  require 'em/pure_ruby'
10
10
  require 'faye/websocket'
11
11
 
12
+ # Monkey Patch Watir
13
+ module Watir
14
+ # Browser Class to allow tor_obj from PWN::Plugins::Tor.start
15
+ # to populate attr_accessor :tor_obj
16
+ # This was done this way soley to maintain backwards compatibility
17
+ # with how browser_obj is returned.
18
+ class Browser
19
+ attr_accessor :tor_obj
20
+ end
21
+ end
22
+
12
23
  module PWN
13
24
  module Plugins
14
25
  # This plugin rocks. Chrome, Firefox, PhantomJS, IE, REST Client,
@@ -23,8 +34,7 @@ module PWN
23
34
  # Supported Method Parameters::
24
35
  # browser_obj1 = PWN::Plugins::TransparentBrowser.open(
25
36
  # browser_type: :firefox|:chrome|:headless|:rest|:websocket,
26
- # proxy: 'optional - scheme://proxy_host:port',
27
- # with_tor: 'optional - boolean (defaults to false)'
37
+ # proxy: 'optional - scheme://proxy_host:port || :tor',
28
38
  # with_devtools: 'optional - boolean (defaults to false)'
29
39
  # )
30
40
 
@@ -32,7 +42,13 @@ module PWN
32
42
  this_browser = nil
33
43
  browser_type = opts[:browser_type]
34
44
  proxy = opts[:proxy].to_s unless opts[:proxy].nil?
35
- opts[:with_tor] ? (with_tor = true) : (with_tor = false)
45
+
46
+ tor_obj = nil
47
+ if opts[:proxy] == :tor
48
+ tor_obj = PWN::Plugins::Tor.start if opts[:proxy] == :tor
49
+ proxy = "socks5://#{tor_obj[:ip]}:#{tor_obj[:port]}"
50
+ end
51
+
36
52
  opts[:with_devtools] ? (with_devtools = true) : (with_devtools = false)
37
53
 
38
54
  # Let's crank up the default timeout from 30 seconds to 15 min for slow sites
@@ -77,10 +93,10 @@ module PWN
77
93
  if proxy
78
94
  this_profile['network.proxy.type'] = 1
79
95
  this_profile['network.proxy.allow_hijacking_localhost'] = true
80
- if with_tor
96
+ if tor_obj
81
97
  this_profile['network.proxy.socks_version'] = 5
82
- this_profile['network.proxy.socks'] = URI(proxy).host
83
- this_profile['network.proxy.socks_port'] = URI(proxy).port
98
+ this_profile['network.proxy.socks'] = tor_obj[:ip]
99
+ this_profile['network.proxy.socks_port'] = tor_obj[:port]
84
100
  else
85
101
  this_profile['network.proxy.ftp'] = URI(proxy).host
86
102
  this_profile['network.proxy.ftp_port'] = URI(proxy).port
@@ -110,7 +126,7 @@ module PWN
110
126
  switches.push('--disable-notifications')
111
127
 
112
128
  if proxy
113
- switches.push("--host-resolver-rules='MAP * 0.0.0.0 , EXCLUDE #{URI(proxy).host}'") if with_tor
129
+ switches.push("--host-resolver-rules='MAP * 0.0.0.0 , EXCLUDE #{tor_obj[:ip]}'") if tor_obj
114
130
  switches.push("--proxy-server=#{proxy}")
115
131
  end
116
132
 
@@ -167,10 +183,10 @@ module PWN
167
183
  if proxy
168
184
  this_profile['network.proxy.type'] = 1
169
185
  this_profile['network.proxy.allow_hijacking_localhost'] = true
170
- if with_tor
186
+ if tor_obj
171
187
  this_profile['network.proxy.socks_version'] = 5
172
- this_profile['network.proxy.socks'] = URI(proxy).host
173
- this_profile['network.proxy.socks_port'] = URI(proxy).port
188
+ this_profile['network.proxy.socks'] = tor_obj[:ip]
189
+ this_profile['network.proxy.socks_port'] = tor_obj[:port]
174
190
  else
175
191
  this_profile['network.proxy.ftp'] = URI(proxy).host
176
192
  this_profile['network.proxy.ftp_port'] = URI(proxy).port
@@ -183,7 +199,6 @@ module PWN
183
199
 
184
200
  options = Selenium::WebDriver::Firefox::Options.new(args: ['-headless'], accept_insecure_certs: true)
185
201
  options.profile = this_profile
186
- # driver = Selenium::WebDriver.for(:firefox, capabilities: options)
187
202
  driver = Selenium::WebDriver.for(:firefox, options: options)
188
203
  this_browser = Watir::Browser.new(driver)
189
204
 
@@ -198,7 +213,7 @@ module PWN
198
213
  switches.push('--disable-notifications')
199
214
 
200
215
  if proxy
201
- switches.push("--host-resolver-rules='MAP * 0.0.0.0 , EXCLUDE #{URI(proxy).host}'") if with_tor
216
+ switches.push("--host-resolver-rules='MAP * 0.0.0.0 , EXCLUDE #{tor_obj[:ip]}'") if tor_obj
202
217
  switches.push("--proxy-server=#{proxy}")
203
218
  end
204
219
 
@@ -208,16 +223,15 @@ module PWN
208
223
  )
209
224
 
210
225
  options.profile = this_profile
211
- # driver = Selenium::WebDriver.for(:chrome, capabilities: options)
212
226
  driver = Selenium::WebDriver.for(:chrome, options: options)
213
227
  this_browser = Watir::Browser.new(driver)
214
228
 
215
229
  when :rest
216
230
  this_browser = RestClient
217
231
  if proxy
218
- if with_tor
219
- TCPSocket.socks_server = URI(proxy).host
220
- TCPSocket.socks_port = URI(proxy).port
232
+ if tor_obj
233
+ TCPSocket.socks_server = tor_obj[:ip]
234
+ TCPSocket.socks_port = tor_obj[:port]
221
235
  else
222
236
  this_browser.proxy = proxy
223
237
  end
@@ -225,9 +239,9 @@ module PWN
225
239
 
226
240
  when :websocket
227
241
  if proxy
228
- if with_tor
229
- TCPSocket.socks_server = URI(proxy).host
230
- TCPSocket.socks_port = URI(proxy).port
242
+ if tor_obj
243
+ TCPSocket.socks_server = tor_obj[:ip]
244
+ TCPSocket.socks_port = tor_obj[:port]
231
245
  end
232
246
  proxy_opts = { origin: proxy }
233
247
  tls_opts = { verify_peer: false }
@@ -247,6 +261,7 @@ module PWN
247
261
  return nil
248
262
  end
249
263
 
264
+ this_browser.tor_obj = tor_obj if tor_obj
250
265
  this_browser
251
266
  rescue StandardError => e
252
267
  raise e
@@ -300,6 +315,11 @@ module PWN
300
315
  public_class_method def self.close(opts = {})
301
316
  this_browser_obj = opts[:browser_obj]
302
317
 
318
+ if this_browser_obj.respond_to?('tor_obj')
319
+ tor_obj = this_browser_obj.tor_obj
320
+ PWN::Plugins::Tor.stop(tor_obj: tor_obj)
321
+ end
322
+
303
323
  unless this_browser_obj.to_s.include?('RestClient')
304
324
  # Close the browser unless this_browser_obj.nil? (thus the &)
305
325
  this_browser_obj&.close
@@ -323,8 +343,7 @@ module PWN
323
343
  puts "USAGE:
324
344
  browser_obj1 = #{self}.open(
325
345
  browser_type: :firefox|:chrome|:headless_chrome|:headless_firefox|:rest|:websocket,
326
- proxy: 'optional scheme://proxy_host:port',
327
- with_tor: 'optional boolean (defaults to false)',
346
+ proxy: 'optional scheme://proxy_host:port || :tor',
328
347
  with_devtools: 'optional - boolean (defaults to false)'
329
348
  )
330
349
  puts browser_obj1.public_methods
data/lib/pwn/plugins.rb CHANGED
@@ -58,6 +58,7 @@ module PWN
58
58
  autoload :Spider, 'pwn/plugins/spider'
59
59
  autoload :SSN, 'pwn/plugins/ssn'
60
60
  autoload :ThreadPool, 'pwn/plugins/thread_pool'
61
+ autoload :Tor, 'pwn/plugins/tor'
61
62
  autoload :TransparentBrowser, 'pwn/plugins/transparent_browser'
62
63
  autoload :TwitterAPI, 'pwn/plugins/twitter_api'
63
64
  autoload :URIScheme, 'pwn/plugins/uri_scheme'
data/lib/pwn/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PWN
4
- VERSION = '0.4.666'
4
+ VERSION = '0.4.668'
5
5
  end
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::AppCobaltIO.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -109,8 +108,7 @@ module PWN
109
108
  puts "USAGE:
110
109
  browser_obj = #{self}.open(
111
110
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
112
- proxy: 'optional - scheme://proxy_host:port',
113
- with_tor: 'optional - boolean (defaults to false)'
111
+ proxy: 'optional - scheme://proxy_host:port || :tor'
114
112
  )
115
113
  puts browser_obj.public_methods
116
114
 
data/lib/pwn/www/bing.rb CHANGED
@@ -7,8 +7,7 @@ module PWN
7
7
  # Supported Method Parameters::
8
8
  # browser_obj = PWN::WWW::Bing.open(
9
9
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
10
- # proxy: 'optional scheme://proxy_host:port',
11
- # with_tor: 'optional boolean (defaults to false)'
10
+ # proxy: 'optional scheme://proxy_host:port || :tor'
12
11
  # )
13
12
 
14
13
  public_class_method def self.open(opts = {})
@@ -67,8 +66,7 @@ module PWN
67
66
  puts "USAGE:
68
67
  browser_obj = #{self}.open(
69
68
  browser_type: 'optional :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
70
- proxy: 'optional scheme://proxy_host:port',
71
- with_tor: 'optional boolean (defaults to false)'
69
+ proxy: 'optional scheme://proxy_host:port || :tor'
72
70
  )
73
71
  puts browser_obj.public_methods
74
72
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::BugCrowd.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -106,8 +105,7 @@ module PWN
106
105
  puts "USAGE:
107
106
  browser_obj = #{self}.open(
108
107
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
109
- proxy: 'optional - scheme://proxy_host:port',
110
- with_tor: 'optional - boolean (defaults to false)'
108
+ proxy: 'optional - scheme://proxy_host:port || :tor'
111
109
  )
112
110
  puts browser_obj.public_methods
113
111
 
@@ -10,8 +10,7 @@ module PWN
10
10
  # Supported Method Parameters::
11
11
  # browser_obj = PWN::WWW::Checkip.open(
12
12
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
13
- # proxy: 'optional - scheme://proxy_host:port',
14
- # with_tor: 'optional - boolean (defaults to false)'
13
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
15
14
  # )
16
15
 
17
16
  public_class_method def self.open(opts = {})
@@ -54,8 +53,7 @@ module PWN
54
53
  puts "USAGE:
55
54
  browser_obj = #{self}.open(
56
55
  browser_type: 'optional :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
57
- proxy: 'optional - scheme://proxy_host:port',
58
- with_tor: 'optional - boolean (defaults to false)'
56
+ proxy: 'optional - scheme://proxy_host:port || :tor'
59
57
  )
60
58
  puts browser_obj.public_methods
61
59
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::CoinbasePro.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -106,8 +105,7 @@ module PWN
106
105
  puts "USAGE:
107
106
  browser_obj = #{self}.open(
108
107
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
109
- proxy: 'optional - scheme://proxy_host:port',
110
- with_tor: 'optional - boolean (defaults to false)'
108
+ proxy: 'optional - scheme://proxy_host:port || :tor'
111
109
  )
112
110
  puts browser_obj.public_methods
113
111
 
@@ -7,8 +7,7 @@ module PWN
7
7
  # Supported Method Parameters::
8
8
  # browser_obj = PWN::WWW::Duckduckgo.open(
9
9
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
10
- # proxy: 'optional - scheme://proxy_host:port',
11
- # with_tor: 'optional - boolean (defaults to false)'
10
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
12
11
  # )
13
12
 
14
13
  public_class_method def self.open(opts = {})
@@ -85,8 +84,7 @@ module PWN
85
84
  puts "USAGE:
86
85
  browser_obj = #{self}.open(
87
86
  browser_type: 'optional :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
88
- proxy: 'optional - scheme://proxy_host:port',
89
- with_tor: 'optional - boolean (defaults to false)'
87
+ proxy: 'optional - scheme://proxy_host:port || :tor'
90
88
  )
91
89
  puts browser_obj.public_methods
92
90
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Facebook.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -95,8 +94,7 @@ module PWN
95
94
  puts "USAGE:
96
95
  browser_obj = #{self}.open(
97
96
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
98
- proxy: 'optional - scheme://proxy_host:port',
99
- with_tor: 'optional - boolean (defaults to false)'
97
+ proxy: 'optional - scheme://proxy_host:port || :tor'
100
98
  )
101
99
  puts browser_obj.public_methods
102
100
 
@@ -7,8 +7,7 @@ module PWN
7
7
  # Supported Method Parameters::
8
8
  # browser_obj = PWN::WWW::Google.open(
9
9
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
10
- # proxy: 'optional - scheme://proxy_host:port',
11
- # with_tor: 'optional - boolean (defaults to false)'
10
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
12
11
  # )
13
12
 
14
13
  public_class_method def self.open(opts = {})
@@ -87,8 +86,7 @@ module PWN
87
86
  puts "USAGE:
88
87
  browser_obj = #{self}.open(
89
88
  browser_type: 'optional :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
90
- proxy: 'optional - scheme://proxy_host:port',
91
- with_tor: 'optional - boolean (defaults to false)'
89
+ proxy: 'optional - scheme://proxy_host:port || :tor'
92
90
  )
93
91
  puts browser_obj.public_methods
94
92
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::HackerOne.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -95,8 +94,7 @@ module PWN
95
94
  puts "USAGE:
96
95
  browser_obj = #{self}.open(
97
96
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
98
- proxy: 'optional - scheme://proxy_host:port',
99
- with_tor: 'optional - boolean (defaults to false)'
97
+ proxy: 'optional - scheme://proxy_host:port || :tor'
100
98
  )
101
99
  puts browser_obj.public_methods
102
100
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Linkedin.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -95,8 +94,7 @@ module PWN
95
94
  puts "USAGE:
96
95
  browser_obj = #{self}.open(
97
96
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
98
- proxy: 'optional - scheme://proxy_host:port',
99
- with_tor: 'optional - boolean (defaults to false)'
97
+ proxy: 'optional - scheme://proxy_host:port || :tor'
100
98
  )
101
99
  puts browser_obj.public_methods
102
100
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Pandora.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -95,8 +94,7 @@ module PWN
95
94
  puts "USAGE:
96
95
  browser_obj = #{self}.open(
97
96
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
98
- proxy: 'optional - scheme://proxy_host:port',
99
- with_tor: 'optional - boolean (defaults to false)'
97
+ proxy: 'optional - scheme://proxy_host:port || :tor'
100
98
  )
101
99
  puts browser_obj.public_methods
102
100
 
@@ -7,8 +7,7 @@ module PWN
7
7
  # Supported Method Parameters::
8
8
  # browser_obj = PWN::WWW::Pastebin.open(
9
9
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
10
- # proxy: 'optional - scheme://proxy_host:port',
11
- # with_tor: 'optional - boolean (defaults to false)'
10
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
12
11
  # )
13
12
 
14
13
  public_class_method def self.open(opts = {})
@@ -63,8 +62,7 @@ module PWN
63
62
  puts "USAGE:
64
63
  browser_obj = #{self}.open(
65
64
  browser_type: 'optional :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
66
- proxy: 'optional - scheme://proxy_host:port',
67
- with_tor: 'optional - boolean (defaults to false)'
65
+ proxy: 'optional - scheme://proxy_host:port || :tor'
68
66
  )
69
67
  puts browser_obj.public_methods
70
68
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Paypal.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -163,8 +162,7 @@ module PWN
163
162
  puts "USAGE:
164
163
  browser_obj = #{self}.open(
165
164
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
166
- proxy: 'optional - scheme://proxy_host:port',
167
- with_tor: 'optional - boolean (defaults to false)'
165
+ proxy: 'optional - scheme://proxy_host:port || :tor'
168
166
  )
169
167
  puts browser_obj.public_methods
170
168
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Synack.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -106,8 +105,7 @@ module PWN
106
105
  puts "USAGE:
107
106
  browser_obj = #{self}.open(
108
107
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
109
- proxy: 'optional - scheme://proxy_host:port',
110
- with_tor: 'optional - boolean (defaults to false)'
108
+ proxy: 'optional - scheme://proxy_host:port || :tor'
111
109
  )
112
110
  puts browser_obj.public_methods
113
111
 
data/lib/pwn/www/torch.rb CHANGED
@@ -7,8 +7,7 @@ module PWN
7
7
  # Supported Method Parameters::
8
8
  # browser_obj = PWN::WWW::Torch.open(
9
9
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
10
- # proxy: 'optional - scheme://proxy_host:port',
11
- # with_tor: 'optional - boolean (defaults to false)'
10
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
12
11
  # )
13
12
 
14
13
  public_class_method def self.open(opts = {})
@@ -81,8 +80,7 @@ module PWN
81
80
  puts "USAGE:
82
81
  browser_obj = #{self}.open(
83
82
  browser_type: 'optional :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
84
- proxy: 'optional - scheme://proxy_host:port',
85
- with_tor: 'optional - boolean (defaults to false)'
83
+ proxy: 'optional - scheme://proxy_host:port || :tor'
86
84
  )
87
85
  puts browser_obj.public_methods
88
86
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::TradingView.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -98,8 +97,7 @@ module PWN
98
97
  puts "USAGE:
99
98
  browser_obj = #{self}.open(
100
99
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
101
- proxy: 'optional - scheme://proxy_host:port',
102
- with_tor: 'optional - boolean (defaults to false)'
100
+ proxy: 'optional - scheme://proxy_host:port || :tor'
103
101
  )
104
102
  puts browser_obj.public_methods
105
103
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Twitter.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -106,8 +105,7 @@ module PWN
106
105
  puts "USAGE:
107
106
  browser_obj = #{self}.open(
108
107
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
109
- proxy: 'optional - scheme://proxy_host:port',
110
- with_tor: 'optional - boolean (defaults to false)'
108
+ proxy: 'optional - scheme://proxy_host:port || :tor'
111
109
  )
112
110
  puts browser_obj.public_methods
113
111
 
data/lib/pwn/www/uber.rb CHANGED
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Uber.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -95,8 +94,7 @@ module PWN
95
94
  puts "USAGE:
96
95
  browser_obj = #{self}.open(
97
96
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
98
- proxy: 'optional - scheme://proxy_host:port',
99
- with_tor: 'optional - boolean (defaults to false)'
97
+ proxy: 'optional - scheme://proxy_host:port || :tor'
100
98
  )
101
99
  puts browser_obj.public_methods
102
100
 
@@ -9,8 +9,7 @@ module PWN
9
9
  # Supported Method Parameters::
10
10
  # browser_obj = PWN::WWW::Upwork.open(
11
11
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
12
- # proxy: 'optional - scheme://proxy_host:port',
13
- # with_tor: 'optional - boolean (defaults to false)'
12
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
14
13
  # )
15
14
 
16
15
  public_class_method def self.open(opts = {})
@@ -95,8 +94,7 @@ module PWN
95
94
  puts "USAGE:
96
95
  browser_obj = #{self}.open(
97
96
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
98
- proxy: 'optional - scheme://proxy_host:port',
99
- with_tor: 'optional - boolean (defaults to false)'
97
+ proxy: 'optional - scheme://proxy_host:port || :tor'
100
98
  )
101
99
  puts browser_obj.public_methods
102
100
 
@@ -7,8 +7,7 @@ module PWN
7
7
  # Supported Method Parameters::
8
8
  # browser_obj = PWN::WWW::Youtube.open(
9
9
  # browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
10
- # proxy: 'optional - scheme://proxy_host:port',
11
- # with_tor: 'optional - boolean (defaults to false)'
10
+ # proxy: 'optional - scheme://proxy_host:port || :tor'
12
11
  # )
13
12
 
14
13
  public_class_method def self.open(opts = {})
@@ -67,8 +66,7 @@ module PWN
67
66
  puts "USAGE:
68
67
  browser_obj =#{self}.open(
69
68
  browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
70
- proxy: 'optional - scheme://proxy_host:port',
71
- with_tor: 'optional - boolean (defaults to false)'
69
+ proxy: 'optional - scheme://proxy_host:port || :tor'
72
70
  )
73
71
  puts 'browser_obj.public_methods'
74
72
 
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::Plugins::Tor do
6
+ it 'should display information for authors' do
7
+ authors_response = PWN::Plugins::Tor
8
+ expect(authors_response).to respond_to :authors
9
+ end
10
+
11
+ it 'should display information for existing help method' do
12
+ help_response = PWN::Plugins::Tor
13
+ expect(help_response).to respond_to :help
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.666
4
+ version: 0.4.668
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-01 00:00:00.000000000 Z
11
+ date: 2023-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -870,14 +870,14 @@ dependencies:
870
870
  requirements:
871
871
  - - '='
872
872
  - !ruby/object:Gem::Version
873
- version: 0.112.0
873
+ version: 0.113.0
874
874
  type: :runtime
875
875
  prerelease: false
876
876
  version_requirements: !ruby/object:Gem::Requirement
877
877
  requirements:
878
878
  - - '='
879
879
  - !ruby/object:Gem::Version
880
- version: 0.112.0
880
+ version: 0.113.0
881
881
  - !ruby/object:Gem::Dependency
882
882
  name: serialport
883
883
  requirement: !ruby/object:Gem::Requirement
@@ -1683,6 +1683,7 @@ files:
1683
1683
  - lib/pwn/plugins/spider.rb
1684
1684
  - lib/pwn/plugins/ssn.rb
1685
1685
  - lib/pwn/plugins/thread_pool.rb
1686
+ - lib/pwn/plugins/tor.rb
1686
1687
  - lib/pwn/plugins/transparent_browser.rb
1687
1688
  - lib/pwn/plugins/twitter_api.rb
1688
1689
  - lib/pwn/plugins/uri_scheme.rb
@@ -1991,6 +1992,7 @@ files:
1991
1992
  - spec/lib/pwn/plugins/spider_spec.rb
1992
1993
  - spec/lib/pwn/plugins/ssn_spec.rb
1993
1994
  - spec/lib/pwn/plugins/thread_pool_spec.rb
1995
+ - spec/lib/pwn/plugins/tor_spec.rb
1994
1996
  - spec/lib/pwn/plugins/transparent_browser_spec.rb
1995
1997
  - spec/lib/pwn/plugins/twitter_api_spec.rb
1996
1998
  - spec/lib/pwn/plugins/uri_scheme_spec.rb