Guestbook

Here you can leave a comment for the site's owner regarding the site's content, appearance, functioning and, generally, write whatever you think on this. Please stay on topic (“on this” doesn't mean “on anything”) and respect the others.

Please note you can also contact the site's owner using the feedback page.

Please note that premoderation is in effect here.


anonymous

From Anon (unverified) Sat Apr 4 17:41:49 2026 UTC

pencil

Trying to set Proxy user as introducer

The issue is following. I want to set my machine at home to be introducer for my node running on VPS. I have following peers specified on Node:

peer home
type nodenets trustncc persist certhub introducer proxyuser
node_id aeaff9d413d984527a88
point 1
proxyport 22222

peer vetal
type persist
ip 107.174.224.199
port 65242
node_id f226cb6a4412d7faa2c1
point 254

I then start my Node on VPS, then start my peer at home. But until I managed to launch my peer at home, my node already tried to establish association with vetal peer and failed with `alas, we have nobody to ask`. Then adding this peer to state `gave_up` and not trying to establish association with it after my proxy user finally connects.

Is this configuration valid, or I cannot make my point behind NAT as introducer?

admin.jpg's userpic

From Andrey Stolyarov profile Sat Apr 4 19:36:07 2026 UTC in reply to this comment

pencil

Re: Trying to set Proxy user as introducer

First, one thing unrelated to your question.

> type nodenets trustncc persist certhub introducer proxyuser

This node entry should not have the certhub token. This token means the daemon will offer this peer to remotes who tries to contact you but you don't know their node creds. They won't be able to connect the peer because the peer is behind the NAT.

To fix this, add another peer entry, like this:

peer home_visible
type certhub
ip the IP address of your node goes here
port 22222

Now about your situation:

> my node already tried to establish association with vetal peer and failed with `alas, we have nobody to ask`. Then adding this peer to state `gave_up`

This is definitely a problem, and I'll think how to fix this. Meanwhile, what you can do now: add vetal as the peer for your home fedaserv instance. The instance (your peer number 1) will first establish its connection with the proxy, then will contact vetal, and will request and check its cert. Once you have it, it will reside in the file named ~/.fedanet/keys/f22/6cb/f226cb6a4412d7faa2c1/node; take this file and copy it to your node, with exactly the same local path (relative to the home dir of the daemon). And restart the node.

I realize this is not too convenient way to go, and I hope this recommendation won't remain in effect for long, but right now this allows to go on.

anonymous

From Anon (unverified) Sun Apr 5 10:30:12 2026 UTC in reply to this comment

pencil

Re: Re: Trying to set Proxy user as introducer

Is this really required to copy this key to Node? I suppose Node will just ask home peer (as trustncc) if it knows this vetal node, when someone from their node tries to assosiate with my Node.

admin.jpg's userpic

From Andrey Stolyarov profile Sun Apr 5 11:10:59 2026 UTC in reply to this comment

pencil

Re: Re: Re: Trying to set Proxy user as introducer

> when someone from their node tries to assosiate with my Node.

Sure this will happen, but only in case the remote node will eventually contact your node. So, in case not only you configure your node to connect the remote one, but the remote node's master (or an owner of any of its points) also configures the daemon to connect your node, then everything will be fine. This was a common case for long. However, this can't be such common once we establish a kind of backbone, and a lot of nodes not being a part of the backbone try to connect the backbone.

Well, actually I hope I fixed the problem in the version 0.0.59.

anonymous

From Koshelkov Pjotr (unverified) Wed Apr 1 23:40:39 2026 UTC

pencil

New persist node

Yeeah, it's almost 3 am, but I finished it. I created a new node for the backbone. I hope I configured everything correctly.

peer pjotr
type persist
ip 62.113.112.114
port 1834
node_id 1fc1e36e69c4baf6f70d
point 254

One thing is that I couldn't introduce myself to f226_ce which is inaccessible for me at all.

Do I need to send some more information about the node?

admin.jpg's userpic

From Andrey Stolyarov profile Thu Apr 2 09:59:59 2026 UTC in reply to this comment

pencil

Re: New persist node

Thank you, I listed your node at the backbone info page. Also I added it to my nodes' configs, c50809 established the association right off, but f22ff5 tried and failed. I guess your node doesn't use the known public certhubs as trustncc type peers so it can't get my node's creds, and you don't have any points capable of taking hashes so that your node can't let incoming strangers to introduce themselves.

anonymous

From Koshelkov Pjotr (unverified) Thu Apr 2 18:36:05 2026 UTC in reply to this comment

pencil

Re: Re: New persist node

I set an introducer on my home machine already yesterday. Today I added known certhubs to serv.conf, and it successfully introduced the node to f226_ce. What else do I need to check?

fedaserv on my node still writes failed decrypting association request from 172.245.129.210:65242, which is f22ff5 as I can see, each 10 seconds.

admin.jpg's userpic

From Andrey Stolyarov profile Thu Apr 2 19:04:09 2026 UTC in reply to this comment

pencil

Re: Re: Re: New persist node

> What else do I need to check?

Well, what I've just seen in the logs:

Apr 02 18:48:15 [16806] we can't introduce and no introducer peer is active
Apr 02 18:48:15 [16806] NOTE suggested to introduce to 45.13.38.102:52871
Apr 02 18:48:15 [16806] NOTE suggested to introduce to 89.207.254.147:5081
Apr 02 18:48:15 [16806] NOTE suggested to introduce to 107.174.224.199:61990

This means (well, should mean, if everything works as expected) that these three peers are set as certhubs on your node, right? The problem is that at least two of them (I'm not sure about the third) already know my node. This means you don't list any of them as trustnccs, so your node does not ask them if they know my node and wouldn't trust their information regarding my node.

Definitely you are not required to trust them, and anyone at all. If this is the case for you, perhaps you should run your own certhub (not necessarily a public one, but a machine that accepts node introductions), and list it as the trustncc peer. In this case, BTW, if your own certhub works through FEDAproxy provided by your node, then on your node there must be two distinct point records for it: one lists it as the proxy user and the trusted node collections (trustncc), perhaps using the node.point pair for identification, and the second peer record is solely to let your node notify incoming strangers they should introduce to this machine not to any other certhubs, this peer record must list the publicly visible addr:port pair (perhaps the port made by the proxy) and only specify the certhub peer type for it. Such a peer rec will be used solely as the address to suggest to strangers to introduce to.

anonymous

From Koshelkov Pjotr (unverified) Thu Apr 2 19:16:46 2026 UTC in reply to this comment

pencil

Re: Re: Re: Re: New persist node

All certhubs are marked as trustncc's because I simply copied the list from backbone info page.

But my node recieved an echo request from 172.245.129.210:65242, then something happened, and the assotiation with croconet2 was established. Is it a success?

admin.jpg's userpic

From Andrey Stolyarov profile Thu Apr 2 20:53:42 2026 UTC in reply to this comment

pencil

Re: New persist node

Well, yes, my node shows the association is established, so it is the success. Perhaps there's still a problem in the protocol implementation.

Just if you're courious, echo request/reply are the first stage of the handshake, they contain temporary key exchange public keys (and some other information as well). See the doc/protocol.txt file for details.

anonymous

From anon (unverified) Tue Mar 31 20:51:55 2026 UTC

pencil

Point Certificate Revocation

It is said in the proposal, that revocation happens when a new certificate is issued, but what happens with the old one? Does it get added to some kind of black list when point sees the new one? If not, it seems like a security problem to me.

admin.jpg's userpic

From Andrey Stolyarov profile Wed Apr 1 09:08:43 2026 UTC in reply to this comment

pencil

Re: Point Certificate Revocation

No there is no such black list. If you think you're able to distribute a black list, what prevents you from distributing the newer point cert? There is no central authority in the network, so there effectively can not be any kind of list of revoked certs.

anonymous

From anon (unverified) Wed Apr 1 17:41:04 2026 UTC in reply to this comment

pencil

Re: Re: Point Certificate Revocation

> to distribute a black list

Thats not what I meant. The point, upon seeing the new cert, can mark the old one (potentially compromised) as untrusted for itself only, otherwise, it would still be valid because it is still signed by the node/zeropoint key, no?

admin.jpg's userpic

From Andrey Stolyarov profile Wed Apr 1 22:48:58 2026 UTC in reply to this comment

pencil

Re: Re: Re: Point Certificate Revocation

> The point, upon seeing the new cert,

The point, upon seeing the new cert, replaces the file which stores the cert, with the new one. The old cert is saved in a file under a different name (well, actually the old file gets renamed, then the new one is written under the original name). Files storing old certs currently never get read, they are stored just in case (well, I prefer to see them for debugging purposes).

anonymous

From Igor (unverified) Fri Mar 27 05:04:01 2026 UTC

pencil

Not compiles on FreeBSD

Good day, Andrey Viktorovich! I'm try to start node of fedaserv on my FreeBSD VPS, and it fail on make stage with unknown errors. I'm not very familiar with make/gcc/llvm and hope maybe you help with that. There is an error:

/home/userx/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
:/home/userx/fedanet-0.0.51 # cc -v
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
Target: x86_64-unknown-freebsd14.4
Thread model: posix
InstalledDir: /usr/bin

:/home/userx/fedanet-0.0.51 # uname -a
FreeBSD 14.4-STABLE FreeBSD 14.4-STABLE stable/14-5f55c59cbab5 MY amd64
admin.jpg's userpic

From Andrey Stolyarov profile Fri Mar 27 09:33:09 2026 UTC in reply to this comment

pencil

Re: Not compiles on FreeBSD

This error is not related to the compiler's version nor to the host system. It is make who fails.

Makefiles are written for GNU make, it is named gmake in BSD-like systems. As far as I see, it is impossible to write makefiles so that they are suitable both for GNU make and POSIX make, which is the default make in BSDs. Actually, I don't have the knowledge to write POSIX-make makefiles even from scratch. It may be a good idea to write them, so that BSD users don't have to install gmake, but, well, right now this can't be a top priority.

anonymous

From curious patient digger (unverified) Sat Mar 7 13:18:22 2026 UTC

pencil

My current "FEDAnet Questions Short List" ...

I'm digging for a while now with a not so beefy system and already got a surprising amount of nicely rated keys.

Questions in maybe not so random order:

  • Is "playing tunnels" currently the only way servers work?
  • Have I misread it when I think these tunnels need a constant public IP address and domain name?
  • At home my address is constant typically for months, but it might change on every provider-plastic-router reboot. Those events typically come in clusters, and the long and stable phases between them are the rule. Will that be good enough for using FEDAnet in its final "mode"? I could be really patient then, but I'll probably never get a VPS again.
-- 
... and then I tried to compress the tables built so far ...
o;-)
admin.jpg's userpic

From Andrey Stolyarov profile Sat Mar 7 18:23:27 2026 UTC in reply to this comment

pencil

Re: My current "FEDAnet Questions Short List" ...

> Is "playing tunnels" currently the only way servers work?

I'm a bit confused with the question. What the current version of fedaserv can do is not limited by these tunnels, they can at least serve NAT checking requests (here plz). But, well, yes, right now no more useful things are implemented. Fedaserv instances are capable of serving as proxy servers to other instances, and they are capable of using service of this kind, but perhaps that's all.

> Have I misread it when I think these tunnels need a constant public IP address and domain name?

Domain names are not used by fedaserv in any way, so you don't need a domain name. As of the public IP address, well, yes, that's now the case and it will remain so until we have broadcast message exchange/distribution. Once the message distribution is implemented, nodes will be able to tell all the network where they are, so changing the IP address of a single node will no longer be a problem.

Also please note a single VPS or other machine with a permanent IP address can serve as many nodes as you wish, even with a single instance of fedaserv, thanks to that fedaproxy functionality, which is already there. There's also no problem to run several fedaservs on a single machine, they only need to have different UDP ports. User access to such a machine is sufficient to run a node there, that is, root access is not necessary.

> At home my address is constant typically for months, but it might change on every provider-plastic-router reboot. Those events typically come in clusters, and the long and stable phases between them are the rule. Will that be good enough for using FEDAnet in its final "mode"?

Absolutely. This doesn't work right now only because we don't (yet) have the message distribiution facility. Definitely it will be implemented one day.

When? Well, I don't know. Right now I'm working on the node cert exchange automation, so that new node masters will be able to join the network without human intervention of the people already there. This, in turn, will let us build up a kind of network backbone, which will later pass those messages. Once I'm done with the node cert exhange, I'm going to focus on the message passing.

> I'll probably never get a VPS again.

May be you can get a non-privileged (user) access to someone else's VPS? It is sufficient for FEDAnet even in its present state.

> and then I tried to compress the tables built so far ...

Well, they won't compress. The table file consists of 64-byte records, and each record has 32 bytes of the challenge (it is actually a public key of a random secret key which you're not going to use) and 32 bytes of the response (it is the yespower hash of the challenge). Data of this kind looks random, so no compression is possible.

