Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tArgs = { ... }
- local favorits = { }
- --configrable variables
- Firebox = shell.getRunningProgram()
- edit = "edit" -- textviewing programe for http;
- server = nil -- for redbook
- install = "" -- for all downloads
- dns = 202 -- id of DNS server
- DNSids = {201}
- DNSdomains = {"www.test.com"}
- -- end
- if #tArgs < 1 then
- print( "Do you want to 1 enter a url, 2:select from 'firebox_fave'" )
- input = read()
- shell.run( "clear" )
- if input == "2" then
- if(fs.exists("firebox_fave")) then
- local fave = fs.open("firebox_fave", "r")
- max = 0
- while true do
- local line = fave.readLine()
- if line == nil then --if reached end of file
- break end
- table.insert(favorits, line)
- max = max + 1
- end
- fave.close()
- i = 0
- print( "Use the arrows and enter to chose. " )
- while true do
- i = i + 1
- if favorits[i] == nil then break end
- print( " " .. i .. ": " .. favorits[i])
- end
- pointer = 1
- term.setCursorPos(1, pointer + 1)
- print( "->" )
- while true do
- local evt, arg1, arg2 = os.pullEvent()
- term.setCursorPos(1, pointer + 1)
- print( " " )
- if arg1 == 200 and pointer > 1 then
- pointer = pointer - 1
- elseif arg1 == 208 and pointer < max then
- pointer = pointer + 1
- end
- term.setCursorPos(1, pointer + 1)
- print( "->" )
- if arg1 == 28 then break end
- end
- url = favorits[pointer]
- else
- print("'firebox_fave' dose not exist")
- print("To create a favorits list then store each url on its own line in firebox/fave")
- print("")
- print( "Enter a url or type host to host a server." )
- url = read()
- end
- else
- print( "Enter a url or type host to host a server." )
- url = read()
- end
- else
- url = tArgs[1]
- end
- if string.find(url, "192.168.1.") then
- -- Connect to rednet
- rednetip = string.gsub(url, "192.168.1.", "") * 1
- rednet.open("right")
- shell.run( "clear" )
- rednet.send(rednetip, "http/index")
- file = io.open("temp", "w")
- id, msg = rednet.receive(20)
- if msg == nil then
- print( "The server did not sent a message back. It must not like you." )
- else
- file:write(msg)
- file:close()
- response = nil
- shell.run( "temp" )
- end
- elseif url == "host" then
- shell.run( "clear" )
- print ( "Server ready to serve." )
- rednet.open("right")
- print ( "Opening the portholes" )
- while true do
- id, message = rednet.receive()
- if fs.exists(message) then
- file = io.open( message )
- filedata = file:read()
- file:close()
- rednet.send(id, filedata)
- print ( "Send that old trash to 192.168.1." .. id )
- elseif fs.exists("http/error") then
- file = io.open("http/error")
- filedata = file:read()
- file:close()
- rednet.send(id, filedata)
- print ( "Send that old trash to 192.168.1." .. id )
- else
- rednet.send(id, "print( \"Error, This server (192.168.1." .. id .. ") could not sent you your request.\")")
- print ( "Failed to give 192.168.1." .. id .. " his present." )
- end
- end
- elseif string.find(url, "http://") then
- --Connect to internet
- local response = http.get(url)
- if response then
- while response do
- local sResponse = response.readAll()
- response.close()
- shell.run( "clear" )
- cache = shell.resolve( "temp" )
- local file = fs.open( cache, "w" )
- file.write( sResponse )
- file.close()
- response = nil
- shell.run( edit, "temp" )
- end
- else
- -- if page is not reseved
- print( "Error, Could not load page." )
- end
- elseif string.find(url, "rdnt://") then
- --Connect to Rednet DNS
- rednetDomain = string.gsub(url, "rdnt://", "")
- rednet.open("right")
- shell.run( "clear" )
- rednet.send(dns, rednetDomain)
- file = io.open("temp", "w")
- id, msg = rednet.receive(20)
- if msg == nil then
- print( "The Domain Name Server did not sent a message back. It must have got it self in a fight with the website you are trying to connect to." )
- else
- file:write(msg)
- file:close()
- response = nil
- shell.run( "temp" )
- end
- elseif string.find(url, "hostDNS") then
- --Host a DNS server
- rednet.open("right")
- print ( "DNS ready to serve." )
- while true do
- client, message = rednet.receive()
- print( "192.168.1." .. client .. " whats to connect to " .. message )
- i = 1
- devidingCharater = string.find(message, "/")
- length = string.len(message)
- message = string.lower(message)
- Domainname = string.sub(message, devidingCharater, length - devidingCharater)
- subDomain = string.sub(message, devidingCharater, length)
- print("request:" .. message)
- print("Domainname:" .. Domainname)
- print("subDomain:" .. subDomain)
- while DNSids[i] do
- if(message == DNSdomains[i]) then
- rednet.send(DNSids[i], "http/" .. subDomain)
- print( "Trying to find 192.168.1." .. client .. " to 192.168.1." .. DNSids[i])
- id, msg = rednet.receive(20)
- if msg == nil then
- print( "All as been lost." )
- else
- rednet.send(client, msg)
- print( "Found him. Matching up." )
- end
- end
- i = i + 1
- end
- end
- else
- -- Connect to Craftnet
- -- root = "http://localhost/minecraft/"
- root = "http://www.lozengia.com/tmas/Downloads/Minecraft/firebox/"
- local response = http.get(root .. url)
- if response then
- -- if page is reseved
- while response do
- local sResponse = response.readAll()
- response.close()
- shell.run( "clear" )
- cache = shell.resolve( "temp" )
- local file = fs.open( cache, "w" )
- file.write( sResponse )
- file.close()
- response = nil
- shell.run( "temp" )
- end
- shell.run( "clear" )
- else
- -- if page is not reseved
- print( "Error, Could not load page." )
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement