...

понедельник, 29 сентября 2014 г.

Мессенджер на базе FTN-технологий


Да, эта штука сможет работать по модему или через общую папку (filebox). Вернее, пока только TCP или UDP, но наработки уже есть. Функционал IM на уровне ранней аськи — только обмен сообщениями и контактами. Но внутри есть обмен между узлами, групповые чаты (аналог IRC), почта, файлы.


Что это вообще такое?


Distributed Network Messaging Protocol — хорошо забытый FTN


Проект Talaria два года пролежал без движения (за ненадобностью) но с недавних пор в связи с нехорошими событиями и нерадостными перспективами в области связи потихоньку ожил и двигается дальше. Он стал по-настоящему кроссплатформенным (благодаря Lazarus), многое было переписано на свежую голову, реализовано несколько новых идей:


— Все передаваемые объекты сериализуются, можно выбрать сериализатор (XML, JSON, BENCODE). По умолчанию используется BENCODE.


— Типы сообщений соответствуют обработчикам сообщений. А внутри типа (обработчика) могут быть свои варианты сообщений — команды, данные, итд…


— Можно использовать узлы как транспорт для стандартных IP-протоколов (FTP, HTTP, POP, итд..) если эмулировать им IP-соединения. Вариантов много — например, управляющие соединения заворачивать в DNMP, а данные отправлять по IP. То есть, примерно как в SIP — сначала стороны сообщают о себе и об открытых портах через сеть узлов, а потом соединяются peer-to-peer (напрямую друг с другом) или через узел-ретранслятор.


— Векторная адресация. Номер адреса (номер ноды, например) имеет длину 4 байта. Эта длина называется сегментом вектора. Если старший бит будет равен 1, то добавляется еще сегмент (длина номера увеличивается еще на 4 байта). Если у второго сегмента вектора старший бит равен 1 то, добавляется еще сегмент. И так далее. То есть, длина адреса практически неограничена.


— WebAPI + набор статики, чтобы пользоваться через браузер.


Где посмотреть?


Исходники и документация


Исходники на FreePascal, для компиляции нужен свежий Lazarus и библиотека Synapse


Почему Паскаль, а не Си или Ява? Так исторически сложилось и пока не нашлось веской причины это менять.


Бинарники
Бинарники пока еще очень-очень сырые, используйте на свой страх и риск. Есть пробная версия для Windows x86 и Linux x86. Если нужны другие платформы — попробуйте сами скомпилить из исходников.

http://ift.tt/1u6meQC




Чем помочь?


— Нужна иконка для программы — ботинок с крыльями. Несколько размеров, начиная с 16х16.


— Нужна конструктивная критика. Если вам что-то не нравится, подскажите как это улучшить.


— Нужны добровольцы багописатели и багоискатели. Например, написать шифровалку сообщений или линк для модема. Или ткнуть меня носом в ошибку.


This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий