20 Commits

Author SHA1 Message Date
tomFlowee c0f579ff6d add VPN feature
This allows a jail to have a VPN config associated and as a result we start
a new net namespace, completely isolating the jails networking.
We then start an openVPN client to route between the main network and the
jails' network.

The main limitation here is that we don't setup DNS, which basically means
that the VPN will route DNS calls to the other side, but since we don't
remount resolv.conf this depends on the vpn provider actually mapping the
nameserver we use. For people that use a nameserver like 192.168.100.1,
this most of the time works just fine.

Improvement is possible.
2026-04-11 15:06:44 +02:00
tomFlowee 002cdf4c08 Seems that hyprland always uses 1 2025-11-18 21:37:30 +01:00
tomFlowee c8fcc71bd2 Another change after wayland 2024-05-23 22:27:51 +02:00
tomFlowee 9c1d33ff6e Add wayland support 2024-05-23 20:09:41 +02:00
tomFlowee 49130ecaf1 Add docker support 2024-05-02 23:19:55 +02:00
tomFlowee 1cf0e006a5 Make ssh agent file copying a 'try' 2024-03-09 11:08:52 +01:00
tomFlowee 0b2136cca1 Limit view.
Telegram is only buildable by the company, not by distro's AFAIK.
So trust is lowered and this limits exposure to just your download
directory.
2024-03-07 11:21:30 +01:00
tomFlowee cb7a293835 Also hide /var/log 2024-02-26 11:27:12 +01:00
tomFlowee 82a0f22d58 Add audio permission and copy kde session server
The audio permission allows hiding of pulse audio and pipewire sockets.

The kde session (ksmserver) socket and state files allowing some more
apps to run properly.
2024-02-26 10:49:40 +01:00
tomFlowee 825dfb73bd Add dbus-proxy support
We re-route the dbus socket to a different location and then start
the dbus proxy in order to provide a filtered view of the world for our
jailed application.

DBus is a fantastic and a horrible system at the same time. It provides
only basic concepts and features which others can build on top of. Which
is great as many have done that building on top of it.
Unfortunately many apps have completely missed the idea of security and
hierarchy so its a mess now and you can't really open up most to apps...

Favourite stupid design, the org.freedesktop.Notifications has under
there the 'klipper' app. With an endpoint to destroy all its historical
data. Making 'just open the notifications, what could go wrong' end with
pain.
2024-02-20 19:14:25 +01:00
tomFlowee b9a5f9babe Add support for 'media' permission 2024-02-19 12:30:57 +01:00
tomFlowee 735abb7c1f Make a start with /run
this improves rbind to create the target dirs, if needed.
We also detect if the source is a socket and instead create a file to
mount on top of.
2024-02-19 12:22:45 +01:00
tomFlowee f805e8f2ce Have app-specific rules
This introduces the command execute-apprules which behaves like
an 'include' as it recurses into the app specific file.

If there is no app specific one, it will load the default.rules

Notable too is that in an app specific rules file the usage of
execute-apprules will always go to default.rules, to avoid
copy / paste of rules.
2024-02-19 10:47:36 +01:00
tomFlowee c88cf37d8e Add the homedir and git permissions 2024-02-18 23:50:34 +01:00
tomFlowee aac648cfc6 Add if statements backend code 2024-02-18 00:22:50 +01:00
tomFlowee 2489e77a09 Fix copy command to be much more useful.
It can create directories now to copy into.
2024-02-17 21:53:28 +01:00
tomFlowee 846aa8f4a9 Add 'shared' and env vars
This moves the final mounts to the rules file and creates the default
setup where the app has the users homedir available under a 'shared'
subdir.

This also introduces environment variables support, filtering out all
easy targets and additionally setting the config / data dirs to not be
hidden dirs.
2024-02-17 18:11:48 +01:00
tomFlowee de6162b149 Do the backend work for env-vars cleanup 2024-02-17 01:03:43 +01:00
tomFlowee 089c74ad01 Add copy and fix lots of issues 2024-02-16 16:54:09 +01:00
tomFlowee e1ac8745a6 Move policy rules to a rules file. 2024-02-15 23:39:04 +01:00