Programist135 231 Опубликовано: 27 ноября, 2016 Именем p135, представляю вам программу! Две программы! Ладно, без шуток. Всем привет. Я разрабатываю mcGSM. А соответственно нужны будут DNS для удобного доступа. Пока на разработку времени нет, но я уже написал модуль для этой штуки. Пока не для этой, а для простых модемов. Потом переделаю. Ладно, не медлим, давайте. Это DNS. Да, он самый с доменами второго уровня (p135.ru, mcdns.net, ...). Значит у него есть две части: сервер и клиент. Работает он по такому принципу: Компьютер запрашивает у DNS-сервера адрес, при помощи библиотеки. DNS-сервер ищет в своей папке сначала домен этого адреса, затем сам адрес. Например, p135.ru будет находится здесь: /dns/ru/p135.dns. В файле содержится адрес регистратора - он отправляется тому, кто запросил. Если адреса не существует, то отправляется сигнал, что "адреса p135.net не существует" Надеюсь понятно обьяснил. Код: Сервер: http://pastebin.com/5VnJQawh Клиентская библиотека: http://pastebin.com/YzwiG4gb И так, перейдём к настройке. Сервер: Ставим комп (или сервер) с модемом (какой хотите, проводной, беспроводной, dial-up...) Создаём папку dns в корне (или другую, только в переменной dir не забудьте поправить) В этой папке создаём папки с названиями доменов: ru, com, net, io, какие хотите Скачиваем и запускаем сервер. [!] Если кто-то попытается зарегистрировать домен, например, ty, то у него ничего не выйдет. Система не позволит. Чтобы разрешить, также создайте папку ty. Клиент: Скачиваем библиотеку Открываем её редактором edit Изменяем переменную "dns_server" на адрес вашего сервера (отображается при запуске) Сохраняем ... Пример пользования клиентом: lua> dns=require("dns") lua> =dns.register("p135.ru") -- регистрируем true lua> =dns.get("p135.ru") -- получаем ip этого домена "de63ba47-beb6-4055-a016-e4090c18cdb5" lua> =dns.register("p135.ru") false -- домен уже существует lua> =dns.register("p135.ty") false -- нельзя, мы не разрешили регистрировать домены ty lua> =dns.register("p135.io") true -- можно зарегистрировать второй домен на один и тот же адрес - оба будут направлять на него Вот и всё. Спасибо за прочтение. Да кстати, dns.get(...) выполняется практически моментально. В следующей версии планирую сделать домены третьего уровня, а также красивый графический интерфейс для сервера. Забыл сказать, проект называется mcDNS. Почему не OpenDNS? Потому что это уже реально существующий проект. Ну, и пример в картинках 9 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 27 ноября, 2016 Хорошее начало! 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ALeXeR 67 Опубликовано: 27 ноября, 2016 я так и не понял, тут используется адрессация по машинным или же у тебя есть какой-то свой адрессный протокол? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 27 ноября, 2016 я так и не понял, тут используется адрессация по машинным или же у тебя есть какой-то свой адрессный протокол? Ну ты запрашиваешь у сервера домен один раз, он тебе адрес. А дальше по принятому адресу общаешься. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Totoro 3 563 Опубликовано: 27 ноября, 2016 Для небольшой сети большего и не требуется, в принципе. Можно общаться по адресу модема. А вот если сеть раскинется больше чем на 400 блоков, где связь не добьёт, надо будет думать. 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ALeXeR 67 Опубликовано: 27 ноября, 2016 я писал либу ip2b на которую успешно забил) эта либа апгрейдит опенось для работы с ip2b-адрессами, они как ip, только всего в 2 байта, но адрессация безмасковая была, так что я на нее подзабил) возможно когдато перепишу ее) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 27 ноября, 2016 Во-во-во! Это серьёзный прогресс после прошлых потугов на программки! Молодца, одним словом. 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 27 ноября, 2016 https://vk.com/video293029249_456239026 запилил видео. 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Len_ka 0 Опубликовано: 17 января, 2017 Сразу несколько вопросов. 1. Как модифицировать домен? (допустим адрес сменить пришлось) 2. Как удалить домен? 3. Защита от спама доменами? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Programist135 Автор темы 231 Опубликовано: 10 февраля, 2017 Сразу несколько вопросов. 1. Как модифицировать домен? (допустим адрес сменить пришлось) 2. Как удалить домен? 3. Защита от спама доменами? Пока ещё не реализовано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах