Commit graph

968 commits

Author SHA1 Message Date
Kelvin M. Klann
a45e2016fe profiles: curl/wget: move nvm comments to the top
Optional/commented entries usually go there.

See also the top comments on firefox-common.profile.

Relates to #5058.
2025-08-31 11:06:37 -03:00
Kelvin M. Klann
872b0551f9 profiles: rtv: move rtv-addons comment to the top
Optional/commented entries usually go there.

See also the top comments on firefox-common.profile.

Relates to #4016.
2025-08-31 11:06:29 -03:00
Kelvin M. Klann
f1381b342c profiles: newsbeuter: organize blacklist section
Relates to #4064.
2025-08-31 11:00:41 -03:00
Kelvin M. Klann
0df8e342eb profiles: libreoffice/makepkg: sort gpg comment sections
Related commits:

* d0ae07485 ("makepkg profile for Arch platform, #1642", 2017-11-15)
* e25596bfb ("profiles: libreoffice: support signing documents with GPG
  (#6353)", 2024-05-24)
2025-08-31 11:00:41 -03:00
Kelvin M. Klann
8e5171b971
profiles: add missing mailcap entries (#6884)
Allow `~/.mailcap` for the profiles that have `mailcap` in `private-etc`
and vice-versa.

Fixes #6883.

Reported-by: @vinc17fr
Suggested-by: @vinc17fr
2025-08-31 13:59:04 +00:00
Kelvin M. Klann
d789fe44a2 profiles: w3m: sort whitelist section
Added on commit 450d0124f ("Update w3m.profile", 2021-06-07) / PR #4347.
2025-08-30 09:51:58 -03:00
Kelvin M. Klann
c4bd0b9c12 profiles: seamonkey: sort profile
Related commits:

* 63c35052b ("Add '$HOME/.local/share/pki' to blacklist", 2019-02-03)
* 324c73ea4 ("ordering fixes", 2022-01-06) / PR #4830
2025-08-30 07:17:24 -03:00
JustinWayland
8a2cb8ed5d
profiles: qutebrowser: add comment about qute-pass support (#6879) 2025-08-26 11:22:46 +00:00
netblue30
ae22e5610a ne text editor profile 2025-08-23 18:42:05 -04:00
amano-kenji
1c485ceb73
Merge pull request #6875 from amano-kenji/qutebrowser
profiles: qutebrowser: whitelist /usr/share/pdf.js
2025-08-20 11:33:36 +00:00
netblue30
4422c9358c warzone2100 for Debian/Ubuntu - /usr/bin/warzone2100
is a script calling /usr/bin/warzone2100.real
2025-08-19 17:29:50 -04:00
Kelvin M. Klann
0cab47b013 profiles: wine: disable noinput so gamepads work
From @kolAflash[1]:

> The `noinput` setting for Wine prevents Joysticks from being used in
> Wine.

> Use the Wine "control" center for testing: `wine control`.
>
> There you find a `Gamecontroller` program for testing.

Fixes #6866.

Relates to #6707.

[1] https://github.com/netblue30/firejail/issues/6866#issue-3328634575

Suggested-by: @kolAflash
2025-08-18 05:34:17 -03:00
Kelvin M. Klann
7051568c37
profiles: thunderbird: fix ignoring wruc (#6852)
Besides ignoring whitelist-run-user-common.inc itself, also ignore the
lines from the keepassxc comment from firefox-common.profile, to prevent
them from applying whitelisting to `${RUNUSER}`, which could break the
program due to missing xorg/wayland sockets from wruc.

This amends commit b787548b1 ("profiles: browsers: centralize/sync
keepassxc extension comment", 2024-07-14) / PR #6486.

Fixes #6839.

Reported-by: @Gilrain
Reported-by: @rusty-snake
2025-08-05 07:49:51 +00:00
Dan Hipschman
64e97d9582
profiles: xreader: disable no3d to fix startup (#6829)
`xreader` fails to start on my system with `no3d`. The error is related
to `/dev/dri`:

    $ firejail --private=Documents/ xreader
    Reading profile /etc/firejail/xreader.profile
    ...
    MESA: error: Failed to query drm device.
    libEGL warning: egl: failed to create dri2 screen
    libEGL warning: DRI2: could not open /dev/dri/card1 (No such file or directory)
    MESA: error: ZINK: failed to choose pdev
    libEGL warning: egl: failed to create dri2 screen

    $ xreader --version
    xreader 4.2.6

Environment: Intel GPU on Linux Mint 22.1.

Removing `no3d` fixes the problem.
2025-07-17 19:53:55 +00:00
G. Kishore
a13ba04e8f
profiles: allow org.kde.kwalletd6 for Plasma 6 systems (#6819)
Needed for the login credentials to be saved in neochat.

Also added for gajim.profile
2025-07-17 05:29:10 +00:00
exponentialmatrix
34b0c428b3
profiles: makedeb: allow dpkg (#6816)
It is used to determine the architecture and distro.
2025-07-12 05:36:46 +00:00
Kelvin M. Klann
cba764fa08
profiles: replace hosts.conf with host.conf in private-etc (#6791)
`hosts.conf` was added in #3849 and is only used in 3 profiles, while
all other profiles use `host.conf` (which is documented in
`host.conf(5)`):

    $ git grep -E 'private-etc .*,host\.conf(,|$| +#)' -- etc | wc -l
    64
    $ git grep -E 'private-etc .*,hosts\.conf(,|$| +#)' -- etc | wc -l
    3

Considering that and as discussed with @bbhtt (the author of #3849),
`hosts.conf` is likely a typo of `host.conf`[1].

Commands used to search and replace:

    $ git grep -IElz 'private-etc .*,hosts\.conf(,|$| +#)' -- etc |
      xargs -0 \
      perl -pi -e 's/(private-etc .*,)hosts\.conf(,|$| +#)/$1host.conf$2/'

Related commits:

* a8a8e33bc ("Add whitelisting to mutt; improve geary, new profile for
  neomutt", 2020-12-28) /
  PR #3849
* 144aee26f ("Improve whitelisting and dbus of Sylpheed and Claws-mail",
  2020-12-31) /
  PR #3849

Kind of relates to #6400.

[1] https://github.com/netblue30/firejail/pull/3849#issuecomment-3001532350
2025-06-26 09:53:45 +00:00
Kelvin M. Klann
b66da99f9a
profiles: finish converting private-opt to whitelist (#6785)
Changes:

* Convert all private-opt entries (other than `private-opt none`) to
  whitelist entries
* Remove remaining commented private-opt entries and related comments
  (for profiles that also have a corresponding whitelist entry)
* Enable `whitelist /opt/basilisk` in basilisk.profile (similarly to
  mullvad-browser.profile and palemoon.profile)
* Update private-opt comment in etc/templates/profile.template

Most private-opt entries were converted into whitelist entries on commit
175905530 ("profiles: exchange private-opt with a whitelist (#6021)",
2023-10-18), while some of them were left alone due to the program size
being deemed small enough as not to break file-copy-limit in
firejail.config.

For the sake of simplicity and clarity (and to avoid potential issues
with program install sizes increasing over time), convert those
private-opt entries into whitelist entries as well (note that users can
still enable private-opt in the corresponding .local profile).

Also, some commented private-opt entries remain (with a note about
potential issues with private-opt).

Since commit 175905530 also documented the drawbacks of private-opt in
firejail.1, it should be fine to remove the commented entries and
related comments (note that in all of the profiles containing such
comments, there is already an equivalent whitelist entry).

Related commits:

* f3f739c5d ("microsoft-edge.profile: rewrite profile for stable
  channel", 2022-08-11) /
  PR #5709
* 121e043df ("microsoft-edge-{dev,beta}: replaced private-opt by
  whitelist #5307", 2022-08-11) /
  PR #5709
* 2cb40fbec ("microsoft-edge fixes (#5697)", 2023-03-14)
* 58732a654 ("Add profiles for jami and postman (#5691)", 2023-03-15)
* 175905530 ("profiles: exchange private-opt with a whitelist (#6021)",
  2023-10-18)
2025-06-22 05:07:18 +00:00
Kelvin M. Klann
02ad655df4
profiles: use private-etc groups in more profiles (#6783)
For simplicity and to make diffs more readable.

Use them in the remaining profiles that have `private-etc` enabled but
are not currently using private-etc groups.

Note: All of the profiles in question were created between 0.9.72 and
0.9.74 (which is when private-etc groups were introduced).

Command used to search for relevant profiles:

    $ git grep '^private-etc .*alternatives' -- etc

Misc: The changes were made somewhat manually.

This is a follow-up to #6779.

Relates to #5691 #5706 #5707 #5710 #6007 #6400.
2025-06-18 05:49:26 +00:00
Kelvin M. Klann
348f657f5a
profiles: ripperx/sound-juicer: fix profile name typos (#6780)
They are currently named as "mpv".

This amends commit 5dbdf657b ("new profiles: ripperx, sound-juicer",
2020-03-19).

Misc: This was noticed on #6779.
2025-06-17 05:08:27 +00:00
Kelvin M. Klann
cb7ae18f23
profiles: wine: allow python to fix Epic Games Launcher (#6763)
As reported by @kolAflash[1]:

> ### Description
>
> If `~/.cache/gstreamer-1.0/` is empty, `/usr/lib/python3*` is needed
> to initialize it.
>
> Wine needs gstreamer for example in the case of
> EpicGamesLauncherInstaller.msi[2] (2025-05-29).
>
> ### Steps to Reproduce
>
> 1. Copy `EpicInstaller-18.5.0.msi` to `~/.wine/drive_c/`.
> 2. Run:
>
>     firejail --profile=wine --whitelist="${HOME}"/.wine \
>       wine msiexec /i 'C:\\EpicInstaller-18.5.0.msi' /q
>
>     firejail --profile=wine --whitelist="${HOME}"/.wine \
>       wine 'C:\\Program Files (x86)\\Epic Games\\Launcher\\Portal\\Binaries\\Win32\\EpicGamesLauncher.exe'
>
> ### Expected behavior
>
> Epic Games Launcher login screen should show up.
>
> ### Actual behavior
>
> Epic Games Launcher is stuck loading the login screen.
>
> ### Additional context
>
> Workaround: Add `--noblacklist=/usr/lib/python3*`.

> - Name/version of the relevant program(s)/package(s):
> `gstreamer-1.26.1` by Debian-13, Wine-Devel-10.8 from
> https://gitlab.winehq.org/wine/wine/-/wikis/Debian-Ubuntu

Note: Python is already allowed on lutris.profile and steam.profile.

Fixes #6762.

[1] https://github.com/netblue30/firejail/issues/6762#issue-3101581116
[2] https://launcher-public-service-prod06.ol.epicgames.com/launcher/api/installer/download/EpicGamesLauncherInstaller.msi

Reported-by: @kolAflash
Suggested-by: @kolAflash
2025-05-31 12:38:00 +00:00
Kelvin M. Klann
072c15b8bf
profiles: rssguard: allow lua (#6759)
Error log[1]:

    $ firejail rssguard
    Reading profile /etc/firejail/rssguard.profile
    [...]
    rssguard: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: Permission denied

Fixes #6758.

[1] https://github.com/netblue30/firejail/issues/6758#issue-3088510624

Reported-by: @1eof
2025-05-26 13:41:37 +00:00
Kelvin M. Klann
89587226ed
profiles: mpv: remove mkfile ~/.netrc (#6735)
To reduce clutter in the user home.

This file is apparently intended to specify login information for remote
systems, such as username and password for ftp/http connections
(similarly to using ~/.ssh/config for ssh connections).

From inetutils.info of GNU inetutils 2.6, which provides ftp and telnet
binaries (among others):

> 11.7 The ‘.netrc’ file

> The ‘.netrc’ file contains login and initialization information used
> by the auto-login process.  It generally resides in the user's home
> directory, but a location outside of the home directory can be set
> using the environment variable ‘NETRC’.  Both locations are overridden
> by the command line option ‘-N’.  The selected file must be a regular
> file, or access will be denied.

It seems that the file is intended to be created manually (just like
~/.ssh/config), as it is not mentioned in mpv(1).  mpv supports using
yt-dlp and ~/.netrc is mentined in yt-dlp(1), though it does not look
like it would create the file either.

Note also that this entry is not present in any other profile (including
the ones that allow ~/.netrc).

Related commits:

* 5d741795c ("Use whitelisting for video players (#3472)", 2020-08-15)
* 8bf892d67 ("Fix missing mkfile in
  5d741795c3", 2020-08-16)

This is a follow-up to #6732.
2025-05-06 08:52:01 +00:00
Kelvin M. Klann
8b60da9811
profiles: remove mkdir ~/.pki (#6732)
To reduce clutter in the user home.

This appears to be a legacy path and the relevant profiles already
create an XDG path as well:

    mkdir ${HOME}/.local/share/pki

From nss 3.111[1]:

    /**
     * Return the path to user's NSS database.
     * We search in the following dirs in order:
     * (1) $HOME/.pki/nssdb;
     * (2) $XDG_DATA_HOME/pki/nssdb if XDG_DATA_HOME is set;
     * (3) $HOME/.local/share/pki/nssdb (default XDG_DATA_HOME value).
     * If (1) does not exist, then the returned dir will be set to either
     * (2) or (3), depending if XDG_DATA_HOME is set.
     */

The XDG path has apparently been supported since nss 3.42, which was
released on 2019-01-25[2] [3] [4].

Misc: The original path was first added on commit 3a71eb2af ("added
mkdir in all whitelisted profiles", 2016-02-18) and the XDG path was
first added on commit 63c35052b ("Add '$HOME/.local/share/pki' to
blacklist", 2019-02-03).

Relates to #4262.

[1] https://github.com/nss-dev/nss/blob/NSS_3_111_RTM/lib/sysinit/nsssysinit.c#L64-L72
[2] https://github.com/nss-dev/nss/blob/NSS_3_42_RTM/lib/sysinit/nsssysinit.c#L65-L73
[3] 7f21d4f497
[4] https://github.com/nss-dev/nss/releases/tag/NSS_3_42_RTM
2025-05-04 05:13:08 +00:00
Kelvin M. Klann
62f477d1c0
profiles: fix include of deprecated disable-X11.inc (uppercase) (#6709)
Replace it with the current disable-x11.inc (lowercase) include.

See commit 0060b5105 ("profiles: rename disable-X11.inc to
disable-x11.inc (#6294)", 2024-03-27).

Commands used to search and replace:

    $ git grep -Ilz 'disable-X11' -- etc/profile* | xargs -0 \
      perl -pi -e 's/disable-X11/disable-x11/'

Relates to #6549 #6583 #6584 #6585 #6586 #6587 #6589 #6590.
2025-04-15 13:35:46 +00:00
Kelvin M. Klann
4911b7803f profiles: add keep-dev-tpm entries
To the profiles that most likely need it.

Relates to #6379 #6536.
2025-04-05 15:52:30 -03:00
Kelvin M. Klann
4d34d4c336 modif: block TPM devices & turn notpm command into keep-dev-tpm
Instead of having a `notpm` command and potentially adding it to almost
all profiles (as few programs should need direct access to TPM devices),
add a `keep-dev-tpm` command and use it only in profiles that need
access to TPM devices.

Changes:

* Turn `notpm` command into `keep-dev-tpm` command
* Warn and ignore if `notpm` is used
* Block `/dev/tpm*` devices by default
* Allow `/dev/tpm*` devices with `keep-dev-tpm` (even if `private-dev`
  is used)

Added on commit 001320226 ("feature: add notpm command & keep tpm
devices in private-dev (#6390)", 2024-07-09).

See also commit ee1c264c5 ("feature: block /dev/ntsync & add
keep-dev-ntsync command (#6660)", 2025-03-06) and the discussion at
PR #6660.

This is a follow-up to #6687.
2025-04-05 15:52:30 -03:00
Kelvin M. Klann
844f307a3f profiles: remove notpm entries
The `notpm` command will be deprecated.

Relates to #6390.
2025-04-05 15:52:30 -03:00
Kelvin M. Klann
fe64b62f21 profiles: split commands that increase/reduce access (profiles)
Command used to search for the relevant profiles:

    git grep -El 'allow-debuggers|allusers|keep-|writable-' -- etc
2025-03-26 16:23:46 -03:00
Kelvin M. Klann
24c4c7205d profiles: noprofile: add keep-shell-rc
This amends commit d0a12f27d ("feature: add 'keep-shell-rc' flag and
option", 2023-01-30) / #5634.
2025-03-23 11:54:17 -03:00
northboot
4e14f0a5f9
New profile: xarchiver (#6679)
Lightweight desktop-independent archive manager.

https://github.com/ib/xarchiver
2025-03-15 07:44:03 +00:00
northboot
bb7ea793e2
New profile: ouch (#6678)
CLI utility for easily compressing and decompressing files and dirs.

https://github.com/ouch-org/ouch
2025-03-10 11:00:00 +00:00
weebnix
ee1c264c5f
feature: block /dev/ntsync & add keep-dev-ntsync command (#6660)
Changes:

* Block access to /dev/ntsync by default
* Add the `keep-dev-ntsync` command to allow access to /dev/ntsync (even
  if `private-dev` is used)
* Add `keep-dev-ntsync` to wine.profile and similar profiles

Closes #6655.
2025-03-06 06:36:00 +00:00
Kelvin M. Klann
b269aa7e50
profiles: seahorse: add redirect org.gnome.seahorse.Application (#6673)
Apparently the .desktop file for `seahorse` is located in the following
path:

* `/usr/share/applications/org.gnome.seahorse.Application.desktop`

Which ends in `Application.desktop` instead of `seahorse.desktop`,
leading to it not being automatically detected by firecfg.

So add a redirect profile and an entry in firecfg.config.

Related commits:

* bd9761508 ("Temp fix firecfg (#2634)", 2019-04-02)
* 8f69e9841 ("bugfix: firecfg: check full filename in check_profile()
  (#6674)", 2025-03-04).

Fixes #6658.

Relates to #2624.

Reported-by: @ginto37
Reported-by: @rusty-snake
2025-03-06 06:11:54 +00:00
northboot
30ba35f0b3
New profile: remmina-file-wrapper (#6669)
Remmina may install this wrapper binary on some distributions.

On Void Linux, this is the default binary launched via application
launchers (e.g. rofi):

    $ grep "Exec" /usr/share/applications/org.remmina.Remmina.desktop
    TryExec=remmina-file-wrapper
    Exec=remmina-file-wrapper %U
    [...]
2025-02-28 11:24:44 +00:00
Kelvin M. Klann
e71f1172cc
Merge pull request #6666 from kmk3/ytmdesktop-add-redirect
profiles: ytmdesktop: add redirect & whitelist /opt/ytmdesktop
2025-02-26 12:06:26 +00:00
Kelvin M. Klann
985cb43eeb profiles: ytmdesktop: whitelist /opt/ytmdesktop
From [1]:

    $ pacman -Qlq ytmdesktop
    [...]
    /opt/ytmdesktop/youtube-music-desktop-app
    /usr/bin/youtube-music-desktop-app
    /usr/share/applications/ytmdesktop.desktop

See also commit 175905530 ("profiles: exchange private-opt with a
whitelist (#6021)", 2023-10-18).

[1] https://github.com/netblue30/firejail/issues/6662#issuecomment-2681532969
2025-02-25 18:14:47 -03:00
Kelvin M. Klann
4ec076a65c profiles: ytmdesktop: add a redirect for youtube-music-desktop-app
Apparently the main binary has been renamed from `ytmdesktop` to
`youtube-music-desktop-app`[1]:

    $ pacman -Qlq ytmdesktop
    [...]
    /opt/ytmdesktop/youtube-music-desktop-app
    /usr/bin/youtube-music-desktop-app
    /usr/share/applications/ytmdesktop.desktop

So add a redirect for it.

Fixes #6662.

[1] https://github.com/netblue30/firejail/issues/6662#issuecomment-2681532969

Reported-by: @Dieterbe
2025-02-25 18:14:47 -03:00
amano-kenji
76509024ef
New profile: nsxiv (#6588)
https://nsxiv.codeberg.page/
2025-02-23 08:56:57 +00:00
Alpha
82d5587f2c
New profile: vesktop (#6654)
https://github.com/Vencord/Vesktop
2025-02-21 14:10:35 +00:00
amano-kenji
cf12c66059
New profile: pyradio (#6589)
https://github.com/coderholic/pyradio
2025-02-10 23:20:56 +00:00
amano-kenji
22e8632c78
New profile: ncmpcpp (#6587)
https://github.com/ncmpcpp/ncmpcpp
2025-02-10 23:16:28 +00:00
Danny van Heumen
3d3b265184 profiles: tor: add memory-deny-write-execute
Tested by running tor (as a client) for more than 7 hours with
continuous traffic.

Note: Not tested as a relay.
2025-02-05 21:06:59 -03:00
Kelvin M. Klann
47467c3551 profiles: monero-wallet-cli: fix missing EOL at EOF
This amends commit a7bf93426 ("New profile: monero-wallet-cli",
2024-12-27) / PR #6586.
2025-01-13 06:07:50 -03:00
netblue30
ff770369a9
Merge pull request #6590 from amano-kenji/tremc
New profile: tremc
2025-01-12 17:15:58 -05:00
netblue30
7c59aea1f7
Merge pull request #6586 from amano-kenji/monero
New profile: monero-wallet-cli
2025-01-12 17:14:36 -05:00
Kelvin M. Klann
4782399ea8 profiles: singularity: fix profile path
Commands used to check for issues:

    $ git ls-files 'etc/profile-a-l/' | grep 'etc/profile-a-l/[m-z]'
    etc/profile-a-l/singularity.profile
    $ git ls-files 'etc/profile-m-z/' | grep 'etc/profile-a-l/[a-l]'
    $

Command used to fix the path:

    $ git mv \
      etc/profile-a-l/singularity.profile \
      etc/profile-m-z/singularity.profile

Relates to #6463.
2025-01-04 11:55:29 -03:00
Kelvin M. Klann
c222b7f692
build: sort.py: fix whitespace in entire profile (#6593)
Changes:

* Strip whitespace at the beginning
* Strip whitespace at the end
* Ensure exactly one newline at the end
* Strip extraneous newlines

Also, for clarity print the git diff in the sort.py ci job, since the
specific lines changed are not printed by the sort.py script in this
case (as whitespace is fixed in the entire profile at once).

Command used to search and replace:

    ./contrib/sort.py etc/inc/*.inc etc/profile*/*.profile

This is a follow-up to #6556.

Update contrib/sort.py
2024-12-28 16:00:14 +00:00
amano.kenji
a7bf93426f
New profile: monero-wallet-cli 2024-12-27 14:18:59 +00:00
amano.kenji
3b2706b9c3
New profile: tremc
https://github.com/tremc/tremc
2024-12-27 14:09:21 +00:00