wakeonlan 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/wakeonlan +12 -2
- data/lib/wakeonlan.rb +9 -4
- data/wakeonlan.gemspec +4 -2
- data.tar.gz.sig +2 -0
- metadata +23 -3
- metadata.gz.sig +1 -0
data/bin/wakeonlan
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# $Id: wakeonlan
|
2
|
+
# $Id: wakeonlan 2 2009-10-28 13:30:42Z hilli $
|
3
3
|
|
4
4
|
require 'optparse'
|
5
5
|
require 'rubygems'
|
@@ -60,10 +60,20 @@ if wakies.to_s.strip.empty?
|
|
60
60
|
exit 1
|
61
61
|
end
|
62
62
|
|
63
|
+
errors = false
|
63
64
|
@wol = WakeOnLan.new
|
64
65
|
@wol.ethers = options[:ethers] if options[:ethers]
|
65
66
|
@wol.verbose = options[:verbose] if options[:verbose]
|
66
67
|
wakies.split.each do |wake|
|
67
|
-
@wol.
|
68
|
+
mac = @wol.resolve_to_mac(wake)
|
69
|
+
if mac != nil
|
70
|
+
@wol.wake(mac, options[:ip], options[:port])
|
71
|
+
else
|
72
|
+
STDERR.puts "Address #{wake} does not resolve or validate"
|
73
|
+
errors = true
|
74
|
+
end
|
68
75
|
end
|
69
76
|
@wol.close
|
77
|
+
if errors
|
78
|
+
exit 1
|
79
|
+
end
|
data/lib/wakeonlan.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# $Id: wakeonlan.rb
|
2
|
+
# $Id: wakeonlan.rb 2 2009-10-28 13:30:42Z hilli $
|
3
3
|
# Jens Hilligsoe <jens@hilli.dk>, 2009
|
4
4
|
#
|
5
5
|
# Based on work by
|
@@ -14,7 +14,7 @@ class WakeOnLan
|
|
14
14
|
|
15
15
|
GEM = "wakeonlan"
|
16
16
|
NAME = "WakeOnLan"
|
17
|
-
VERSION = "0.0.
|
17
|
+
VERSION = "0.0.2"
|
18
18
|
|
19
19
|
attr_reader :socket
|
20
20
|
attr_accessor :ethers
|
@@ -49,6 +49,7 @@ class WakeOnLan
|
|
49
49
|
@socket.connect(ip,port)
|
50
50
|
puts "Sending magic packet to #{ip}:#{port} with #{mac}" if @verbose
|
51
51
|
3.times{ socket.send(magic,0) }
|
52
|
+
return nil
|
52
53
|
end
|
53
54
|
|
54
55
|
# Shorthand class method to facilitate WakeOnLan.wake!(MAC) kind of action
|
@@ -56,6 +57,7 @@ class WakeOnLan
|
|
56
57
|
wol = WakeOnLan.new
|
57
58
|
wol.wake(resolve_to_mac(mac), ip, port)
|
58
59
|
wol.close
|
60
|
+
return nil
|
59
61
|
end
|
60
62
|
|
61
63
|
# Try to resolve the input given to a MAC address. Input can be either a hostname, IP or MAC address
|
@@ -71,12 +73,15 @@ class WakeOnLan
|
|
71
73
|
if File.exist?(@ethers) and File.readable?(@ethers)
|
72
74
|
File.open(@ethers,'r') do |f|
|
73
75
|
f.each_line do |line|
|
74
|
-
|
75
|
-
if
|
76
|
+
next if line.match(/^#/)
|
77
|
+
next if line.match(/^\s$/)
|
78
|
+
mac, host = line.chomp.split
|
79
|
+
if /^#{input}$/.match(host)
|
76
80
|
return mac
|
77
81
|
end
|
78
82
|
end
|
79
83
|
end
|
84
|
+
return nil
|
80
85
|
end
|
81
86
|
end
|
82
87
|
|
data/wakeonlan.gemspec
CHANGED
@@ -2,11 +2,12 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{wakeonlan}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Jens Hilligsoe"]
|
9
|
-
s.
|
9
|
+
s.cert_chain = ["/home/hilli/.gem/gem-public_cert.pem"]
|
10
|
+
s.date = %q{2009-10-28}
|
10
11
|
s.default_executable = %q{wakeonlan}
|
11
12
|
s.description = %q{ WakeOnLAN is a WOL client and library written in pure Ruby.
|
12
13
|
}
|
@@ -19,6 +20,7 @@ Gem::Specification.new do |s|
|
|
19
20
|
s.require_paths = ["lib"]
|
20
21
|
s.rubyforge_project = %q{wakeonlan}
|
21
22
|
s.rubygems_version = %q{1.3.5}
|
23
|
+
s.signing_key = %q{/home/hilli/.gem/gem-private_key.pem}
|
22
24
|
s.summary = %q{A Wake On LAN (WOL) client and library.}
|
23
25
|
|
24
26
|
if s.respond_to? :specification_version then
|
data.tar.gz.sig
ADDED
metadata
CHANGED
@@ -1,15 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wakeonlan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jens Hilligsoe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDJDCCAgygAwIBAgIBADANBgkqhkiG9w0BAQUFADA4MQ0wCwYDVQQDDARqZW5z
|
14
|
+
MRMwEQYKCZImiZPyLGQBGRYDZGlyMRIwEAYKCZImiZPyLGQBGRYCZGswHhcNMDkx
|
15
|
+
MDA3MTM0NzQ5WhcNMTAxMDA3MTM0NzQ5WjA4MQ0wCwYDVQQDDARqZW5zMRMwEQYK
|
16
|
+
CZImiZPyLGQBGRYDZGlyMRIwEAYKCZImiZPyLGQBGRYCZGswggEiMA0GCSqGSIb3
|
17
|
+
DQEBAQUAA4IBDwAwggEKAoIBAQDaMMfAzIwXhauDtOrSBPO5FeL0DnI0yr/VLYNs
|
18
|
+
xx76XXuBNkDElagYN4R1opuorQsHWH1c8RyDZCNPH60AlQV6kfvLpoaLLZgZiR00
|
19
|
+
N7FkcThVrHsQNQfpG/HLWim+f2cFcrRoGzJi1tEHGTlnWIJ/ByEUFhRsV6Vkr+sq
|
20
|
+
+SXXnsZLHavVUAS51nGfIBcX4y9AQQHJb23SiETeou6qEaX5k2UA1iCXBuHrvM5I
|
21
|
+
AdqvULqQCGKOmefv1k2/s2aSSSmMYGEbIyhgWslaKdrFhUIJZrCUM6h2ba0aHyiu
|
22
|
+
b1z4DnEi52bTrGTJzLanKoMM+KUK5fph5CM8aunV6amhnB2RAgMBAAGjOTA3MAkG
|
23
|
+
A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ7/Jf2j/nsKDDPyX6caWo2
|
24
|
+
MrBN3DANBgkqhkiG9w0BAQUFAAOCAQEAIkPbhF2yqg39nd9iXYzlvj/XRI3dveZ0
|
25
|
+
F4crcq2wW4H+rA+lTWpMjBE92VAbFg7faAGJQDtMvXESiBU2KHpuM/ZLMVBQp/+/
|
26
|
+
uN4CYKPK8viyjna9deFa/gBREf5ZAnETFMrks9hQ+U3X9leY4FwN6cxg33+h3eY7
|
27
|
+
YGAxaw/HYrFOaZW76argQ28Y8MNnQHtpQlxKiVjLqers8Wa2vA1sHkV0/b9PDjHX
|
28
|
+
QU9oSBnHjBtt0o96vsO5F/pxZhRcgcHyJFvL6+ORPpZ35b7/7RQJCvLV5j1qlN7B
|
29
|
+
tvoU77Ap9SAQDY8mf1pqbtVwJm96YC7ECt4eRf/bgFpLLYSHVbXESw==
|
30
|
+
-----END CERTIFICATE-----
|
11
31
|
|
12
|
-
date: 2009-10-
|
32
|
+
date: 2009-10-28 00:00:00 +01:00
|
13
33
|
default_executable:
|
14
34
|
dependencies:
|
15
35
|
- !ruby/object:Gem::Dependency
|
metadata.gz.sig
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
�"��@;��е� T)��4!'8*ٓ�`T�j�0�H�@NJ�S5I��tE�*�`0I�©KZTfEG�)��&k;Ӫ�O�3�\�����#�X�>1�8��e�N��B�YیR`z?�RNSF6y�W�)�N��j���<ᒦդX��nw@�����6E#K�P�|'��k�������ĸ� �I���o���aN.�xN�t}*%�ċV�Ra��"++21H�t|�w^��a�!-h����˳�M<� ��
|