ios_config 1.1.1 → 1.2.1
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/README.md +54 -4
- data/lib/ios_config/payload/air_play.rb +35 -0
- data/lib/ios_config/payload/air_print.rb +26 -0
- data/lib/ios_config/payload/base.rb +5 -1
- data/lib/ios_config/payload/single_sign_on_account.rb +30 -0
- data/lib/ios_config/payload/wi_fi.rb +78 -0
- data/lib/ios_config/version.rb +1 -1
- data/lib/ios_config.rb +4 -1
- metadata +8 -5
- data/lib/ios_config/payload/wifi.rb +0 -54
data/README.md
CHANGED
@@ -105,6 +105,47 @@ identifier
|
|
105
105
|
description
|
106
106
|
```
|
107
107
|
|
108
|
+
#### AirPlay
|
109
|
+
|
110
|
+
```ruby
|
111
|
+
payload = IOSConfig::Payload::AirPlay.new(parameters).build
|
112
|
+
```
|
113
|
+
|
114
|
+
Available parameters:
|
115
|
+
|
116
|
+
```ruby
|
117
|
+
whitelist # array of DeviceIDs
|
118
|
+
passwords # array of dictionaries with keys :device_name and :password
|
119
|
+
```
|
120
|
+
|
121
|
+
#### AirPrint
|
122
|
+
|
123
|
+
```ruby
|
124
|
+
payload = IOSConfig::Payload::AirPrint.new(parameters).build
|
125
|
+
```
|
126
|
+
|
127
|
+
Available parameters:
|
128
|
+
|
129
|
+
```ruby
|
130
|
+
airprint # array of dictionaries with keys :ip_address and :resource_path
|
131
|
+
```
|
132
|
+
|
133
|
+
#### Single Sign-On Account
|
134
|
+
|
135
|
+
```ruby
|
136
|
+
payload = IOSConfig::Payload::SingleSignOnAccount.new(parameters).build
|
137
|
+
```
|
138
|
+
|
139
|
+
Available parameters:
|
140
|
+
|
141
|
+
```ruby
|
142
|
+
name
|
143
|
+
principal_name,
|
144
|
+
realm,
|
145
|
+
url_prefix_matches, # array of strings
|
146
|
+
app_identifier_matches # array of strings
|
147
|
+
```
|
148
|
+
|
108
149
|
#### VPN
|
109
150
|
|
110
151
|
```ruby
|
@@ -147,11 +188,20 @@ Available parameters:
|
|
147
188
|
|
148
189
|
```ruby
|
149
190
|
ssid
|
150
|
-
hidden_network # true
|
151
|
-
auto_join # true
|
152
|
-
encryption_type #
|
191
|
+
hidden_network # true false
|
192
|
+
auto_join # true false
|
193
|
+
encryption_type # wep wpa any none
|
194
|
+
is_hotspot # true false
|
195
|
+
domain_name
|
196
|
+
hessid
|
197
|
+
service_provider_roaming_enabled # true false
|
198
|
+
roaming_consortium_ois # array of strings
|
199
|
+
nai_realm_names # array of strings
|
200
|
+
mcc_and_mncs # array of strings
|
201
|
+
displayed_operator_name
|
153
202
|
password
|
154
|
-
|
203
|
+
priority # integer
|
204
|
+
proxy_type # none manual auto
|
155
205
|
proxy_server
|
156
206
|
proxy_port
|
157
207
|
proxy_username
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module IOSConfig
|
2
|
+
module Payload
|
3
|
+
class AirPlay < Base
|
4
|
+
|
5
|
+
attr_accessor :whitelist, # array of DeviceIDs
|
6
|
+
:passwords # array of dictionaries with keys :device_name and :password
|
7
|
+
|
8
|
+
private
|
9
|
+
|
10
|
+
def payload_type
|
11
|
+
"com.apple.airplay"
|
12
|
+
end
|
13
|
+
|
14
|
+
def payload_version
|
15
|
+
0
|
16
|
+
end
|
17
|
+
|
18
|
+
def payload
|
19
|
+
p = {}
|
20
|
+
|
21
|
+
if self.whitelist
|
22
|
+
p['Whitelist'] = self.whitelist.collect { |i| { 'DeviceID' => i } }
|
23
|
+
end
|
24
|
+
|
25
|
+
if self.passwords
|
26
|
+
p['Passwords'] = self.passwords.collect { |i| { 'DeviceName' => i[:device_name],
|
27
|
+
'Password' => i[:password] }}
|
28
|
+
end
|
29
|
+
|
30
|
+
p
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module IOSConfig
|
2
|
+
module Payload
|
3
|
+
class AirPrint < Base
|
4
|
+
|
5
|
+
attr_accessor :airprint # array of dictionaries with keys :ip_address and :resource_path
|
6
|
+
|
7
|
+
private
|
8
|
+
|
9
|
+
def payload_type
|
10
|
+
"com.apple.airprint"
|
11
|
+
end
|
12
|
+
|
13
|
+
def payload
|
14
|
+
p = {}
|
15
|
+
|
16
|
+
if self.airprint
|
17
|
+
p['AirPrint'] = self.airprint.collect { |i| { 'IPAddress' => i[:ip_address],
|
18
|
+
'ResourcePath' => i[:resource_path] }}
|
19
|
+
end
|
20
|
+
|
21
|
+
p
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -23,7 +23,7 @@ module IOSConfig
|
|
23
23
|
|
24
24
|
def build
|
25
25
|
p = { 'PayloadType' => payload_type,
|
26
|
-
'PayloadVersion' =>
|
26
|
+
'PayloadVersion' => payload_version,
|
27
27
|
'PayloadUUID' => @uuid,
|
28
28
|
'PayloadIdentifier' => @identifier,
|
29
29
|
'PayloadDescription' => @description }
|
@@ -37,6 +37,10 @@ module IOSConfig
|
|
37
37
|
raise NotImplementedError
|
38
38
|
end
|
39
39
|
|
40
|
+
def payload_version
|
41
|
+
1
|
42
|
+
end
|
43
|
+
|
40
44
|
end
|
41
45
|
end
|
42
46
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module IOSConfig
|
2
|
+
module Payload
|
3
|
+
class SingleSignOnAccount < Base
|
4
|
+
|
5
|
+
attr_accessor :name,
|
6
|
+
:principal_name,
|
7
|
+
:realm,
|
8
|
+
:url_prefix_matches, # array of strings
|
9
|
+
:app_identifier_matches # array of strings
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def payload_type
|
14
|
+
"com.apple.sso"
|
15
|
+
end
|
16
|
+
|
17
|
+
def payload
|
18
|
+
p = { 'Name' => @name,
|
19
|
+
'Kerberos' => { 'Realm' => @realm } }
|
20
|
+
|
21
|
+
p['Kerberos']['PrincipalName'] = @principal_name if @principal_name
|
22
|
+
p['Kerberos']['URLPrefixMatches'] = @url_prefix_matches if @url_prefix_matches
|
23
|
+
p['Kerberos']['AppIdentifierMatches'] = @app_identifier_matches if @app_identifier_matches
|
24
|
+
|
25
|
+
p
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
module IOSConfig
|
2
|
+
module Payload
|
3
|
+
class WiFi < Base
|
4
|
+
|
5
|
+
ENCRYPTION_TYPES = { :wep => 'WEP',
|
6
|
+
:wpa => 'WPA',
|
7
|
+
:any => 'Any',
|
8
|
+
:none => 'None' }
|
9
|
+
|
10
|
+
attr_accessor :ssid,
|
11
|
+
:hidden_network, # true, false
|
12
|
+
:auto_join, # true, false
|
13
|
+
:encryption_type, # :wep, :wpa, :any, :none
|
14
|
+
:is_hotspot, # true, false
|
15
|
+
:domain_name,
|
16
|
+
:hessid,
|
17
|
+
:service_provider_roaming_enabled, # true, false
|
18
|
+
:roaming_consortium_ois, # array of strings
|
19
|
+
:nai_realm_names, # array of strings
|
20
|
+
:mcc_and_mncs, # array of strings
|
21
|
+
:displayed_operator_name,
|
22
|
+
:password,
|
23
|
+
:priority, # integer
|
24
|
+
:proxy_type, # :none, :manual, :auto
|
25
|
+
:proxy_server,
|
26
|
+
:proxy_port,
|
27
|
+
:proxy_username,
|
28
|
+
:proxy_password,
|
29
|
+
:proxy_url
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def payload_type
|
34
|
+
"com.apple.wifi.managed"
|
35
|
+
end
|
36
|
+
|
37
|
+
def payload
|
38
|
+
p = { 'EncryptionType' => ENCRYPTION_TYPES[@encryption_type] }
|
39
|
+
|
40
|
+
|
41
|
+
p['AutoJoin'] = @auto_join unless @auto_join.nil?
|
42
|
+
p['HIDDEN_NETWORK'] = @hidden_network unless @hidden_network.nil?
|
43
|
+
p['SSID_STR'] = @ssid unless @ssid.nil?
|
44
|
+
|
45
|
+
p['Password'] = @password unless @password.nil?
|
46
|
+
p['Priority'] = @priority unless @priority.nil?
|
47
|
+
|
48
|
+
# Hotspot 2.0
|
49
|
+
|
50
|
+
p['IsHotspot'] = @is_hotspot unless @is_hotspot.nil?
|
51
|
+
p['DomainName'] = @domain_name unless @domain_name.nil?
|
52
|
+
p['HESSID'] = @hessid unless @hessid.nil?
|
53
|
+
p['ServiceProviderRoamingEnabled'] = @service_provider_roaming_enabled unless @service_provider_roaming_enabled.nil?
|
54
|
+
p['RoamingConsortiumOIs'] = @roaming_consortium_ois unless @roaming_consortium_ois.nil?
|
55
|
+
p['NAIRealmNames'] = @nai_realm_names unless nai_realm_names.nil?
|
56
|
+
p['MCCAndMNCs'] = @mcc_and_mncs unless @mcc_and_mncs.nil?
|
57
|
+
p['DisplayedOperatorName'] = @displayed_operator_name unless @displayed_operator_name.nil?
|
58
|
+
|
59
|
+
# Proxy
|
60
|
+
|
61
|
+
p['ProxyType'] = @proxy_type.to_s.capitalize unless @proxy_type.nil?
|
62
|
+
|
63
|
+
case @proxy_type
|
64
|
+
when :manual
|
65
|
+
p.merge! ({ 'ProxyServer' => @proxy_server,
|
66
|
+
'ProxyServerPort' => @proxy_port })
|
67
|
+
p['ProxyUsername'] = @proxy_username unless @proxy_username.nil?
|
68
|
+
p['ProxyPassword'] = @proxy_password unless @proxy_password.nil?
|
69
|
+
when :auto
|
70
|
+
p['ProxyPACURL'] = @proxy_url
|
71
|
+
end
|
72
|
+
|
73
|
+
p
|
74
|
+
end
|
75
|
+
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
data/lib/ios_config/version.rb
CHANGED
data/lib/ios_config.rb
CHANGED
@@ -2,5 +2,8 @@ require 'core_ext/string'
|
|
2
2
|
require 'ios_config/version'
|
3
3
|
require 'ios_config/profile'
|
4
4
|
require 'ios_config/payload/base'
|
5
|
+
require 'ios_config/payload/air_play'
|
6
|
+
require 'ios_config/payload/air_print'
|
7
|
+
require 'ios_config/payload/single_sign_on_account'
|
5
8
|
require 'ios_config/payload/vpn'
|
6
|
-
require 'ios_config/payload/
|
9
|
+
require 'ios_config/payload/wi_fi'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ios_config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-09-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: CFPropertyList
|
@@ -77,9 +77,12 @@ files:
|
|
77
77
|
- lib/core_ext/string.rb
|
78
78
|
- lib/ios_config.rb
|
79
79
|
- lib/ios_config/.DS_Store
|
80
|
+
- lib/ios_config/payload/air_play.rb
|
81
|
+
- lib/ios_config/payload/air_print.rb
|
80
82
|
- lib/ios_config/payload/base.rb
|
83
|
+
- lib/ios_config/payload/single_sign_on_account.rb
|
81
84
|
- lib/ios_config/payload/vpn.rb
|
82
|
-
- lib/ios_config/payload/
|
85
|
+
- lib/ios_config/payload/wi_fi.rb
|
83
86
|
- lib/ios_config/profile.rb
|
84
87
|
- lib/ios_config/version.rb
|
85
88
|
homepage: https://github.com/tboyko/ios_config
|
@@ -97,7 +100,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
97
100
|
version: '0'
|
98
101
|
segments:
|
99
102
|
- 0
|
100
|
-
hash: -
|
103
|
+
hash: -3042753201997631584
|
101
104
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
105
|
none: false
|
103
106
|
requirements:
|
@@ -106,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
106
109
|
version: '0'
|
107
110
|
segments:
|
108
111
|
- 0
|
109
|
-
hash: -
|
112
|
+
hash: -3042753201997631584
|
110
113
|
requirements: []
|
111
114
|
rubyforge_project:
|
112
115
|
rubygems_version: 1.8.24
|
@@ -1,54 +0,0 @@
|
|
1
|
-
module IOSConfig
|
2
|
-
module Payload
|
3
|
-
class WiFi < Base
|
4
|
-
|
5
|
-
ENCRYPTION_TYPES = { :wep => 'WEP',
|
6
|
-
:wpa => 'WPA',
|
7
|
-
:any => 'Any',
|
8
|
-
:none => 'None' }
|
9
|
-
|
10
|
-
attr_accessor :ssid,
|
11
|
-
:hidden_network, # true, false
|
12
|
-
:auto_join, # true, false
|
13
|
-
:encryption_type, # :wep, :wpa, :any, :none
|
14
|
-
:password,
|
15
|
-
:proxy_type, # :none, :manual, :auto
|
16
|
-
:proxy_server,
|
17
|
-
:proxy_port,
|
18
|
-
:proxy_username,
|
19
|
-
:proxy_password,
|
20
|
-
:proxy_url
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def payload_type
|
25
|
-
"com.apple.wifi.managed"
|
26
|
-
end
|
27
|
-
|
28
|
-
def payload
|
29
|
-
p = { 'SSID_STR' => @ssid,
|
30
|
-
'HIDDEN_NETWORK' => @hidden_network,
|
31
|
-
'AutoJoin' => @auto_join,
|
32
|
-
'EncryptionType' => ENCRYPTION_TYPES[@encryption_type],
|
33
|
-
'ProxyType' => @proxy_type.to_s.capitalize }
|
34
|
-
|
35
|
-
p['Password'] = @password unless @password.blank?
|
36
|
-
|
37
|
-
# Proxy
|
38
|
-
|
39
|
-
case @proxy_type
|
40
|
-
when :manual
|
41
|
-
p.merge! ({ 'ProxyServer' => @proxy_server,
|
42
|
-
'ProxyServerPort' => @proxy_port })
|
43
|
-
p['ProxyUsername'] = @proxy_username unless @proxy_username.blank?
|
44
|
-
p['ProxyPassword'] = @proxy_password unless @proxy_password.blank?
|
45
|
-
when :auto
|
46
|
-
p['ProxyPACURL'] = @proxy_url
|
47
|
-
end
|
48
|
-
|
49
|
-
p
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|