Programist135
-
Публикации
90 -
Зарегистрирован
-
Посещение
-
Победитель дней
8
Сообщения, опубликованные пользователем Programist135
-
-
установлен IguanaTinkerTweaksСпасибо! Очень нравится играть с этим модом
-
Ну вот, меня эта фразочка немного расстроила..
такую библиотеку нельзя использовать в OpenNet или других сетях без переделки, -
-
я так и не понял, тут используется адрессация по машинным или же у тебя есть какой-то свой адрессный протокол?
Ну ты запрашиваешь у сервера домен один раз, он тебе адрес. А дальше по принятому адресу общаешься.
-
Именем 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
- Ставим комп (или сервер) с модемом (какой хотите, проводной, беспроводной,
-
Эпик!
-
Если вы уговорите Алекса убрать руды из рецептов, он туды смесь яиц дроконьих и квантовых трусов поставит, так что бесмысленна тема.Угорнул

А вообще да, лучше уж оставить так.
-
Интересно
Теперь вы можете без проблем сделать OpenCloud, но:- Сделай программу как библиотеку. Чтобы можно было вставлять в другие программы.
-
Меня смущает вот этот код:
local function stop() local running = false endЧто это? Возможно по-этому у тебя не работает выход, но я стал копать дальше:
... local function run() oldPix = gpu.get(mouseX, mouseY) gpu.set(mouseX, mouseY, "█") local running = true while running do local _, _, key, code = event.pull("key_down") if key == 0 and code == 88 then stop() ...Тайна функции stop() раскрылась. Ты создаёшь в данном случае две разные переменные running, которые не зависят друг от друга. Надо было сделать так:
local running = true local function stop() running = false endи убрать строчку 47 в твоей программе.
Про сдвиг вправо и влево я не знаю, возможно клавиши не правильно указал, мигания основного курсора связано с тем, что term продолжает работать, так что лучше бы ты это сделал через term.
Сделал я так. Проблема осталась. Ещё когда нажимаешь Ctrl+Alt+C появляется ещё один курсор (надо жмякать несколько раз чтобы остановить прогу вместе с OpenOS)
-
Programist135, приведи, пожалуйста, пример как использовать твои ключи.
Мы планируем создать SSH в майнкрафте.
-
Поздравляю, ты просто продублировал кодWTF?! Перезалью, секунду
Новая команда: wget https://preview.c9users.io/programist135/programfiles/Programist135/ssh-keygen-ultimate.lua ssh-keygen.lua
-
Я посмотрел пример приватного ключа и сделал так же.
-
Иммитирует событие touch там, где находится курсор. Курсор передвигать можно.
-
-
Решил я написать мышь через клавиатуру, запустил, нажал F10, курсор появился и двигается влево-вправо, но случилось неприятное: не работает передвижение курсора вниз-вверх, плюс курсор ввода продолжает мигать. Ещё не работает кнопка F12, которая останавливает программу. Код:
-
И так. Сделал генерацию одновременно и публичного и приватного RSA-ключа. Данные НИКАКИЕ не требуются. Программа генерирует рандомно. Сейчас она на тестировании, завтра выложу, сегодня времени нет.
-
Зачем твои программы спамят директориями?Чтобы было всё рассортированно.
-
P.P.S. зачем?Ну просто решил сделать
Как получилось 
-
Всем привет, с вами снова Programist135, и я решил создать генератор SSH-ключей. Программа простенькая, так что выполните эту команду:
wget https://preview.c9users.io/programist135/programfiles/Programist135/ssh-keygen.lua ssh-keygen.lua
И запустите ssh-keygen. За 1 момент программа сгенерирует ключ размером 128 байт и сохранит его в файл, напишет в какой. А с вами был Programist135, до новых встреч!
P. S. RandomSSH это моя "выдуманная" технология.
Ожидали больше текста? Извините что разочаровал

-
Всё готово, запускайте установщик. Если вдруг при запуске выдаст ошибку, или найдётся баг, немедленно сообщите мне, новый код я НЕ проверял.
-
Может стоит аргументы сделать, куда востановить указывать?А вот насчёт этого согласен! После того, как напишу о том, что всё готово, запустите установщик по-новой.
-
Лёша, я думаю что чем длиннее фраза, тем надёжнее. Вон в Clash of Clans начал себе ник менять, меня просят целиком и полностью слово ПОДТВЕРДИТЬ. Вот.
Забыл написать: корзина находится по адресу /usr/.$RecycleBin. Через ls /usr мы её не увидим, потому что имя файла начинается с точки. Все файлы восстанавливаются НЕ туда, где они были, а в папку /restored/.
-
- Так. Удалю ка я файл govnokod.lua
*набрал rm go*
*TAB*
*набралось gorod*
*ENTER*
О НЕТ!! Я удалил нужный файл!! АА!!!!
- Так. Удалю ка я файл govnokod.lua
*набрал rm go*
*TAB*
*набралось gorod*
*ENTER*
*файл успешно перемещён в корзину...*
- АА!! О, точно есть же корзина.
*recycle -r gorod*
*файл восстановлен...*
- Ух...
И так, всем здравствуйте. С вами снова Programist135, и я решил убить > 2 часов на то, чтобы защитить вас от случайного удаления нужных файлов. Эта программа называется "Корзина"
Все мы знаем корзину в Windows, Linux, Ubuntu... поэтому я решил реализовать это и в OpenOS. Ну что-ж, выполните в консоли вот эту команду!
pastebin run QFZ0uHCk
Для загрузки нескольких файлов я воспользовался вот этой программой >>> http://computercraft.ru/topic/1145-oc-ustanovschik-programm
Приступим к обзору. Я решил написать все функции "корзины" в библиотеке, а вызывать из программы. Поэтому сама программа так мало весит =)
Команды:
recycle -r имя_файла
Восстанавливает файл имя_файла из корзины. Если его там нет, выдаёт предупреждение.
recycle -c
ПОЛНОСТЬЮ очищает корзину. Перед очисткой просит ввести слово "ПОДТВЕРДИТЬ".
recycle -d имя_файла
Удаляет файл имя_файла из КОРЗИНЫ навсегда. Перед удалением просит ввести слово "ДА".
recycle -l
Показывает все те файлы и папки, которые находятся в КОРЗИНЕ.
Вы спросите: "Эй прог, а как переместить файл в корзину?". Тут всё просто. Я отредактировал файл rm.lua. Использование такое:
rm [-vn] <filename1> [<filename2> [...]]
v выводит сообщения, что сейчас происходит.
Но! Будьте осторожней с функцией n. Она удаляет все выбранные файлы БЕЗ ПЕРЕМЕЩЕНИЯ В КОРЗИНУ! Перед этим действием просит подтверждение.
Ну вот и всё. На написание этой статьи я потратил 20 минут. А с вами был Programist135, если вдруг найдёте нерабочую функцию или баг, обязательно напишите мне сюда, я исправлю. Увидимся!И да, чуть не забыл: небольшой пример работы.
-
7
-
-
...
КАК?! Вроде в OC можно только квадратиками большими рисовать. Хм...
Предупреждение модератора!
Чрезмерное цитирование

DNS
в Сетевые технологии
Опубликовано:
Пока ещё не реализовано.