FEDAnet 0.0.50: пора строить бекбонTue Mar 24 11:26:44 2026 UTC UPD (25.03.2026): выложена багфиксная версия 0.0.51 Опубликован очередной
тарбол исходников FEDAnet, с номером версии 0.0.50. Я научил, наконец, эти
В конфигурационном файле появилось три новых опции:
Технические подробности по ссылке выше, а также в файлах
К сожалению, конкретные соединения всё ещё приходится прописывать вручную, но теперь хотя бы новому участнику сети можно связаться с существующими нодами без ручного вмешательства их нодмастеров; ручной работы потребует только добавление новой ноды в списки. Чтобы сеть начала функционировать (в том числе расширяться) вообще без ручных действий, нужно реализовать рассылку широковещательных сообщений, через которую будут работать в том числе анонсы новых нод и изменения их местонахождения. Это как раз следующий этап; если/когда я с ними справлюсь, сеть достигнет функционирующего состояния (видимо, это будет релиз 0.1.00). Только тут есть такой момент, что, чтобы широковещательная рассылка работала, нужно то, на чём она будет работать — то, что обычно зовут бекбоном сети. Строительством этого бекбона можно уже начинать заниматься. Нам нужно, как я это себе представляю, 10-12 работающих нод, живущих на постоянных адресах. Сейчас ноды фактически только так и могут жить, но когда будет рассылка анонсов, нода сможет существовать за NAT'ом, причём если это однопользовательская нода, то даже restricted cone сойдёт. Но бекбон, через который можно будет попасть в сеть тем, кого там раньше не было, в любом случае требует нод, которые сидят на месте и не перемещаются то и дело. Вот его давайте уже попробуем построить. Спасибо всем, кто следит за проектом!
|
пояснениеВы находитесь на официальном сайте Андрея Викторовича Столярова, автора учебных пособий по программированию и информационным технологиям. Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда. Андрей Михайлович Столяров в библиотеке Мошкова |
☞ From feriman
Fri Mar 27 07:51:18 2026 UTC
Уточнение
Видимо, имелось в виду
feda-ngс ключом-t.ответить
Re: Уточнение
Исправил, спасибо.
ответить
Re: Re: Уточнение
Пожалуйста. Только не node-ng, а feda-ng.
ответить
Re: Re: Re: Уточнение
Argh...
Спасибо :-)
ответить
☞ From Отец Игорь
Fri Mar 27 07:17:55 2026 UTC
Не собирается на FreeBSD
Доброго дня, Андрей Викторович!
Решил я ноду поднять на своей ВПС-ке, которая у меня на FreeBSD оформлена. Взял крайний архив с исходниками fedanet 0.51, прочитал README, где очень оптимистично и лаконично указано что коли есть make и gcc - то всё будет отлично. Ну и ещё конечно указано что делать в случае если не linux у меня.
Короче: OS - FreeBSD 14.4 amd64 gcc - отсутствует, есть llvm/clang ( cc -v: FreeBSD clang version 19.1.7 ) make - MAKE_VERSION = 20251111
Итого, при подаче заветной команды make - выдаётся ошибка. Прошу помочь адаптировать под фрю, это в любом случае в плюс будет, ибо система эта Богоугодна и пользователи её здравы :)
В src/Makefile я заменил gcc на cc, вот в итоге вывод:
userx@s811010:~/fedanet-0.0.51 $ make cd src && make make[1]: /usr/home/userx/fedanet-0.0.51/src/Makefile:108: warning: Invalid character " " in variable name "wildcard *.c" make[1]: /usr/home/userx/fedanet-0.0.51/src/Makefile:114: Invalid line "ifneq (clean, $(MAKECMDGOALS))", expanded to "ifneq " in make[1] in directory "/usr/home/userx/fedanet-0.0.51/src" make[1]: /usr/home/userx/fedanet-0.0.51/src/Makefile:116: Invalid line "endif" in make[1] in directory "/usr/home/userx/fedanet-0.0.51/src" make[1]: Fatal errors encountered -- cannot continue make[1]: stopped making "all" in /usr/home/userx/fedanet-0.0.51/src *** Error code 1 Stop. make: stopped making "default" in /usr/home/userx/fedanet-0.0.51ответить
Re: Не собирается на FreeBSD
1) используйте gmake (GNU make). "Адаптировать" makefiles под posix make невозможно, их придётся полностью переписывать.
2) за написание слова "бог" с заглавной буквы один раз предупреждаю, потом в бан навсегда.
ответить
Re: Re: Не собирается на FreeBSD
Жоский вы всё таки тип, Андрей Викторович :)
Используя gmake прошло дальше, но тоже подохло. Судя по логу какая-то опция для дебага/диагностики, но я не шибко силён в этом, поэтому сам починить не знаю как.
ответить
Re: Re: Re: Не собирается на FreeBSD
> cc: error: unknown argument: '-fno-diagnostics-show-caret'
Ну да, это gcc specific. Задаётся в Makefile в переменной CC. А поскольку вы не на линуксе, надо ещё вырубить linux specific call, а то feda-ng не соберётся (хотя она вам на VPS'ке и не нужна на самом деле, не использовать же VPS для майнинга ключей; но проще заставить её тоже собраться, чем бороться ещё и с этой ошибкой). Вот только я, по ходу, упустил в текущей версии параметр CONF, и хоть бы кто из BSDшников мне на это указал, гм. Так что придётся прямо в CFLAGS добавлять. Итого:
gmake CC=clang CFLAGS="-O0 -Wall -g -I../lib -DFEDA_NG_SCHED=0"> Жоский вы всё таки тип
На том стоим.
ответить
Re: Re: Re: Re: Не собирается на FreeBSD
Благодарю за тех.поддержку!
Прошло существенно дальше, но споткнулось снова:
clang -O0 -Wall -g -I../lib -DFEDA_NG_SCHED=0 -c feda-ct.c -o feda-ct.o clang feda-ct.o keyutils.o xyespwr.o twmalloc.o ../lib/yespower/libyespower.a -o feda-ct clang -O0 -Wall -g -I../lib -DFEDA_NG_SCHED=0 -c natcheck.c -o natcheck.o clang -O0 -Wall -g -I../lib -DFEDA_NG_SCHED=0 -c comcrypt.c -o comcrypt.o clang -O0 -Wall -g -I../lib -DFEDA_NG_SCHED=0 -c addrport.c -o addrport.o clang -O0 -Wall -g -I../lib -DFEDA_NG_SCHED=0 -c nmobfusc.c -o nmobfusc.o clang natcheck.o message.o comcrypt.o keyutils.o addrport.o nmobfusc.o twmalloc.o ../lib/monocypher/libmonocypher.a -o natcheck clang -O0 -Wall -g -I../lib -DFEDA_NG_SCHED=0 -c feda-if.c -o feda-if.o feda-if.c:10:10: fatal error: 'linux/if.h' file not found 10 | #include | ^~~~~~~~~~~~ 1 error generated. gmake[1]: *** [Makefile:49: feda-if.o] Error 1 gmake[1]: Leaving directory '/usr/home/userx/fedanet-0.0.51/src' gmake: *** [Makefile:3: default] Error 2 userx@s811010:~/fedanet-0.0.51 $ответить
Re: Не собирается на FreeBSD
Ага, ну вот с этим я уже не знаю что делать. Что характерно, кто-то ведь fedaserv гоняет на BSD, и вроде пинги к ним ходили нормально, но как
feda-ifсделать переносимой, никто мне не сказал.Теоретически можно её просто убрать из Makefile и всё, что связано с созданием tun-интерфейса, делать вручную. Или даже не делать — если, например, на VPSке гонять только ноду (и возможно прокси), а IPv6-е адреса иметь только на пойнтах. Если пойнты будут линуксовые, то Ok. А если там тоже BSD, то от проблемы мы никуда не денемся.
В общем, подождём, пока нам BSDшники что-нибудь умного скажут.
UPD: Впрочем, fedaserv тоже не соберётся, там тоже хидеры из <linux/*> включаются. И ведь вот точно совершенно знаю, что fedaserv как-то под BSD собирали. Ну нету у меня BSD :-( Не на чем попробовать, а в таких условиях что-то в исходниках менять занятие неблагодарное.
ответить
Re: Re: Не собирается на FreeBSD
Андрей Викторович, дать вам доступ на ВПС - не вариант? Чтобы у вас зверёк под рукой для теста был.
ответить
Re: Не собирается на FreeBSD
Вполне себе вариант. Сможете со мной связаться через форму? Я отвечу email'ом. Ну, типа, не здесь же credentials кидать.
ответить
☞ From makaki4
Wed Mar 25 15:01:29 2026 UTC
fedakeys -c mypoint lock ./somefile
Когда в планах, чтобы заработало? Как я понимаю, трафик пока что ходит в незашифрованном виде. Хочу, чтоб было иначе, и будет, но не знаю, это сильно далёко еще?
ответить
Re: fedakeys -c mypoint lock ./somefile
> Когда в планах, чтобы заработало?
Честно говоря, я про эти недоделки слегка забыл. Фиг знает, а что, правда надо? :-) Всякие pgp/gpg умеют это всё.
> Как я понимаю, трафик пока что ходит в незашифрованном виде.
Где, в FEDAnet? Ну, он там вообще не так чтоб сильно ходит, но когда ходит — то очень даже в зашифрованном. Прям, я бы сказал, зашифрованнее некуда. Ну то есть если у вас пинги проходят между двумя разными машинами по FEDAnet'овским адресам, то образовавшийся канал связи, возможно, не сильно эффективен по оверхеду и может сильно страдать, если где-то по дороге теряется даже совсем немножко пакетов, но что там всё зашифровано — это, как говорится, что есть — того не отнять.
Всего открытого трафика в FEDAnet — обмен временными (живущими до перезапуска fedaserv'а) публичными ключами. Как обменялись ими — всё, дальше уже ничего открытого. Ну, кроме nonce'ов, но эти в силу своей природы открытые, тут никуда не денешься особо.
ответить