Перейти к содержимому


Фотография

DNS

dns mcgsm прог пиши gsm ...

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 Оффлайн   Programist135

Programist135
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,39%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 27 Ноябрь 2016 - 18:53

Именем 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

 

И так, перейдём к настройке.

 

Сервер:

  1. Ставим комп (или сервер) с модемом (какой хотите, проводной, беспроводной, dial-up...)
  2. Создаём папку dns в корне (или другую, только в переменной dir не забудьте поправить)
  3. В этой папке создаём папки с названиями доменов: ru, com, net, io, какие хотите
  4. Скачиваем и запускаем сервер.

[!] Если кто-то попытается зарегистрировать домен, например, ty, то у него ничего не выйдет. Система не позволит. Чтобы разрешить, также создайте папку ty.

 

Клиент:

  1. Скачиваем библиотеку
  2. Открываем её редактором edit
  3. Изменяем переменную "dns_server" на адрес вашего сервера (отображается при запуске)
  4. Сохраняем
  5. ...

Пример пользования клиентом:

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? Потому что это уже реально существующий проект. Ну, и пример в картинках

XaHnT0P.pngKFzsiMA.png



#2 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 27 Ноябрь 2016 - 18:57

Хорошее начало!


  • NEO, Programist135 и Kartze это нравится

#3 Оффлайн   ALeXeR

ALeXeR
  • Пользователи
  • Сообщений: 204
  • Уровень сигнала: 34,28%
  • В игре: 255 час. 59 мин.
  • ГородОдесса

Отправлено 27 Ноябрь 2016 - 19:10

я так и не понял, тут используется адрессация по машинным или же у тебя есть какой-то свой адрессный протокол?



#4 Оффлайн   Programist135

Programist135
  • Автор темы
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,39%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 27 Ноябрь 2016 - 19:14

я так и не понял, тут используется адрессация по машинным или же у тебя есть какой-то свой адрессный протокол?

Ну ты запрашиваешь у сервера домен один раз, он тебе адрес. А дальше по принятому адресу общаешься.



#5 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 27 Ноябрь 2016 - 19:15

Для небольшой сети большего и не требуется, в принципе.

Можно общаться по адресу модема.

 

А вот если сеть раскинется больше чем на 400 блоков, где связь не добьёт, надо будет думать.


  • ALeXeR и Ren это нравится

#6 Оффлайн   ALeXeR

ALeXeR
  • Пользователи
  • Сообщений: 204
  • Уровень сигнала: 34,28%
  • В игре: 255 час. 59 мин.
  • ГородОдесса

Отправлено 27 Ноябрь 2016 - 19:19

я писал либу ip2b на которую успешно забил) эта либа апгрейдит опенось для работы с ip2b-адрессами, они как ip, только всего в 2 байта, но адрессация безмасковая была, так что я на нее подзабил) возможно когдато перепишу ее)



#7 Оффлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 27 Ноябрь 2016 - 19:37

Во-во-во! Это серьёзный прогресс после прошлых потугов на программки! Молодца, одним словом.


  • Alex, Totoro, Programist135 и 2 другим это нравится

#8 Оффлайн   Programist135

Programist135
  • Автор темы
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,39%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 27 Ноябрь 2016 - 19:58

https://vk.com/video...29249_456239026 запилил видео.


  • Alex, NEO, davial и еще 1 это нравится

#9 Оффлайн   Len_ka

Len_ka
  • Пользователи
  • Сообщений: 3
  • Уровень сигнала: 0,17%
  • В игре: 1 час. 15 мин.

Отправлено 18 Январь 2017 - 00:58

Сразу несколько вопросов. 

1. Как модифицировать домен? (допустим адрес сменить пришлось)

2. Как удалить домен?

3. Защита от спама доменами?



#10 Оффлайн   Programist135

Programist135
  • Автор темы
  • Пользователи
  • Сообщений: 111
  • Уровень сигнала: 1,39%
  • В игре: 10 час. 24 мин.
  • ГородСамара

Награды

        

Отправлено 10 Февраль 2017 - 18:01

Сразу несколько вопросов. 

1. Как модифицировать домен? (допустим адрес сменить пришлось)

2. Как удалить домен?

3. Защита от спама доменами?

Пока ещё не реализовано.







Темы с аналогичным тегами dns, mcgsm, прог пиши gsm, ...

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных