New Antenna — Official, But Federatable

Note: This is the post I wanted to publish after ew0k, the creator and current maintainer of Antenna, had officially announced that I would be taking over as the maintainer. But because some people started to wonder about Antenna’s future in the last couple of days, had reservations about centralization and its ability to remove people’s visibility from the Geminispace, and the lack of an official repository containing the source code, I decided to awkwardly publish it today in its original form, just missing the link to ew0k’s soon-to-come announcement, which should arrive shortly.

I created a much improved Antenna version, and as ew0k, the maintainer of the old version, is stepping down, he allowed me to continue in his capacity. Thank you for the trust you put in me.

Looking for Someone to Take Over Antenna

I’ve already started working on Antenna on my own in November 2025 to add better error logging to show failing IPv6 requests, but never finished it. Because of more people hosting Antenna instances in the last month, I decided to finish my work and refactor a little while I’m at it.

Changes

I will write about all the changes in another post, because they turned out to be quite a lot. The most important new user-facing features are

Especially the sync and filter rules import should make it easy to switch between instances.

For more details, especially technial ones, you can have a look at the `CHANGES.md` in the Git repo, where you can also find infos for current instance maintainers to import their old database if they choose to switch to New Antenna.

The Source

The source code for Antenna and Gemcall, the tiny Python library which makes the actual Gemini protocol requests, and for which I took over the maintenance as well, are available under the same license as before and hosted on Codeberg.

Antenna Source Code on Codeberg

Gemcall Source Code on Codeberg

They also include the history of the original Git repositories, which were hosted on the now defunct notabug.org Git forge.

Unfortunately gemcall’s PyPI version wasnt’t uploaded by ew0k, who doesn’t have access to it. If anyone knows CyberTailor, the person who uploaded it, please help me get in touch with them so I can upload new versions and use them properly as a Antenna dependency.

Gemcall on PyPI

My Instance

My instance runs on a tiny VPS in a data center in France run by a German company, which means strong privacy laws like the GDPR apply while costing almost nothing to rent. Yay for improved privacy.

New Antenna on antenna.michaelnordmeyer.com

It syncs with OG Antenna every five minutes, finds the added feed URLs, and adds all posts of those feeds, if they are in the configured time window. I increased this post time window from 7 to 14 days for my instance, so all stats will likely be higher than the original ones, which are also being updated as long as the OG Antenna is online.

I’m prepared to keep this instance running for a long time, because this server is hosting my HTTPS site anyway, and this domain name only goes away, if I ultimately go away. As in `kill -9 && cat body > /dev/null`.

Nonetheless, people are welcome their host their own instances, especially mono-thematic ones, and as long as the versions match, they should be able to sync, which creates a low-tech form of federation.

If you find any problems with the source code or my instance running v1.0.0, please open an issue on Codeberg.

Contact details for all New Antenna instances can be found on the about page under disclaimer and credits.

Thanks

Many thanks to Björn ew0k Andersson, née Wärmedal, for running his instance for five years, and for developing Antenna in the first place.