Freedombone Blog

Freedom in the Cloud

Freedombone version 4.0

The Freedombone project is pleased to announce the launch of version 4.0, based upon Debian 10. At the end of the second decade of the 21st century the shattered remains of the open web are a site of ongoing struggle. The freedom to communicate with others securely and in a manner of your own choosing, and to own your data, is increasingly threatened.

Superficially, decentralized systems appear to be gaining ground, but the harsh reality is that the internet has become highly concentrated around a few companies with unprecedented political influence.

There is no freedom without freedom of association. That is, having the ability to define who you are and what kind of community you want to live in. This release includes Community Networks as an initial step towards networks run by and for the people who use them.

Map of Guifinet installs in a Catalonian town

Changes in this release

  • Integrated Wireguard VPN
  • Integrated RSS
  • Extra apps such as PixelFed, mpd, Zap and Grocy
  • A small number of multi-player games including Minetest
  • Community networks
  • New firewall using nftables
  • Improved integration of apps with members accounts (same login)
  • Improved theming
  • Improved international translations
  • Removed fediverse servers. An ActivityPub server might be added in future.
  • Blocklist includes word based blocking
  • Updated versions of apps

Games

This system isn't primarily intended as a gaming platform, but simple types of networked games requiring minimal resources may be one way to get people initially interested in self-hosting. Once you begin self-hosting one thing then it becomes tempting to try other things, until eventually you no longer need to rely upon any centralized SaaS.

Fediverse apps

For this release GNU Social, PostActiv and Pleroma have been retired. Self-hosting in the fediverse currently requires too much maintenance and the default experience without a giant and difficult to verify blocklist is likely to be an unpleasant one. It is hoped that in future there will be other fediverse servers better suited to low maintenance deployments and more able to defend users against the emerging threats.

Community networks

Community networks are where the physical infrastructure - the routers, cables and antennas - are democratically owned, not by giant telcos or people who don't even live in the region. In some areas of the world - especially those parts vacated by corporations as being insufficiently exploitable - this type of infrastructure is already mainstream and has been for quite a while.

Far from being some idealistic fantasy, systems like Guifinet provide a glimpse of what a better version of the internet might look like, after the demise of the dinosaurs. An internet run by and for the people that use it. Not by the government or a megacorporation.

Freedombone 4.0 includes a community networks feature which allows you to locate other nodes in your area, or start one yourself. The exact equipment you will need will depend upon your locality and more details can be found by selecting the join or docs buttons.

If you want a better internet, run by ordinary people not Silicon Valley billionaires, then nobody is going to hand it to you. You have to get involved and make your own future.

Where to get it

Pre-built images for laptops or single board computers can be downloaded here. Source code is here or here. For installation instructions see the main site.

Donations

If you want to keep this project going then donations can be made on Patreon or Liberapay.

Telerobots

In the mid 2000 I was confidently predicting that home telerobots would soon be arriving. Mobile phones were getting capable enough, and had all the sensors which would be needed in a convenient and battery efficient package - video, audio and gyro. The price of all of this was also getting within the reach of being a consumer product. My futurology seemed bulletproof.

I also made predictions about the evolution of telerobots. Initially it would just be teleconferencing type things and then there would be manipulators added and remote manual work becomes possible, and so on. Soon enough all kinds of manual tasks can be done from your desktop without any physical hazards, etc. No big advances in AI would be required either. There would be a competitive economy in labor hours of telerobot work too, and the whole thing could be an internet platform.

In 2019 I can see it was all bullshit. I actually realized that by 2013, and then changed what I was doing accordingly. There's still a chance that telerobots might be ubiquitous somewhere in an undefined future, but it doesn't look close or realistic. Today if I type "telerobot" into ebay the number of results I get is a grand total of...zero. "home robot" only returns the usual Roomba-style cleaners, which already existed in the mid 2000s.

It's a sobering reminder of just how wrong it's possible to be about the future. It's possible to fool yourself into believing all manner of follies. There is no inevitable path. Just because something is technologically possible doesn't mean it will happen.

Messing with ActivityPub

Recently I've been trying to implement the ActivityPub protocol. I wanted to get more of an understanding of what the issues are with it, and see if I could implement a server from scratch. Mastodon is ok, but too resource intensive for my use cases. The filtering system of Pleroma generally works well, but I was still struggling to keep bandits out of my inbox and it was becoming too much of a chore. Self-hosting is supposed to require little to no maintenance if it's done right.

If I'm to remain in the fediverse at all then what I'm looking for is something which requires minimum RAM and storage space. Where the database size has a strict maximum upper bound. And where I can be confident about what (or who) is or isn't getting onto my server. I searched around for existing projects which might fit the bill, other than Mastodon or Pleroma. GNU Social and PostActiv are still around and they were a good solution a few years ago. But I think the state of the art has moved on and something like GNU Social isn't geared up to handle the adversarial situations which now exist. It was designed for a gentler world of Free Software developers exchanging cycling trip photos and commandline tips. Now that there are a million or more fediverse users it's a different game entirely and the blooming buzzing confusion of the crowd requires some taming to be humanly interpretable.

