+++ /dev/null
-#!/bin/bash
-
-if [ "$1" ]; then
- case $1 in
- "install") echo "Installation $(basename $0) addon...";
- if [ ! -d /usr/share/immudex-addons ]; then
- sudo mkdir /usr/share/immudex-addons;
- fi
- cat >> $(basename $0)_installer << EOF
-# Here put code for installation addon.
-EOF
- bash $(basename $0)_installer;
- if [ $? -eq 0 ]; then
- rm $(basename $0)_installer;
- echo $(basename $0) | sudo tee -a /usr/share/immudex-addons/installed-addons;
- echo "Installation $(basename $0) addon...[ OK ]";
- fi;;
- "remove") echo "Removing $(basename $0) addon...";
- cat >> $(basename $0)_uninstaller << EOF
-# Here put code for remove addon.
-EOF
- bash $(basename $0)_uninstaller;
- if [ $? -eq 0 ]; then
- rm $(basename $0)_uninstaller;
- sudo sed -i "s/$(basename $0)//g" /usr/share/immudex-addons/installed-addons;
- echo "Removing $(basename $0) addon...[ OK ]";
- fi;;
- esac
-else
- echo "Internal error: action must be given.";
- exit 1;
-fi
+++ /dev/null
-1. Instalacja debiana, jako systemu bazowego do budowania immudex. System nie
- musi posiadać środowiska graficznego.
-
-2. Instalacja oprogramowania niezbędnego do budowania:
- - sudo apt install debootstrap squashfs-tools xorriso isolinux syslinux-efi
- grub-pc-bin grub-efi-amd64-bin mtools dosfstools
-
-3. Utworzenie katalogu dla budowania immudex
- - mkdir immudex
-
-4. Pobranie pakietów rdzennych:
- - sudo /sbin/debootstrap (--arch=i386) --arch=amd64 bullseye ~/immudex/chroot http://ftp.icm.edu.pl/debian
-
-5. Zmiana katalogu głównego, na katalog bazowy immudex.
- - sudo chroot ~/immudex/chroot /bin/bash
-
-6. Pobranie list pakietów:
- - (chroot)# apt update
-
-7. Instalacją jądro, programu typu init oraz pakietu live-boot
- - (chroot)# apt install --no-install-recommends linux-image-(686-pae/amd64) live-boot systemd-sysv -y
-
-8. Instalacja pakietów lokalizacyjnych:
- - (chroot)# apt install tzdata locales keyboard-configuration console-setup -y
- Na pytania odpowiadamy domyślnie, zachwilę będziemy te pakiety po kolei
- reconfigurować.
-
-9. Rekonfiguracja pakietów lokalizacyjnych
- - (chroot)# dpkg-reconfigure tzdata #Europe/Warsaw
- - (chroot)# dpkg-reconfigure locales #pl_PL.UTF-8 UTF-8
- - (chroot)# dpkg-reconfigure keyboard-configuration
- #Optymalne ustawienia dla języka polskiego
- - (chroot)# dpkg-reconfigure console-setup #latin2, reszta domyślnie
-
-10. Instalacja środowiska graficznego wraz z oprogramowaniem.
- - (chroot)# tasksel
- * Debian desktop enviroment
- * Xfce
-
-11. Instalacja pakietów dodatkowych.
- - (chroot)# sudo apt install git vim firejail ufw cryptsetup lsof extlinux grub-efi-amd64 efibootmgr -y
-
-12. Instalacja konfiguracji XFCE - xfcedebian.
- - (chroot)# cd
- (chroot)# git clone https://github.com/xf0r3m/xfcedebian.git
- (chroot)# cd xfcedebian
- (chroot)# chmod +x install.sh
- (chroot)# ./install.sh
-
-13. Instalacja katalogu .mozilla (czysty profil z zainstalowanym uBlock Orign).
- - (chroot)# cd
- (chroot)# git clone https://github.com/xf0r3m/immudex.git
- (chroot)# cd immudex
- (chroot)# tar -xzvf mozilla.tgz -C /etc/skel
- (chroot)# chown -R root:root /etc/skel/.mozilla
-
-14. Instalacja instalatora oraz skryptu protected.
- - (chroot)# cp immudex_install protected /usr/local/bin
- (chroot)# chmod +x /usr/local/bin/{immudex_install,protected}
-
-15. Ustawienie skryptu protected w aktywatorze Mozilla Firefox.
- - (chroot)# vim /etc/skel/.config/xfce4/panel/launcher-19/16608166085.desktop
- Zmieniamy w nim poniższe linie:
- - Name=(Protected) Firefox ESR
- - Name[pl]=(Protected) Firefox ESR
- - Exec=/usr/local/bin/protected firefox
- Zapisujemy zmiany, zamykamy edytor
-
-16. Konfiguracja zapory sieciowej.
- - (chroot)# ufw default deny incoming
- (chroot)# ufw default allow outgoing
- (chroot)# ufw enable
-
-17. Utworzenie użytkowników i ustawienie hasła dla użytkownika root
- - (chroot)# useradd -m -s /bin/bash xf0r3m
- (chroot)# passwd xf0r3m
- (chroot)# useradd -m -s /bin/bash user
- (chroot)# passwd user #user1
- (chroot)# echo "xf0r3m ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
- (chroot)# echo "user ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
- (chroot)# passwd #toor
- (chroot)# usermod -aG libvirt,libvirt-qemu xf0r3m
- (chroot)# usermod -aG libvirt,libvirt-qemu user
-
-18. Ustawienie nazwy hosta na immudex.
- - (chroot)# echo "immudex" > /etc/hostname
- (chroot)# echo "127.0.1.1 immudex" >> /etc/hosts
-
-19. Aktualizacja zainstalowanych dotyczas pakietów.
- - W pliku repozytorium (/etc/apt/sources.list) zapisujemy poniższe linie:
- deb http://ftp.icm.edu.pl/pub/Linux/debian/ bullseye main
- deb-src http://ftp.icm.edu.pl/pub/Linux/debian/ bullseye main
-
- deb http://security.debian.org/debian-security bullseye-security main
- deb-src http://security.debian.org/debian-security bullseye-security main
-
- deb http://ftp.icm.edu.pl/pub/Linux/debian/ bullseye-updates main
- deb-src http://ftp.icm.edu.pl/pub/Linux/debian/ bullseye-updates main
- (chroot)# apt update
- (chroot)# apt upgrade
-
-
-20. Czyszczenie.
- - (chroot)# cd
- (chroot)# rm -rf immudex/
- (chroot)# rm -rf xfcedebian/
- (chroot)# apt-get clean
- (chroot)# echo > ~/.bash_history
- (chroot)# history -c
- Po wykonaniu tej czynności możemy opuścić ten katalog (Ctrl+d)
-
-21. Utworzenie niezbędnej struktury katalogowej:
- - mkdir -p ~/immudex/{staging/{EFI/boot,boot/grub/x86_64-efi,isolinux,live},tmp}
-
-22. Utworznie archiwun squashfs z obrazem systemu
- - sudo mksquashfs ~/immudex/chroot ~/immudex/staging/live/filesystem.squashfs -e boot
-
-23. Skopiowanie plików jądra oraz initrd.
- - cp ~/immudex/chroot/boot/vmlinuz-* ~/immudex/staging/live/vmlinuz
- cp ~/immudex/chroot/boot/initrd-* ~/immudex/staging/live/initrd
- * - oznacza sygnaturę najnowszej wersji tych plików.
-
-24. Skopiowanie plików isolinux oraz grub.
- - cd ~/Pobrane
- git clone https://github.com/xf0r3m/immudex.git
- cp immudex/isolinux/(arch)/* ~/immudex/staging/isolinux
- cp immudex/grub/(arch)/* ~/immudex/staging/boot/grub
- (arch) = zależność wobe architektury (i386/amd64).
-
-25. Tworzenie pliku grub-standalone.cfg
- - Tworzymy plik ~/immudex/tmp/grub-standalone.cfg
- W tym pliku zapisujemy:
- search --set=root --file /DEBIAN
- set prefix=($root)/boot/grub
- configfile /boot/grub/grub.cfg
-
-26. Utworzenie pustego pliku DEBIAN
- - touch ~/immudex/staging/DEBIAN
-
-27. Skopiowanie plików isolinux
- - cp /usr/lib/ISOLINUX/isolinux.bin ~/immudex/staging/isolinux
- cp /usr/lib/syslinux/modules/bios/* ~/immudex/staging/isolinux
-
-28. Skopiowanie niezbędnych plików GRUB
- - cp -r /usr/lib/grub/x86_64-efi/* ~/immudex/staging/boot/grub/x86_64-efi
-
-29. Utworzenie pliku programu ładującego
- - grub-mkstandalone --format=x86_64-efi --output=/home/user/immudex/staging/EFI/boot/bootx64.efi --locales="" --fonts="" "boot/grub/grub.cfg=/home/user/immudex/tmp/grub-standalone.cfg"
-
-30. Utworzenie partycji EFI dla obrazu.
- - cd ~/immudex/staging/boot/grub
- dd if=/dev/zero bs=1M of=efiboot.img count=20
- sudo mkfs.vfat efiboot.img
- sudo mmd -i efiboot.img efi efi/boot
- sudo mcopy -vi efiboot.img /home/user/immudex/staging/EFI/boot/bootx64.efi ::efi/boot
-
-31. Tworzenie obrazu płyty.
- - cd
- xorriso -as mkisofs -iso-level 3 -o "immudex(64/32).iso" -full-iso9660-filenames -volid "immudex(64/32)" -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin -eltorito-boot isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table --eltorito-catalog isolinux/isolinux.cat -eltorito-alt-boot -e /boot/grub/efiboot.img -no-emul-boot -isohybrid-gpt-basdat -append_partition 2 0xef /home/user/immudex/staging/boot/grub/efiboot.img /home/user/immudex/staging
+++ /dev/null
-[Desktop Entry]
-Encoding=UTF-8
-Version=0.9.4
-Type=Application
-Name=Notifier - distro
-Comment=Notifier - distro
-Exec=/usr/local/bin/immudex-notifier distro
-OnlyShowIn=XFCE;
-RunHook=0
-StartupNotify=false
-Terminal=false
-Hidden=false
-
+++ /dev/null
-[Desktop Entry]
-Encoding=UTF-8
-Version=0.9.4
-Type=Application
-Name=Notifier - packages
-Comment=Notifier - packages
-Exec=/usr/local/bin/immudex-notifier packages
-OnlyShowIn=XFCE;
-RunHook=0
-StartupNotify=false
-Terminal=false
-Hidden=false
-
+++ /dev/null
-[Desktop Entry]
-Name=LibreWolf
-Name[pl]=LibreWolf
-Comment=Secure the World Wide Web Browsing
-Comment[pl]=Bezpieczene przeglądanie stron WWW
-GenericName=Secure Web Browser
-X-GNOME-FullName=LibreWolf Web Browser
-X-GNOME-FullName[pl]=Przeglądarka WWW LibreWolf
-Exec=/usr/lib/librewolf/librewolf %u
-Terminal=false
-X-MultipleArgs=false
-Type=Application
-Icon=/usr/lib/librewolf/browser/chrome/icons/default/default128.png
-Categories=Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;
-StartupWMClass=Firefox-esr
-StartupNotify=true
+++ /dev/null
-[Default Applications]
-image/png=org.xfce.ristretto.desktop
-image/jpeg=org.xfce.ristretto.desktop
-image/avif=org.xfce.ristretto.desktop
-image/bmp=org.xfce.ristretto.desktop
-image/gif=org.xfce.ristretto.desktop
-image/svg+xml=org.xfce.ristretto.desktop
-image/tiff=org.xfce.ristretto.desktop
-image/heif=org.xfce.ristretto.desktop
-image/webp=org.xfce.ristretto.desktop
-inode/directory=thunar.desktop
-inode/symlink=thunar.desktop
-audio/ac3=vlc.desktop
-audio/flac=qmmp-1.desktop
-audio/amr-wb=mpv.desktop
-audio/aac=qmmp-1.desktop
-audio/midi=qmmp-1.desktop
-audio/mp2=qmmp-1.desktop
-audio/mp4=vlc.desktop
-audio/mpeg=qmmp-1.desktop
-audio/ogg=qmmp-1.desktop
-audio/x-flac+ogg=qmmp-1.desktop
-audio/x-mod=qmmp-1.desktop
-audio/x-ms-wma=qmmp-1.desktop
-audio/x-musepack=qmmp-1.desktop
-audio/x-s3m=qmmp-1.desktop
-audio/x-vorbis+ogg=qmmp-1.desktop
-x-content/audio-cdda=vlc.desktop
-audio/x-xm=qmmp-1.desktop
-video/3gpp=vlc.desktop
-video/3gpp2=vlc.desktop
-video/dv=vlc.desktop
-video/mp2t=vlc.desktop
-video/mp4=vlc.desktop
-video/mpeg=vlc.desktop
-video/ogg=vlc.desktop
-video/quicktime=vlc.desktop
-video/vnd.mpegurl=vlc.desktop
-video/vnd.rn-realvideo=vlc.desktop
-video/webm=vlc.desktop
-video/x-anim=vlc.desktop
-video/x-flic=vlc.desktop
-video/x-flv=vlc.desktop
-video/x-matroska=vlc.desktop
-video/x-matroska-3d=vlc.desktop
-video/x-ms-wmv=vlc.desktop
-video/x-msvideo=vlc.desktop
-video/x-ogm+ogg=vlc.desktop
-video/x-nsv=vlc.desktop
-video/x-theora+ogg=vlc.desktop
-x-content/video-dvd=vlc.desktop
-x-content/video-svcd=vlc.desktop
-x-content/video-vcd=vlc.desktop
-audio/x-aiff=vlc.desktop
-
-[Added Associations]
-image/png=org.xfce.ristretto.desktop;
-image/jpeg=org.xfce.ristretto.desktop;
-image/avif=org.xfce.ristretto.desktop;
-image/bmp=org.xfce.ristretto.desktop;
-image/gif=org.xfce.ristretto.desktop;
-image/svg+xml=org.xfce.ristretto.desktop;
-image/tiff=org.xfce.ristretto.desktop;
-image/heif=org.xfce.ristretto.desktop;
-image/webp=org.xfce.ristretto.desktop;
-inode/directory=thunar.desktop;
-inode/symlink=thunar.desktop;
-audio/ac3=vlc.desktop;
-audio/flac=qmmp-1.desktop;
-audio/amr-wb=mpv.desktop;
-audio/aac=qmmp-1.desktop;
-audio/midi=qmmp-1.desktop;
-audio/mp2=qmmp-1.desktop;
-audio/mp4=vlc.desktop;
-audio/mpeg=qmmp-1.desktop;
-audio/ogg=qmmp-1.desktop;
-audio/x-flac+ogg=qmmp-1.desktop;
-audio/x-mod=qmmp-1.desktop;
-audio/x-ms-wma=qmmp-1.desktop;
-audio/x-musepack=qmmp-1.desktop;
-audio/x-s3m=qmmp-1.desktop;
-audio/x-vorbis+ogg=qmmp-1.desktop;
-x-content/audio-cdda=vlc.desktop;
-audio/x-xm=qmmp-1.desktop;
-video/3gpp=vlc.desktop;
-video/3gpp2=vlc.desktop;
-video/dv=vlc.desktop;
-video/mp2t=vlc.desktop;
-video/mp4=vlc.desktop;
-video/mpeg=vlc.desktop;
-video/ogg=vlc.desktop;
-video/quicktime=vlc.desktop;
-video/vnd.mpegurl=vlc.desktop;
-video/vnd.rn-realvideo=vlc.desktop;
-video/webm=vlc.desktop;
-video/x-anim=vlc.desktop;
-video/x-flic=vlc.desktop;
-video/x-flv=vlc.desktop;
-video/x-matroska=vlc.desktop;
-video/x-matroska-3d=vlc.desktop;
-video/x-ms-wmv=vlc.desktop;
-video/x-msvideo=vlc.desktop;
-video/x-ogm+ogg=vlc.desktop;
-video/x-nsv=vlc.desktop;
-video/x-theora+ogg=vlc.desktop;
-x-content/video-dvd=vlc.desktop;
-x-content/video-svcd=vlc.desktop;
-x-content/video-vcd=vlc.desktop;
-audio/x-aiff=vlc.desktop;
+++ /dev/null
-[MIME Cache]
-application/clarisworks=libreoffice-calc.desktop;libreoffice-draw.desktop;libreoffice-writer.desktop;
-application/csv=libreoffice-calc.desktop;
-application/epub+zip=atril.desktop;xarchiver.desktop;
-application/excel=libreoffice-calc.desktop;
-application/gzip=xarchiver.desktop;
-application/macwriteii=libreoffice-writer.desktop;
-application/mathml+xml=libreoffice-math.desktop;
-application/mpeg4-iod=vlc.desktop;
-application/mpeg4-muxcodetable=vlc.desktop;
-application/msexcel=libreoffice-calc.desktop;
-application/mspowerpoint=libreoffice-impress.desktop;
-application/msword=libreoffice-writer.desktop;
-application/mxf=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-application/ogg=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-application/oxps=atril.desktop;
-application/pdf=atril.desktop;gimp.desktop;libreoffice-draw.desktop;
-application/pkcs10=gcr-viewer.desktop;
-application/pkcs10+pem=gcr-viewer.desktop;
-application/pkcs12=gcr-viewer.desktop;
-application/pkcs12+pem=gcr-viewer.desktop;
-application/pkcs7-mime=gcr-viewer.desktop;
-application/pkcs7-mime+pem=gcr-viewer.desktop;
-application/pkcs8=gcr-viewer.desktop;
-application/pkcs8+pem=gcr-viewer.desktop;
-application/pkix-cert=gcr-viewer.desktop;
-application/pkix-cert+pem=gcr-viewer.desktop;
-application/pkix-crl=gcr-viewer.desktop;
-application/pkix-crl+pem=gcr-viewer.desktop;
-application/postscript=atril.desktop;gimp.desktop;
-application/prs.plucker=libreoffice-writer.desktop;
-application/ram=org.xfce.Parole.desktop;vlc.desktop;
-application/rdf+xml=firefox-esr.desktop;
-application/rss+xml=firefox-esr.desktop;
-application/rtf=libreoffice-writer.desktop;
-application/sdp=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-application/smil=mpv.desktop;org.xfce.Parole.desktop;
-application/smil+xml=org.xfce.Parole.desktop;
-application/streamingmedia=mpv.desktop;
-application/tab-separated-values=libreoffice-calc.desktop;
-application/vnd-comicbook.rar=atril.desktop;
-application/vnd.android.package-archive=xarchiver.desktop;
-application/vnd.apple.mpegurl=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-application/vnd.comicbook+zip=atril.desktop;xarchiver.desktop;
-application/vnd.corel-draw=libreoffice-draw.desktop;
-application/vnd.debian.binary-package=xarchiver.desktop;
-application/vnd.lotus-1-2-3=libreoffice-calc.desktop;
-application/vnd.lotus-wordpro=libreoffice-writer.desktop;
-application/vnd.mozilla.xul+xml=firefox-esr.desktop;
-application/vnd.ms-asf=mpv.desktop;vlc.desktop;
-application/vnd.ms-cab-compressed=xarchiver.desktop;
-application/vnd.ms-excel=libreoffice-calc.desktop;
-application/vnd.ms-excel.sheet.binary.macroEnabled.12=libreoffice-calc.desktop;
-application/vnd.ms-excel.sheet.macroEnabled.12=libreoffice-calc.desktop;
-application/vnd.ms-excel.template.macroEnabled.12=libreoffice-calc.desktop;
-application/vnd.ms-powerpoint=libreoffice-impress.desktop;
-application/vnd.ms-powerpoint.presentation.macroEnabled.12=libreoffice-impress.desktop;
-application/vnd.ms-powerpoint.slideshow.macroEnabled.12=libreoffice-impress.desktop;
-application/vnd.ms-powerpoint.template.macroEnabled.12=libreoffice-impress.desktop;
-application/vnd.ms-publisher=libreoffice-draw.desktop;
-application/vnd.ms-word=libreoffice-writer.desktop;
-application/vnd.ms-word.document.macroEnabled.12=libreoffice-writer.desktop;
-application/vnd.ms-word.template.macroEnabled.12=libreoffice-writer.desktop;
-application/vnd.ms-works=libreoffice-calc.desktop;libreoffice-writer.desktop;
-application/vnd.ms-wpl=org.xfce.Parole.desktop;vlc.desktop;
-application/vnd.ms-xpsdocument=atril.desktop;
-application/vnd.oasis.opendocument.chart=libreoffice-calc.desktop;
-application/vnd.oasis.opendocument.chart-template=libreoffice-calc.desktop;
-application/vnd.oasis.opendocument.formula=libreoffice-math.desktop;
-application/vnd.oasis.opendocument.formula-template=libreoffice-math.desktop;
-application/vnd.oasis.opendocument.graphics=libreoffice-draw.desktop;
-application/vnd.oasis.opendocument.graphics-flat-xml=libreoffice-draw.desktop;libreoffice-xsltfilter.desktop;
-application/vnd.oasis.opendocument.graphics-template=libreoffice-draw.desktop;
-application/vnd.oasis.opendocument.presentation=libreoffice-impress.desktop;
-application/vnd.oasis.opendocument.presentation-flat-xml=libreoffice-impress.desktop;libreoffice-xsltfilter.desktop;
-application/vnd.oasis.opendocument.presentation-template=libreoffice-impress.desktop;
-application/vnd.oasis.opendocument.spreadsheet=libreoffice-calc.desktop;
-application/vnd.oasis.opendocument.spreadsheet-flat-xml=libreoffice-calc.desktop;libreoffice-xsltfilter.desktop;
-application/vnd.oasis.opendocument.spreadsheet-template=libreoffice-calc.desktop;
-application/vnd.oasis.opendocument.text=libreoffice-writer.desktop;
-application/vnd.oasis.opendocument.text-flat-xml=libreoffice-writer.desktop;libreoffice-xsltfilter.desktop;
-application/vnd.oasis.opendocument.text-master=libreoffice-writer.desktop;
-application/vnd.oasis.opendocument.text-master-template=libreoffice-writer.desktop;
-application/vnd.oasis.opendocument.text-template=libreoffice-writer.desktop;
-application/vnd.oasis.opendocument.text-web=libreoffice-writer.desktop;
-application/vnd.openofficeorg.extension=libreoffice-startcenter.desktop;xarchiver.desktop;
-application/vnd.openxmlformats-officedocument.presentationml.presentation=libreoffice-impress.desktop;
-application/vnd.openxmlformats-officedocument.presentationml.slide=libreoffice-impress.desktop;
-application/vnd.openxmlformats-officedocument.presentationml.slideshow=libreoffice-impress.desktop;
-application/vnd.openxmlformats-officedocument.presentationml.template=libreoffice-impress.desktop;
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet=libreoffice-calc.desktop;
-application/vnd.openxmlformats-officedocument.spreadsheetml.template=libreoffice-calc.desktop;
-application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
-application/vnd.openxmlformats-officedocument.wordprocessingml.template=libreoffice-writer.desktop;
-application/vnd.palm=libreoffice-writer.desktop;
-application/vnd.rar=xarchiver.desktop;
-application/vnd.rn-realmedia=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-application/vnd.rn-realmedia-vbr=mpv.desktop;vlc.desktop;
-application/vnd.snap=xarchiver.desktop;
-application/vnd.squashfs=xarchiver.desktop;
-application/vnd.stardivision.writer-global=libreoffice-writer.desktop;
-application/vnd.sun.xml.calc=libreoffice-calc.desktop;
-application/vnd.sun.xml.calc.template=libreoffice-calc.desktop;
-application/vnd.sun.xml.draw=libreoffice-draw.desktop;
-application/vnd.sun.xml.draw.template=libreoffice-draw.desktop;
-application/vnd.sun.xml.impress=libreoffice-impress.desktop;
-application/vnd.sun.xml.impress.template=libreoffice-impress.desktop;
-application/vnd.sun.xml.math=libreoffice-math.desktop;
-application/vnd.sun.xml.writer=libreoffice-writer.desktop;
-application/vnd.sun.xml.writer.global=libreoffice-writer.desktop;
-application/vnd.sun.xml.writer.template=libreoffice-writer.desktop;
-application/vnd.visio=libreoffice-draw.desktop;
-application/vnd.wordperfect=libreoffice-writer.desktop;
-application/wordperfect=libreoffice-writer.desktop;
-application/x-123=libreoffice-calc.desktop;
-application/x-7z-compressed=xarchiver.desktop;
-application/x-abiword=libreoffice-writer.desktop;
-application/x-aportisdoc=libreoffice-writer.desktop;
-application/x-archive=xarchiver.desktop;
-application/x-arj=xarchiver.desktop;
-application/x-bzdvi=atril.desktop;
-application/x-bzip=xarchiver.desktop;
-application/x-bzip-compressed-tar=xarchiver.desktop;
-application/x-bzpdf=atril.desktop;
-application/x-bzpostscript=atril.desktop;
-application/x-cb7=atril.desktop;
-application/x-cbr=atril.desktop;
-application/x-cbt=atril.desktop;
-application/x-cbz=atril.desktop;
-application/x-cd-image=vlc.desktop;xarchiver.desktop;xfburn.desktop;
-application/x-compress=xarchiver.desktop;
-application/x-compressed-tar=xarchiver.desktop;
-application/x-cpio=xarchiver.desktop;
-application/x-cpio-compressed=xarchiver.desktop;
-application/x-cue=mpv.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;
-application/x-dbase=libreoffice-calc.desktop;
-application/x-dbf=libreoffice-calc.desktop;
-application/x-desktop=panel-desktop-handler.desktop;
-application/x-doc=libreoffice-writer.desktop;
-application/x-dos_ms_excel=libreoffice-calc.desktop;
-application/x-dvi=atril.desktop;
-application/x-excel=libreoffice-calc.desktop;
-application/x-extension-m4a=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-application/x-extension-mp4=vlc.desktop;
-application/x-extension-txt=libreoffice-writer.desktop;
-application/x-fictionbook+xml=libreoffice-writer.desktop;
-application/x-flac=io.github.quodlibet.QuodLibet.desktop;org.xfce.Parole.desktop;vlc.desktop;
-application/x-flash-video=org.xfce.Parole.desktop;vlc.desktop;
-application/x-gzdvi=atril.desktop;
-application/x-gzpdf=atril.desktop;
-application/x-gzpostscript=atril.desktop;
-application/x-hwp=libreoffice-writer.desktop;
-application/x-iwork-keynote-sffkey=libreoffice-impress.desktop;
-application/x-iwork-numbers-sffnumbers=libreoffice-calc.desktop;
-application/x-iwork-pages-sffpages=libreoffice-writer.desktop;
-application/x-java-archive=xarchiver.desktop;
-application/x-lha=xarchiver.desktop;
-application/x-lrzip=xarchiver.desktop;
-application/x-lrzip-compressed-tar=xarchiver.desktop;
-application/x-lz4=xarchiver.desktop;
-application/x-lz4-compressed-tar=xarchiver.desktop;
-application/x-lzip=xarchiver.desktop;
-application/x-lzip-compressed-tar=xarchiver.desktop;
-application/x-lzma=xarchiver.desktop;
-application/x-lzma-compressed-tar=xarchiver.desktop;
-application/x-lzop=xarchiver.desktop;
-application/x-matroska=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-application/x-mpegurl=mpv.desktop;
-application/x-ms-excel=libreoffice-calc.desktop;
-application/x-msexcel=libreoffice-calc.desktop;
-application/x-mswrite=libreoffice-writer.desktop;
-application/x-netshow-channel=org.xfce.Parole.desktop;
-application/x-ogg=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-application/x-ogm=mpv.desktop;
-application/x-ogm-audio=mpv.desktop;
-application/x-ogm-video=mpv.desktop;
-application/x-pagemaker=libreoffice-draw.desktop;
-application/x-pem-file=gcr-viewer.desktop;
-application/x-pem-key=gcr-viewer.desktop;
-application/x-pkcs12=gcr-viewer.desktop;
-application/x-pkcs7-certificates=gcr-viewer.desktop;
-application/x-quattropro=libreoffice-calc.desktop;
-application/x-quicktime-media-link=org.xfce.Parole.desktop;vlc.desktop;
-application/x-quicktimeplayer=org.xfce.Parole.desktop;vlc.desktop;
-application/x-rar=xarchiver.desktop;
-application/x-remmina=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
-application/x-rpm=xarchiver.desktop;
-application/x-shellscript=gvim.desktop;vim.desktop;
-application/x-shockwave-flash=vlc.desktop;
-application/x-shorten=mpv.desktop;org.xfce.Parole.desktop;
-application/x-smil=mpv.desktop;org.xfce.Parole.desktop;
-application/x-sony-bbeb=libreoffice-writer.desktop;
-application/x-source-rpm=xarchiver.desktop;
-application/x-spkac=gcr-viewer.desktop;
-application/x-spkac+base64=gcr-viewer.desktop;
-application/x-starcalc=libreoffice-calc.desktop;
-application/x-stardraw=libreoffice-draw.desktop;
-application/x-starwriter=libreoffice-writer.desktop;
-application/x-streamingmedia=mpv.desktop;
-application/x-t602=libreoffice-writer.desktop;
-application/x-tar=xarchiver.desktop;
-application/x-tarz=xarchiver.desktop;
-application/x-tzo=xarchiver.desktop;
-application/x-virt-viewer=remote-viewer.desktop;
-application/x-wpg=libreoffice-draw.desktop;
-application/x-x509-ca-cert=gcr-viewer.desktop;
-application/x-x509-user-cert=gcr-viewer.desktop;
-application/x-xpinstall=xarchiver.desktop;
-application/x-xpraconfig=xpra-launcher.desktop;
-application/x-xz=xarchiver.desktop;
-application/x-xz-compressed-tar=xarchiver.desktop;
-application/x-xzpdf=atril.desktop;
-application/x-zstd-compressed-tar=xarchiver.desktop;
-application/xhtml+xml=firefox-esr.desktop;
-application/xml=firefox-esr.desktop;
-application/xspf+xml=org.xfce.Parole.desktop;vlc.desktop;
-application/zip=xarchiver.desktop;
-application/zstd=xarchiver.desktop;
-audio/3gpp=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/3gpp2=mpv.desktop;vlc.desktop;
-audio/AMR=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/AMR-WB=org.xfce.Parole.desktop;vlc.desktop;
-audio/aac=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/ac3=vlc.desktop;
-audio/aiff=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;
-audio/amr-wb=mpv.desktop;
-audio/basic=org.xfce.Parole.desktop;vlc.desktop;
-audio/dsf=io.github.quodlibet.QuodLibet.desktop;
-audio/dv=mpv.desktop;vlc.desktop;
-audio/eac3=mpv.desktop;vlc.desktop;
-audio/flac=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/m3u=mpv.desktop;
-audio/m4a=mpv.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/midi=qmmp-1.desktop;vlc.desktop;
-audio/mp1=mpv.desktop;vlc.desktop;
-audio/mp2=qmmp-1.desktop;vlc.desktop;
-audio/mp3=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/mp4=vlc.desktop;
-audio/mpeg=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/mpeg2=mpv.desktop;
-audio/mpeg3=mpv.desktop;
-audio/mpeg4=io.github.quodlibet.QuodLibet.desktop;
-audio/mpegurl=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/mpg=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;vlc.desktop;
-audio/musepack=mpv.desktop;
-audio/ogg=qmmp-1.desktop;vlc.desktop;
-audio/opus=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/prs.sid=org.xfce.Parole.desktop;
-audio/rn-mpeg=mpv.desktop;
-audio/scpls=mpv.desktop;vlc.desktop;
-audio/vnd.dolby.heaac.1=mpv.desktop;vlc.desktop;
-audio/vnd.dolby.heaac.2=mpv.desktop;vlc.desktop;
-audio/vnd.dolby.mlp=vlc.desktop;
-audio/vnd.dts=mpv.desktop;vlc.desktop;
-audio/vnd.dts.hd=mpv.desktop;vlc.desktop;
-audio/vnd.rn-realaudio=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/vorbis=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;vlc.desktop;
-audio/wav=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;vlc.desktop;
-audio/wave=io.github.quodlibet.QuodLibet.desktop;
-audio/webm=mpv.desktop;vlc.desktop;
-audio/x-aac=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-adpcm=mpv.desktop;vlc.desktop;
-audio/x-aiff=vlc.desktop;
-audio/x-ape=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-ffmpeg-shorten=qmmp-1.desktop;qmmp-enqueue-1.desktop;
-audio/x-flac=qmmp-1.desktop;vlc.desktop;
-audio/x-gsm=org.xfce.Parole.desktop;vlc.desktop;
-audio/x-it=org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-m4a=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-matroska=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-midi=io.github.quodlibet.QuodLibet.desktop;
-audio/x-mod=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-mp1=mpv.desktop;vlc.desktop;
-audio/x-mp2=mpv.desktop;vlc.desktop;
-audio/x-mp3=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-mpc=io.github.quodlibet.QuodLibet.desktop;
-audio/x-mpeg=io.github.quodlibet.QuodLibet.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-mpegurl=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-mpg=mpv.desktop;vlc.desktop;
-audio/x-ms-asf=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-ms-asx=org.xfce.Parole.desktop;vlc.desktop;
-audio/x-ms-wax=org.xfce.Parole.desktop;vlc.desktop;
-audio/x-ms-wma=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-ms-wmv=io.github.quodlibet.QuodLibet.desktop;
-audio/x-musepack=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-oggflac=io.github.quodlibet.QuodLibet.desktop;
-audio/x-pls=mpv.desktop;
-audio/x-pn-aiff=org.xfce.Parole.desktop;vlc.desktop;
-audio/x-pn-au=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-pn-realaudio=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-pn-realaudio-plugin=org.xfce.Parole.desktop;vlc.desktop;
-audio/x-pn-wav=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-pn-windows-acm=org.xfce.Parole.desktop;vlc.desktop;
-audio/x-pn-windows-pcm=mpv.desktop;
-audio/x-real-audio=org.xfce.Parole.desktop;vlc.desktop;
-audio/x-realaudio=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-s3m=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-sbc=org.xfce.Parole.desktop;
-audio/x-scpls=mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-shorten=mpv.desktop;vlc.desktop;
-audio/x-speex=io.github.quodlibet.QuodLibet.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-stm=org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;
-audio/x-tta=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-vorbis=mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-vorbis+ogg=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-wav=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;vlc.desktop;
-audio/x-wavpack=io.github.quodlibet.QuodLibet.desktop;mpv.desktop;org.xfce.Parole.desktop;qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-audio/x-wma=io.github.quodlibet.QuodLibet.desktop;
-audio/x-xm=qmmp-1.desktop;qmmp-enqueue-1.desktop;vlc.desktop;
-image/*=atril.desktop;
-image/avif=org.xfce.ristretto.desktop;
-image/bmp=org.xfce.ristretto.desktop;
-image/g3fax=gimp.desktop;
-image/gif=org.xfce.ristretto.desktop;
-image/heic=gimp.desktop;
-image/heif=org.xfce.ristretto.desktop;
-image/jp2=gimp.desktop;
-image/jpeg=org.xfce.ristretto.desktop;
-image/jxl=gimp.desktop;
-image/png=org.xfce.ristretto.desktop;
-image/svg+xml=org.xfce.ristretto.desktop;
-image/tiff=org.xfce.ristretto.desktop;
-image/vnd.djvu=atril.desktop;
-image/vnd.djvu+multipage=atril.desktop;
-image/vnd.rn-realpix=org.xfce.Parole.desktop;vlc.desktop;
-image/webp=org.xfce.ristretto.desktop;
-image/x-bzeps=atril.desktop;
-image/x-compressed-xcf=gimp.desktop;
-image/x-emf=libreoffice-draw.desktop;
-image/x-eps=atril.desktop;
-image/x-exr=gimp.desktop;
-image/x-fits=gimp.desktop;
-image/x-freehand=libreoffice-draw.desktop;
-image/x-gimp-gbr=gimp.desktop;
-image/x-gimp-gih=gimp.desktop;
-image/x-gimp-pat=gimp.desktop;
-image/x-gzeps=atril.desktop;
-image/x-icon=gimp.desktop;
-image/x-pcx=gimp.desktop;
-image/x-pict=org.xfce.Parole.desktop;
-image/x-pixmap=org.xfce.ristretto.desktop;
-image/x-portable-anymap=gimp.desktop;
-image/x-portable-bitmap=gimp.desktop;
-image/x-portable-graymap=gimp.desktop;
-image/x-portable-pixmap=gimp.desktop;
-image/x-psd=gimp.desktop;
-image/x-psp=gimp.desktop;
-image/x-sgi=gimp.desktop;
-image/x-sun-raster=gimp.desktop;
-image/x-tga=gimp.desktop;
-image/x-webp=gimp.desktop;
-image/x-wmf=gimp.desktop;libreoffice-draw.desktop;
-image/x-xbitmap=gimp.desktop;
-image/x-xcf=gimp.desktop;
-image/x-xcursor=gimp.desktop;
-image/x-xpixmap=gimp.desktop;org.xfce.ristretto.desktop;
-image/x-xwindowdump=gimp.desktop;
-inode/directory=thunar.desktop;
-misc/ultravox=org.xfce.Parole.desktop;vlc.desktop;
-text/comma-separated-values=libreoffice-calc.desktop;
-text/csv=libreoffice-calc.desktop;
-text/english=gvim.desktop;vim.desktop;
-text/google-video-pointer=org.xfce.Parole.desktop;vlc.desktop;
-text/html=firefox-esr.desktop;
-text/mathml=libreoffice-math.desktop;
-text/plain=gvim.desktop;libreoffice-writer.desktop;org.xfce.mousepad.desktop;vim.desktop;
-text/rtf=libreoffice-writer.desktop;
-text/spreadsheet=libreoffice-calc.desktop;
-text/tab-separated-values=libreoffice-calc.desktop;
-text/x-c=gvim.desktop;vim.desktop;
-text/x-c++=gvim.desktop;vim.desktop;
-text/x-c++hdr=gvim.desktop;vim.desktop;
-text/x-c++src=gvim.desktop;vim.desktop;
-text/x-chdr=gvim.desktop;vim.desktop;
-text/x-comma-separated-values=libreoffice-calc.desktop;
-text/x-csrc=gvim.desktop;vim.desktop;
-text/x-csv=libreoffice-calc.desktop;
-text/x-google-video-pointer=org.xfce.Parole.desktop;vlc.desktop;
-text/x-java=gvim.desktop;vim.desktop;
-text/x-makefile=gvim.desktop;vim.desktop;
-text/x-moc=gvim.desktop;vim.desktop;
-text/x-pascal=gvim.desktop;vim.desktop;
-text/x-tcl=gvim.desktop;vim.desktop;
-text/x-tex=gvim.desktop;vim.desktop;
-text/xml=firefox-esr.desktop;
-video/3gp=vlc.desktop;
-video/3gpp=vlc.desktop;
-video/3gpp2=vlc.desktop;
-video/avi=vlc.desktop;
-video/divx=vlc.desktop;
-video/dv=vlc.desktop;
-video/fli=vlc.desktop;
-video/flv=vlc.desktop;
-video/mkv=vlc.desktop;
-video/mp2t=vlc.desktop;
-video/mp4=vlc.desktop;
-video/mp4v-es=vlc.desktop;
-video/mpeg=vlc.desktop;
-video/mpeg-system=vlc.desktop;
-video/msvideo=vlc.desktop;
-video/ogg=vlc.desktop;
-video/quicktime=vlc.desktop;
-video/vivo=org.xfce.Parole.desktop;
-video/vnd.divx=vlc.desktop;
-video/vnd.mpegurl=vlc.desktop;
-video/vnd.rn-realvideo=vlc.desktop;
-video/vnd.vivo=org.xfce.Parole.desktop;
-video/webm=vlc.desktop;
-video/x-anim=vlc.desktop;
-video/x-avi=vlc.desktop;
-video/x-flc=vlc.desktop;
-video/x-fli=vlc.desktop;
-video/x-flic=mpv.desktop;org.xfce.Parole.desktop;
-video/x-flv=vlc.desktop;
-video/x-m4v=vlc.desktop;
-video/x-matroska=vlc.desktop;
-video/x-mpeg=vlc.desktop;
-video/x-mpeg-system=vlc.desktop;
-video/x-mpeg2=vlc.desktop;
-video/x-mpeg3=mpv.desktop;
-video/x-ms-afs=mpv.desktop;
-video/x-ms-asf=vlc.desktop;
-video/x-ms-asf-plugin=vlc.desktop;
-video/x-ms-asx=vlc.desktop;
-video/x-ms-wm=vlc.desktop;
-video/x-ms-wmv=vlc.desktop;
-video/x-ms-wmx=vlc.desktop;
-video/x-ms-wvx=vlc.desktop;
-video/x-ms-wvxvideo=mpv.desktop;
-video/x-msvideo=vlc.desktop;
-video/x-nsv=vlc.desktop;
-video/x-ogm=vlc.desktop;
-video/x-ogm+ogg=vlc.desktop;
-video/x-theora=vlc.desktop;
-video/x-theora+ogg=vlc.desktop;
-video/x-totem-stream=org.xfce.Parole.desktop;
-video/x-wmv=io.github.quodlibet.QuodLibet.desktop;
-x-content/audio-cdda=vlc.desktop;
-x-content/audio-player=vlc.desktop;
-x-content/blank-cd=xfburn.desktop;
-x-content/video-dvd=org.xfce.Parole.desktop;vlc.desktop;
-x-content/video-svcd=org.xfce.Parole.desktop;vlc.desktop;
-x-content/video-vcd=org.xfce.Parole.desktop;vlc.desktop;
-x-scheme-handler/http=firefox-esr.desktop;
-x-scheme-handler/https=firefox-esr.desktop;
-x-scheme-handler/icy=vlc.desktop;
-x-scheme-handler/icyx=vlc.desktop;
-x-scheme-handler/mailto=mutt.desktop;
-x-scheme-handler/mms=org.xfce.Parole.desktop;vlc.desktop;
-x-scheme-handler/mmsh=org.xfce.Parole.desktop;vlc.desktop;
-x-scheme-handler/ms-access=libreoffice-startcenter.desktop;
-x-scheme-handler/ms-excel=libreoffice-startcenter.desktop;
-x-scheme-handler/ms-powerpoint=libreoffice-startcenter.desktop;
-x-scheme-handler/ms-visio=libreoffice-startcenter.desktop;
-x-scheme-handler/ms-word=libreoffice-startcenter.desktop;
-x-scheme-handler/quodlibet=io.github.quodlibet.QuodLibet.desktop;
-x-scheme-handler/rdp=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
-x-scheme-handler/remmina=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
-x-scheme-handler/rtmp=vlc.desktop;
-x-scheme-handler/rtp=vlc.desktop;
-x-scheme-handler/rtsp=vlc.desktop;
-x-scheme-handler/spice=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;remote-viewer.desktop;
-x-scheme-handler/spice+tls=remote-viewer.desktop;
-x-scheme-handler/spice+unix=remote-viewer.desktop;
-x-scheme-handler/ssh=org.remmina.Remmina.desktop;
-x-scheme-handler/vnc=org.remmina.Remmina-file.desktop;org.remmina.Remmina.desktop;
-x-scheme-handler/vnd.libreoffice.cmis=libreoffice-startcenter.desktop;
-x-scheme-handler/vnd.libreoffice.command=libreoffice-startcenter.desktop;
-x-scheme-handler/vnd.sun.star.webdav=libreoffice-startcenter.desktop;
-x-scheme-handler/vnd.sun.star.webdavs=libreoffice-startcenter.desktop;
-x-scheme-handler/xpra=xpra.desktop;
-x-scheme-handler/xpra+ssh=xpra.desktop;
-x-scheme-handler/xpra+ssl=xpra.desktop;
-x-scheme-handler/xpra+tcp=xpra.desktop;
-x-scheme-handler/xpra+tls=xpra.desktop;
-x-scheme-handler/xpra+ws=xpra.desktop;
-x-scheme-handler/xpra+wss=xpra.desktop;
-x-scheme-handler/xpras=xpra.desktop;
+++ /dev/null
-Tryb EFI:
-
- 1. Dzielimy dysk na dwie partycje:
- - Partycja nr. 1: ok. 100M; typ: ef = efi; boot flag
- - Partycja nr. 2: ok. 4GB; typ: 83 = Linux;
-
- 2. Formatujemy partycje:
- - Partycja nr. 1: vfat -F32
- - Patrycja nr. 2: ext4
-
- 3. Montujemy partycję nr. 2 w katalogu /media.
-
- 4. Tworzymy strukturę katalogową:
- - mkdir -p /media/boot/efi
-
- 5. Montujemy partycję nr.1 w katalogu /media/boot/efi.
-
- 6. Montujemy obraz płyty immudex w katalogu /mnt.
-
- 7. Kopiujemy całą zawartość płyty do katalogu /media.
-
- 8. Usuwamy:
- - /media/isolinux
- - /media/EFI
-
- 9. Instalujemy GRUB-a:
- - sudo grub-install --target=x86_64-efi --root-directory=/media \
- --boot-directory=/media/boot --efi-directory=/media/boot/efi \
- --bootloader-id=debian --removable
-
- 10. Dodajemy wpis do firmware-u EFI komputera:
- - sudo efibootmgr -c -d /dev/vda -p 1 -L "Debian" -l '\EFI\BOOT\grubx64.efi'
-
-Tryb MBR:
-
- 1. Tworzymy na dysku jedną partycję:
- - Partycja nr. 1: ok. 4GB; typ: 83 = Linux;
-
- 2. Formatujemy partycję oraz montujemy w katalogu /media;
-
- 3. Tworzymy strukturę katalogowa:
- - mkdir -p /media/extlinux
-
- 4. Nadajemy partycji etykietę:
- - sudo e2label /dev/vda1 "immudex"
-
- 5. Instalujemy extlinux we wcześniej utworzonym katalogu:
- - sudo extlinux --install /media/extlinux
-
- 6. Montujemy plytę w katalogu /mnt.
-
- 7. Kopiujemy z płyty katalog live.
-
- 8. Instalacja extlinux w pierwszym sektorze dysku:
- - sudo dd if=/usr/lib/EXTLINUX/mbr.bin of=/dev/vda
-
- 9. Tworzymy plik konfiguracyjny extlinux
- - /media/extlinux/extlinux.conf
- default immudex
- label immudex
- kernel /live/vmlinuz
- append initrd=/live/initrd boot=live
+++ /dev/null
-[Desktop Entry]
-Name=LibreWolf (Firejailed)
-Name[pl]=LibreWolf (Firejailed)
-Comment=Secure the World Wide Web browsing
-Comment[pl]=Bezpieczne przeglądanie stron WWW
-GenericName=Web Browser
-GenericName[pl]=Przeglądarka WWW
-X-GNOME-FullName=LibreWolf Web Browser
-X-GNOME-FullName[pl]=Przeglądarka WWW LibreWolf
-Exec=/usr/local/bin/immudex-secured-firefox
-Terminal=false
-X-MultipleArgs=false
-Type=Application
-Icon=/usr/lib/librewolf/browser/chrome/icons/default/default128.png
-Categories=Network;WebBrowser;
-MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;x-scheme-handler/http;x-scheme-handler/https;
-StartupWMClass=Firefox-esr
-StartupNotify=true
-X-XFCE-Source=file:///usr/share/applications/librewolf.desktop
-Path=
+++ /dev/null
-#!/bin/bash
-
-if [ ! "$immudexAddonsPath" ]; then
- immudexAddonsPath=$(sudo find / -ipath '*immudex-testing/addons' -print | head -1);
- if [ ! "$immudexAddonsPath" ]; then
- if [ ! -x /usr/bin/git ]; then apt-get install git; fi
- cd;
- git clone https://github.com/xf0r3m/immudex-testing.git;
- immudexAddonsPath="${HOME}/immudex-testing/addons";
- fi
-fi
-
-installedAddonsFile="/usr/share/immudex-addons/installed-addons";
-
-listAddons=$(ls $immudexAddonsPath);
-if [ -f $installedAddonsFile ]; then
- for installed in $(cat $installedAddonsFile | awk '{printf $1" "}'); do
- listAddons2=$(echo $listAddons | sed "s/$installed/${installed}\[installed\]/g")
- listAddons=$listAddons2;
- done
-fi
-
-export PS3="immudex_addons> ";
-select addon in $listAddons; do
- if [ ! "$addon" ]; then break;
- else
- if echo $addon | grep -q 'installed'; then
- addon=$(echo $addon | sed 's/\[installed\]//');
- bash ${immudexAddonsPath}/${addon} remove;
- else
- bash ${immudexAddonsPath}/${addon} install;
- fi
- fi
-done
+++ /dev/null
-#!/bin/bash
-
-function createBufferFile() {
- count=0;
- for mark in $markList; do
- if [ $count -gt 0 ]; then
- sed -i "s,$mark,${mark}\n,g" ${1}.buffer;
- else
- sed "s,$mark,${mark}\n,g" $1 > ${1}.buffer;
- count=$((count + 1));
- fi;
- done
-}
-
-function descSanitize() {
- desc=$(echo $@ | sed -e 's,<!\[CDATA\[,,' -e 's,<img.*/>,,' -e 's,\]\]>,,' -e 's,<description>,,' -e 's,</description>,,' -e 's,<,<,g' -e 's,>,>,g' -e 's,<p>,,g' -e 's,<a href=".*">,,' -e 's,</a>,,' -e 's,</p>,,' -e 's/^[[:space:]]*//g');
- echo -n $desc;
-}
-
-function titleSanitize() {
- title=$(echo $@ | sed -e 's,<title>,,' -e 's,</title>,,' -e 's,",",g' -e 's/^[[:space:]]*//g');
- echo -n $title;
-}
-
-function pubDateSanitize() {
- pubDate=$(echo $@ | sed -e 's,<pubDate>,,' -e 's,</pubDate>,,' -e 's/^[[:space:]]*//g');
- echo -n $pubDate;
-}
-
-function linkSanitize() {
- link=$(echo $@ | sed -e 's,<link>,,' -e 's,</link>,,' -e 's/^[[:space:]]*//g');
- echo -n $link;
-}
-
-function show() {
- bufferFile="${1}.buffer";
- if grep -q '<lastBuildDate>' $bufferFile; then
- sed -i -e 's,<lastBuildDate>,<pubDate>,g' -e 's,</lastBuildDate>,</pubDate>,g' $bufferFile;
- fi
- if [ ! "$2" ]; then
- newsCount=$(grep -o '<title>.*</title>' $bufferFile | wc -l | awk '{printf $1}');
- count=1
- else
- count=$(expr $2 + 1);
- newsCount=$count;
- fi
- while [ $count -le $newsCount ]; do
- t=$(grep -o '<title>.*</title>' $bufferFile | sed -n "${count}p");
- title=$(titleSanitize $t);
- pD=$(grep -o '<pubDate>.*</pubDate>' $bufferFile | sed -n "${count}p")
- pubDate=$(pubDateSanitize $pD);
- d=$(grep -o '<description>.*</description>' $bufferFile | sed -n "${count}p")
- desc=$(descSanitize $d);
- echo -e "\t$((count - 1)) (Link ID: $count): $title";
- echo -e "\t -> $pubDate";
- echo -e "\t >>> $desc";
- echo;
- count=$((count + 1))
- done
-}
-
-function getLink() {
- bufferFile="${1}.buffer";
- newsNumber=$2;
- linkLine=$(grep -o '<link>.*</link>' $bufferFile | sed -n "${newsNumber}p");
- link=$(linkSanitize $linkLine);
- echo -n $link;
-}
-
-function executeCreateBufferFile() {
- fname=$1;
- export markList=$(grep -o '</[a-z]*\:*[a-z]*[A-Z]*[a-z]*[A-Z]*[a-z]*>' $fname | sort | uniq | awk '{printf $1" "}');
- createBufferFile $fname;
-}
-
-function help() {
- echo "immudex-newsfeed - fetch and browse news feed from rss and atom channels";
- echo "@ 2023 morketsmerke.org";
- echo;
- echo "Options:";
- echo " --list - shows numbered list of names, saved in ~/.newsfeed names and";
- echo " URL of rss channels";
- echo " --check [--show-one] - fetching new rss channel file from source";
- echo " [ and show first news from channel (as a notification) ]";
- echo " --show <number_of_channel> - shows numbered list of news titles.";
- echo " Number of channel you can get from --list option.";
- echo " --open <number_of_title> - open web browser on link, which are under";
- echo " titles of news on rss channel. Number of title you can get";
- echo " from --show option. This option based on the last showed rss";
- echo " channel feed.";
- echo;
- echo "The ~/.newsfeed file:";
- echo " This file is simple csv (semicolon separated values) file which";
- echo " store rss channels in one line. One by one. The one line";
- echo " contains: name and URL of rss feed. For example:";
- echo;
- echo " News Feed;https://newsfeed.example.org/rss";
-}
-
-if [ ! -s ~/.newsfeed ]; then
- help;
- exit 1;
-else
- if [ ! "$1" ] || ([ "$1" != "--list" ] && \
- [ "$1" != "--check" ] && \
- [ "$1" != "--show" ] && \
- [ "$1" != "--open" ]); then
- help;
- exit 1;
- fi
- amountOfSubscriptions=$(cat ~/.newsfeed | wc -l);
- i=1;
- while [ $i -le $amountOfSubscriptions ]; do
- newsfeedLine=$(sed -n "${i}p" ~/.newsfeed);
- nameOfSubscription=$(echo $newsfeedLine | cut -d ";" -f 1);
- rssLink=$(echo $newsfeedLine | cut -d ";" -f 2);
- if [ "$1" ] && [ "$1" = "--list" ]; then
- echo -e "${i}. ${nameOfSubscription}";
- elif [ "$1" ] && [ "$1" = "--check" ]; then
- echo -e "${i}. ${nameOfSubscription}";
- echo -n "Getting news feed...";
- wget $rssLink -O /tmp/new_newsfeed_${i}.xml 2>/dev/null;
- if [ $? -eq 0 ]; then echo "[ OK ]";
- else echo -e "\nThere is no Internet connection"; exit 1; fi
- if [ -s /tmp/newsfeed_${i}.xml ]; then
- executeCreateBufferFile /tmp/new_newsfeed_${i}.xml;
- amountOfNewNewses=$(diff /tmp/new_newsfeed_${i}.xml.buffer /tmp/newsfeed_${i}.xml.buffer | grep '<title>' | wc -l);
- if [ $amountOfNewNewses -gt 0 ]; then
- notify-send "$nameOfSubscription" "New $amountOfNewNewses newses" --icon=/usr/share/icons/rss.png;
- mv /tmp/new_newsfeed_${i}.xml /tmp/newsfeed_${i}.xml;
- executeCreateBufferFile /tmp/newsfeed_${i}.xml;
- news=$(show /tmp/newsfeed_${i}.xml 1);
- notify-send "newsfeed" "${nameOfSubscription}:\n${news}" -t ${i}0000 --icon=/usr/share/icons/rss.png;
- #j=1;
- #sleep 1;
- #while [ $j -le 1 ]; do
- # news=$(diff /tmp/new_newsfeed_${i}.xml /tmp/newsfeed_${i}.xml | \
- # grep '<title>' | sed -n "${j}p" | sed 's/<title>//' | \
- # sed 's/<\/title>//' | sed 's/[<>]//' | \
- # sed 's/^[[:space:]]*//g');
- # notify-send "newsfeed" "${nameOfSubscription}: ${news}" -t 10000 --icon=/usr/share/icons/rss.png;
- # sleep 1;
- # j=$((j + 1));
- #done
- fi
- else
- mv /tmp/new_newsfeed_${i}.xml /tmp/newsfeed_${i}.xml;
- amountOfNews=$(grep '<title>' /tmp/newsfeed_${i}.xml | sed -n '2,$p' | wc -l);
- if [ $amountOfNews -eq 0 ]; then
- compressed=1;
- amountOfNews=$(sed 's/<\/title>/\n/g' /tmp/newsfeed_${i}.xml | sed 's/<item>/\n/g' | grep '<title>' | wc -l)
- fi
- notify-send "$nameOfSubscription" "New $amountOfNews newses" --icon=/usr/share/icons/rss.png;
- executeCreateBufferFile /tmp/newsfeed_${i}.xml;
- if [ "$2" ] && [ "$2" = "--show-one" ]; then
- news=$(show /tmp/newsfeed_${i}.xml 1);
- notify-send "newsfeed" "${nameOfSubscription}:\n${news}" -t ${i}0000 --icon=/usr/share/icons/rss.png;
- fi
- fi
- fi
- i=$((i + 1));
- done
- if [ "$1" ] && [ "$1" = "--show" ] && [ "$2" ] && [ $2 -gt 0 ]; then
-
- #Parsing
- #Thanks to the linuxhint.com for command:
- #sed 's/^[[:space]]*//g'
- #https://linuxhint.com/trim_string_bash
- show /tmp/newsfeed_${2}.xml | less
- echo $2 > /tmp/lastShowedNewsFeed;
- elif [ "$1" ] && [ "$1" = "--open" ] && [ "$2" ] && [ $2 -gt 0 ]; then
- subscriptionNumber=$(cat /tmp/lastShowedNewsFeed);
- fname="/tmp/newsfeed_${subscriptionNumber}.xml";
- link=$(getLink $fname $2);
- exo-open --launch WebBrowser "$link";
- fi
-fi
+++ /dev/null
-#!/bin/bash
-
-source library.sh;
-
-if [ "$1" ]; then
- case $1 in
- "distro") if check_distro_version; then
- msg=$(check_distro_version --print);
- notify-send -i software-update-urgent "Distribution update" "New version (${msg}) of immudex is available to upgrade.";
- else
- msg=$(check_distro_version --print);
- notify-send -i apply "Distribution update" "This (${msg}) is the latest version of immudex.";
- fi;;
- "packages") msg=$(sudo apt update > /tmp/update.log 2>&1 && tail -1 /tmp/update.log;);
- notify-send -i software-update-available "Packages update" "$msg";;
- esac
-fi
-
+++ /dev/null
-#!/bin/bash
-
-if [ ! -d /tmp/${USER} ]; then
- mkdir /tmp/${USER}
- cp -prvv /home/${USER}/.librewolf /tmp/${USER}
-fi
-
-eth0=$(ip route show | grep 'default' | awk '{printf $5}');
-firejail --private=/tmp/${USER} --net=$eth0 /usr/bin/librewolf
DEBVER="$1";
ARCH=$(dpkg --print-architecture);
-#LWVER='121.0-1';
-#LWTEST=1;
if [ $ARCH = "amd64" ]; then
KARCH="amd64";
KARCH="686-pae";
fi
-#if [ $LWTEST -eq 0 ]; then
-# LWPATH="https://sourceforge.net/projects/immudex/files/immudex/software/librewolf/testing";
-#else
-# LWPATH="https://sourceforge.net/projects/immudex/files/immudex/software/librewolf";
-#fi
-
-#if [ $ARCH = "amd64" ]; then
-# LWARCH="x86_64";
-#else
-# LWARCH="i686";
-#fi
-
cd;
if [ -x /usr/bin/git ]; then git clone https://git.morketsmerke.org/git/immudex;
else apt install git -y && git clone https://git.morketsmerke.org/git/immudex;
if [ -f /usr/bin/youtube-dl ]; then rm /usr/bin/youtube-dl; fi
ln -s /usr/bin/yt-dlp /usr/bin/youtube-dl;
-#wget ${LWPATH}/librewolf-${LWVER}.en-US.linux-${LWARCH}.tar.bz2/download -O librewolf-${LWVER}.en-US.linux-${LWARCH}.tar.bz2;
-#tar -xf librewolf-${LWVER}.en-US.linux-${LWARCH}.tar.bz2 -C /usr/lib;
-#rm librewolf-${LWVER}.en-US.linux-${LWARCH}.tar.bz2;
-
-#ln -s /usr/lib/librewolf/librewolf /usr/bin/librewolf;
-
-#update-alternatives --remove x-www-browser /usr/bin/firefox-esr;
-#update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/lib/librewolf/librewolf 70;
-
-#head -1 /etc/apt/sources.list | tee /etc/apt/sources.list.d/xfce4-notes-plugin.list;
-#sed -i 's/testing/experimental/' /etc/apt/sources.list.d/xfce4-notes-plugin.list;
-#apt update;
-#apt install xfce4-notes-plugin -y;
-#rm /etc/apt/sources.list.d/xfce4-notes-plugin.list;
-#apt update;
-
cd;
-#16.08.2023 - z repozytoriów Debian testing został usunięty pakiet picom.
-git clone https://git.morketsmerke.org/git/xfcedebian-d13;
-cd xfcedebian-d13;
+git clone https://github.com/xf0r3m/xfcedebian;
+cd xfcedebian;
bash install.sh;
cd;
cp -vv ~/immudex/tools/immudex-autostart-x4notes /usr/local/bin;
cp -vv ~/immudex/tools/immudex-create-media /usr/local/bin;
-#cp -vv ~/immudex/tools/immudex-addons /usr/local/bin;
cp -vv ~/immudex/tools/immudex-branch /usr/local/bin;
cp -vv ~/immudex/tools/immudex-crypt /usr/local/bin;
cp -vv ~/immudex/tools/immudex-hostname /usr/local/bin;
cp -vv ~/immudex/tools/immudex-meteo /usr/local/bin;
cp -vv ~/immudex/tools/immudex-morketsmerke /usr/local/bin;
cp -vv ~/immudex/tools/immudex-motd2 /usr/local/bin;
-#cp -vv ~/immudex/tools/immudex-newsfeed /usr/local/bin;
-#cp -vv ~/immudex/tools/immudex-notifier /usr/local/bin;
cp -vv ~/immudex/tools/immudex-padlock /usr/local/bin;
cp -vv ~/immudex/tools/immudex-pl /usr/local/bin;
cp -vv ~/immudex/tools/immudex-secured-firefox /usr/local/bin;
cp -vv ~/immudex/files/default.theme /etc/skel/.irssi;
cp -rvv ~/immudex/files/libreoffice /etc/skel/.config;
cp -vv ~/immudex/files/firejail.config /etc/firejail;
-#cp -vv ~/immudex/files/Notifier\ -\ distro.desktop /etc/skel/.config/autostart;
cp -vv ~/immudex/files/redshift.conf /etc/skel/.config;
cp -vv ~/immudex/files/redshift.desktop /etc/skel/.config/autostart;
-#cp -vv ~/immudex/files/terminalrc /etc/skel/.config/xfce4/terminal;
-#cp -vv ~/immudex/files/xfce4-keyboard-shortcuts.xml /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml
-#cp -vv ~/immudex/files/whiskermenu-1.rc /etc/skel/.config/xfce4/panel;
-#cp -vv ~/immudex/files/xfwm4.xml /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml;
-
-# Instalacja MIME jest teraz częścią projektu 'xfcedebian'
-#cp -vv ~/immudex/files/${VERSION}/mimeapps.list /etc/skel/.config;
cp -rvv ~/immudex/files/sync.sh /usr/share;
cp -vv ~/immudex/files/gtk-main.css /usr/share/xfce4-notes-plugin/gtk-3.0/;
-#cp -vv ~/immudex/files/librewolf.desktop /usr/share/applications;
if [ -f /usr/share/applications/qmmp.desktop ]; then
ln -s /usr/share/applications/qmmp.desktop /usr/share/applications/qmmp-1.desktop;
fi
cp -vv ~/immudex/files/immudex_hostname.service /etc/systemd/system;
tar -xf ~/immudex/files/mozilla.tgz -C /etc/skel;
-#tar -xf ~/immudex/files/librewolf.tgz -C /etc/skel;
-#cp -vv ~/immudex/images/${VERSION}/apply.png /usr/share/icons;
-#cp -vv ~/immudex/images/rss.png /usr/share/icons;
cp -vv ~/immudex/launchers/16844254192.desktop /etc/skel/.config/xfce4/panel/launcher-5;
echo "xf0r3m ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers;
# Miejsce na twoje zmiany, przed poleceniem 'tidy'
-install_packages qemu-guest-agent;
tidy;