Pull to refresh

Java'o'Fido: продолжение

Java *

Больше года прошло с того момента, как я начал писать проект jNode, и вот пришла пора первого релиза. Это вовсе не значит, что все это время проект был неиспользуемым, вовсе нет — только в российском регионе как минимум 5 узлов используют jNode. Но все это время проект был в стадии unstable. Хочешь использовать — скачай исходники, собери их, настрой конфигурационный файл и заполни базу данных начальными значениями. И никак иначе.

Но теперь ( наконец-то! ) пришла пора восстановить справедливость и дать возможность всем желающим поднять свой узел в Фидо просто и без проблем с минимальным приложением усилий. Кстати, я знаю, что Фидо мертво, все полимеры давно закончились, а мы — кучка старых ( и молодых ) маразматиков.

Техпроцесс


Фидонет мне интересен тем, что в нем отсутствует очень много простых и привычных вещей, которые присутствуют в интернете. Это как оказаться в джунглях с ножом и одной спичкой. Хочешь постить из RSS — напиши софт! Хочешь сделать чтение почты через веб — напиши софт! Хочешь $feature — напиши софт! Ну или уговори кого-то другого его написать.

Собственно, именно по этой причине jNode, которая изначально возникла «от нечего делать», стала полноценной платформой для разработки FTN-системы любой сложности. Даже базовая («core») часть системы уже покрывает 100% потребностей обычного узла — умеет принимать, отправлять и хранить почту, поддерживает роботов, скрипты, запуск по таймеру и другие полезные вещи.

А для того, чтоб сделать все совсем удобным, был введен механизм модулей, позволяющий реализовать любую фичу, используя предоставляемые ядром API. Так, для удобства использования мой тиммейт General_Manjago сделал модуль управления через XMLRPC, а я для себя написал Jabber-бота. Разумеется, по мере развития модулей, развивалось и API — нужные и полезные фичи из модулей попадали в ядро. Так, недавно внезапно и полностью была переписана одна из основных частей программы — реализация протокола Binkp. Наконец-то разобрался с java.nio.*

При этом всем в jNode нет ни капли «энтерпрайзенького». Она спокойно запускается на роутере с линуксом на борту, а мои 30+ линков и 44 потока в пуле используют всего 12 мегабайт оперативной памяти. Чистая Java SE и никаких вам фабрик.

Возможности


  • Работа везде, где есть 15 мегабайт памяти и jre 1.7
  • Поддержка всех базовых функций FTN-системы: мейлер, тоссер, трекер
  • Поддержка модулей: как своих, так и сторонних
  • Встроенные скрипты на JavaScript, встроенный шедулер
  • Поддержка большинства реляционных СУБД, для которых есть jdbc-драйвера
  • WEB-UI для управления узлом
  • При удачно сложившихся звездах разворачивание полноценного узла занимает около 3-5 минут


Релиз


И вот те звезды, что из прошлого пункта, так удачно сложились, что сегодня мы выпустили первый stable релиз, доступный для скачивания. На самом деле для меня это первый публичный достаточно крупного opensource-проекта. Большинство таких проектов валялись в виде исходников по разным углам до тех пор, пока очередная смерть винчестера не отправляла их в рай для программ. Так что можете поздравить, спасибо.

В общем — вот: github.com/annmuor/jnode/releases/tag/1.0

В данный пакет встроена СУБД H2, поэтому ничего кроме jre 1.7 для запуска не понадобится.
Инструкция по установке есть в папке docs.
Типичный сценарий использования предполагает установку jNode на VDS/VPS/другой сервер и удаленный контроль при помощи технического пойнта и веб-интерфейса.

Кому нужно


Если когда-то давно у вас был узел в Fido — это может помочь вернуться в сеть без запиливания хитрых конфигов в DOS'е.
Если у вас есть пойнтовый aka — можно быстро установить узел и стать таки членом частью сети.
А если ничего этого нету — можно написать комментарий «Фидо мертво», или попробовать получить пойнта

UPD: Обновил основной релиз, выложил сборку под 1.6: github.com/annmuor/jnode/releases/tag/1.0-jre6
UPD#2: А еще пойнтов дают тут, на моем узле.
Tags:
Hubs:
Total votes 47: ↑44 and ↓3 +41
Views 16K
Comments Comments 53