So I may spend the next period of time developing a minimal fediverse server, equivalent to an email MTA. Maybe it won't work out and there will be some show-stopping reason why this is a bad idea, but in principle it seems like a tractable piece of work. On top of all the usual features it would also be interesting to experiment with adding organizing features and also something comparable to the old GNU Social Sharings plugin for bartering and freecycling.

I have some initial code here. Of course, it had to be named after a species of extinct megafauna. It's highly experimental and mostly just a bunch of unit tests, so I don't recommend that anyone use this for any practical purpose right now.

In case you were wondering, the next version of Freedombone will be out soon although I don't expect it will have any fediverse servers. In my estimation the existing software is too unsafe and too high maintenance for an install-and-forget type of system.

Dark Messenger 1.3

Emerging from the murky depths of the interwebs like a low-budget B-movie monster or something out of a 1970s Dr Who episode is Dark Messenger version 1.3.

This version is based on the latest Conversations XMPP chat app and has an added usability feature for initial setup. On the screen where you are first asked to enter your account details there is now a QR code button. If you have your onion JID as a QRcode, as it exists in Freedombone on the members screen, then you can scan it with your phone camera and the address and hostname fields are then populated automatically. This saves any fiddling around switching between apps, or trying to type long random addresses manually. The only thing you then need to do is enter the account password.

Top of the screen showing QR code button

Dark Messenger is a version of Conversations restricted to using onion address based XMPP accounts. This makes opsec snafus much harder to commit, and always ensures that the metadata is protected from passive surveillance. "Just say no" to letter agency spooks and other random interweb flotsam. No Certificate Authorities are involved in the running of this app.

Dark Messenger will not get rid of the nubs.
Dark Messenger will not make you look five pounds thinner.
And it's available in no app store anywhere.

But you can download it from here.

Fediverse debrief

I'm going to take time out from the fediverse for a while. It's not that I've been "cancelled", although the level of hostility recently has been exceeding my personal comfort zone and becoming comparable to Twitter.

A critical design problem of this type of system based upon the ActivityPub protocol seems to be that there isn't any granular control over who you associate with or on what terms. It means that adversaries have unlimited potential to reply on your posts or send menacing DMs. Of course it's easily possible to block them, but the sheer volume of this problem recently means that it becomes like a cat and mouse game, or a game of whack-a-mole.

So it's time for me to step back and think about whether ActivityPub is useful as a method of public communications, and whether I ought to be recommending systems in which the user doesn't have much control over who they associate with other than follow or block. Maintaining an increasingly large blocklist and the amount of research which that requires seems unrealistic.

As an analogy from the past, I abandoned trying to support blog comments for similar reasons. The amount of spam became too much to manage, and automated methods such as CAPTCHAs or cryptic questions failed to prevent it.

For now I think the Zap or Hubzilla approach is better, although there are far fewer users of those systems. With something like Zap it is reasonable to expect that the first time self-hoster could have a good experience on the system, rather than immediately being bombarded by communications which they havn't chosen to opt into.

The end of the Web?

Something seems to be going on with the web. It seems to be heading towards a kind of endgame. For practical purposes there are only two web browser engines which most people use and they're both directly or indirectly controlled by Google. As I write this Google is busying itself trying to prevent ad blockers from working and without ad blocking the experience of browsing the modern web is some combination of insecure, annoying and occasionally horrifying. Targeted ads are like an unwelcome stalker who follows you around.

At the same time W3C - an organization already having profound flaws - appears to be handing over the definition of the HTML standard to Google. Mozilla I regard as being a proxy for Google because it's where they get their money from, and Apple, Microsoft, Mozilla and Google control WHATWG. Since Microsoft gave up making its own browser recently this really leaves Apple and Google as the new pilots of the HTML "living standard".

We can maybe see the future of the web in the form of what Google recently did with confidential emails in Gmail. If you're sending an email that way then it no longer gets transferred via the email protocol. Instead the email becomes merely a notification that something has happened on a Google server and you then have to log in to that server to read it. This is how open standards finally die, having been totally appropriated and subsumed under a superficial appearance of convenience and security theatricality.

A prediction is that in the early 2020s HTML is something delivered centrally by Google and optimized for ad delivery and metadata collection. There is a new era of utility computing in which Google data centers are the mainframes and the idea of personal computers being personal or decentralized is something quaint from the distant past. Unless Mozilla can really clean up their act I think they're heading towards a Netscape-like oblivion, although the codebase will live on and perhaps metamorphose into other things.

Now is a good time to reinvent the web and to revisit its most basic premises. Who should the web work for? Should it be just an ad delivery platform? Who should run the web and who should make the standards?