-- -- ~~~ fetch a pawsd service -- -- require a name & service index to fetch if not arg[1] or not arg[2] then error("server name & index required") end -- imports local PawSD = require("src/pawsd") local Servers = require("src/servers") require("src/utils") local socket = require("socket") local client = assert(socket.tcp()) -- get arguments & check validity local server = Servers[arg[1]] local index = arg[2] if not server then error("server not found") end -- connect to client client:connect(server.host, server.port) -- send request local request = string.fromhex(PawSD.Magic .. PawSD.Version .. PawSD.Verbs.FETCH_SERVICE .. server.keyalg .. "0020" .. server.key .. index) client:send(request) -- print response while true do local response, status = client:receive(1) if response then print(response) end if status == "closed" then break end end -- close connection client:close()