pwn 0.4.376 → 0.4.380

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44816c0131b0b811c384aab18addb9ae4912c36818821c3f5553bc63380f1e04
4
- data.tar.gz: 6ea9f0b5f128cb8ed416a0bf11e5339b8da7fef8aafaaf9939f17a27d2575bff
3
+ metadata.gz: 436c3b9f3cf8a42c77689b35c419040e57d2679b741e67c67a5c059385f90525
4
+ data.tar.gz: 63a6f54c84a7843210a946a9bb7f58ccb11aec080a392b720768683246b37d40
5
5
  SHA512:
6
- metadata.gz: 749a1163282ddc924c2b66209f4a37c53f6f26e50e4b398b187a11023470b71b283c5f31d4fc13e4db4755633e268c9d8a3a0c70f025b5fe35dfc2163c0f1b0a
7
- data.tar.gz: 94c9434d68e360851884a6476b4a36cbd85d62b3773eb57be239b05ebb5bb9c232df1fb25db298c08f273624b637b419cf881dce0de62e90fceed5ef0c6d4ef4
6
+ metadata.gz: 2380842a421a513281358038c6d2265c96c70145af30ada7c42cd7524ca0d8f36b5b23a5ef5b67f5a802e179f5b9d1511020b258d6414e4a80f5b0f9f492bd2c
7
+ data.tar.gz: 148835d469163b4a574bd60f7a2c494cb880ecebd6a91b53078091ded9b2f9e6b7b437d30ac5baf78af6d3056ffc1babc56120befc07145a5fa0b02407771c5d
data/README.md CHANGED
@@ -36,7 +36,7 @@ $ rvm list gemsets
36
36
  $ rvm use ruby-<VERSION>@pwn
37
37
  $ gem install --verbose pwn
38
38
  $ pwn
39
- pwn[v0.4.376]:001 >>> PWN.help
39
+ pwn[v0.4.380]:001 >>> PWN.help
40
40
  ```
41
41
 
42
42
  [![Installing the pwn Security Automation Framework](https://raw.githubusercontent.com/0dayInc/pwn/master/documentation/pwn_install.png)](https://youtu.be/G7iLUY4FzsI)
@@ -51,7 +51,7 @@ $ rvm use ruby-<VERSION>@pwn
51
51
  $ gem uninstall --all --executables pwn
52
52
  $ gem install --verbose pwn
53
53
  $ pwn
54
- pwn[v0.4.376]:001 >>> PWN.help
54
+ pwn[v0.4.380]:001 >>> PWN.help
55
55
  ```
56
56
 
57
57
 
@@ -315,6 +315,9 @@ module PWN
315
315
  with_devtools: 'optional - boolean (defaults to false)'
316
316
  )
317
317
  puts browser_obj1.public_methods
318
+ * Only works w/ Chrome
319
+ * All DevTools Commands can be found here:
320
+ * https://chromedevtools.github.io/devtools-protocol/
318
321
  devtools = browser_obj1.driver.devtools
319
322
  puts devtools.public_methods
320
323
  puts devtools.instance_variables
@@ -323,8 +326,10 @@ module PWN
323
326
  devtools.send_cmd('Tracing.requestMemoryDump')
324
327
  devtools.send_cmd('Tracing.end')
325
328
  puts devtools.instance_variable_get('@messages')
326
- * All DevTools Commands can be found here:
327
- https://chromedevtools.github.io/devtools-protocol/
329
+ devtools.send_cmd('Network.enable')
330
+ last_ws_resp = devtools.instance_variable_get('@messages').last if devtools.instance_variable_get('@messages')['method'] == 'Network.webSocketFrameReceived'
331
+ puts last_ws_resp
332
+ devtools.send_cmd('Network.disable')
328
333
 
329
334
  browser_obj1 = #{self}.linkout(
330
335
  browser_obj: 'required - browser_obj returned from #open method)'
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.376'
4
+ VERSION = '0.4.380'
5
5
  end
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://app.cobalt.io')
51
20
 
