pwnix-api-client 1.1 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,4 +3,5 @@ source :rubygems
3
3
  group :development do
4
4
  gem 'pry'
5
5
  end
6
+
6
7
  gemspec
@@ -8,15 +8,23 @@ PATH
8
8
  GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
+ coderay (1.0.7)
11
12
  httparty (0.9.0)
12
13
  multi_json (~> 1.0)
13
14
  multi_xml
14
15
  json (1.7.5)
16
+ method_source (0.8)
15
17
  multi_json (1.3.6)
16
18
  multi_xml (0.5.1)
19
+ pry (0.9.10)
20
+ coderay (~> 1.0.5)
21
+ method_source (~> 0.8)
22
+ slop (~> 3.3.1)
23
+ slop (3.3.3)
17
24
 
18
25
  PLATFORMS
19
26
  ruby
20
27
 
21
28
  DEPENDENCIES
29
+ pry
22
30
  pwnix-api-client!
@@ -27,16 +27,16 @@ module Pwnix
27
27
  self.class.post("/services/#{@service_name}/available", :body => {}).parsed_response['result']
28
28
  end
29
29
 
30
- def start
31
- self.class.post("/services/#{@service_name}/start", :body => {}).parsed_response['result']
30
+ def start(params)
31
+ self.class.post("/services/#{@service_name}/start", :body => params).parsed_response['result']
32
32
  end
33
33
 
34
34
  def stop
35
35
  self.class.post("/services/#{@service_name}/stop", :body => {}).parsed_response['result']
36
36
  end
37
37
 
38
- def enable
39
- self.class.post("/services/#{@service_name}/enable", :body => {}).parsed_response['result']
38
+ def enable(params={})
39
+ self.class.post("/services/#{@service_name}/enable", :body => params).parsed_response['result']
40
40
  end
41
41
 
42
42
  def disable
@@ -20,7 +20,7 @@
20
20
  end
21
21
 
22
22
  def configure(config={}) # Configuration options
23
- self.class.post("/shells/#{@shell_name}/configure", :body => config).parsed_response['result']
23
+ self.class.post("/shells/#{@shell_name}/configure", :body => config ).parsed_response['result']
24
24
  end
25
25
 
26
26
  def enable
@@ -7,8 +7,12 @@ module Pwnix
7
7
  debug_output
8
8
  format :json
9
9
 
10
- def generate
11
- self.class.post("/shells/shell_receiver_config/generate", :body => {}).parsed_response['result']
10
+ def backtrack_generate
11
+ self.class.post("/shells/backtrack_receiver_config/generate", :body => {}).parsed_response['result']
12
+ end
13
+
14
+ def pwnix_generate
15
+ self.class.post("/shells/pwnix_receiver_config/generate", :body => {}).parsed_response['result']
12
16
  end
13
17
 
14
18
  end
@@ -11,22 +11,35 @@ module Pwnix
11
11
  self.class.post("/system/network/status", :body => {}).parsed_response['result']
12
12
  end
13
13
 
14
- def set_static_ip(params)
15
- # :interface
16
- # :dns
17
- # :netmask
18
- # :
19
- # :
20
- self.class.post("/system/network/static_ip/enable", :body => {}).parsed_response['result']
14
+ def list_interfaces
15
+ details = self.class.post("/system/network/status", :body => {}).parsed_response['result']
16
+ # Read http://blog.jayfields.com/2008/03/ruby-inject.html if you're not super-familiar w/ inject
17
+ details.inject([]){|interface_list, (interface,interface_details)| interface_list << interface; }
21
18
  end
22
19
 
23
- def set_dhcp
24
- self.class.post("/system/network/dhcp/enable", :body => {}).parsed_response['result']
20
+ # Done
21
+ def interface_status(interface)
22
+ self.class.post("/system/network/#{interface}/status", :body => {}).parsed_response['result']
25
23
  end
26
24
 
27
- def set_mac(mac=nil)
28
- self.class.post("/system/network/mac/set", :body => { :mac => mac } ).parsed_response['result']
25
+ # Done
26
+ def interface_reset(interface)
27
+ self.class.post("/system/network/#{interface}/reset", :body => {}).parsed_response['result']
29
28
  end
29
+
30
+ def interface_set_dhcp(interface)
31
+ self.class.post("/system/network/#{interface}/dhcp/enable", :body => {}).parsed_response['result']
32
+ end
33
+
34
+ def interface_set_static_ip(interface,options)
35
+ # [ :ip, :netmask, :gateway, :dns]
36
+ self.class.post("/system/network/#{interface}/static_ip/set", :body => options).parsed_response['result']
37
+ end
38
+
39
+ def interface_set_mac(interface, mac=nil)
40
+ self.class.post("/system/network/#{interface}/mac/set", :body => { :mac => mac } ).parsed_response['result']
41
+ end
42
+
30
43
  end
31
44
  end
32
45
  end
@@ -32,7 +32,7 @@ module Pwnix
32
32
  end
33
33
 
34
34
  def set_hostname(hostname)
35
- self.class.post("/system/os/hostname/set", :body => {}).parsed_response['result']
35
+ self.class.post("/system/os/hostname/set", :body => {:hostname => hostname}).parsed_response['result']
36
36
  end
37
37
 
38
38
  end
@@ -1,7 +1,7 @@
1
1
  module Pwnix
2
2
  module Api
3
3
  module Client
4
- VERSION = "1.1"
4
+ VERSION = "1.2"
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pwnix-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.1'
4
+ version: '1.2'
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-09-29 00:00:00.000000000 Z
12
+ date: 2012-10-10 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &8647220 !ruby/object:Gem::Requirement
16
+ requirement: &15558840 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *8647220
24
+ version_requirements: *15558840
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &8646800 !ruby/object:Gem::Requirement
27
+ requirement: &15558420 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *8646800
35
+ version_requirements: *15558420
36
36
  description: ! ' Remotely manage a Pwnix device. '
37
37
  email:
38
38
  - jcran@pwnieexpress.com