MullvadVPN is a VPN service that advertizes with good privacy. They accept crypto or cash payments and have opensource and audited VPN clients, also for Fedora.
They maintain a Fedora Repository but of course have no instructions on how to install it on Fedora Atomic Desktops.
1. Add the repo
curl -SsL https://repository.mullvad.net/rpm/stable/mullvad.repo | pkexec tee /etc/yum.repos.d/mullvad.repo
This also works without using sudo
2. Install it
rpm-ostree install --reboot mullvad-vpn
Note: the same repo also offers mullvad-browser
, a variant of torbrowser without tor, with the VPN instead.
(I personally recommend Librewolf+System VPN instead, as just tunneling the browser traffic may not be enough. Use TorBrowser for real anonymity.)
3. Enable the VPN
Dnf allows to run postinstall scripts, at least these are not working in rpm-ostree.
systemctl enable --now mullvad-daemon.service
4. Control the VPN
Tray icon
The VPN uses a tray icon, on Silverblue you can use this GNOME extension instead or restore tray icons with this one
CLI
You can also control it via the terminal.
mullvad -h
Split tunneling
Example: spawn a flatpak app without using the VPN
mullvad-exclude flatpak run org.localsend.localsend_app
You can create a desktop entry (the icon with text in your app menu), so that the app will always be spawned in split tunneling mode:
1. Copy the system desktop entry to the editable user location
cp /var/lib/flatpak/exports/share/applications/org.localsend.localsend_app.desktop ~/.local/share/applications/
2. Manipulate the Start command
sed -i 's/Exec=/Exec=mullvad-exclude /g' ~/.local/share/applications/org.localsend.localsend_app.desktop
This app entry will be shown instead of the original one (as they have the same name) and your app will now work in your local network!
other example, Syncthing: flatpak search syncthing --columns=application