xXm0dzXx

RNE (test)

May 12th, 2012
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.02 KB | None | 0 0
  1. local x,y = term.getSize()
  2. rednet.open("top")
  3.  
  4. title = "Rednet Explorer 2.0" --Add title = "name" to change the webpage's title!
  5. local website = "home";
  6. if fs.exists(".cache") then fs.delete(".cache") end
  7. fs.makeDir(".cache")
  8.  
  9. local cPrint = function(text)
  10. local x2,y2 = term.getCursorPos()
  11. term.setCursorPos(math.ceil((x / 2) - (text:len() / 2)), y2)
  12.  
  13. print(text)
  14. end
  15.  
  16. function createSite(websitename)
  17. fs.delete("startup")
  18. startup = fs.open("startup", "w")
  19. startup.writeLine("websitename = \"" ..websitename.. "\"")
  20. servercode = [[
  21.  
  22. local x,y = term.getSize()
  23. local cPrint = function(text)
  24. local x2,y2 = term.getCursorPos()
  25. term.setCursorPos(math.ceil((x / 2) - (text:len() / 2)), y2)
  26.  
  27. print(text)
  28. end
  29. rednet.open("top")
  30. cPrint("Hosting " ..websitename.. "...\n")
  31. test = fs.open(websitename, "r")
  32. fileContents = test:readAll()
  33. test.close()
  34. while true do
  35. sleep(0)
  36. id, message = rednet.receive()
  37. if message == websitename then
  38. print(" [" ..os.time().."] [" ..id.. "] Pinged Website.")
  39. rednet.send(id, fileContents)
  40. print(" [" ..os.time().."] [" ..id.. "] Received Data")
  41. end
  42. end
  43. ]]
  44.  
  45. startup.writeLine(servercode)
  46. startup.close()
  47. os.reboot()
  48. end
  49.  
  50. local Address = function()
  51. text = "rdnt://"
  52. term.setCursorPos(math.ceil((x / 2) - (text:len() / 2)), 2)
  53. term.clearLine()
  54.  
  55. write("rdnt://")
  56. website = read()
  57. loadWebpage()
  58. end
  59.  
  60. function done()
  61. term.setCursorPos(1, y)
  62. name = "F5 = Refresh"
  63. write("Press CTRL to travel the web! :D")
  64. term.setCursorPos(x - name:len(), y)
  65. write(name)
  66.  
  67. while true do
  68. sleep(0) -- stop crashing
  69. e, k = os.pullEvent("key")
  70. if k == 63 then
  71. loadWebpage()
  72. break
  73. else
  74. Address()
  75. break
  76. end
  77. end
  78. end
  79.  
  80.  
  81. loadWebpage = function()
  82. term.clear()
  83. term.setCursorPos(1,1)
  84. cPrint(title)
  85. cPrint("rdnt://" ..website.. "\n")
  86. if website == "home" then
  87. print("Welcome to RedNet explorer (2.0)! This requires you to have a wireless modem on your computer.")
  88. print("Host a website at: ")
  89. print("rdnt://newsite! ")
  90. print(" -ComputerCraftFan11 ")
  91. elseif website == "newsite" then
  92. title = "Rednet Servers (2.0)"
  93. print("Are you sure you would like to make this PC a server?")
  94. cPrint("Y = Yes N = No")
  95. while true do
  96. e, k = os.pullEvent("char")
  97. if k == "y" or k == "n" then
  98. break
  99. end
  100. end
  101.  
  102. if k == "y" then
  103. term.clear()
  104. term.setCursorPos(1,1)
  105. print("Welcome to the Rednet Servers. Please enter the website name: ")
  106. websitename = read()
  107. rednet.broadcast(websitename)
  108. i, me = rednet.receive(0.001)
  109. if me == nil then
  110. print("Thank you! This website will be running off of the file:\n" ..websitename.. "\n")
  111. write("Are you sure? (Y = Continue, V = Edit)")
  112. input = read()
  113. if input == "Y" or input == "y" then
  114. if fs.exists(websitename) == false then
  115. print("Please create " ..websitename.. " first!")
  116. sleep(0.5)
  117. shell.run("edit", websitename)
  118. end
  119. term.clear()
  120. term.setCursorPos(1,1)
  121. createSite(websitename)
  122. elseif input == "V" or input == "v" then
  123. shell.run("edit", websitename)
  124. term.clear()
  125. term.setCursorPos(1,1)
  126. createSite(websitename)
  127. end
  128. else
  129. print("I'm sorry, this domain name is taken.")
  130. end
  131. end
  132. else
  133. title = "Rednet Explorer 2.0"
  134. rednet.broadcast(website)
  135. print("Connecting...")
  136. id, message = rednet.receive(0.1)
  137. if message == nil then
  138. print("Unable to load webpage.")
  139. else
  140. if fs.exists(".cache/" ..website) then fs.delete(".cache/" ..website) end
  141. webpage = fs.open(".cache/" ..website, "w")
  142. webpage.write(message)
  143. webpage.close()
  144. term.clear()
  145. term.setCursorPos(1,1)
  146. cPrint("Rednet Explorer 2.0")
  147. cPrint("rdnt://" ..website.. "\n")
  148. shell.run(".cache/" ..website)
  149. end
  150. end
  151.  
  152. done()
  153. end
  154.  
  155. loadWebpage()
Advertisement
Add Comment
Please, Sign In to add comment