anonymous

From SmallBrain (unverified) Mon Jan 26 10:54:35 2026 UTC

pencil

Q About node launching.

While FEDAProxy is not ready, what can I use to run a node on my home local network accessible via IP VPS? OpenVPN and WireGuard do not work. ssh -R does not allow udp. I do not want to run the node directly on a remote VPS. I don't know.

admin.jpg's userpic

From Andrey Stolyarov profile Mon Jan 26 12:04:01 2026 UTC in reply to this comment

pencil

Re: Q About node launching.

If usual VPN software doesn't work for you, perhaps it means your VPS doesn't support tun/tap interfaces, which is typical for older VPSes. Unfortunately, I never saw a tool to forward UDP ports, like ssh does for TCP, despite such software solution is obviously possible.

However, there's (right now) no real reason not to run a node (that is, fedaserv instance with point number 254 a.k.a. 0xfe) on a VPS. Just keep your node master key private (preferably on cold media such as USB flash sticks), and keep the ZeroPoint key on your home machine. The keys for the point254 may be regenerated at any moment, as well as the ZeroPoint key (regeneration of the ZeroPoint invalidates all other points signed with the ZP's key, so this may take a lot of work; regeneration of the point254 requires nothing, and may be done with the ZeroPoint key, not involving the master keys).

