Von Android kennt man es, dass sich ein eigenes Programm um die Downloads kümmert. Durch meine Versuche, Firefox mithilfe von AppArmor einzuhegen, bin ich wieder auf den Gedanken gestoßen, für Firefox ein externes Download-Programm zu verwenden.

Dies hätte den einen großen Vorteil, Firefox Schreibreche entziehen zu können, um dessen Möglichkeiten noch mehr einzuschränken. Weiterhin könnte ein solches Programm auch besser die Downloads verwalten und ließe sich in Bezug auf die Folgeaktionen genauer kontrollieren.

Als solches Programm habe ich uget und das dazugehörige Debian-Paket gefunden. Mit der Browser-Erweiterung gibt es auch eine gute Einbindung in Firefox und Chromium.

Installation

Das Paket lässt sich einfach mit apt install uget und die Erweiterung ugetintegration lässt sich direkt im Firefox installieren. Damit jedoch Erweiterung und Programm miteinander kommunizieren können, ist das Programm uget-integrator notwendig, welches man aus dem Projekt uget-integrator bei Github holen muss.

Folgt man der Installationsanleitung im Wiki, so werden die Teile unter /usr abgelegt, was mir nicht gefällt. Ich will die Anpassungen bei mir im Benutzerverzeichnis haben, damit sie ins Backup eingehen; alternativ wäre noch /usr/local möglich.

% curl -o ~/bin/uget-integrator \
    https://raw.githubusercontent.com/ugetdm/uget-integrator/master/bin/uget-integrator
% chmod +x ~/bin/uget-integrator

% mkdir -p ~/.mozilla/native-messaging-hosts
% curl https://github.com/ugetdm/uget-integrator/raw/master/conf/com.ugetdm.firefox.json \
    |sed "s,/usr,$HOME," > ~/.mozilla/native-messaging-hosts/com.ugetdm.firefox.json

In den entsprechenden AppArmor-Profilen für Firefox muss dann die Zeile

@{HOME}/bin/uget-integrator Ux,

hinzugefügt und der Zugriff auf ~/Downloads kann entzogen werden.

Sonstiges