local event = require("event") local serialization = require("serialization") dns = {} local component = require("component") local modem = component.modem dns.dns_server_address = "3b44489c-db5a-425c-b0bd-c2620fcdc2f5" dns.port = 90 modem.open(dns.port) function dns.resolve(domainname) modem.send(dns.dns_server_address, dns.port, "{data=\"".. domainname .. "\", msg=\"RESOLVE\"}") local _,_,from,port,dist,msg = event.pull(10, "modem_message") if msg == nil then error("Timed out") return end data = serialization.unserialize(msg) if data.data ~= nil or data.data ~= "" then return data.data end end function dns.declare(domainname) modem.send(dns.dns_server_address, dns.port, "{data=\"".. domainname .. "\", msg=\"DECLARE\"}") local _,_,from,port,dist,msg = event.pull(10, "modem_message") if data ~= nil then data = serialization.unserialize(msg) if string.match(data.msg, "DECLARED") then return true else return false end else return nil end end return dns