data/lib/pwn/www/bing.rb CHANGED
@@ -12,38 +12,8 @@ module PWN
12
12
  # )
13
13
 
14
14
  public_class_method def self.open(opts = {})
15
- browser_type = if opts[:browser_type].nil?
16
- :firefox
17
- else
18
- opts[:browser_type]
19
- end
20
-
21
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
22
-
23
- with_tor = if opts[:with_tor]
24
- true
25
- else
26
- false
27
- end
28
-
29
- if proxy
30
- if with_tor
31
- browser_obj = PWN::Plugins::TransparentBrowser.open(
32
- browser_type: browser_type,
33
- proxy: proxy,
34
- with_tor: with_tor
35
- )
36
- else
37
- browser_obj = PWN::Plugins::TransparentBrowser.open(
38
- browser_type: browser_type,
39
- proxy: proxy
40
- )
41
- end
42
- else
43
- browser_obj = PWN::Plugins::TransparentBrowser.open(
44
- browser_type: browser_type
45
- )
46
- end
15
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
16
+
47
17
  browser_obj.goto('https://www.bing.com')
48
18
 
49
19
  browser_obj
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://bugcrowd.com')
51
20
 
@@ -15,38 +15,8 @@ module PWN
15
15
  # )
16
16
 
17
17
  public_class_method def self.open(opts = {})
18
- browser_type = if opts[:browser_type].nil?
19
- :firefox
20
- else
21
- opts[:browser_type]
22
- end
18
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
23
19
 
24
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
25
-
26
- with_tor = if opts[:with_tor]
27
- true
28
- else
29
- false
30
- end
31
-
32
- if proxy
33
- if with_tor
34
- browser_obj = PWN::Plugins::TransparentBrowser.open(
35
- browser_type: browser_type,
36
- proxy: proxy,
37
- with_tor: with_tor
38
- )
39
- else
40
- browser_obj = PWN::Plugins::TransparentBrowser.open(
41
- browser_type: browser_type,
42
- proxy: proxy
43
- )
44
- end
45
- else
46
- browser_obj = PWN::Plugins::TransparentBrowser.open(
47
- browser_type: browser_type
48
- )
49
- end
50
20
  browser_obj.goto('http://checkip.amazonaws.com')
51
21
  public_ip_address = Nokogiri::HTML.parse(browser_obj.html).xpath('//pre').text.chomp
52
22
  puts "PUBLIC IP: #{public_ip_address}"
@@ -12,38 +12,8 @@ module PWN
12
12
  # )
13
13
 
14
14
  public_class_method def self.open(opts = {})
15
- browser_type = if opts[:browser_type].nil?
16
- :firefox
17
- else
18
- opts[:browser_type]
19
- end
20
-
21
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
22
-
23
- with_tor = if opts[:with_tor]
24
- true
25
- else
26
- false
27
- end
28
-
29
- if proxy
30
- if with_tor
31
- browser_obj = PWN::Plugins::TransparentBrowser.open(
32
- browser_type: browser_type,
33
- proxy: proxy,
34
- with_tor: true
35
- )
36
- else
37
- browser_obj = PWN::Plugins::TransparentBrowser.open(
38
- browser_type: browser_type,
39
- proxy: proxy
40
- )
41
- end
42
- else
43
- browser_obj = PWN::Plugins::TransparentBrowser.open(
44
- browser_type: browser_type
45
- )
46
- end
15
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
16
+
47
17
  browser_obj.goto('https://duckduckgo.com')
48
18
 
49
19
  browser_obj
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.facebook.com')
51
20
 
@@ -12,38 +12,7 @@ module PWN
12
12
  # )
13
13
 
14
14
  public_class_method def self.open(opts = {})
