Возможности системы
[quote]1.Создавать собственные «интернет странички».
2.Выкладывать на закачку файлы.
3.Воможность задать адрес своего сайта буквами, а не ID.
4.Скачка файлов (выкидываем дискеты, настала эра интернета Нотч).
5.Возможность создать собственную чат-комнату[/quote]
Инструкция
По использованию браузера
[quote]1.Отредактируйте поле dnsId на id днс сервера, который Вы будете использовать.
2.Запустите браузер и введите url сайта или чат комнаты на которую хотите отправиться.
3.Вводя названия страниц, путешествуйте по сайту, для скачивания файлов или перехода в чат-комнату нужно просто перейти на соответствующую страницу, введите "back" для выбора другого сайта или "exit" для выхода из браузера.Если вы находитесь в чате просто аишите сообщения, команды аналогичны.[/quote]
По настройке днс системы
[quote]1.Сохраните на любом свободном компьютере программу днс сервера.
2.Запустите сервер на короткое время, и он автоматически создаст файлы необходимые ему для работы, редактируя их Вы, будете влиять на работу всего сервера, разберем их:
Файл config.MDSF: здесь хранится конфиг сервера, пока он включает 2 поля – сторону, с которой у вас стоит модем и параметр записи запросов в соответствующий файл, отредактируйте эти поля.
Файл baned_list.MDSF: позволяет забанить компьютеры по их id, просто пишите их в файл.
Файл site_list.MDSF: здесь необходимо писать списки URL и ид серверов, если вам необходимо добавить новый сервер в переадресацию просто допишите в файл строчки по формату:
URL сервера (например, http://vasa[paste][/paste]com)ид сервера (например, 55)
Файл needs_list.MDSF: Здесь находится список запросов, которые получает днс сервер.
3.Запустите систему днс (рекомендую файл с ней сохранять с названием "startup").[/quote]
По созданию и настройке веб сервера
[quote]1.Скопируйте программу сервера, на компьютер который будет "сервером".
2.Запустите его на короткое время и выключите, сервер создаст несколько файлов необходимых ему для работы, разберем их:
config.MWSF: файл конфигурации сервера, включает 2 поля: сторона с которой у вас стоит модем (по умолчанию left), URL вашего сервера (нужно написать) и параметр записи запросов в соответствующий файл, отредактируйте эти поля.
baned_list.MWSF: позволяет забанить компьютеры по их id, просто пишите их в файл по одному ИД на строчку.
page_list.MWSF: этот файл включает списки страничек доступных для просмотра на вашем сервере, чтоб добавить новую страничку просто допишите имя файла, в котором она лежит без разрешения .MWSF.
file_list.MWSF: то же самое, что и page_list.MWSF, но включает списки файлов доступных для скачивания, добавлять по тем же правилам.
chat_list.MWSF: Включает списки переадресации на определенные чат-комнаты. Чтобы добавить новую комнату в переадресацию, добавьте в файл запись по формату:
Ссылка на чат комнату (например, UaChating)Ид чат сервера (например, 55)
Файл needs_list.MDSF: Здесь находится список запросов, которые получает веб сервер.
404.MWSF: страница 404, отредактируйте по своему усмотрению.
index.MWSF: Стартовая страница сайта, отредактируйте по своему усмотрению.
3.Запускайте сервер.[/quote]
По созданию чат-комнаты
[quote]1.Скопируйте программу чат сервера на компьютер, который будет сервером.
2.Запустите програму на короткое время, она создасть 2 файлика необходимых ей для работы, разберем их:
config.MСSF: файл конфигурации сервера, включает 2 поля: сторона с которой у вас стоит модем (по умолчанию left), и параметер записи истории чата в файл, отредактируйте эти поля
baned_list.MСSF: позволяет забанить компьютеры по их id, просто пишите их в файл по одному ИД на строчку.
3.Запустите программу.
4.Переадресовуйте через ваш сайт или напрямую через ДНС людей в эту комнату.[/quote]
Код
Браузера
dnsId = function chating1()term[paste][/paste]clear()m=truemsg = "userIn"term[paste][/paste]setCursorBlink(true)term[paste][/paste]setCursorPos(1, y)while m doif msg == "exit" thenb = falsem = falsec = falsea = falseg = falseelseif msg == "back" thenb = falsem = falsea = falseg = falseelserednet[paste][/paste]send(chatIds, msg)fff, msg1 = rednet[paste][/paste]receive(30)pwd = ""term[paste][/paste]clear()print("\n"[paste][/paste][paste][/paste]msg1)write("You message:")term[paste][/paste]setCursorPos(13+#pwd,y)msg=""while true doevent,key=os[paste][/paste]pullEvent()if event=="char" thenwrite(key)pwd=pwd[paste][/paste][paste][/paste]keyelseif event=="key" thenif key==14 and #pwd>0 thenterm[paste][/paste]setCursorPos(13+#pwd,y)pwd=string[paste][/paste]sub(pwd,1,#pwd-1)term[paste][/paste]clear()print("\n"[paste][/paste][paste][/paste]msg1)write("You message:")write(pwd)elseif key==28 then break endendendmsg = pwdterm[paste][/paste]setCursorPos(1, y)endendrednet[paste][/paste]send(chatIds, "userOut")endfunction chating2()while true dosleep(1)rednet[paste][/paste]send(chatIds, "reload")fff, msg1 = rednet[paste][/paste]receive(30)term[paste][/paste]clear()print("\n"[paste][/paste][paste][/paste]msg1)write("You message:")write(pwd)term[paste][/paste]setCursorPos(13+#pwd,y)endendfunction chatingMode(chatIds)chatIds = chatIds * 1term[paste][/paste]clear()x, y = term[paste][/paste]getSize()pwd = ""parallel[paste][/paste]waitForAny(chating1, chating2)endfunction writeFile (fileName)id, dFile = rednet[paste][/paste]receive()file = io[paste][/paste]open(fileName, "w")file:write(dFile)file:close()enddnsId = 6hello = "<-------------Minecraft Web Browser-------------> \n<---Copyright 2012 Dimach[paste][/paste]All rights reserved---> \n<-----------------Vvedite adres----------------->"downloadSuc = "<-------------Fail zagrugen uspesno------------->"i = 0function open()local bOpen, sFreeSide = false, nilfor n,sSide in pairs(rs[paste][/paste]getSides()) do if peripheral[paste][/paste]getType( sSide ) == "modem" thensFreeSide = sSideif rednet[paste][/paste]isOpen( sSide ) thenbOpen = truebreakendendendif not bOpen thenif sFreeSide thenrednet[paste][/paste]open( sFreeSide )return trueelseprint( "Rabota ne vozmogna, podkluchite modem" )return falseendendreturn trueendif open() thenwhile i<20 doi = i + 1print(hello)term[paste][/paste]clear()endc = truewhile c dom = trueg = trueprint(hello)url = read()a = truewhile a dorednet[paste][/paste]send(dnsId, url)id, servId = rednet[paste][/paste]receive(30)if id == dnsId thenif servId == "Baned" thenterm[paste][/paste]clear()print("Vu zabanenu v sisteme dns")elseif servId ~= "fail_404" thena = falseelseterm[paste][/paste]clear()a = falseg = falseb = falseprint("<--Minecraft Web Browser ne moget nayti server-->")endendendendpage = "index"if g thenb = trueendwhile b doservId = servId*1term[paste][/paste]clear()rednet[paste][/paste]send(servId, page)id, pageText = rednet[paste][/paste]receive(30)if pageText == "download" thenwriteFile (page)term[paste][/paste]clear()print(downloadSuc)elseif pageText == "chating" thenid, chatId = rednet[paste][/paste]receive()chatingMode(chatId)elseif pageText == "Baned" thenprint("Vu zabanenu na etom sayte")read()a = falseg = falseb = falseelseterm[paste][/paste]clear()print(pageText)end if m == true thenpage = read()if page == "exit" thenb = falsec = falseelseif page == "back" thenb = falseendendterm[paste][/paste]clear()endendrednet[paste][/paste]close(sFreeSide)term[paste][/paste]clear()elseend
Днс сервера
function blackList(userId)baned=falsevar1 = falsefile = io[paste][/paste]open("baned_list[paste][/paste]MDSF", "r")a=file:read()a = -1repeata = a * 1if userId == a thenbaned = trueenda=file:read()until a == nilfile:close()return banedendfunction readConfig()file = io[paste][/paste]open("config[paste][/paste]MDSF", "r")fff=file:read()fff=file:read()side=file:read()fff=file:read()writeFiles = file:read()writeFile = falseif writeFiles == "true" thenwriteFile = trueendfile:close()endfunction fileDetected(name)file = io[paste][/paste]open(name, "a")file:close()file = io[paste][/paste]open(name, "r")test=file:read()if test == nil then return false else return true endfile:close()endfunction firstStart()if fileDetected("site_list[paste][/paste]MDSF") thenelsefile = io[paste][/paste]open("site_list[paste][/paste]MDSF", "a") file:close()file = io[paste][/paste]open("site_list[paste][/paste]MDSF", "w")file:write("--suda pisite spiski saytov i ih id")file:close()endif fileDetected("baned_list[paste][/paste]MDSF") thenelsefile = io[paste][/paste]open("baned_list[paste][/paste]MDSF", "a") file:close()file = io[paste][/paste]open("baned_list[paste][/paste]MDSF", "w")file:write("--zdes pisite id kompov kotoruh vu hotite zabanit")file:close()endif fileDetected("config[paste][/paste]MDSF") thenelsefile = io[paste][/paste]open("config[paste][/paste]MDSF", "a") file:close()file = io[paste][/paste]open("config[paste][/paste]MDSF", "w")file:write("--zdes nahoditsa konfig DNS servera \n--storona s kotoroy u vas stoit modem \nleft\n--zapisuvat istoriyu zaprosov v file \nfalse")file:close()endif writeFile thenif fileDetected("needs_list[paste][/paste]MDSF") then elsefile = io[paste][/paste]open("needs_list[paste][/paste]MDSF", "a") file:close()file = io[paste][/paste]open("needs_list[paste][/paste]MDSF", "w")file:write("--Zdes nahodatsa spiski zaprosov dns servera\n--Nachalo spiska zaprosov")file:close()endendendfunction siteList (siteName)h = falsefile = io[paste][/paste]open("site_list[paste][/paste]MDSF", "r")fff=file:read()repeata=file:read()if a == siteName thenids = file:read()h = trueelsefff=file:read()enduntil a == nilfile:close()if h thenreturn idselsereturn "fail_404"endendfirstStart()readConfig()rednet[paste][/paste]open(side)while true doid, url = rednet[paste][/paste]receive()if not blackList(id) thenservId = siteList(url)elseservId = "Baned"endrednet[paste][/paste]send(id, servId)print("Computer "[paste][/paste][paste][/paste]id[paste][/paste][paste][/paste]" need URL "[paste][/paste][paste][/paste]url[paste][/paste][paste][/paste]" return "[paste][/paste][paste][/paste]servId)if writeFile thenfile100500 = io[paste][/paste]open("needs_list[paste][/paste]MDSF", "a")file100500:write("\nComputer "[paste][/paste][paste][/paste]id[paste][/paste][paste][/paste]" need URL "[paste][/paste][paste][/paste]url[paste][/paste][paste][/paste]" return "[paste][/paste][paste][/paste]servId)file100500:close()endend
Веб сервера
function blackList(userId)baned=falsevar1 = falsefile = io[paste][/paste]open("baned_list[paste][/paste]MWSF", "r")a=file:read()a = -1repeata = a * 1if userId == a thenbaned = trueenda=file:read()until a == nilfile:close()return banedendfunction readCfg()file1 = io[paste][/paste]open("config[paste][/paste]mwsf", "r")fff=file1:read()fff=file1:read()side=file1:read()fff=file1:read()siteName=file1:read()fff=file1:read()writeFiles = file1:read()writeFile = falseif writeFiles == "true" thenwriteFile = trueendfile1:close()endfunction fileDetected(name)file = io[paste][/paste]open(name, "a")file:close()file = io[paste][/paste]open(name, "r")test=file:read()if test == nil then return false else return true endfile:close()endfunction firstStart()if fileDetected("page_list[paste][/paste]MWSF") thenelsefile = io[paste][/paste]open("page_list[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("page_list[paste][/paste]MWSF", "w")file:write("--suda pisite nazvaniya stranic dostupnuh dlya prosmotra")file:close()endif fileDetected("baned_list[paste][/paste]MWSF") thenelsefile = io[paste][/paste]open("baned_list[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("baned_list[paste][/paste]MWSF", "w")file:write("--zdes pisite id kompov kotoruh vu hotite zabanit")file:close()endif fileDetected("file_list[paste][/paste]MWSF") thenelsefile = io[paste][/paste]open("file_list[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("file_list[paste][/paste]MWSF", "w")file:write("--suda pisite nazvaniya faylov dostupnuh dya skachivaniya")file:close()endif fileDetected("chat_list[paste][/paste]MWSF") thenelsefile = io[paste][/paste]open("chat_list[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("chat_list[paste][/paste]MWSF", "w")file:write("--suda pisite url chat serverov kotorue budut dustupnu cerez vas sayt i ih ID")file:close()endif fileDetected("config[paste][/paste]MWSF") thenelsefile = io[paste][/paste]open("config[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("config[paste][/paste]MWSF", "w")file:write("--zdes nahodatsa nastroyki servera \n--storona s kotoroy u vas stoit modem \nleft\n--url vasego servera \nhttp://Dns[paste][/paste]com/\n--zapisuvat istoriyu zaprosov v file \nfalse")file:close()endif fileDetected("index[paste][/paste]MWSF") thenelsefile = io[paste][/paste]open("index[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("index[paste][/paste]MWSF", "w")file:write("Startovaya stranica sayta")file:close()endif fileDetected("404[paste][/paste]MWSF") thenelsefile = io[paste][/paste]open("404[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("404[paste][/paste]MWSF", "w")file:write("=================================================\n====================PAGE 404=====================\n=================================================")file:close()endif (writeFile) and (not fileDetected("needs_list[paste][/paste]MWSF")) thenfile = io[paste][/paste]open("needs_list[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("needs_list[paste][/paste]MWSF", "w")file:write("--Zdes nahodatsa spiski zaprosov web servera\n--Nachalo spiska zaprosov")file:close()endendfunction chatList (chatName)h = falsefile = io[paste][/paste]open("chat_list[paste][/paste]MWSF", "r")fff=file:read()repeata=file:read()if a == chatName thenids = file:read()h = trueelsefff=file:read()enduntil a == nilfile:close()if h thenreturn trueelsereturn falseendendfunction readPage (page)site = siteName[paste][/paste][paste][/paste]pagepage = page[paste][/paste][paste][/paste] "[paste][/paste]MWSF"file = io[paste][/paste]open(page, "r")a=file:read()returnPage = site[paste][/paste][paste][/paste]"\n"repeat returnPage = returnPage[paste][/paste][paste][/paste] a[paste][/paste][paste][/paste] "\n"a=file:read()until a == nilfile:close()return returnPageendfunction pageList (pageName)var1 = falsefile = io[paste][/paste]open("page_list[paste][/paste]MWSF", "r")a=file:read()repeata=file:read()if pageName == a thenvar1 = trueenduntil a == nilfile:close()return var1endfunction fileList (fileName)var2 = falsefile = io[paste][/paste]open("file_list[paste][/paste]MWSF", "r")a=file:read()repeata=file:read()if fileName == a thenvar2 = trueenduntil a == nilfile:close()return var2 endfirstStart()readCfg()rednet[paste][/paste]open(side)while true dopageText = " "id, needPage = rednet[paste][/paste]receive()print("Computer "[paste][/paste][paste][/paste]id[paste][/paste][paste][/paste]" need page "[paste][/paste][paste][/paste]needPage)if writeFile thenfile100500 = io[paste][/paste]open("needs_list[paste][/paste]MWSF", "a")file100500:write("\nComputer "[paste][/paste][paste][/paste]id[paste][/paste][paste][/paste]" need page "[paste][/paste][paste][/paste]needPage)file100500:close()endif not blackList(id) thenif needPage == "index" or pageList(needPage) thenpageText = readPage(needPage)elseif fileList(needPage) thenrednet[paste][/paste]send(id, "download")pageText = readPage(needPage)elseif chatList(needPage) thenchatId = ids[paste][/paste][paste][/paste]" "ids = 0rednet[paste][/paste]send(id, "chating")rednet[paste][/paste]send(id, chatId)pageText = " "elsepageText = readPage("404")endelsepageText = "Baned"endrednet[paste][/paste]send(id, pageText)end
Для чат комнаты
function blackList(userId)baned=falsevar1 = falsefile = io[paste][/paste]open("baned_list[paste][/paste]MCSF", "r")a=file:read()a = -1repeata = a * 1if userId == a thenbaned = trueenda=file:read()until a == nilfile:close()return banedendfunction firstStart()if (writeFile) and (not fileDetected("needs_list[paste][/paste]MWSF")) thenfile = io[paste][/paste]open("needs_list[paste][/paste]MWSF", "a") file:close()file = io[paste][/paste]open("needs_list[paste][/paste]MWSF", "w")file:write("--Zdes nahoditsa istoriya chata\n--Nachalo istorii chata")file:close()endif fileDetected("config[paste][/paste]MCSF") thenelsefile = io[paste][/paste]open("config[paste][/paste]MCSF", "a") file:close()file = io[paste][/paste]open("config[paste][/paste]MCSF", "w")file:write("--zdes nahodatsa nastroyki chat servera \n--storona s kotoroy u vas stoit modem \nleft\n--zapisuvat istoriyu chata v file \nfalse")file:close()endif fileDetected("baned_list[paste][/paste]MCSF") thenelsefile = io[paste][/paste]open("baned_list[paste][/paste]MCSF", "a") file:close()file = io[paste][/paste]open("baned_list[paste][/paste]MCSF", "w")file:write("--zdes pisite id kompov kotoruh vu hotite zabanit")file:close()endendfunction readCfg()file1 = io[paste][/paste]open("config[paste][/paste]MCSF", "r")fff=file1:read()fff=file1:read()side=file1:read()fff=file1:read()writeFiles = file1:read()writeFile = falseif writeFiles == "true" thenwriteFile = trueendfile1:close()endfunction fileDetected(name)file = io[paste][/paste]open(name, "a")file:close()file = io[paste][/paste]open(name, "r")test=file:read()if test == nil then return false else return true endfile:close()endfirstStart()readCfg()rednet[paste][/paste]open(side)b = 0cId = os[paste][/paste]computerID()cId = cId[paste][/paste][paste][/paste]" "while true dochatHistori = "<--------Avtomaticheskaya ochistka chata-------->"while b<30 doid, msg = rednet[paste][/paste]receive()if not blackList(id) thenif msg ~= "reload" thenif msg ~= "index" thenchatHistori = chatHistori[paste][/paste][paste][/paste] "\n" [paste][/paste][paste][/paste]id[paste][/paste][paste][/paste] ":" [paste][/paste][paste][/paste]msgrednet[paste][/paste]send(id, chatHistori)print(id[paste][/paste][paste][/paste]":"[paste][/paste][paste][/paste]msg)b = b + 1elserednet[paste][/paste]send(id, "chating")rednet[paste][/paste]send(id, cId)endendrednet[paste][/paste]send(id, chatHistori)elserednet[paste][/paste]send(id, "Vu zabanenu v chat komnate")endendif writeFile thenfile100500 = io[paste][/paste]open("needs_list[paste][/paste]MCSF", "a")file100500:write(chatHistori)file100500:close()endb = 0end
История версий
[quote]
Версия 1.3
Добавлено обновление чата в реальном времени.
Добавлена возможность прямого перехода в чат комнату через ДНС.
Добавлен конфиг для чат комнаты.
Добавлен бан по ИД компов в чат комнате.
Добавлена возможность записи истории чата в файл (включается в конфиге).
Оптимизирован код всех серверов.
Багфиксы.
Версия 1.2
В систему веб добавлен чат.
Добавлена возможность банить компьютеры по id .
Добавлена возможность записи запросов в файл.
Багфиксы.
Версия 1.1
Добавлены файлы конфигурации.
Убрана потребность указывать сторону у браузера.
Исправлены некоторые баги и ошибки.
Версия 1.0
Релиз браузера сервера и системы DNS.[/quote][/quote]
Если у вас есть предложения или замечания по поводу WEB системы пишите в коментах.
Copyright 2012 Dimach. All rights reserved!!!