wifi-wand 2.17.0 → 2.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/RELEASE_NOTES.md +12 -0
- data/lib/wifi-wand/models/base_model.rb +1 -13
- data/lib/wifi-wand/models/mac_os_model.rb +7 -8
- data/lib/wifi-wand/version.rb +1 -1
- data/swift/AvailableWifiNetworkLister.swift +5 -3
- data/wifi-wand.gemspec +0 -2
- metadata +3 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3618e39101d073349d544a930672b436ed2da7d3c622689e9e8203424ddd44d
|
4
|
+
data.tar.gz: c99cb63e34ff7823a7c56c95d0483e1483dcae26df62718fcf01f4cc00dd0ca8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f07b8f1498aa244c54a1f8d5be2b78f14e3e4c83191426afd38dec01c735e023182bd5192dd7e64e08b1364620889d5d2a7b9b0d228be51dd51778f5f457c2e9
|
7
|
+
data.tar.gz: 795b4bfba2b4a5b5d425caeef7875a68a76886f6672b694265c70caf835b624d38cbc10fd82a89835cf1b8efa19eed9cae523c35b4d5696f74b9743789711b51
|
data/RELEASE_NOTES.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## v2.18.0
|
2
|
+
|
3
|
+
* Remove 'hotspot_login_required' informational item and logic (was not working correctly).
|
4
|
+
|
5
|
+
|
6
|
+
## v2.17.1
|
7
|
+
|
8
|
+
* Fix verbose output for running a Swift command.
|
9
|
+
* Exit Swift programs with code 1 on error.
|
10
|
+
* Remove rexml dependency, no longer needed.
|
11
|
+
|
12
|
+
|
1
13
|
## v2.17.0
|
2
14
|
|
3
15
|
* Remove all remaining uses of the 'airport' command.
|
@@ -130,13 +130,6 @@ class BaseModel
|
|
130
130
|
end
|
131
131
|
|
132
132
|
|
133
|
-
def hotspot_login_required
|
134
|
-
response_text = run_os_command('curl --max-time 3 http://captive.apple.com', false)
|
135
|
-
required = ['Error', '302', 'Hotspot login required'].all? { |s| response_text.include?(s) }
|
136
|
-
required
|
137
|
-
end
|
138
|
-
|
139
|
-
|
140
133
|
# Turns wifi off and then on, reconnecting to the originally connecting network.
|
141
134
|
def cycle_network
|
142
135
|
# TODO: Make this network name saving and restoring conditional on it not having a password.
|
@@ -171,12 +164,7 @@ class BaseModel
|
|
171
164
|
# Verify that the network is now connected:
|
172
165
|
actual_network_name = connected_network_name
|
173
166
|
|
174
|
-
|
175
|
-
if hotspot_login_required
|
176
|
-
puts "Hotspot login required. Opening browser to captive.apple.com."
|
177
|
-
`open https://captive.apple.com`
|
178
|
-
end
|
179
|
-
else
|
167
|
+
unless actual_network_name == network_name
|
180
168
|
message = %Q{Expected to connect to "#{network_name}" but }
|
181
169
|
if actual_network_name.nil? || actual_network_name.empty?
|
182
170
|
message << "unable to connect to any network."
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'ipaddr'
|
2
2
|
require 'ostruct'
|
3
|
-
require 'rexml/document'
|
4
3
|
require 'shellwords'
|
5
4
|
|
6
5
|
require_relative 'base_model'
|
@@ -188,12 +187,9 @@ class MacOsModel < BaseModel
|
|
188
187
|
false
|
189
188
|
end
|
190
189
|
|
191
|
-
need_hotspot_login = hotspot_login_required
|
192
|
-
|
193
190
|
info = {
|
194
191
|
'wifi_on' => wifi_on?,
|
195
192
|
'internet_on' => connected,
|
196
|
-
'hotspot_login_required' => need_hotspot_login,
|
197
193
|
'interface' => wifi_interface,
|
198
194
|
'network' => connected_network_name,
|
199
195
|
'ip_address' => ip_address,
|
@@ -202,12 +198,15 @@ class MacOsModel < BaseModel
|
|
202
198
|
'timestamp' => Time.now,
|
203
199
|
}
|
204
200
|
|
205
|
-
if info['internet_on']
|
201
|
+
if info['internet_on']
|
206
202
|
begin
|
207
203
|
info['public_ip'] = public_ip_address_info
|
208
204
|
rescue => e
|
209
|
-
puts
|
210
|
-
|
205
|
+
puts <<~MESSAGE
|
206
|
+
#{e.class} obtaining public IP address info, proceeding with everything else. Error message:
|
207
|
+
#{e}
|
208
|
+
|
209
|
+
MESSAGE
|
211
210
|
end
|
212
211
|
end
|
213
212
|
info
|
@@ -313,7 +312,7 @@ class MacOsModel < BaseModel
|
|
313
312
|
File.dirname(__FILE__), "../../../swift/#{basename}.swift"
|
314
313
|
)
|
315
314
|
command = "swift #{swift_filespec}"
|
316
|
-
|
315
|
+
run_os_command(command)
|
317
316
|
end
|
318
317
|
end
|
319
318
|
end
|
data/lib/wifi-wand/version.rb
CHANGED
@@ -2,10 +2,11 @@
|
|
2
2
|
|
3
3
|
import Foundation
|
4
4
|
import CoreWLAN
|
5
|
+
import Darwin
|
5
6
|
|
6
7
|
class NetworkScanner {
|
7
8
|
var currentInterface: CWInterface
|
8
|
-
|
9
|
+
|
9
10
|
init?() {
|
10
11
|
// Initialize with the default Wi-Fi interface
|
11
12
|
guard let defaultInterface = CWWiFiClient.shared().interface(),
|
@@ -14,7 +15,7 @@ class NetworkScanner {
|
|
14
15
|
}
|
15
16
|
self.currentInterface = defaultInterface
|
16
17
|
}
|
17
|
-
|
18
|
+
|
18
19
|
func available_networks() {
|
19
20
|
do {
|
20
21
|
let networks = try currentInterface.scanForNetworks(withName: nil)
|
@@ -23,8 +24,9 @@ class NetworkScanner {
|
|
23
24
|
}
|
24
25
|
} catch let error as NSError {
|
25
26
|
print("Error: \(error.localizedDescription)")
|
27
|
+
exit(1)
|
26
28
|
}
|
27
29
|
}
|
28
30
|
}
|
29
31
|
|
30
|
-
NetworkScanner()?.available_networks()
|
32
|
+
let _ = NetworkScanner()?.available_networks()
|
data/wifi-wand.gemspec
CHANGED
@@ -25,8 +25,6 @@ Gem::Specification.new do |spec|
|
|
25
25
|
# on last line of method:
|
26
26
|
spec.add_dependency('pry', '>= 0.14.2')
|
27
27
|
|
28
|
-
spec.add_dependency('rexml', '>= 3.2.6', '< 4')
|
29
|
-
|
30
28
|
spec.add_development_dependency "bundler", ">= 2.5.9"
|
31
29
|
spec.add_development_dependency "rake", ">= 13.2.1"
|
32
30
|
spec.add_development_dependency "rspec", ">= 3.13.0", "< 4"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wifi-wand
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Bennett
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: awesome_print
|
@@ -44,26 +44,6 @@ dependencies:
|
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 0.14.2
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: rexml
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 3.2.6
|
54
|
-
- - "<"
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: '4'
|
57
|
-
type: :runtime
|
58
|
-
prerelease: false
|
59
|
-
version_requirements: !ruby/object:Gem::Requirement
|
60
|
-
requirements:
|
61
|
-
- - ">="
|
62
|
-
- !ruby/object:Gem::Version
|
63
|
-
version: 3.2.6
|
64
|
-
- - "<"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '4'
|
67
47
|
- !ruby/object:Gem::Dependency
|
68
48
|
name: bundler
|
69
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
157
|
- !ruby/object:Gem::Version
|
178
158
|
version: '0'
|
179
159
|
requirements: []
|
180
|
-
rubygems_version: 3.5.
|
160
|
+
rubygems_version: 3.5.9
|
181
161
|
signing_key:
|
182
162
|
specification_version: 4
|
183
163
|
summary: Mac WiFi utility
|