The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз NNCP 8.8.0, утилит для передачи файлов/команд в режиме store-and-forward

12.09.2022 16:53

Состоялся релиз Node-to-Node CoPy (NNCP), набора утилит для безопасной передачи файлов, электронной почты и команд для исполнения в режиме store-and-forward. Поддерживается работа на POSIX-совместимых операционных системах. Утилиты написаны на языке Go и распространяются под лицензией GPLv3.

Утилиты ориентированы на помощь в построении небольших одноранговых friend-to-friend сетей (дюжины узлов) со статической маршрутизацией для безопасной передачи файлов в режиме fire-and-forget, запросов на файлы, электронной почты и запросов на выполнение команд. Все передаваемые пакеты зашифрованы (end-to-end) и явно аутентифицируются по известным публичным ключам знакомых. Луковое (как в Tor) шифрование применяется для всех промежуточных пакетов. Каждый узел может выступать как в роли клиента, так и сервера и использовать и push и poll модель поведения.

Отличием NNCP от решений UUCP и FTN (FidoNet Technology Network), кроме вышеупомянутого шифрования и аутентификации, является поддержка из коробки сетей флоппинет и компьютеров, физически изолированных (air-gapped) от небезопасных локальных и публичных сетей. Особенностью NNCP также является лёгкая интеграция (наравне с UUCP) с текущими почтовыми серверами, такими как Postfix и Exim.

Из возможных областей применения NNCP отмечается организация отправки/приёма почты на устройства без постоянного подключения к интернету, передачи файлов в условиях нестабильного сетевого соединения, безопасной передачи очень больших объёмов данных на физических носителях, создание защищённых от MitM-атак изолированных сетей передачи данных, обхода сетево слежки. Так как ключ для дешифровки находится только у получателя, независимо от путей доставки пакета по сети или через физические носители, третье лицо не может прочитать содержимое, даже перехватив отправление. В свою очередь аутентификация по цифровой подписи не позволяет сформировать фиктивное отправление под видом другого отправителя.

