pwnix-api-client 1.1 → 1.2
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 +1 -0
- data/Gemfile.lock +8 -0
- data/lib/pwnix-api-client/service.rb +4 -4
- data/lib/pwnix-api-client/shell.rb +1 -1
- data/lib/pwnix-api-client/shell_receiver_config.rb +6 -2
- data/lib/pwnix-api-client/system/network.rb +24 -11
- data/lib/pwnix-api-client/system/os.rb +1 -1
- data/lib/pwnix-api-client/version.rb +1 -1
- metadata +6 -6
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -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 =>
|
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 =>
|
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
|
11
|
-
self.class.post("/shells/
|
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
|
15
|
-
|
16
|
-
#
|
17
|
-
|
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
|
-
|
24
|
-
|
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
|
-
|
28
|
-
|
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
|
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.
|
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-
|
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: &
|
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: *
|
24
|
+
version_requirements: *15558840
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: json
|
27
|
-
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: *
|
35
|
+
version_requirements: *15558420
|
36
36
|
description: ! ' Remotely manage a Pwnix device. '
|
37
37
|
email:
|
38
38
|
- jcran@pwnieexpress.com
|