aboutsummaryrefslogtreecommitdiffstats
path: root/etc/profile-a-l
diff options
context:
space:
mode:
Diffstat (limited to 'etc/profile-a-l')
-rw-r--r--etc/profile-a-l/chatterino.profile92
-rw-r--r--etc/profile-a-l/electron-hardened.inc.profile10
-rw-r--r--etc/profile-a-l/electron.profile4
-rw-r--r--etc/profile-a-l/firefox-common.profile2
4 files changed, 106 insertions, 2 deletions
diff --git a/etc/profile-a-l/chatterino.profile b/etc/profile-a-l/chatterino.profile
new file mode 100644
index 000000000..4dfd85740
--- /dev/null
+++ b/etc/profile-a-l/chatterino.profile
@@ -0,0 +1,92 @@
1# Firejail profile for Chatterino
2# Description: Chat client for https://twitch.tv
3# This file is overwritten after every install/update
4# Persistent local customizations
5include chatterino.local
6# Persistent global definitions
7include globals.local
8
9# To upload images, whitelist/noblacklist their path in chatterino.local.
10#whitelist ${PICTURES}
11# For custom notification sounds, whitelist/noblacklist their path in chatterino.local.
12#whitelist ${MUSIC}
13
14# Also allow access to mpv/vlc, they're usable via streamlink.
15noblacklist ${HOME}/.config/mpv
16noblacklist ${HOME}/.config/pulse
17noblacklist ${HOME}/.config/vlc
18noblacklist ${HOME}/.local/share/chatterino
19noblacklist ${HOME}/.local/share/vlc
20
21# Allow Lua for mpv (blacklisted by disable-interpreters.inc)
22include allow-lua.inc
23
24# Allow Python for Streamlink integration (blacklisted by disable-interpreters.inc)
25include allow-python3.inc
26
27include disable-common.inc
28include disable-devel.inc
29include disable-exec.inc
30include disable-interpreters.inc
31include disable-proc.inc
32include disable-programs.inc
33include disable-xdg.inc
34
35# Also allow read-only access to mpv/VLC, they're usable via streamlink.
36mkdir ${HOME}/.local/share/chatterino
37# VLC preferences will fail to save with read-only set.
38whitelist ${HOME}/.local/share/chatterino
39whitelist-ro ${HOME}/.config/mpv
40whitelist-ro ${HOME}/.config/pulse
41whitelist-ro ${HOME}/.config/vlc
42whitelist-ro ${HOME}/.local/share/vlc
43include whitelist-common.inc
44include whitelist-run-common.inc
45include whitelist-runuser-common.inc
46include whitelist-usr-share-common.inc
47include whitelist-var-common.inc
48
49# Streamlink+VLC doesn't seem to close properly with apparmor enabled.
50#apparmor
51caps.drop all
52netfilter
53nodvd
54nogroups
55nonewprivs
56noprinters
57noroot
58notv
59nou2f
60# Netlink is required for streamlink integration.
61protocol unix,inet,inet6,netlink
62# Seccomp may break browser integration.
63seccomp
64seccomp.block-secondary
65tracelog
66
67disable-mnt
68# Add more private-bin lines for browsers or video players to chatterino.local if wanted.
69private-bin chatterino,cvlc,env,ffmpeg,mpv,nvlc,pgrep,python*,qvlc,rvlc,streamlink,svlc,vlc
70# private-cache may cause issues with mpv (see #2838)
71private-cache
72private-dev
73private-etc alsa,alternatives,asound.conf,ca-certificates,dbus-1,fonts,hostname,hosts,kde4rc,kde5rc,ld.so.cache,ld.so.conf,ld.so.conf.d,ld.so.preload,locale,locale.alias,locale.conf,localtime,machine-id,nvidia,passwd,pulse,resolv.conf,rpc,services,ssl,Trolltech.conf,X11
74private-srv none
75private-tmp
76
77dbus-user filter
78dbus-user.own com.chatterino.*
79# Allow notifications.
80dbus-user.talk org.freedesktop.Notifications
81# For media player integration.
82dbus-user.talk org.freedesktop.ScreenSaver
83?ALLOW_TRAY: dbus-user.talk org.kde.StatusNotifierWatcher
84dbus-user.own org.mpris.MediaPlayer2.chatterino
85dbus-user.talk org.mpris.MediaPlayer2.Player
86dbus-system none
87
88# Prevents browsers/players from lingering after Chatterino is closed.
89#deterministic-shutdown
90# memory-deny-write-execute may break streamlink and browser integration.
91#memory-deny-write-execute
92restrict-namespaces
diff --git a/etc/profile-a-l/electron-hardened.inc.profile b/etc/profile-a-l/electron-hardened.inc.profile
new file mode 100644
index 000000000..eacf5cebe
--- /dev/null
+++ b/etc/profile-a-l/electron-hardened.inc.profile
@@ -0,0 +1,10 @@
1# Firejail profile alias for chrome-common-hardened.inc
2# This file is overwritten after every install/update
3# Persistent local customizations
4include electron-hardened.inc.local
5# Persistent global definitions
6# added by caller profile
7#include globals.local
8
9# Redirect
10include chrome-common-hardened.inc.profile
diff --git a/etc/profile-a-l/electron.profile b/etc/profile-a-l/electron.profile
index c1d337abd..c15e43399 100644
--- a/etc/profile-a-l/electron.profile
+++ b/etc/profile-a-l/electron.profile
@@ -22,8 +22,8 @@ include whitelist-runuser-common.inc
22include whitelist-usr-share-common.inc 22include whitelist-usr-share-common.inc
23include whitelist-var-common.inc 23include whitelist-var-common.inc
24 24
25# Add the next line to your chromium-common.local if your kernel allows unprivileged userns clone. 25# Add the next line to your electron.local if your kernel allows unprivileged userns clone.
26#include chromium-common-hardened.inc.profile 26#include electron-hardened.inc.profile
27 27
28apparmor 28apparmor
29caps.keep sys_admin,sys_chroot 29caps.keep sys_admin,sys_chroot
diff --git a/etc/profile-a-l/firefox-common.profile b/etc/profile-a-l/firefox-common.profile
index 13313cb67..60d64736e 100644
--- a/etc/profile-a-l/firefox-common.profile
+++ b/etc/profile-a-l/firefox-common.profile
@@ -35,6 +35,8 @@ include whitelist-runuser-common.inc
35include whitelist-var-common.inc 35include whitelist-var-common.inc
36 36
37apparmor 37apparmor
38# Fixme!
39apparmor-replace
38caps.drop all 40caps.drop all
39# machine-id breaks pulse audio; add it to your firefox-common.local if sound is not required. 41# machine-id breaks pulse audio; add it to your firefox-common.local if sound is not required.
40#machine-id 42#machine-id