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.