15
- browser_type = if opts[:browser_type].nil?
16
- :firefox
17
- else
18
- opts[:browser_type]
19
- end
20
-
21
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
22
-
23
- with_tor = if opts[:with_tor]
24
- true
25
- else
26
- false
27
- end
28
-
29
- if proxy
30
- if with_tor
31
- browser_obj = PWN::Plugins::TransparentBrowser.open(
32
- browser_type: browser_type,
33
- proxy: proxy,
34
- with_tor: with_tor
35
- )
36
- else
37
- browser_obj = PWN::Plugins::TransparentBrowser.open(
38
- browser_type: browser_type,
39
- proxy: proxy
40
- )
41
- end
42
- else
43
- browser_obj = PWN::Plugins::TransparentBrowser.open(
44
- browser_type: browser_type
45
- )
46
- end
15
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
47
16
 
48
17
  browser_obj.goto('https://www.google.com')
49
18
 
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.hackerone.com')
51
20
 
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.linkedin.com')
51
20
 
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.pandora.com')
51
20
 
@@ -12,38 +12,8 @@ module PWN
12
12
  # )
13
13
 
14
14
  public_class_method def self.open(opts = {})
15
- browser_type = if opts[:browser_type].nil?
16
- :firefox
17
- else
18
- opts[:browser_type]
19
- end
20
-
21
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
22
-
23
- with_tor = if opts[:with_tor]
24
- true
25
- else
26
- false
27
- end
28
-
29
- if proxy
30
- if with_tor
31
- browser_obj = PWN::Plugins::TransparentBrowser.open(
32
- browser_type: browser_type,
33
- proxy: proxy,
34
- with_tor: with_tor
35
- )
36
- else
37
- browser_obj = PWN::Plugins::TransparentBrowser.open(
38
- browser_type: browser_type,
39
- proxy: proxy
40
- )
41
- end
42
- else
43
- browser_obj = PWN::Plugins::TransparentBrowser.open(
44
- browser_type: browser_type
45
- )
46
- end
15
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
16
+
47
17
  browser_obj.goto('https://pastebin.com')
48
18
 
49
19
  browser_obj
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.paypal.com')
51
20
 
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.synack.com')
51
20
 
data/lib/pwn/www/torch.rb CHANGED
@@ -12,40 +12,8 @@ module PWN
12
12
  # )
13
13
 
14
14
  public_class_method def self.open(opts = {})
15
- browser_type = if opts[:browser_type].nil?
16
- :firefox
17
- else
18
- opts[:browser_type]
19
- end
20
-
21
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
22
-
23
- with_tor = if opts[:with_tor]
24
- true
25
- else
26
- false
27
- end
28
-
29
- with_tor = opts[:with_tor].nil?
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: true
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
15
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
16
+
49
17
  browser_obj.goto('http://www.torchtorsearch.com')
50
18
 
