Next steps (2025): migrating to cilium/ebpf, port to Qt6 · evilsocket/opensnitch · Discussion #1222 (original) (raw)

We have two important tasks ahead of us to keep opensnitch up to date.

[ ✔️ ] eBPF

Up until now we've been using https://github.com/iovisor/gobpf/ for intercepting events from the kernel, and it has worked very well.
But unfortunately it's deprecated since 2021 (iovisor/gobpf#304), which means that some of the known issues and limitations won't be fixed:

So after evaluating some options, I've migrated the code from gobpf to github.com/cilium/ebpf.

The results so far are:

More testing is needed, but it looks promising.


[ ✔️ ] Qt6

We've been using PyQt5 for the GUI since at least 1.0.x version. But as Qt5 entered EoS some years ago, a lot of distros have started to deprecate it.

The concerning news regarding OpenSnitch is that Ubuntu plans to remove Qt5 from Ubuntu 25/26 https://discourse.ubuntu.com/t/removing-qt-5-from-ubuntu-before-the-release-of-26-04-lts/49296 , https://www.phoronix.com/news/Ubuntu-Hopes-Removing-Qt-5.

Probably other distros will remove it earlier. NixOS for example asked to port the GUI to Qt6 some time go.

This means, that it won't be possible to install the OpenSnitch GUI on old distros, like LinuxMint 17 to 21, Ubuntu 16 to 22 ... unless you install PyQt5 manually via pip. Or well, we make the GUI compatible with PyQt5 and PyQt6.

There's no estimation for this task yet. Done: e5d1702

https://www.pythonguis.com/faq/pyqt5-vs-pyqt6/