From: Sergey Matveev Date: Sun, 15 Jan 2017 17:54:47 +0000 (+0300) Subject: Почти готов NNCP 0.2 релиз X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ce80edb9619d3de6cc7a9811a237b5eaf86f1870;p=stargrave-blog.git Почти готов NNCP 0.2 релиз Но пока с ним повременю чтобы сделать на свежую голову и ещё раз пройтись по доке. Основное отличие: поле размера пакета теперь шифруется и в пакет можно добавлять всякий мусор. Сторонний наблюдатель не узнает какой же действительно размер полезной нагрузки. Команды создания пакетов теперь принимают опцию минимального размера который надо сделать. К сожалению это привело к изменению формата пакета. Другое крупное изменение: демон и тот кто его вызывает (nncp-call) в фоне постоянно проверяют директорию на появление новых файлов и сразу же об этом сообщают противоположной стороне. А также ещё добавлены опции регулирующие когда же ему отключаться. Всё это вместе приводит к тому, что можно TCP сессию держать хоть часами и моментально (хорошо, с запозданием на секунду) узнавать о появлении новых пакетов (соответственно, и скачивать их). Экономия на дорогих рукопожатиях (процессор, задержки, кол-во пакетов, трафик). Ещё одно крупное изменение: добавление nncp-caller команды. Это демон, cron-демон который по заданным в конфиге правилам опрашивает удалённые ноды. Это буквально cron: можно задавать когда, с кем, с какими режимами и опциями делать соединения. Например по будням быстро обрабатывать высокоприоритетные пакеты, а по выходным разрешать ещё и низкоприоритетные. В определённое время разрешать только приём данных или только отправку. И наконец ещё: в дерево добавлен порт FreeBSD. Пока я его ещё не отправлял в upstream, хочу самостоятельно до конца протестировать, но в нём есть скрипты для запуска демонов (-daemon, -caller), конфигурация ротирования логов, создание spool директории, вывод сообщения о том что нужно сделать (сгенерировать конфиг) после установки. ---