120 Commits

Author SHA1 Message Date
Ben Grande
41c48d96e7
feat: add torrent client to fetcher 2024-01-30 19:32:05 +01:00
Ben Grande
50fa78263a
chore: copyright update 2024-01-29 16:49:54 +01:00
Ben Grande
2d0460cb07
chore: move port forward to dom0 formula
The script can be used with sys-cacher, sys-pihole, sys-syncthing,
sys-ssh and many services you'd want to forward, make it reusable.
2024-01-29 12:11:51 +01:00
Ben Grande
b22dd08bd1
fix: port forward validate values from DomUs 2024-01-29 12:06:33 +01:00
Ben Grande
8606e24018
doc: typo in mirage firewall usage 2024-01-28 23:28:00 +01:00
Ben Grande
faa22b2821
fix: fail early when qubes.VMShell is unsupported
Happens with Mirage Unikernel, as it doesn't have a proper shell.

Fixes: https://github.com/ben-grande/qusal/issues/1
2024-01-28 23:25:03 +01:00
Ben Grande
6bfb3756c3
fix: port forwarder missing short options usage 2024-01-27 17:05:56 +01:00
Ben Grande
c6dbccfe24
fix: mail qrexec policy missing disp in name 2024-01-27 11:38:28 +01:00
Ben Grande
ca2e150a31
feat: add qubes img and pdf converter media qubes 2024-01-26 22:49:18 +01:00
Ben Grande
1886600015
feat: initial split-mail setup
Split-mail allows to separate the receving, reading/composing and
sending of mails to separate qubes, while having the reading/composing
qube offline and a manual step necessary to authorize mails to be sent
form the sender qube.
2024-01-26 22:46:36 +01:00
Ben Grande
6028a2d8e3
fix: add file browser to reader
We are already trusting many applications to display files, adding a
file browser is a huge usability improvement in this case.
2024-01-23 13:27:15 +01:00
Ben Grande
5afa96ea51
fix: cleanup audio home directory 2024-01-22 18:42:54 +01:00
Ben Grande
b657206f15
fix: add whonix dvm 2024-01-22 10:56:31 +01:00
Ben Grande
6adc6caef9
fix: update dotfiles module 2024-01-21 23:40:55 +01:00
Ben Grande
0e99d51d12
feat: whonix setup independent from OEM
Depending on OEM will conflict the state IDs because they are the name
of the qubes being created. As not much changes are needed and we
customize much more, stop depending on upstream.
2024-01-21 23:04:41 +01:00
Ben Grande
f5362587f1
fix: client install the ssh-agent client packages
The client should install the agent client packages and not the
opposite. The way it was, it would not be possible to include the agent
client packages to the ssh client, as it would create a recursive loop.
2024-01-21 22:04:34 +01:00
Ben Grande
c0b6c4cf20
fix: invert builder memory and vcpus 2024-01-20 19:51:45 +01:00
Ben Grande
02ae9e2593
feat: remove audiovm setting when unnecessary
Decrease audio attack surface to qubes that will never need to use it.
2024-01-20 19:34:39 +01:00
Ben Grande
78333dd92a
doc: bluetooth system tray 2024-01-19 12:16:34 +01:00
Ben Grande
2e5127649a
feat: seamless audio integration with bluetooth 2024-01-19 11:18:37 +01:00
Ben Grande
76b2dbb58f
feat: pavucontrol in sys-audio
The mixer provided by the program volumeicon is okay, it shows only one
input and one output. Pavucontrol correctly detects the different inputs
and output of each audio client, you can have deeper control of the
client volume.
2024-01-19 10:14:22 +01:00
Ben Grande
bab8f35ee9
doc: attacker can display a large byte set 2024-01-18 19:49:15 +01:00
Ben Grande
fb2baa19dc
fix: remove unicode from used files
No considering license, copyright notices kept outside of the installed
directories, but excluding keys that have unicode in their comment
section.
2024-01-18 15:23:52 +01:00
Ben Grande
86b43bc738
doc: how to update the repository
As it is not easy to get files to dom0 and we don't want to reimplement
a package manager, crude Git is the solution as of know.

With Git we have the following advantages: native fetch format for
source controlled files, cleaner command-line, automatic signature
verification during merge, the disadvantage is that it is not included
by default in Dom0 and filtering it's stdout chars are not possible.
Note that the remote can report messages to the client via stderr, which
is filtered already, and if it tries to send an escape sequence to
stdout, the operation will fail with 'bad line length character: CHAR'
printed to stderr on the client, unfiltered by qrexec, but filtered to
some extent by the git client. If it is an escape character, the char is
transformed to "?", but UTF-8 multibyte characters are not filtered. Up
to 4 bytes can be displayed.