On later stages of the project, there will be some (weak!) reasons to run the node instance at home instead of the VPS, but definitely not now.

anonymous

From Parthen (unverified) Mon Dec 15 21:36:10 2025 UTC

pencil

Possible corruption of last release

parthen@earth-1:/tmp$ tar -xvjf fedanet-0.0.31.tbz2 
bzip2: Compressed file ends unexpectedly;
	perhaps it is corrupted?  *Possible* reason follows.
bzip2: Inappropriate ioctl for device
	Input file = (stdin), output file = (stdout)
It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.
You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.
tar: Child returned status 2
tar: Error is not recoverable: exiting now

Release 0.0.30 extracts normally. I tried to re-download file a couple of times in case of network issues, but the problem persists.

admin.jpg's userpic

From Andrey Stolyarov profile Tue Dec 16 16:14:07 2025 UTC in reply to this comment

pencil

Re: Possible corruption of last release

Right on the server machine, with the archive file physically used by the Apache server to respond to the respective requests:

w_croco@milda:~/tmp$ tar -xjf /var/www/w_croco/public_html/feda/download/fedanet-0.0.31.tbz2 
w_croco@milda:~/tmp$ 
w_croco@milda:~/tmp$ tar -tjf /var/www/w_croco/public_html/feda/download/fedanet-0.0.31.tbz2 | head -5
fedanet-0.0.31/
fedanet-0.0.31/LICENSE
fedanet-0.0.31/README
fedanet-0.0.31/protocol.txt
fedanet-0.0.31/src/
w_croco@milda:~/tmp$ tar -tjf /var/www/w_croco/public_html/feda/download/fedanet-0.0.31.tbz2 | tail -5
fedanet-0.0.31/lib/sue/demo/b_sitter.c
fedanet-0.0.31/lib/sue/demo/Makefile
fedanet-0.0.31/lib/Makefile
fedanet-0.0.31/NODE_GEN
fedanet-0.0.31/NAT_TYPES
w_croco@milda:~/tmp$ ls -l /var/www/w_croco/public_html/feda/download/fedanet-0.0.31.tbz2 | tail -5
-rw-r--r-- 1 w_croco webadm 160775 Nov 23 14:25 /var/www/w_croco/public_html/feda/download/fedanet-0.0.31.tbz2
w_croco@milda:~/tmp$ md5sum < /var/www/w_croco/public_html/feda/download/fedanet-0.0.31.tbz2 | tail -5
807cec430b719f5b1dd34f7832fb34ef  -
w_croco@milda:~/tmp$ 

