- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Бинарники

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

serbod.com/doku.php?id=talaria [5]

Чем помочь?

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

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

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

Автор: serbod

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/fidonet/70569

Ссылки в тексте:

[1] Distributed Network Messaging Protocol — хорошо забытый FTN: http://habrahabr.ru/post/79439/

[2] Исходники и документация: https://code.google.com/p/talaria/

[3] Lazarus: http://www.lazarus.freepascal.org/

[4] Synapse: http://synapse.ararat.cz/doku.php/download

[5] serbod.com/doku.php?id=talaria: http://serbod.com/doku.php?id=talaria

[6] Источник: http://habrahabr.ru/post/238575/