From: Sergey Matveev Date: Sun, 16 Jan 2022 13:14:55 +0000 (+0300) Subject: NNCP в Yggdrasil сети X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=e9cb4aa824f5675c18230ece4f384a463cc70439;p=stargrave-blog.git NNCP в Yggdrasil сети http://www.nncpgo.org/Yggdrasil.html https://yggdrasil-network.github.io/ https://github.com/neilalexander/yggmail NNCP теперь может выступать в качестве клиента сети Yggdrasil! Не используя никакого стороннего софта, не настраивая сторонних демонов. Идея, как и зачатки кода, полностью взяты из yggmail. nncp-daemon может работать в качестве listener ноды принимающей соединения от других участников, осуществляющей всю маршрутизацию и вообще работу. nncp-call* могут подключаться к любой Yggdrasil ноде и связываться с NNCP адресами. Из Yggdrasil используется только возможность отправки/приёма пакетов: никаких сетевых интерфейсов или вообще знаний об адресах иметь не нужно. Публичный ключ хоста, магическим образом становится IPv6 адресом для пакетов μTP транспортного протокола, достигая целевой ноды без вопросов туннелирования и прочего. Что приятно тем, что никакой возни с TUN интерфейсами не нужно вообще, где есть проблемы с не самыми свежими версиями ОС (883b33f7085a9dfd04fca75b056d0e0b4c3fdf73). Почему μTP? Я взял из yggmail-а. Видимо, проще на Go нет ничего другого для реализации транспортного протокола поверх пакетного сокета. Реализации TCP на pure Go я не видел. $ nncp-cfgnew -yggdrasl Public: c7274667c6... Private: a87d6f98d... $ cat >> $NNCPCFG <