mdns 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/mdns.rb +6 -0
- data/lib/mdns/version.rb +1 -1
- data/spec/mdns_spec.rb +5 -4
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bca55f3f34bb8ab9db1ed068b8b54268907ecc9b
|
4
|
+
data.tar.gz: e381e610267d9ad5d0173088878483b73878c2ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 940561dde56ba54f76a9ca53d923c90a496d415be14f90234977afb4a6168ee6fe7b93e857ec40e19fdf630aa522e54067588f6b536e96d98c8ed8e0995baa5b
|
7
|
+
data.tar.gz: 142e391e538977caead733a5ae577cbeb2eda9d44803c0a99e6567d2c24199a11b3b25d36231f449b540d8455be978ae246bc26a6310a19ac60f5b07ce025f38
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# mDNS
|
2
2
|
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/mdns.png)](https://rubygems.org/gems/mdns) [![Build Status](https://travis-ci.org/chendo/mdns.png)](https://travis-ci.org/chendo/mdns)
|
4
|
+
|
3
5
|
Ever wanted to create your own custom `.local` hostnames on your network? Now you can!
|
4
6
|
|
5
7
|
This gem implements a super naive mDNS server that listens for queries matching entries you add, and responds to them.
|
data/lib/mdns.rb
CHANGED
@@ -19,6 +19,7 @@ class MDNS
|
|
19
19
|
@thr = Thread.new do
|
20
20
|
loop do
|
21
21
|
data = @socket.recvfrom(1024)
|
22
|
+
next unless data[0...8] == "\x00\x00\x00\x00\x00\x01\x00\x00"
|
22
23
|
packet = begin
|
23
24
|
Net::DNS::Packet::parse(data)
|
24
25
|
rescue => e
|
@@ -73,6 +74,11 @@ class MDNS
|
|
73
74
|
records.keys
|
74
75
|
end
|
75
76
|
|
77
|
+
def reset
|
78
|
+
@records = nil
|
79
|
+
stop
|
80
|
+
end
|
81
|
+
|
76
82
|
def stop
|
77
83
|
if @thr
|
78
84
|
@thr.kill
|
data/lib/mdns/version.rb
CHANGED
data/spec/mdns_spec.rb
CHANGED
@@ -4,6 +4,11 @@ require 'resolv'
|
|
4
4
|
describe MDNS do
|
5
5
|
let(:domain) { "foo-bar-#{rand(1000)}.local." }
|
6
6
|
let(:ip) { "10.10.10.10" }
|
7
|
+
|
8
|
+
before do
|
9
|
+
MDNS.reset
|
10
|
+
end
|
11
|
+
|
7
12
|
describe "integration test" do
|
8
13
|
|
9
14
|
context "MDNS not running" do
|
@@ -20,10 +25,6 @@ describe MDNS do
|
|
20
25
|
MDNS.start
|
21
26
|
end
|
22
27
|
|
23
|
-
after do
|
24
|
-
MDNS.stop
|
25
|
-
end
|
26
|
-
|
27
28
|
it "does resolve" do
|
28
29
|
expect(Socket.gethostbyname(domain)).to be_a(Array)
|
29
30
|
end
|