Guest User

Untitled

a guest
Dec 11th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.31 KB | None | 0 0
  1. os.pullEvent = os.pullEventRaw
  2. local w,h = term.getSize()
  3. local password_server = 19
  4. local username = ""
  5. local password = ""
  6. rednet.open("left")
  7. local function printCentered(str,ypos)
  8.  term.setCursorPos(w/2 - #str/2,ypos)
  9.  term.write(str)
  10. end
  11.  
  12. local function printLocation(str,xpos,ypos)
  13. term.setCursorPos(xpos,ypos)
  14. term.write(str)
  15. end
  16.  
  17. function Login()
  18. rednet.send(password_server,"1")
  19. write("Username:")
  20. username = read()
  21. write("Password:")
  22. password = read()
  23. rednet.send(password_server,username);
  24. senderId,message,distance = rednet.receive(5)
  25. if message == password then
  26. runTekos()
  27. end
  28. end
  29. function SendFile()
  30. rednet.send(password_sever,"5")
  31. print("Filename:")
  32. local filename = read()
  33. if not fs.isDir("files") then
  34. fs.makeDir("files")
  35. end
  36. local FD = fs.combine("files",filename)
  37. rednet.send(password_server,filename)
  38. f = fs.open(FD,"r")
  39. local code = f.readAll()
  40. f.close()
  41. rednet.send(password_server,code)
  42. end
  43.  
  44. function DownloadFile()
  45. rednet.send(password_server,"6")
  46. print("Filename:")
  47. local filename = read()
  48. if not fs.isDir("files") then
  49. fs.makeDir("files")
  50. end
  51. rednet.send(password_server,filename)
  52. FD = fs.combine("files", filename)
  53. f = fs.open(FD, "w")
  54. senderId, message, distance = rednet.receive(5)
  55.  f.write(message)
  56.  f.close()
  57. end
  58.  
  59. function FileList()
  60. rednet.send(password_server,"7")
  61. rednet.send(password_server,"Hello")
  62. senderId,message,distance = rednet.receive(5)
  63. print(message)
  64. end
  65.  
  66. function PrivateSend()
  67. rednet.send(password_server,"8")
  68. print("Filename:")
  69. local filename = read()
  70. local FD = fs.combine("files", filename)
  71. rednet.send(password_server,username)
  72. rednet.send(password_server,filename)
  73. f = fs.open(FD,"r")
  74. local code = f.readAll()
  75. f.close()
  76. rednet.send(password_server,code)
  77. end
  78.  
  79. function PrivateDownload()
  80. rednet.send(password_server,"9")
  81. print("Filename:")
  82. local filename = read()
  83. if not fs.isDir("files") then
  84. fs.makeDir("files")
  85. end
  86. rednet.send(password_server,username)
  87. rednet.send(password_server,filename)
  88. FD = fs.combine("files", filename)
  89. f = fs.open(FD, "w")
  90. senderId, message, distance = rednet.receive(5)
  91.  f.write(message)
  92.  f.close()
  93. end
  94.  
  95. function PrivateList()
  96. rednet.send(password_server,"10")
  97. rednet.send(password_server,username)
  98. senderId,message,distance = rednet.receive(5)
  99. print(message)
  100. end
  101. function runFTP()
  102. term.clear()
  103. term.setCursorPos(1,1)
  104. print("Welcome")
  105. print("What would you like to do")
  106. print("[1] SendFile")
  107. print("[2] DownloadFile")
  108. print("[3] fileList")
  109. print("[4] Send Private File")
  110. print("[5] Download Private File")
  111. print("[6] Private FileList")
  112. print("[7] Back")
  113. local input = read()
  114.  
  115. if input == "1" then
  116. SendFile()
  117. elseif input == "2" then
  118. DownloadFile()
  119. elseif input == "3" then
  120. FileList()
  121. elseif input == "4" then
  122. PrivateSend()
  123. elseif input == "5" then
  124. PrivateDownload()
  125. elseif input == "6" then
  126. PrivateList()
  127. elseif input == "7" then
  128. runTekos()
  129. end
  130. end
  131.  
  132. function getFileList()
  133. if not fs.isDir("files") then
  134. fs.makeDir("files")
  135. end
  136. list = fs.list("files")
  137. local str = textutils.serialize(list)
  138. print(str)
  139. end
  140.  
  141. function copyFileFromDisk()
  142. print("Filename:")
  143. local filename = read()
  144. local FD = fs.combine("files",filename)
  145. local DD = fs.combine("disk",filename)
  146.  fs.copy(DD,FD)
  147. end
  148.  
  149. function copyFileToDisk()
  150. print("Filename:")
  151. local filename = read()
  152. local FD = fs.combine("files",filename)
  153. local DD = fs.combine("disk",filename)
  154.  fs.copy(FD,DD)
  155. end
  156.  
  157. function runFileSystem()
  158. term.clear()
  159. term.setCursorPos(1,1)
  160. print("Welcome")
  161. print("What would you like to do")
  162. print("[1] run file")
  163. print("[2] get FileList")
  164. print("[3] copy file from disk")
  165. print("[4] copy file to disk")
  166. print("[5] Back")
  167. local input = read()
  168.  
  169. end
  170. function runTekos()
  171. while true do
  172. term.clear()
  173. term.setCursorPos(1,1)
  174. print("Welcome", username)
  175. print("What would you like to do?")
  176. print("[1] FileSystem")
  177. print("[2] FTP")
  178. print("[3] Quit")
  179. local input = read()
  180. if input  == "1" then
  181. runFileSystem()
  182. elseif input == "2" then
  183. runFTP()
  184. elseif input =="3" then
  185. os.shutdown()
  186. end
  187. end
  188. end
  189.  
  190. function runClient()
  191. while true do
  192. term.clear()
  193. term.setCursorPos(1,1)
  194. print("Welcome!")
  195. print("What would you like to do")
  196. print("[1] Login")
  197. print("[2] Exit")
  198. local input = read()
  199.  
  200. if input == "1" then
  201. Login()
  202. elseif input == "2" then
  203. os.shutdown()
  204. end
  205. end
  206. end
  207.  
  208. runClient()
Add Comment
Please, Sign In to add comment