Tar on the other hand is already installed, but it is much ancient and
it's file parsing caused CVEs in the past relatively more drastic than
Git, it also doesn't only include committed files, it can include any
file that is present in the directory, which by far, increases a lot of
the attack surface unless you reset the state to HEAD, clean .git
directory manually and there are possibly other avenues of attack.
2024-01-18 15:22:35 +01:00
Ben Grande
ee55df93d5
fix: update dotfiles module 2024-01-18 09:24:36 +01:00
Ben Grande
d0765f2055
fix: dom0 as sys-git client
The salt module git.config_get does not work in Dom0 and does not have
a key to set the system gitconfig.
2024-01-18 09:21:21 +01:00
Ben Grande
5bc9c79974
feat: usb devices in sys-audio
Introduces support for USB connected devices such as Bluetooth and
camera, microphone as well as their integrated versions.
2024-01-17 16:52:55 +01:00
Ben Grande
c96d30a4a2
fix: help option for port forwarder 2024-01-16 12:11:31 +01:00
Ben Grande
e1aed556ed
feat: port forwarder
If persistent rules are chosen, it can deal with disposable sys-net, but
not with disposable sys-firewall, as the qube ip will change, the rule
won't work. Applying the rule to the disposable template is a "try it
all", but it's usage is discouraged.
2024-01-16 00:15:29 +01:00
Ben Grande
fb271dcb90
fix: disposable sys-audio name with disp prefix 2024-01-14 14:05:17 +01:00
Ben Grande
583cad97f4
doc: kicksecure missing minimal flavor 2024-01-14 08:52:24 +01:00
Ben Grande
37db49182e
fix: install less browser packages in reader
The state browse.install installs extraneous packages that we won't
need for an untrusted environment, such as USB and audio support.
2024-01-12 19:47:52 +01:00
Ben Grande
8e6554bd01
fix: policy file mode not allowing group to write 2024-01-12 19:44:55 +01:00
Ben Grande
6d23871608
fix: sys-usb hide-usb-from-dom0 in keyboard state 2024-01-12 19:08:56 +01:00
Ben Grande
4b59eab882
fix: sys-cacher policy with the new tag name 2024-01-12 18:34:04 +01:00
Ben Grande
94f0fbe6c2
fix: clone macro support for optional argument 2024-01-12 18:22:33 +01:00
Ben Grande
e2ff679849
fix: sys-usb disposables must have name prefix 2024-01-12 18:22:18 +01:00
Ben Grande
f69d17ad35
fix: update dotfiles module 2024-01-12 18:00:40 +01:00
Ben Grande
5805bd79fb
feat: disposable mirage firewall 2024-01-12 17:58:56 +01:00
Ben Grande
e2f44fba70
fix: separate template formula per flavor
Default template flavor is Gnome, installing Xfce when requesting the
template formula without flavor causes confusion.
2024-01-12 17:47:21 +01:00
Ben Grande
a380aeb3b6
fix: sys-cacher tag compliance with default tags
The default tags start with the capability than the qube name, such as
audiovm-dom0 and guivm-dom0.
2024-01-12 17:30:29 +01:00
Ben Grande
f989908457
fix: zsh state import with relative path
Relative path only works well if it is on the salt root.
2024-01-12 17:24:43 +01:00
Ben Grande
efa4013e90
feat: kicksecure minimal template 2024-01-12 17:24:31 +01:00
Ben Grande
cd1786f67d
fix: shellcheck 2024-01-10 14:31:57 +01:00
Ben Grande
3012491615
fix: do not remove created dvm
The removal was first implemented to get a clean state of the qube, but
there are side effects, it fails if the user created a named disposable
based on the dvm and also removes the (dvm) entry from the appmenu.

The sys-usb case is a workaround in case the user selected a
non-disposable, an appvm sys-usb during system installation.
2024-01-10 14:27:44 +01:00
Ben Grande
5ec87fe3a8
doc: missing access control for sys-usb 2024-01-10 12:50:02 +01:00
Ben Grande
c76fb42d48
fix: organize sys-usb policy per service 2024-01-10 12:49:20 +01:00
Ben Grande
302460b458
fix: prefer qvm-features for uniformity 2024-01-09 18:48:29 +01:00
Ben Grande
1f42dd26d8
feat: policy support for multiple sys-usb qubes 2024-01-09 18:44:50 +01:00
Ben Grande
e677d9f7e1
doc: cleaner usage sections for qubes-builder 2024-01-08 20:08:54 +01:00