51
19
  browser_obj
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module PWN
6
+ module WWW
7
+ # This plugin supports tradingview.com actions.
8
+ module TradingView
9
+ # Supported Method Parameters::
10
+ # browser_obj = PWN::WWW::TradingView.open(
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)'
14
+ # )
15
+
16
+ public_class_method def self.open(opts = {})
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
18
+
19
+ browser_obj.goto('https://tradingview.com')
20
+
21
+ browser_obj
22
+ rescue StandardError => e
23
+ raise e
24
+ end
25
+
26
+ # Supported Method Parameters::
27
+ # browser_obj = PWN::WWW::TradingView.login(
28
+ # browser_obj: 'required - browser_obj returned from #open method',
29
+ # username: 'required - username',
30
+ # password: 'optional - passwd (will prompt if blank)'
31
+ # )
32
+
33
+ public_class_method def self.login(opts = {})
34
+ browser_obj = opts[:browser_obj]
35
+ username = opts[:username].to_s.scrub.strip.chomp
36
+ password = opts[:password]
37
+
38
+ if password.nil?
39
+ password = PWN::Plugins::AuthenticationHelper.mask_password
40
+ else
41
+ password = opts[:password].to_s.scrub.strip.chomp
42
+ end
43
+
44
+ browser_obj.goto('https://tradingview.com')
45
+
46
+ browser_obj.button(index: 3).wait_until(&:present?).click
47
+ browser_obj.div(text: 'Sign in').wait_until(&:present?).click
48
+ browser_obj.span(text: 'Email').wait_until(&:present?).click
49
+ browser_obj.text_field(name: 'username').wait_until(&:present?).set(username)
50
+ browser_obj.text_field(name: 'password').wait_until(&:present?).set(password)
51
+ browser_obj.button(text: 'Sign in').click!
52
+
53
+ browser_obj
54
+ rescue StandardError => e
55
+ raise e
56
+ end
57
+
58
+ # Supported Method Parameters::
59
+ # browser_obj = PWN::WWW::TradingView.logout(
60
+ # browser_obj: 'required - browser_obj returned from #open method'
61
+ # )
62
+
63
+ public_class_method def self.logout(opts = {})
64
+ browser_obj = opts[:browser_obj]
65
+ browser_obj.button(index: 4).wait_until(&:present?).click
66
+ browser_obj.div(text: 'Sign Out').wait_until(&:present?).click!
67
+
68
+ browser_obj
69
+ rescue StandardError => e
70
+ raise e
71
+ end
72
+
73
+ # Supported Method Parameters::
74
+ # browser_obj = PWN::WWW::TradingView.close(
75
+ # browser_obj: 'required - browser_obj returned from #open method'
76
+ # )
77
+
78
+ public_class_method def self.close(opts = {})
79
+ browser_obj = opts[:browser_obj]
80
+ PWN::Plugins::TransparentBrowser.close(
81
+ browser_obj: browser_obj
82
+ )
83
+ rescue StandardError => e
84
+ raise e
85
+ end
86
+
87
+ # Author(s):: 0day Inc. <request.pentest@0dayinc.com>
88
+
89
+ public_class_method def self.authors
90
+ "AUTHOR(S):
91
+ 0day Inc. <request.pentest@0dayinc.com>
92
+ "
93
+ end
94
+
95
+ # Display Usage for this Module
96
+
97
+ public_class_method def self.help
98
+ puts "USAGE:
99
+ browser_obj = #{self}.open(
100
+ 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)'
103
+ )
104
+ puts browser_obj.public_methods
105
+
106
+ browser_obj = #{self}.login(
107
+ browser_obj: 'required - browser_obj returned from #open method',
108
+ username: 'required - username',
109
+ password: 'optional - passwd (will prompt if blank),
110
+ )
111
+
112
+ browser_obj = #{self}.logout(
113
+ browser_obj: 'required - browser_obj returned from #open method'
114
+ )
115
+
116
+ #{self}.close(
117
+ browser_obj: 'required - browser_obj returned from #open method'
118
+ )
119
+
120
+ #{self}.authors
121
+ "
122
+ end
123
+ end
124
+ end
125
+ end
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://twitter.com')
51
20
 
data/lib/pwn/www/uber.rb CHANGED
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.uber.com')
51
20
 
@@ -14,38 +14,7 @@ module PWN
14
14
  # )
15
15
 
16
16
  public_class_method def self.open(opts = {})
17
- browser_type = if opts[:browser_type].nil?
18
- :firefox
19
- else
20
- opts[:browser_type]
21
- end
22
-
23
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
24
-
25
- with_tor = if opts[:with_tor]
26
- true
27
- else
28
- false
29
- end
30
-
31
- if proxy
32
- if with_tor
33
- browser_obj = PWN::Plugins::TransparentBrowser.open(
34
- browser_type: browser_type,
35
- proxy: proxy,
36
- with_tor: with_tor
37
- )
38
- else
39
- browser_obj = PWN::Plugins::TransparentBrowser.open(
40
- browser_type: browser_type,
41
- proxy: proxy
42
- )
43
- end
44
- else
45
- browser_obj = PWN::Plugins::TransparentBrowser.open(
46
- browser_type: browser_type
47
- )
48
- end
17
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
49
18
 
