Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local component = require("component")
- local fs = component.filesystem
- local io = require("io")
- local modem = component.modem
- local ser = require("serialization")
- local dnsPort = 12
- local fetchPort = 13
- local dnsList = {}
- local dnsPath = "/etc/dnsList.cfg"
- if not fs.exists(dnsPath) then
- print("Creating DB")
- local crate = io.open(dnsPath, "w")
- crate:write("{}")
- crate:close()
- end
- ------------------------------------------
- function cls()
- require("term").clear()
- end
- function showInfo()
- print("+----------------------------+")
- print("| DNS Server by PrinzJuliano |")
- print("+----------------------------+")
- print("Starting DNS Server on port: "..dnsPort)
- print("Reply channel is: "..fetchPort)
- end
- function readDB()
- local str = ""
- local file = io.open(dnsPath, "r")
- for line in file:lines() do
- str = str .. line
- end
- dnsList = ser.unserialize(str)
- end
- function addEntry(domain, addr, port)
- local crate = {}
- crate.addr = addr
- crate.port = port
- if dnsList[domain] == nil then
- dnsList[domain] = crate
- return true
- else
- return false
- end
- end
- function deleteEntry(domain)
- dnsList:remove(domain)
- end
- function writeDB()
- local file = io.open(dnsPath, "w")
- file:write(ser.serialize(dnsList))
- file:close()
- end
- showInfo()
- readDB()
- print("Add pjog once: " .. tostring(addEntry("pjog.de", "FICK DICH", -1)))
- print("Add pjog twice: " .. tostring(addEntry("pjog.de", "hallo, ich bin der julian", 5)))
- for k,v in pairs(dnsList) do
- print(k,v.addr, v.port)
- end
- writeDB()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement