Irdest April 2022 announcement
it's been a few months since our last announcement and a lot of things
have happened since then!
Grant funding updates
In the last e-mail I hinted that we were going to open/ rework our
NLnet  grant funding agreement. This has now happened and I'm very
excited to welcome new people to the core Irdest development team.
Together we will work on everything from driver integration,
user-facing clients, better packet encoding and encryption, and
testing frameworks. A full breakdown of milestones is available in
our wiki .
I'm very excited for this summer of development and the progress we
will make towards an Irdest beta. In the meantime, we also have
another small release ready for you!
This version of Ratman fixes some significant bugs that existed in 0.3
that prevented various peering mechanisms to work properly. A lot of
testing has gone into this version to make sure it is easier to use
and less prone to crashing. /Note that this is a breaking update/.
Following is a short overview of significant changes.
• Ratman stores runtime settings in a configuration file and has
better default configuration values, which allow you to start the
daemon without any arguments
• We now provide a simple web dashboard on `localhost:8090' where you
can see existing addresses on the network. This dashboard will be
expanded in the future
• The Ratman daemon can now also be launched via the –daemonize and
–pidfile flags to make integration into operating systems easier.
It now also supports logging into syslog
• Network floods are now namespaced via an address, instead of going
to every participant. Filtering still has to be done on the
client-side, which will likely change in the next release
• Various bug fixes, performance, and documentation improvements :)
You can read more details in our new CHANGELOG . Overall I am very
happy with this release and would like to thank the following people
for making this version of Ratman possible 🖤
• Bluju <bluju(a)Bluju.local>
• Lux <lux(a)lux.name>
• Manos Pitsidianakis <el13635(a)mail.ntua.gr>
• Yureka <yuka(a)yuka.dev>
• embr <git(a)liclac.eu>
• oooh chew <gx_339-4(a)pm.me>
You can download Ratman v0.4.0 from your friendly neighbourhood
package repository, or from <https://irde.st/downloads>
If you have questions or comments, feel free to drop by our community
mailing list  or our matrix channel .
I'm very excited to make this announcement today, approaching the one
year anniversary of the Irdest fork from the previous project's
leadership. In the past year a lot of things have happened. We have
gotten funding via the NLnet  European research grant program, as
well as participated in the Google Summer of Code for the first time
But while these are amazing milestones in the life of this project,
today's announcement is about something more technical.
I'm extremely happy to announce the release of Ratman v0.3.0 , a
_stand-alone userspace packet router_ for Linux, NetBSD, MacOS, and
Windows (the latter three with only very minimal testing however). On
the surface Ratman provides a TCP socket API, allowing
applications to interact with a decentralised Irdest network. In the
backend Ratman connects to a set of networking channels via specific
drivers (called "net modules").
This architecture enables peer-to-peer connections between Ratman
instances on a wide variety of platforms with implicit network roaming
support. Currently the only net module included is a _TCP overlay_
but we are working on many others!
I have been working on this project in some way or another since 2016
and in all that time we have gone through a lot of phases in the
design of what Irdest (and it's predecessor) should, and could be. In
many ways its identity in the last few years was still deeply rooted
in the initial application written back in 2012: a phone app that
allowed you to connect to people around you.
However as time went on, the more convinced I became that this
approach to building mesh networks did not scale. Not only has mobile
technology moved in a vastly different direction, the use-cases for
these purely ad-hoc networks are so few and far between that focusing
on it exclusively felt like the wrong design decision to make.
There are a lot of exciting prospects to mesh routing, with research
papers of the last decade demonstrating many mechanisms by which mesh
routing can be made more efficient and scalable. Irdest (meaning the
fork) was born out of a desire to build a platform to implement and
test these mechanisms in a real-world setting, while also providing
easy access to these tools to anyone who was interested in them.
With this release we are officially departing from the goal of
creating "an app" and instead focusing on the infrastructure that
other applications can use to build their networking on top of.
Of course Ratman can still run on phones, and we do have a phone app
on the roadmap which will act as a testbed to wireless peer-to-peer
connection mechanisms (among other things), while also integrating
with the Android and iOS VPN interfaces. The shift in focus here
however is the building of infrastructure that other applications
should use, not to create the next messenger or social network that
people will have to install and ignore on their phones.
Our hope is that the technology we create can be re-used by other
projects to improve the state of decentralised mesh routing projects
As I have mentioned we have funding from an NLnet grant to do work on
Irdest. While this grant was initially meant for me to work on this
project full time I have since found a day job and would like to
extend the grant to anyone else who wants to contribute to the
project. The current set of milestones will have to be revised (with
this shift in project focus) but I'm hoping to release a set of
milestones in the next month or so and work with NLnet to extend the
scope to anyone else wanting to work on any of them. More details on
this will follow!
I'm very excited about this step towards a new project identity and I
hope that this announcement has made you at least a bit curious to try
out Ratman in some way or another. The current daemon will very
likely be most interesting to those already running and administrating
networks and there is still a lot of work ahead of us to make this
project more approachable and understandable to users without network
Nonetheless I think this is a big step in the right direction and I'm
excited to see what the future may hold.
If you have questions or comments about this announcement, feel free
to reply to this list, or join our Matrix chat room at #chat:irde.st.