50
19
  browser_obj.goto('https://www.upwork.com')
51
20
 
@@ -12,38 +12,8 @@ module PWN
12
12
  # )
13
13
 
14
14
  public_class_method def self.open(opts = {})
15
- browser_type = if opts[:browser_type].nil?
16
- :firefox
17
- else
18
- opts[:browser_type]
19
- end
20
-
21
- proxy = opts[:proxy].to_s unless opts[:proxy].nil?
22
-
23
- with_tor = if opts[:with_tor]
24
- true
25
- else
26
- false
27
- end
28
-
29
- if proxy
30
- if with_tor
31
- browser_obj = PWN::Plugins::TransparentBrowser.open(
32
- browser_type: browser_type,
33
- proxy: proxy,
34
- with_tor: with_tor
35
- )
36
- else
37
- browser_obj = PWN::Plugins::TransparentBrowser.open(
38
- browser_type: browser_type,
39
- proxy: proxy
40
- )
41
- end
42
- else
43
- browser_obj = PWN::Plugins::TransparentBrowser.open(
44
- browser_type: browser_type
45
- )
46
- end
15
+ browser_obj = PWN::Plugins::TransparentBrowser.open(opts)
16
+
47
17
  browser_obj.goto('https://www.youtube.com')
48
18
 
49
19
  browser_obj
data/lib/pwn/www.rb CHANGED
@@ -19,6 +19,7 @@ module PWN
19
19
  autoload :Paypal, 'pwn/www/paypal'
20
20
  autoload :Synack, 'pwn/www/synack'
21
21
  autoload :Torch, 'pwn/www/torch'
22
+ autoload :TradingView, 'pwn/www/trading_view'
22
23
  autoload :Twitter, 'pwn/www/twitter'
23
24
  autoload :Uber, 'pwn/www/uber'
24
25
  autoload :Upwork, 'pwn/www/upwork'
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ describe PWN::WWW::TradingView do
6
+ it 'should display information for authors' do
7
+ authors_response = PWN::WWW::TradingView
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::WWW::TradingView
13
+ expect(help_response).to respond_to :help
14
+ end
15
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.376
4
+ version: 0.4.380
5
5
  platform: ruby
6
6
  authors:
7
7
  - 0day Inc.
@@ -1549,6 +1549,7 @@ files:
1549
1549
  - lib/pwn/www/paypal.rb
1550
1550
  - lib/pwn/www/synack.rb
1551
1551
  - lib/pwn/www/torch.rb
1552
+ - lib/pwn/www/trading_view.rb
1552
1553
  - lib/pwn/www/twitter.rb
1553
1554
  - lib/pwn/www/uber.rb
1554
1555
  - lib/pwn/www/upwork.rb
@@ -1832,6 +1833,7 @@ files:
1832
1833
  - spec/lib/pwn/www/paypal_spec.rb
1833
1834
  - spec/lib/pwn/www/synack_spec.rb
1834
1835
  - spec/lib/pwn/www/torch_spec.rb
1836
+ - spec/lib/pwn/www/trading_view_spec.rb
1835
1837
  - spec/lib/pwn/www/twitter_spec.rb
1836
1838
  - spec/lib/pwn/www/uber_spec.rb
1837
1839
  - spec/lib/pwn/www/upwork_spec.rb
@@ -2091,6 +2093,7 @@ test_files:
2091
2093
  - spec/lib/pwn/www/paypal_spec.rb
2092
2094
  - spec/lib/pwn/www/synack_spec.rb
2093
2095
  - spec/lib/pwn/www/torch_spec.rb
2096
+ - spec/lib/pwn/www/trading_view_spec.rb
2094
2097
  - spec/lib/pwn/www/twitter_spec.rb
2095
2098
  - spec/lib/pwn/www/uber_spec.rb
2096
2099
  - spec/lib/pwn/www/upwork_spec.rb