Please check both the size and the hash of the copy you have, it is perhaps broken.

anonymous

From anonymous (unverified) Fri Nov 14 20:21:56 2025 UTC

pencil

Side effect inside sue library used by FEDAnet project

As far as I know, you're against side effects in conditional expressions, but I found them in your code. See lib/sue/sue_sigs.c, line 51.

void sue_signals_remove(int signo)
{
    if(signo < 1 || signo > _NSIG)
        return;
    if(--sighdl_count[signo-1] == 0) {
        /* remove the handler, restore the saved disposition */
        sigaction(signo, saved_sigactions + (signo-1), NULL);
    }
}
admin.jpg's userpic

From Andrey Stolyarov profile Sat Nov 15 12:02:07 2025 UTC in reply to this comment

pencil

Re: Side effect inside sue library used by FEDAnet project

Yeah, I'll fix it, thanks. The code of the plain C version of SUE is now pretty old, it was initilally written for a completely different project which never continued. So this piece appeared earlier than I finally realized how the C-like languages poison one's brain.

anonymous

From Anonymous (unverified) Sat Sep 20 11:16:32 2025 UTC

pencil

gpg signing

Is there a plan to sign source code releases with gpg?

admin.jpg's userpic

From Andrey Stolyarov profile Sat Sep 20 14:14:38 2025 UTC in reply to this comment

pencil

Re: gpg signing

No.

anonymous

From anon (unverified) Tue Sep 9 07:32:08 2025 UTC

pencil

docs

maybe create a separate docs/ directory for those consumable files?

admin.jpg's userpic

From Andrey Stolyarov profile Tue Sep 9 14:40:08 2025 UTC in reply to this comment

pencil

Re: docs

Errrr... consumable files?! 8-()

I'll think about the directory though, earlier or later it has to appear.

anonymous

From Anonymous (unverified) Fri Jun 27 23:57:07 2025 UTC

pencil

Typo

In feda.croco.net/proposal.html:

> witout your notice

admin.jpg's userpic

From Andrey Stolyarov profile Sat Jun 28 10:26:39 2025 UTC in reply to this comment

pencil

Re: Typo

Thanks, fixed

anonymous

From andry0980 (unverified) Mon Jun 16 03:24:30 2025 UTC

pencil

Other outdated text

Other outdated text since 0.0.03 on the proposal page:

... A program to test the type of your connectivity is expected to be published soon.

anonymous

From andry0980 (unverified) Sat Jun 14 22:31:10 2025 UTC

pencil

Outdated text

Maybe it's time to change this text on the main page:

> A program that checks your connectivity conditions (the NAT type) is coming soon, watch the news.

?

admin.jpg's userpic

From Andrey Stolyarov profile Sun Jun 15 09:31:01 2025 UTC in reply to this comment

pencil

Re: Outdated text

Thanks :-)

anonymous

From Anonymous (unverified) Sun Feb 2 12:55:23 2025 UTC

pencil

Couple Questions

1) Why is there no proper directory structure of the source files?

2) Why didn't you license this project with your Croco's Individualistic Free Software License?

admin.jpg's userpic

From Andrey Stolyarov profile Sun Feb 2 17:33:11 2025 UTC in reply to this comment

pencil

Re: Couple Questions

1) The archive published on this site is not, strictly speaking, the source, it is rather a subset of source files selected so that building the feda-ng and feda-ct binaries is possible. The Makefile is generated, and to simplify the things a bit, I decided to put everything in a single directory. Definitely once the real sources get published, there will be at least a separate directory for the libraries.

2) In the present state of the project, I don't want all this mess to be distributed anyhow. I plan to apply the license (yes, this one) to the first "real" release.

anonymous

From Anonymous (unverified) Thu Nov 21 12:35:09 2024 UTC

pencil

Typo in http://feda.croco.net/master_key_gen.html

>but chances are it will work on other unices as well.

It's supposed to be "unixes", I guess.

admin.jpg's userpic

From Andrey Stolyarov profile Thu Nov 21 14:36:02 2024 UTC in reply to this comment

pencil

Re: Typo in http://feda.croco.net/master_key_gen.html

No, it isn't.

no userpic

From Parthen profile Wed Nov 20 13:52:21 2024 UTC

pencil

Typo

In README of feda-ng:

>Just run te feda-ng program with an additional parameter -t, like

It's supposed to be "the feda-ng", I guess.

admin.jpg's userpic

From Andrey Stolyarov profile Wed Nov 20 16:00:29 2024 UTC in reply to this comment

pencil

Re: Typo

Thanks! I'll fix it in the next release.


pencil