Среди новшеств NNCP 8.8.0, по сравнению с предыдущей новостью (версия 5.0.0):

  • Вместо хэша BLAKE2b для проверки целостности файлов задействован, так называемый, MTH: Merkle Tree-based Hashing, использующий хэш BLAKE3. Это позволяет вычислять целостность зашифрованной части пакета прямо во время докачивания, не требуя её чтения в дальнейшем. Также это даёт возможность неограниченного распараллеливания проверки целостности.
  • Новый формат зашифрованных пакетов полностью дружелюбен к потоковой передаче, когда заранее неизвестен размер данных. Сигнализация о завершении передачи, с аутентифицированным размером, идёт прямо внутри зашифрованного потока. Прежде, чтобы узнать размер передаваемых данных, требовалось их сохранение во временный файл. Так у команды "nncp-exec" исчезла опция "-use-tmp" за полной ненадобностью.
  • Функции BLAKE2b KDF и XOF заменены на BLAKE3 для сокращения количества используемых криптографических примитивов и упрощения кода.
  • Появилась возможность обнаружения других нод в локальной сети через мультивещательную рассылку по адресу "ff02::4e4e:4350".
  • Появились мультивещательные группы (аналог эхоконференций FidoNet или новостных групп Usenet), позволяющие одним пакетом отправить данные множеству участников группы, где каждый также ретранслирует пакет остальным подписантам. Чтение мультивещательного пакета требует знания ключевой пары (нужно явно быть участником группы), но ретрансляция может производится любой нодой.
  • Появилась поддержка явного подтверждения получения пакета. Отправитель может не удалять пакет после отправки, дожидаясь получения особого ACK-пакета от получателя.
  • Встроена поддержка overlay-сети Yggdrasil: online демоны могут выступать полноценными самостоятельными участниками сети, без использования сторонних реализаций Yggdrasil и полноценной работы с IP стэком на виртуальном сетевом интерфейсе.
  • Вместо структурированных строк (RFC 3339), журнал использует recfile-записи, с которыми можно использовать утилиты GNU Recutils.
  • Опционально заголовки зашифрованных пакетов могут хранится в отдельных файлах поддиректории "hdr/", существенно ускоряя операции получения списка пакетов на файловых системах с большим размером блока, таких как ZFS. Ранее получение заголовка пакета требовало по умолчанию чтения с диска всего 128KiB блока.
  • Проверка наличия новых файлов может опционально использовать подсистемы ядра kqueue и inotify, делая меньше системных вызовов.
  • Утилиты держат меньше открытых файлов, реже происходит их закрытие и переоткрытие. При большом количестве пакетов ранее можно было упереться в ограничение на максимальное количество открытых файлов.
  • Многие команды стали показывать прогресс и скорость выполнения операций, таких как скачивание/выгрузка, копирование и обработка (toss) пакетов.
  • Команда "nncp-file" может отправлять не только единичные файлы, но и директории, на лету создавая pax-архив с их содержимым.
  • Online утилиты, могут опционально сразу же вызывать процесс обработки пакетов (tossing) после успешного скачивания пакета, без запуска отдельного демона "nncp-toss".
  • Online вызов другого участника может опционально происходить не только по событию срабатывания таймера, но и по факту появления исходящего пакета в spool-директории.
  • Обеспечена работоспособность под NetBSD и OpenBSD ОС, помимо ранее поддерживаемых FreeBSD и GNU/Linux.
  • "nncp-daemon" полностью совместим с интерфейсом UCSPI-TCP. Вкупе с возможностью журналирования в указанный файловый дескриптор (например выставляя "NNCPLOG=FD:4"), он полностью дружелюбен для запуска под похожими на daemontools утилитами.
  • Сборка проекта полностью переведена на систему redo.


  1. Главная ссылка к новости (http://lists.cypherpunks.ru/ar...)
  2. OpenNews: Релиз NNCP 5.0.0, утилит для передачи файлов/почты в режиме store-and-forward
  3. OpenNews: Первый релиз утилит NNCP для передачи файлов/почты в режиме store-and-forward
  4. OpenNews: Проект по разработке ПО нового поколения для Fidonet
  5. OpenNews: Обновление комплекта программ для работы в сети ФИДО - fidoip 1.0.5_3
  6. OpenNews: Вышла новая версия дистрибутива FIDOSlax Linux 3.1
Автор новости: stargrave
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/57771-nncp
Ключевые слова: nncp
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (34) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Жироватт (ok), 17:17, 12/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Эх, левонеты-левонеты. Сколько же воспоминаний...
    Другой вопрос - насколько оно приживётся сегодня и какую нишу займет. Ну, за вычетом упоротых, в шапочках из фольги и облучаемых невидимыми пси-лучами от собаки соседа.
     
     
  • 2.7, Аноним (7), 18:38, 12/09/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Самое интересное что шапочки из фольги действительно работают.
     
     
  • 3.8, Аноним (8), 19:01, 12/09/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Конечно работают, уважаемый продавец шапочек.
     
  • 3.21, bircoph (ok), 02:39, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да, работают, только в качестве приёмников и усилителей. Для экранирования нужно полное покрытие, чтоб клетка Фарадея получилась.
     

  • 1.2, pfg21 (ok), 17:20, 12/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    мда, последний раз флопинетом пользовался чтобы почту таскать на ноду :) и давно ж это было....

    я понимаю это для обслуживания компутеров, физически отключенных от сети ??

     
     
  • 2.22, Прохожий (??), 05:55, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На их сайте есть список возможных сценариев использования. Неужто так тяжело зайти и почитать?

    >это для обслуживания компутеров, физически отключенных от сети ??

    И для этого в том числе.

     
     
  • 3.41, pfg21 (ok), 10:01, 14/12/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > На их сайте есть список возможных сценариев использования. Неужто так тяжело зайти
    > и почитать?

    зачем мне что-то читать, если я флопинетом самолично пользовался :)    
    и даже скрипт писал, чтобы чтобы на флешке обновления системы притаскивать  


     

  • 1.4, Аноним (4), 18:06, 12/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Утилиты написаны на языке Go

    сколько человеко-часов сэкономил бы тс, если бы указал это в самом начале

     
     
  • 2.6, Аноним (6), 18:33, 12/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Многие программы на Gо прекрасно собираются с помощью gccgо. Надеюсь, эти утилиты не исключение.
     
     
  • 3.14, Аноним (14), 23:02, 12/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ох ептыть, наши вашим башем машут. Как погода на Чукотском полуострове? Нахера пользоваться гнутым поделием, если есть родной кошерный компилятор?
     
     
  • 4.20, Аноним (20), 01:23, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Родной "кошерный" компилятор для Go называется rustc.
     
  • 4.30, Аноним (30), 16:08, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сам лично собирай чем хочешь. А мне не говори, что мне делать и я не скажу, куда тебе идти.
     
  • 2.9, Аноним (9), 19:01, 12/09/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    После софта на Electron'е уже ничего не страшно.
     
     
  • 3.15, Аноним (14), 23:03, 12/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Электрон, кстати, кошер, если почитать как работает технология, а не включать синдром утёнка.
     
     
  • 4.27, 1 (??), 10:30, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "кому и кобыла невеста"
     
  • 2.24, Хухрымухры (ok), 07:06, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что с Go не так?
     
     
  • 3.25, JackONeill (?), 08:04, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Плюсиков в названии нет. Некоторым местным ыкспертам это поджигает стул
     
  • 3.32, OpenEcho (?), 18:40, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо просто реакция на дословный перевод: Go => "Пшел ты..."
    ну и лень попробывать что то новое
     

  • 1.11, Аноним (11), 21:00, 12/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Насколько помню, когда пытался пользоваться последний раз, программа ну совсем не FTN на каналах с низкой пропускной способностью. Нет ограничения скорости отдачи. При передаче больших файлов засираются все кеши по пути и TCP по таймауту разрывается. И UDP, я так понял, не прикрутили.
    В общем ни разу не конкурент UUCP
     
     
  • 2.16, Аноним (14), 23:05, 12/09/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    UDP для передачи файлов? Прикольно, хорошая трава там у вас, забористая.
     
     
  • 3.18, Аноним (11), 00:01, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В этом и суть, что для организации FTN, для случаев с узкой шириной канала, TCP ничего не дает.
    Реализовывать надежную доставку по TCP через тюнинг tcp_congestion_control и/или шейпинг исходящего трафика, так себе затея (сабж вроде позиционируется как простое решение). Не говоря уже о том, что не везде на серверах есть права на такой тюнинг (особенно если сервер shared).

    Если разбивать передачу на чанки (и регулировать отдачу, чтобы кеши не забились), а потом собирать, то зачем тогда TCP?

    Для FTN все равно необходимо иметь свою реализацию гарантии доставки сообщений (что и сделано в UUCP и не сделано в NNCP)

    Предпочтение TCP можно отдать только по одной причине - иногда файрволлы блокируют UDP

     
     
  • 4.34, Аноним (34), 18:18, 14/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Если разбивать передачу на чанки (и регулировать отдачу, чтобы кеши не забились), а потом собирать, то зачем тогда TCP

    Чтобы не делать это всё вручную, очевидно.

     
     
  • 5.35, Аноним (35), 21:11, 14/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В таких случаях, кажется, говорят - деревянный
     
  • 4.36, Аноним (34), 05:21, 15/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Не говоря уже о том, что не везде на серверах есть права на такой тюнинг (особенно если сервер shared).

    Слышал про системные требования когда-нибудь? Ну вот считай, что возможность тюнить TCP при сложных случаях — одно из них. Про шаред, правда, хотелось бы услышать подробнее. Я знаю, что виртуалку с достаточными для работы NNCP-нодой характеристиками можно купить за 2,5…3$/месяц, а то и дешевле, если платить сразу за год. Боюсь представить себе, сколько стоит шаред. 1$? 50¢? В любом случае, на шаредах обычно ограничивают возможности запуска демонов и не лают слушать порты, поэтому он вряд ли подойдёт для такой задачи в любом случае. Так что полёт твоей фантазии я оценил, но софт написан с прицелом на реальность, а не на выдуманные кейсы анонимуса.

     
     
  • 5.38, Аноним (38), 17:35, 15/09/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>> а не на выдуманные кейсы анонимуса

    ну только если не читать новость, ведь в ней сказано
    "Из возможных областей применения NNCP отмечается организация ... передачи файлов в условиях нестабильного сетевого соединения"
    также желательно вообще понимать что представляет из себя программа по заявлениям разработчиков:
    Так по ссылке: http://www.nncpgo.org/Ob-utilitakh.html:
    "Эти утилиты предназначены помочь с построением однораговых _устойчивых_к_разрывам_ сетей небольшого размера ..."
    Знаем же что такое DTN? (https://ru.wikipedia.org/wiki/DTN)
    И на том же http://www.nncpgo.org/Ob-utilitakh.html.
    "Зачем создавать ещё одно решение с принципом сохранить-и-переслать когда уже существуют UUCP, FTN и даже SMTP? Посмотрите сравнение! _ПРОСТОТА_, криптографическая безопасность, совместимость с флоппинетом и лёгкая интеграция с существующими SMTP серверами – вот и причины."

    Очень рад буду узнать где указаны системные требования. Вот продающие фразы "... _ПРОСТОТА_, криптографическая безопасность, совместимость с флоппинетом ..." вижу, а системных требований не вижу.
    >>> Боюсь представить себе, сколько стоит шаред. 1$? 50¢?

    Нет привычки платить за кота в мешке, только после внедрения. RedHat OpenShift - бесплатно на этапе разработки решения.
    >>> но софт написан с прицелом на реальность,

    В котором нет клиентов, подключающихся по GPRS (знаете ведь о китайских модулях где есть только 2G)?

    >>> Ну вот считай, что возможность тюнить TCP при сложных случаях — одно из них

    Если бы вы внимательно читали то, на что отвечали, то поняли бы, что "тюнить TCP при сложных случаях" не означает гарантированно решить проблемму. Возможности выбираемых алгоритмов ограничены

    По факту у утилиты присутствуют сетевые требования: устойчивая скорость соединения не менее 300кб/с

     

  • 1.19, Аноним (19), 01:20, 13/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    stargrave, а почему не на GitHubе?
     
  • 1.23, Аноним (23), 06:50, 13/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    чем это лучше scp?
     
  • 1.26, 1 (??), 09:06, 13/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Неужели свершилось ? Это основа лампового гипертекстового фидонета !
     
  • 1.28, rvs2016 (ok), 14:36, 13/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Утилиты ориентированы на помощь в построении небольших
    > одноранговых friend-to-friend сетей

    ...
    > Все передаваемые пакеты зашифрованы

    Зачем друзьям шифровать свои сообщения?
    Чтобы придумать себе лишнюю работу по шифровке да дешифровке?
    Или это просто мода такая - шифровать всё подряд там, где надо, и даже там, где не надо?

     
     
  • 2.29, Аноним (8), 15:09, 13/09/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    MITM.
     

  • 1.31, OpenEcho (?), 18:15, 13/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    autocrypt в SMTP полезно почитать...
    Большинство в таблице сравнения относительно SMTP, можно смело переводить из НЕТ->Да
     
  • 1.33, Аноним (34), 18:16, 14/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пользуюсь для перекидывания бандлов с письмами между MX и лаптопом. Женится с постфиксом за 10 минут. Весьма удобно для моего случая с непостоянным подключением, публичными вайфаями и закрытыми портами.
     
     
  • 2.37, Аноним (37), 08:59, 15/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    scp уже deprecated?
     
     
  • 3.39, Аноним (34), 18:46, 16/09/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да. Вместо scp рекомендуется использовать sftp.
     

  • 1.40, Балалай (?), 10:19, 21/09/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто переводил текст на странице (http://www.nncpgo.org/Ob-utilitakh.html)? Что за "компьютеры с воздушным зазором"? Вы слово "автономный" забыли в словарике посмотреть? Гр-наци негодуэ.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру