Wed Mar 4 02:45:35 2026 UTC
Dear visitors,
I'm not very familiar with Windows/* platform, so I have insufficient
background to understand how to support FEDAnet on Windows. Well, there's
a deliberate decision to make it impossible or at least hard to run the
node implementation (well, let's call it a full version of
fedaserv) on Win machines; however, I feel we actually need
some level of support for running point software on them, just to allow node
masters popularize the network among those Windows users who won't switch
from Windows even for a ton of gold.
The problem is that Windows don't natively support the tun/tap userspace
VPN implementation framework, on which FEDAnet depends heavily. As
planned, the FEDAnet itself shall provide connectivity between IPv6 subnets
corresponding to nodes and points, while all the application software will
use this connecivity in a more or less usual manner, that is, connecting to
each other using TCP (and perhaps sometimes UDP as well). For all this to
work, there must be a clear way to pass a packet to FEDAnet for delivery,
and to inject a packet back to the local TCP/IPv6 stack implementation once
the packet is delivered from a remote node. Both in Linux and BSDs,
FEDAnet is going to use virtual interfaces of the tun type
(usually named feda0) for this purpose.
Initially I planned to support a kind of special functioning mode, in which the "client" daemon opens some ports locally on its own and forwards traffic between them and the node (which runs somewhere else, presumably on a server or the like). Well, perhaps this is not too hard to achieve for UDP. For TCP, however, I suddently realized I'd have to implement a good working replacement for the TCP itself, which, roughly speaking, is all about providing a virtual stream connection atop of unreliable packets: for TCP, those are IP packets, and for FEDAnet, they would be UDP dgrams, but the problem is essentially the same: all those transfer windows, MTU path discoveries, confirmation packets and all the mess. Having tun/tap interfaces on decent operating systems, we can leave all the trouble to the existing TCP/IP stack, which is already there in the kernel, ready to serve us. On Windows there's no tun/tap interface, so we can't: the implementation is there, but there's no way to access it.
What solutions I see here. First, there perhaps will be something for Android, actually there must be no big problem to create it, as Android is a (bad kind of) Linux, and it supports the tun/tap interface. Perhaps we can make an Android device serve as a "router", which the client application(s) running on a Windows PCs (and perhaps organized as large multi-purpose executables) will use to connect to servers in FEDAnet. An appropriate IPv6 address and route will have to be configured on such a PC, but this is solvable (well, even by that bundle application itself).
Another direction I see is that WSL thing. I'm not sure if it really
supports tun/tap, but chances are it does. To use it, we'll perhaps need
to prepare 'special' minimalistic Linux distro which only solves the task
of running fedaserv in a simplified (client) mode (which, BTW,
isn't implemented as of now). Well, any steps in this direction should
only be taken once someone confirms (experimentally) that
fedaserv can run on WSL and provide IPv6 connectivity for the
whole machine (that is, for applications running on the host Win/* system
natively). Unfortunately, this approach has a fundamental flaw: WSL is
a relatively new thing, and the versions of Windows that support it won't
run on older machines.
May be I overlook something here. Any opinions/suggestions?
P.S. Folks, one more thing: no matter what we discuss around Windows, there must be no steps towards any devices produced by Apple, be it an iPhone, or a MacBook, or whatever. Ideally, no FEDAnet software should ever run on those. I realize this is perhaps not achievable to the full extent, and eventually someone will come up with a 'port' to macs, but we should at least try not to help those lunatics in any way.
Mon Feb 2 02:40:00 2026 UTC
Looks like I issued the wrong command to pack the archive, so it is
actually tar.gzip, not tar.bzip2. I've just renamed the file on the
server to .tgz which reflects the real format of the file.
Sorry for the inconvenience.
FEDAnet 0.0.40 has been published.
This version supports some interesting new features. First of all, the
fedaserv daemon is now capable of working as
FEDAproxy, serving as many users as you want (the technical limit
is more than 1000 of them, as the socket descriptors seem to be the only
limiting factor). See the file doc/fedaproxy.txt for details,
but to be short, new peer types named proxy,
proxyuser and direct are implemented—and,
well, seem to work.
Another implemented peer type is named nodenets. This mostly
makes sense for configuration of fedaserv instances running as
nodes (that is, with point number 254 a.k.a. 0xFE); in case
there's a peer of the nodenets type in the configuration file,
datagrams that have pseudopoints 0x00, 0xFF and possibly 0xFE (the latter
is for the case there's no virtual network interface locally) are forwarded
to that peer. This makes it easier to run various infrastructure (such as
web/mail/dns/whatever servers) in a location different from that where the
node is being run. To know what to do, the fedaserv instance
that receives this type of traffic (in case it is not the node, that is,
has the point other than 254) must have the line nodenets all
or nodenets some in its configuration file (some
means this instance shall accept traffic for pseudopoints 0x00 and 0xFF,
while all means all the three pseudopoints: 0x00, 0xFE and
0xFF),
There are also a lot of new means to explore what's going on within a
running fedaserv; launch the fedactl program and
try help and help show.
This news item is dated as 1770000000 seconds since Epoch,
but, believe it or not, I only noticed the upcoming interesting
date during the active preparations for this release; it gets published
today because I only managed to catch the last known bug just yesterday, so
it would be published today anyway.
Thanks for those who are still here :-)