Advertisement
Fronun11

inetrnet.lua

Mar 3rd, 2019
600
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.09 KB | None | 0 0
  1. local component = require("component")
  2. local event = require("event")
  3. local term = require("term")
  4. local dns = require("dns")
  5. local ver = "0.0.6"
  6. -- Config (you can change this)
  7.  
  8. local dns_addr = "47b05608-29f3-4189-bbac-9731208143df"
  9.  
  10. local modem = component.modem
  11.  
  12. print("Версия: "..ver)
  13.  
  14. print("Введите URL адрес, например: info.ru")
  15. local url = io.read()
  16.  
  17. function string.starts(String,Starts)
  18.   return string.sub(String,1,String.len(Starts))==Starts
  19. end
  20.  
  21. function lines(str)
  22.   local t = {}
  23.   local function helper(line) table.insert(t, line) return "" end
  24.   helper((str:gsub("(.-)\n", helper)))
  25.   return t
  26. end
  27.  
  28. function parseColor(tln)
  29.   if tln == "RED" then return 0xFF0000
  30.   elseif tln == "ORA" then return 0xFF6600 -- оранжевый
  31.   elseif tln == "YEL" then return 0xFFFF00 -- жёлтый
  32.   elseif tln == "GRE" then return 0x00FF00 --
  33.   elseif tln == "BLU" then return 0x0000FF -- синий
  34.   elseif tln == "PUR" then return 0xFF00FF -- пурпурный
  35.   elseif tln == "WHI" then return 0xFFFFFF -- белый
  36.   elseif tln == "GRA" then return 0xC3C3C3 -- серый
  37.   elseif tln == "DAI" then return 0x00A3FF -- алмазный
  38.   elseif tln == "BLA" then return 0x000000 end
  39. end
  40. local gpu = component.gpu
  41. function parseOnml(onml)
  42.   local lns = lines(onml)
  43.   for i,line in ipairs(lns) do
  44.     if string.starts(line, "BACK") then
  45.       gpu.setBackground(parseColor(string.sub(line, 6)))
  46.       local w,h= gpu.getResolution()
  47.       gpu.fill(1, 1, w, h, " ")
  48.     else
  49.       gpu.setForeground(parseColor(string.sub(line, 1, 3)))
  50.       term.write(string.sub(line,4).."\n")
  51.     end
  52.   end
  53.   gpu.setForeground(0xFFFFFF)
  54. end
  55.  
  56. --modem.open(50)
  57. --modem.send(dns_addr, 55, url)
  58. --local _, _, _, _, _, resp = event.pull("modem_message")
  59. print("Pinging server at " .. url .. "...")
  60. --modem.close(50)
  61. modem.open(80)
  62. term.clear()
  63. term.setCursor(1,1)
  64.  
  65. local dn = dns.get(url)
  66. --local _, _, _, _, _, adds = event.pull("dns")
  67.  
  68. modem.send(dn, 80, "GET")
  69. local _, _, _, _, _, resp = event.pull("modem_message")
  70. parseOnml(resp)
  71. modem.close(80)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement