]> gitweb.morketsmerke.org Git - immudex.git/commitdiff
Cleansing - 22.11
authorxf0r3m <jakubstasinski@protonmail.com>
Sat, 22 Nov 2025 15:36:10 +0000 (16:36 +0100)
committerxf0r3m <jakubstasinski@protonmail.com>
Sat, 22 Nov 2025 15:36:10 +0000 (16:36 +0100)
40 files changed:
README.md
addons/atheros [new file with mode: 0644]
addons/chirp [new file with mode: 0644]
addons/displaylink [new file with mode: 0644]
addons/iwlwifi
addons/kvm
addons/lampstack
addons/librewolf
addons/ncspot
addons/nushell
addons/realtek [new file with mode: 0644]
addons/virt_manager
files/autostart-x4notes.desktop [deleted file]
files/config [deleted file]
files/default.theme [deleted file]
files/gtk-main.css [deleted file]
files/immudex_updates.service [deleted file]
files/mozilla.tgz [deleted file]
immudex-build
tools/bin/immudex-branch
tools/bin/immudex-cdrip [new file with mode: 0755]
tools/bin/immudex-import-sshkeys
tools/bin/immudex-motd2
tools/bin/immudex-padlock
tools/bin/immudex-run [new file with mode: 0755]
tools/bin/immudex-secured-librewolf [new file with mode: 0755]
tools/bin/immudex-version
tools/bin/immudex-ytplay2 [new file with mode: 0755]
tools/bin/library.sh
tools/sbin/immudex-create-media
tools/sbin/immudex-crypt
tools/sbin/immudex-distrobox-swap-root [deleted file]
tools/sbin/immudex-docker-swap-root [deleted file]
tools/sbin/immudex-nf [new file with mode: 0755]
tools/sbin/immudex-packages-update [deleted file]
tools/sbin/immudex-updates [moved from tools/bin/immudex-updates with 66% similarity]
tools/sbin/immudex-upgrade
tools/sbin/immudex-upgrade_ [deleted file]
versions/base.sh
versions/template.sh

index 17ede2ef423b90a8883c5d5201f665153143af12..11f7a0b27a14406be4f70bdcb5d9abcda262fbc4 100644 (file)
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ przed stworzeniem obrazu płyty nie jest póki co wymagane.
   ```
   $ git clone https://github.com/xf0r3m/immudex
   $ cd immudex
-  $ ./immudex-build --<amd64/i386> --<testing/stable/oldstable>
+  $ ./immudex-build --<amd64/i386> --<testing/stable/oldstable> [nazwa_obrazu] [wersja_obrazu]
   ```
 
 ### Zastrzeżenia i uznanie autorstwa:
diff --git a/addons/atheros b/addons/atheros
new file mode 100644 (file)
index 0000000..ff5dc07
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+if [ ! -d /boot ]; then
+  mkdir /boot;
+       apt purge linux-image* --purge -y;
+       apt install linux-image-amd64;
+fi
+
+cp -vv /etc/apt/sources.list /etc/apt/sources.list.d/atheros.list;
+sed -e 's/main/contrib non-free non-free-firmware/g' -i /etc/apt/sources.list.d/atheros.list;
+
+apt update;
+apt install firmware-atheros -y;
+rm /etc/apt/sources.list.d/atheros.list;
+apt update;
+
+apt-get autoclean;
+apt-get autoremove;
+apt-get clean;
diff --git a/addons/chirp b/addons/chirp
new file mode 100644 (file)
index 0000000..0af1418
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+cd /tmp
+mv /usr/lib/python3.11/EXTERNALLY-MANAGED /usr/lib/python3.11/EXTERNALLY-MANAGED.old
+#wget https://archive.chirpmyradio.com/chirp_next/next-20240319/chirp-20240319-py3-none-any.whl
+chirpURL="https://ftp.morketsmerke.org/chirp/chirp-20240419-py3-none-any.whl"
+wget ${chirpURL};
+pip3 install $(basename $chirpURL);
+apt install -y python-wxtools
+
+wget https://ftp.morketsmerke.org/chirp/chirp.desktop -O /usr/share/applications/chirp.desktop;
+wget https://ftp.morketsmerke.org/chirp/chirp.png -O /usr/share/pixmaps/chirp.png;
diff --git a/addons/displaylink b/addons/displaylink
new file mode 100644 (file)
index 0000000..b35bb9d
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+if [ $(uname -m) = "x86_64" ]; then
+  INSTALLED_KERNEL_VERSION="$(apt-cache policy linux-image-amd64 | sed -n '2p' | awk '{printf $2}')";
+  RUNNING_KERNEL_VERSION="$(uname -v | awk '{printf $5}')";
+
+  if [ ! "$INSTALLED_KERNEL_VERSION" = "$RUNNING_KERNEL_VERSION" ]; then
+    echo "You need up to date your kernel first.";
+    exit 1;
+  else
+    if $(mount > /dev/null 2>&1); then 
+      mkdir /tmp/displaylink;
+      cd /tmp/displaylink;
+      wget "https://ftp.morketsmerke.org/displaylink/DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu6.0-EXE.zip";
+      unzip "DisplayLink USB Graphics Software for Ubuntu6.0-EXE.zip"
+      chmod 775 displaylink-driver-6.0.0-24.run;
+      ./displaylink-driver-6.0.0-24.run;
+    else
+      echo "Compilation requires primary system interfaces as /dev /dev/pts /proc /run and /sys";
+      exit 1;
+    fi
+  fi
+fi
index fbeb47b30d76294e5cca9c2ea76a13bd15daecc8..f69e181de3302e6e4151b98f21737d3467c932fa 100644 (file)
@@ -12,7 +12,7 @@ cp -vv /etc/apt/sources.list /etc/apt/sources.list.d/iwlwifi.list;
 sed -e 's/main/contrib non-free non-free-firmware/g' -i /etc/apt/sources.list.d/iwlwifi.list;
 
 apt update;
-apt install firmware-iwlwifi;
+apt install firmware-iwlwifi -y;
 rm /etc/apt/sources.list.d/iwlwifi.list;
 apt update;
 
index 4f9b529381a2b04cd7c3a4e9564e09d25f0f595b..dce0afde7c027a7b0772b73c91b513774d07aa08 100755 (executable)
@@ -1,6 +1,12 @@
 #!/bin/bash
 
-apt install -y qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager;
+apt install -y qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon virt-manager libosinfo-bin;
+
+cp -vv ~/immudex/tools/bin/immudex-kvm /usr/local/bin;
 
 u=$(grep '1000' /etc/passwd | cut -d ":" -f 1)
 usermod -aG libvirt,libvirt-qemu $u;
+
+if [ "$DEBVER" = "stable" ]; then
+  sed -i '554i dynamic_ownership = 0' /etc/libvirt/qemu.conf;
+fi
index 454f01e8a49bd989820a3f959975a506a52edea1..792263b2e63b66bd0c689f4dbdf39eed45b1f89c 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-#Anti-Frankenstein policy - 13.05.2024
+#Polityka antyfrankenstainowa - 13.05.2024
 if [ "$DEBVER" != "testing" ]; then
   #baseVersion=$(head -1 /etc/apt/sources.list | awk '{print $3}')
 
@@ -25,5 +25,4 @@ if [ "$DEBVER" != "testing" ]; then
   rm mysql-apt-config_0.8.29-1_all.deb;
 else
   echo "Lampstack installation is not supported for Debian testing.";
-  exit 1;
 fi
index cd58976b6644f87098b3b8c1e742b630761f65ee..32749cae69033904c91559e91e551162b52dfde7 100644 (file)
@@ -1,21 +1,26 @@
 #!/bin/bash
 
 set -e 
-#Anti-Frankenstein policy - 13.05.2024
-#if [ "$DEBVER" = "stable" ]; then
+#Polityka antyfrankenstainowa - 13.05.2024
+if [ "$DEBVER" != "testing" ]; then
 
   if [ "$(uname -m)" != "x86_64" ]; then
     echo "Other architectures than x86_64 (amd64) is not supported by this script";
-    exit 1;
-  fi 
+  fi
 
-  wget https://deb.librewolf.net/pool/bookworm/ -O /tmp/index.html;
+  if [ "$DEBVER" = "stable" ]; then
+    LibreWolfRepo="https://deb.librewolf.net/pool/bookworm/";
+  else
+    LibreWolfRepo="https://deb.librewolf.net/pool/bullseye/";
+  fi
+
+  wget $LibreWolfRepo -O /tmp/index.html;
   latestLink=$(grep -o '<a href=".*">' /tmp/index.html | sed 's/>/ /g' | cut -d " " -f 2 | sed -n '2,$p' | sed 's/"/ /g' | cut -d " " -f 2 | tail -1);
   filename=$(basename $latestLink);
 
   wget https://deb.librewolf.net${latestLink} -O /tmp/${filename};
   apt install -y lsb-release libgdk-pixbuf2.0-0;
   dpkg -i /tmp/${filename};
-#else
-#  exit 1;
-#fi
+else
+  echo "LibreWolf installation is not supported for Debian testing.";
+fi
index 1785d2a89bb608a7192a8c31b1b074de742b8f4e..935bc559c026eecd780c50ff119ca0fd2396cb3e 100644 (file)
@@ -1,24 +1,18 @@
 #!/bin/bash
-
-#Anti-Frankenstein policy - 13.05.2024
-#if [ "$DEBVER" = "stable" ]; then
-  wget https://github.com/hrkfdn/ncspot/releases.atom
-  ver=$(grep 'title' releases.atom | sed -n '2p' | sed -e 's,<title>,,g' -e 's,</title>,,g' -e 's,^[[:space:]]*,,g')
-  sourceURL="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${ver}.tar.gz";
-  wget $sourceURL
-  tar -xf $(basename $sourceURL)
-  cd ncspot-${ver}
-  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-  sudo apt install libdbus-1-dev libncursesw5-dev libpulse-dev libssl-dev libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev pkg-config build-essential -y
-  $HOME/.cargo/bin/cargo build --release
-  mv target/release/ncspot /usr/local/bin/
-  echo "0.0.0.0 apresolve.spotify.com" | sudo tee -a /etc/hosts;
-  if [ $? -eq 0 ]; then
-         cd ..;
-         rm -rf ncspot-${ver};
-         rm $(basename $sourceURL);
-         rm releases.atom;
-  fi
-#else
-#  exit 1;
-#fi
+wget https://github.com/hrkfdn/ncspot/releases.atom
+ver=$(grep 'title' releases.atom | sed -n '2p' | sed -e 's,<title>,,g' -e 's,</title>,,g' -e 's,^[[:space:]]*,,g')
+sourceURL="https://github.com/hrkfdn/ncspot/archive/refs/tags/v${ver}.tar.gz";
+wget $sourceURL
+tar -xf $(basename $sourceURL)
+cd ncspot-${ver}
+curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+sudo apt install libdbus-1-dev libncursesw5-dev libpulse-dev libssl-dev libxcb1-dev libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev pkg-config build-essential -y
+$HOME/.cargo/bin/cargo build --release
+mv target/release/ncspot /usr/local/bin/
+echo "0.0.0.0 apresolve.spotify.com" | sudo tee -a /etc/hosts
+if [ $? -eq 0 ]; then
+       cd ..;
+       rm -rf ncspot-${ver};
+       rm $(basename $sourceURL);
+       rm releases.atom;
+fi
index dfd8adb191b7c3d6c3ebd9deea169bd897d605ec..23c6b0c87fcc005b6efff3a2b6c6750b60b7b74a 100644 (file)
@@ -1,23 +1,17 @@
 #!/bin/bash
-
-#Anti-Frankenstein policy - 13.05.2024
-#if [ "$DEBVER" = "stable" ]; then
-  wget https://github.com/nushell/nushell/releases.atom
-  ver=$(grep 'title' releases.atom | sed -n '2p' | sed -e 's,<title>,,g' -e 's,</title>,,g' -e 's,^[[:space:]]*,,g')
-  sourceURL="https://github.com/nushell/nushell/archive/refs/tags/${ver}.tar.gz";
-  wget $sourceURL
-  tar -xf $(basename $sourceURL)
-  cd nushell-${ver} 
-  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-  sudo apt install libssl-dev pkg-config build-essential -y
-  $HOME/.cargo/bin/cargo build --release
-  mv target/release/nu /usr/local/bin/
-  if [ $? -eq 0 ]; then
+wget https://github.com/nushell/nushell/releases.atom
+ver=$(grep 'title' releases.atom | sed -n '2p' | sed -e 's,<title>,,g' -e 's,</title>,,g' -e 's,^[[:space:]]*,,g')
+sourceURL="https://github.com/nushell/nushell/archive/refs/tags/${ver}.tar.gz";
+wget $sourceURL
+tar -xf $(basename $sourceURL)
+cd nushell-${ver} 
+curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+sudo apt install libssl-dev pkg-config build-essential -y
+$HOME/.cargo/bin/cargo build --release
+mv target/release/nu /usr/local/bin/
+if [ $? -eq 0 ]; then
         cd ..;
         rm -rf nushell-${ver};
         rm $(basename $sourceURL);
         rm releases.atom;
-  fi
-#else
-#  exit 1;
-#fi
+fi
diff --git a/addons/realtek b/addons/realtek
new file mode 100644 (file)
index 0000000..8d94f12
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+set -e
+
+if [ ! -d /boot ]; then
+  mkdir /boot;
+       apt purge linux-image* --purge -y;
+       apt install linux-image-amd64;
+fi
+
+cp -vv /etc/apt/sources.list /etc/apt/sources.list.d/realtek.list;
+sed -e 's/main/contrib non-free non-free-firmware/g' -i /etc/apt/sources.list.d/realtek.list;
+
+apt update;
+apt install firmware-realtek -y;
+rm /etc/apt/sources.list.d/realtek.list;
+apt update;
+
+apt-get autoclean;
+apt-get autoremove;
+apt-get clean;
index 96524d7ed4f24b2851da494ab8b9f8cd00c2eeca..7e2ba818dd7ffaddad806af650114f7fec1d9b50 100644 (file)
@@ -1,3 +1,6 @@
 #!/bin/bash
 
 apt install -y --no-install-recommends virt-manager;
+apt install -y libosinfo-bin
+
+cp -vv ~/immudex/tools/bin/immudex-kvm /usr/local/bin;
diff --git a/files/autostart-x4notes.desktop b/files/autostart-x4notes.desktop
deleted file mode 100644 (file)
index 49544be..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Version=0.9.4
-Type=Application
-Name=autostart-x4notes
-Comment=Uruchamianie xfce4-notes w cryptfs
-Exec=/usr/local/bin/immudex-autostart-x4notes
-OnlyShowIn=XFCE;
-RunHook=0
-StartupNotify=false
-Terminal=false
-Hidden=false
-
diff --git a/files/config b/files/config
deleted file mode 100644 (file)
index a6a5b59..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-servers = (
-  { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
-  {
-    address = "ssl.efnet.org";
-    chatnet = "EFNet";
-    port = "9999";
-    use_tls = "yes";
-  },
-  {
-    address = "irc.esper.net";
-    chatnet = "EsperNet";
-    port = "6697";
-    use_tls = "yes";
-    tls_verify = "yes";
-  },
-  {
-    address = "chat.freenode.net";
-    chatnet = "Freenode";
-    port = "6697";
-    use_tls = "yes";
-    tls_verify = "yes";
-  },
-  {
-    address = "irc.gamesurge.net";
-    chatnet = "GameSurge";
-    port = "6667";
-  },
-  {
-    address = "eu.irc6.net";
-    chatnet = "IRCnet";
-    port = "6667";
-    use_tls = "yes";
-  },
-  { address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
-  {
-    address = "irc.ircsource.net";
-    chatnet = "IRCSource";
-    port = "6667";
-  },
-  { address = "irc.netfuze.net"; chatnet = "NetFuze"; port = "6667"; },
-  {
-    address = "irc.oftc.net";
-    chatnet = "OFTC";
-    port = "6697";
-    use_tls = "yes";
-    tls_verify = "yes";
-  },
-  { 
-    address = "irc.quakenet.org";
-    chatnet = "QuakeNet";
-    port = "6667";
-  },
-  {
-    address = "irc.rizon.net";
-    chatnet = "Rizon";
-    port = "6697";
-    use_tls = "yes";
-    tls_verify = "yes";
-  },
-  { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; },
-  { 
-    address = "irc.undernet.org";
-    chatnet = "Undernet";
-    port = "6667";
-  },
-  {
-    address = "irc.morketsmerke.org";
-    chatnet = "morketsmerke.org";
-    port = "6697";
-    use_tls = "yes";
-    tls_verify = "yes";
-    tls_capath = "/etc/ssl/certs";
-    autoconnect = "yes";
-  }
-);
-
-chatnets = {
-  DALnet = {
-    type = "IRC";
-    max_kicks = "4";
-    max_msgs = "20";
-    max_whois = "30";
-  };
-  EFNet = { 
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "4";
-    max_whois = "1";
-  };
-  EsperNet = {
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "4";
-    max_whois = "1";
-  };
-  Freenode = {
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "4";
-    max_whois = "1";
-  };
-  GameSurge = {
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "1";
-    max_whois = "1";
-  };
-  IRCnet = { 
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "1";
-    max_whois = "1";
-  };
-  IRCSource = {
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "4";
-    max_whois = "1";
-  };
-  NetFuze = {
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "1";
-    max_whois = "1";
-  };
-  OFTC = { type = "IRC"; max_kicks = "1"; max_msgs = "1"; max_whois = "1"; };
-  QuakeNet = {
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "1";
-    max_whois = "1";
-  };
-  Rizon = { 
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "1";
-    max_whois = "1";
-  };
-  SILC = { type = "SILC"; };
-  Undernet = {
-    type = "IRC";
-    max_kicks = "1";
-    max_msgs = "1";
-    max_whois = "1";
-  };
-  "morketsmerke.net" = { type = "IRC"; };
-  "morketsmerke.org" = { type = "IRC"; };
-};
-
-channels = (
-  { name = "#lobby"; chatnet = "EsperNet"; autojoin = "No"; },
-  { name = "#freenode"; chatnet = "Freenode"; autojoin = "No"; },
-  { name = "#irssi"; chatnet = "Freenode"; autojoin = "No"; },
-  { name = "#gamesurge"; chatnet = "GameSurge"; autojoin = "No"; },
-  { name = "#irssi"; chatnet = "IRCNet"; autojoin = "No"; },
-  { name = "#ircsource"; chatnet = "IRCSource"; autojoin = "No"; },
-  { name = "#netfuze"; chatnet = "NetFuze"; autojoin = "No"; },
-  { name = "#oftc"; chatnet = "OFTC"; autojoin = "No"; },
-  { name = "silc"; chatnet = "SILC"; autojoin = "No"; },
-  { 
-    name = "#general";
-    chatnet = "morketsmerke.net";
-    autojoin = "yes";
-  }
-);
-
-aliases = {
-  ATAG = "WINDOW SERVER";
-  ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{visible_name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}";
-  B = "BAN";
-  BACK = "AWAY";
-  BANS = "BAN";
-  BYE = "QUIT";
-  C = "CLEAR";
-  CALC = "EXEC - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
-  CHAT = "DCC CHAT";
-  DATE = "TIME";
-  DEHIGHLIGHT = "DEHILIGHT";
-  DESCRIBE = "ACTION";
-  DHL = "DEHILIGHT";
-  EXEMPTLIST = "MODE $C +e";
-  EXIT = "QUIT";
-  GOTO = "SCROLLBACK GOTO";
-  HIGHLIGHT = "HILIGHT";
-  HL = "HILIGHT";
-  HOST = "USERHOST";
-  INVITELIST = "MODE $C +I";
-  J = "JOIN";
-  K = "KICK";
-  KB = "KICKBAN";
-  KN = "KNOCKOUT";
-  LAST = "LASTLOG";
-  LEAVE = "PART";
-  M = "MSG";
-  MUB = "UNBAN *";
-  N = "NAMES";
-  NMSG = "^MSG";
-  P = "PART";
-  Q = "QUERY";
-  RESET = "SET -default";
-  RUN = "SCRIPT LOAD";
-  SAY = "MSG *";
-  SB = "SCROLLBACK";
-  SBAR = "STATUSBAR";
-  SIGNOFF = "QUIT";
-  SV = "MSG * Irssi $J ($V) - https://irssi.org";
-  T = "TOPIC";
-  UB = "UNBAN";
-  UMODE = "MODE $N";
-  UNSET = "SET -clear";
-  W = "WHO";
-  WC = "WINDOW CLOSE";
-  WG = "WINDOW GOTO";
-  WJOIN = "JOIN -window";
-  WI = "WHOIS";
-  WII = "WHOIS $0 $0";
-  WL = "WINDOW LIST";
-  WN = "WINDOW NEW HIDDEN";
-  WQUERY = "QUERY -window";
-  WW = "WHOWAS";
-};
-
-statusbar = {
-
-  items = {
-
-    barstart = "{sbstart}";
-    barend = "{sbend}";
-
-    topicbarstart = "{topicsbstart}";
-    topicbarend = "{topicsbend}";
-
-    time = "{sb $Z}";
-    user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
-
-    window = "{sb $winref:$tag/$itemname{sbmode $M}}";
-    window_empty = "{sb $winref{sbservertag $tag}}";
-
-    prompt = "{prompt $[.15]itemname}";
-    prompt_empty = "{prompt $winname}";
-
-    topic = " $topic";
-    topic_empty = " Irssi v$J - https://irssi.org";
-
-    lag = "{sb Lag: $0-}";
-    act = "{sb Act: $0-}";
-    more = "-- more --";
-  };
-
-  default = {
-
-    window = {
-
-      disabled = "no";
-      type = "window";
-      placement = "bottom";
-      position = "1";
-      visible = "active";
-
-      items = {
-        barstart = { priority = "100"; };
-        time = { };
-        user = { };
-        window = { };
-        window_empty = { };
-        lag = { priority = "-1"; };
-        act = { priority = "10"; };
-        more = { priority = "-1"; alignment = "right"; };
-        barend = { priority = "100"; alignment = "right"; };
-      };
-    };
-
-    window_inact = {
-
-      type = "window";
-      placement = "bottom";
-      position = "1";
-      visible = "inactive";
-
-      items = {
-        barstart = { priority = "100"; };
-        window = { };
-        window_empty = { };
-        more = { priority = "-1"; alignment = "right"; };
-        barend = { priority = "100"; alignment = "right"; };
-      };
-    };
-
-    prompt = {
-
-      type = "root";
-      placement = "bottom";
-      position = "100";
-      visible = "always";
-
-      items = {
-        prompt = { priority = "-1"; };
-        prompt_empty = { priority = "-1"; };
-        input = { priority = "10"; };
-      };
-    };
-
-    topic = {
-
-      type = "root";
-      placement = "top";
-      position = "1";
-      visible = "always";
-
-      items = {
-        topicbarstart = { priority = "100"; };
-        topic = { };
-        topic_empty = { };
-        topicbarend = { priority = "100"; alignment = "right"; };
-      };
-    };
-  };
-};
-settings = {
-  core = { real_name = "Unknown"; user_name = "xf0r3m"; nick = "xf0r3m"; };
-  "fe-text" = { actlist_sort = "refnum"; };
-};
diff --git a/files/default.theme b/files/default.theme
deleted file mode 100644 (file)
index 79b1af5..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-# When testing changes, the easiest way to reload the theme is with /RELOAD.
-# This reloads the configuration file too, so if you did any changes remember
-# to /SAVE it first. Remember also that /SAVE overwrites the theme file with
-# old data so keep backups :)
-
-# TEMPLATES:
-
-# The real text formats that irssi uses are the ones you can find with
-# /FORMAT command. Back in the old days all the colors and texts were mixed
-# up in those formats, and it was really hard to change the colors since you
-# might have had to change them in tens of different places. So, then came
-# this templating system.
-
-# Now the /FORMATs don't have any colors in them, and they also have very
-# little other styling. Most of the stuff you need to change is in this
-# theme file. If you can't change something here, you can always go back
-# to change the /FORMATs directly, they're also saved in these .theme files.
-
-# So .. the templates. They're those {blahblah} parts you see all over the
-# /FORMATs and here. Their usage is simply {name parameter1 parameter2}.
-# When irssi sees this kind of text, it goes to find "name" from abstracts
-# block below and sets "parameter1" into $0 and "parameter2" into $1 (you
-# can have more parameters of course). Templates can have subtemplates.
-# Here's a small example:
-#   /FORMAT format hello {colorify {underline world}}
-#   abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; }
-# When irssi expands the templates in "format", the final string would be:
-#   hello %G%Uworld%U%n
-# ie. underlined bright green "world" text.
-# and why "$0-", why not "$0"? $0 would only mean the first parameter,
-# $0- means all the parameters. With {underline hello world} you'd really
-# want to underline both of the words, not just the hello (and world would
-# actually be removed entirely).
-
-# COLORS:
-
-# You can find definitions for the color format codes in docs/formats.txt.
-
-# There's one difference here though. %n format. Normally it means the
-# default color of the terminal (white mostly), but here it means the
-# "reset color back to the one it was in higher template". For example
-# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would
-# print yellow "foo" (as set with %Y) but "bar" would be green, which was
-# set at the beginning before the {foo} template. If there wasn't the %g
-# at start, the normal behaviour of %n would occur. If you _really_ want
-# to use the terminal's default color, use %N.
-
-#############################################################################
-
-# default foreground color (%N) - -1 is the "default terminal color"
-default_color = "-1";
-
-# print timestamp/servertag at the end of line, not at beginning
-info_eol = "false";
-
-# these characters are automatically replaced with specified color
-# (dark grey by default)
-replaces = { "[]=" = "%K$*%n"; };
-
-abstracts = {
-  ##
-  ## generic
-  ##
-
-  # text to insert at the beginning of each non-message line
-  line_start = "%B-%n!%B-%n ";
-
-  # timestamp styling, nothing by default
-  timestamp = "$*";
-
-  # any kind of text that needs hilighting, default is to bold
-  hilight = "%_$*%_";
-
-  # any kind of error message, default is bright red
-  error = "%R$*%n";
-
-  # channel name is printed
-  channel = "%_$*%_";
-
-  # nick is printed
-  nick = "%_$*%_";
-
-  # nick host is printed
-  nickhost = "[$*]";
-
-  # server name is printed
-  server = "%_$*%_";
-
-  # some kind of comment is printed
-  comment = "[$*]";
-
-  # reason for something is printed (part, quit, kick, ..)
-  reason = "{comment $*}";
-
-  # mode change is printed ([+o nick])
-  mode = "{comment $*}";
-
-  ##
-  ## channel specific messages
-  ##
-
-  # highlighted nick/host is printed (joins)
-  channick_hilight = "%C$*%n";
-  chanhost_hilight = "{nickhost %c$*%n}";
-
-  # nick/host is printed (parts, quits, etc.)
-  channick = "%c$*%n";
-  chanhost = "{nickhost $*}";
-
-  # highlighted channel name is printed
-  channelhilight = "%c$*%n";
-
-  # ban/ban exception/invite list mask is printed
-  ban = "%c$*%n";
-
-  ##
-  ## messages
-  ##
-
-  # the basic styling of how to print message, $0 = nick mode, $1 = nick
-  msgnick = "%K<%n$0$1-%K>%n %|";
-
-  # message from you is printed. "ownnick" specifies the styling of the
-  # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
-  # whole line.
-
-  # Example1: You want the message text to be green:
-  #  ownmsgnick = "{msgnick $0 $1-}%g";
-  # Example2.1: You want < and > chars to be yellow:
-  #  ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
-  #  (you'll also have to remove <> from replaces list above)
-  # Example2.2: But you still want to keep <> grey for other messages:
-  #  pubmsgnick = "%K{msgnick $0 $1-%K}%n";
-  #  pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
-  #  pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
-  #  ownprivmsgnick = "%K{msgnick  $*%K}%n";
-  #  privmsgnick = "%K{msgnick  %R$*%K}%n";
-
-  # $0 = nick mode, $1 = nick
-  ownmsgnick = "{msgnick $0 $1-}";
-  ownnick = "%_$*%n";
-
-  # public message in channel, $0 = nick mode, $1 = nick
-  pubmsgnick = "{msgnick $0 $1-}";
-  pubnick = "%N$*%n";
-
-  # public message in channel meant for me, $0 = nick mode, $1 = nick
-  pubmsgmenick = "{msgnick $0 $1-}";
-  menick = "%Y$*%n";
-
-  # public highlighted message in channel
-  # $0 = highlight color, $1 = nick mode, $2 = nick
-  pubmsghinick = "{msgnick $1 $0$2-%n}";
-
-  # channel name is printed with message
-  msgchannel = "%K:%c$*%n";
-
-  # private message, $0 = nick, $1 = host
-  privmsg = "[%R$0%K(%r$1-%K)%n] ";
-
-  # private message from you, $0 = "msg", $1 = target nick
-  ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";
-
-  # own private message in query
-  ownprivmsgnick = "{msgnick  $*}";
-  ownprivnick = "%_$*%n";
-
-  # private message in query
-  privmsgnick = "{msgnick  %R$*%n}";
-
-  ##
-  ## Actions (/ME stuff)
-  ##
-
-  # used internally by this theme
-  action_core = "%_ * $*%n";
-
-  # generic one that's used by most actions
-  action = "{action_core $*} ";
-
-  # own action, both private/public
-  ownaction = "{action $*}";
-
-  # own action with target, both private/public
-  ownaction_target = "{action_core $0}%K:%c$1%n ";
-
-  # private action sent by others
-  pvtaction = "%_ (*) $*%n ";
-  pvtaction_query = "{action $*}";
-
-  # public action sent by others
-  pubaction = "{action $*}";
-
-
-  ##
-  ## other IRC events
-  ##
-
-  # whois
-  whois = "%# $[8]0 : $1-";
-
-  # notices
-  ownnotice = "[%r$0%K(%R$1-%K)]%n ";
-  notice = "%K-%M$*%K-%n ";
-  pubnotice_channel = "%K:%m$*";
-  pvtnotice_host = "%K(%m$*%K)";
-  servernotice = "%g!$*%n ";
-
-  # CTCPs
-  ownctcp = "[%r$0%K(%R$1-%K)] ";
-  ctcp = "%g$*%n";
-
-  # wallops
-  wallop = "%_$*%n: ";
-  wallop_nick = "%n$*";
-  wallop_action = "%_ * $*%n ";
-
-  # netsplits
-  netsplit = "%R$*%n";
-  netjoin = "%C$*%n";
-
-  # /names list
-  names_prefix = "";
-  names_nick = "[%_$0%_$1-] ";
-  names_nick_op = "{names_nick $*}";
-  names_nick_halfop = "{names_nick $*}";
-  names_nick_voice = "{names_nick $*}";
-  names_users = "[%g$*%n]";
-  names_channel = "%G$*%n";
-
-  # DCC
-  dcc = "%g$*%n";
-  dccfile = "%_$*%_";
-
-  # DCC chat, own msg/action
-  dccownmsg = "[%r$0%K($1-%K)%n] ";
-  dccownnick = "%R$*%n";
-  dccownquerynick = "%_$*%n";
-  dccownaction = "{action $*}";
-  dccownaction_target = "{action_core $0}%K:%c$1%n ";
-
-  # DCC chat, others
-  dccmsg = "[%G$1-%K(%g$0%K)%n] ";
-  dccquerynick = "%G$*%n";
-  dccaction = "%_ (*dcc*) $*%n %|";
-
-  ##
-  ## statusbar
-  ##
-
-  # default background for all statusbars. You can also give
-  # the default foreground color for statusbar items.
-  sb_background = "%4%w";
-  window_border = "%4%w";
-
-  # default backround for "default" statusbar group
-  #sb_default_bg = "%4";
-  # background for prompt / input line
-  sb_prompt_bg = "%n";
-  # background for info statusbar
-  sb_info_bg = "%8";
-  # background for topicbar (same default)
-  #sb_topic_bg = "%4";
-
-  # text at the beginning of statusbars. "sb" already puts a space there,
-  # so we don't use anything by default.
-  sbstart = "";
-  # text at the end of statusbars. Use space so that it's never
-  # used for anything.
-  sbend = " ";
-
-  topicsbstart = "{sbstart $*}";
-  topicsbend = "{sbend $*}";
-
-  prompt = "[$*] ";
-
-  sb = " %c[%n$*%c]%n";
-  sbmode = "(%c+%n$*)";
-  sbaway = " (%GzZzZ%n)";
-  sbservertag = ":$0 (change with ^X)";
-  sbnickmode = "$0";
-
-  # activity in statusbar
-
-  # ',' separator
-  sb_act_sep = "%c$*";
-  # normal text
-  sb_act_text = "%c$*";
-  # public message
-  sb_act_msg = "%W$*";
-  # hilight
-  sb_act_hilight = "%M$*";
-  # hilight with specified color, $0 = color, $1 = text
-  sb_act_hilight_color = "$0$1-%n";
-};
diff --git a/files/gtk-main.css b/files/gtk-main.css
deleted file mode 100644 (file)
index 6d9d648..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-@define-color notes_bg_color #343434;
-@define-color theme_base_color #343434;
-@define-color theme_text_color #eeeeec;
-@define-color theme_bg_color @theme_base_color;
-@define-color theme_fg_color shade (@theme_base_color, 0.3);
-@define-color theme_selected_bg_color shade (@theme_base_color, 0.8);
-@define-color theme_selected_fg_color shade (@theme_base_color, 1.4);
-@define-color insensitive_bg_color shade (@theme_bg_color, 1.1);
-@define-color insensitive_fg_color shade (@theme_fg_color, 1.8);
-
-@define-color borders shade (@theme_base_color, 0.8);
-@define-color frame_color shade (@theme_base_color, 0.7);
-@define-color notebook_active_tab_border shade (@theme_base_color, 1.1);
-@define-color notebook_selected_tab_color shade (@theme_base_color, 0.9);
-
-* {
-       border-width: 0px;
-}
-
-/* window and frame */
-window {
-       /*
-       background-image: linear-gradient(to bottom,
-                                         shade (@theme_base_color, 0.8),
-                                         shade (@theme_base_color, 0.95) 87px);
-                                         */
-}
-
-window frame {
-       padding: 1px 2px 4px 2px;
-       border: 1px solid shade (@theme_base_color, 0.7);
-}
-
-/* icon buttons in window title bar */
-window widget#notes-icon-button {
-       color: #eeeeec;
-       background-color: transparent;
-}
-/*
-window widget#notes-icon-button:active {
-       color: lighter (@theme_fg_color);
-       text-shadow: 1px 1px darker (@theme_bg_color);
-}
-*/
-window widget#notes-icon-button:disabled {
-       color: shade (#343434, 1.2);
-}
-window widget#notes-icon-button:hover {
-       color: shade (#eeeeec, 1.4);
-}
-
-/* notebook */
-notebook > header {
-       background: transparent;
-}
-notebook > header.top {
-       border-bottom: 2px solid @theme_selected_bg_color;
-}
-notebook > header.bottom {
-       border-top: 2px solid @theme_selected_bg_color;
-}
-notebook > header.left {
-       border-right: 2px solid @theme_selected_bg_color;
-}
-notebook > header.right {
-       border-left: 2px solid @theme_selected_bg_color;
-}
-
-/* notebook tab style */
-notebook > header.top tab, notebook > header.bottom tab {
-       padding: 0px 4px;
-}
-notebook > header.right tab, notebook > header.left tab {
-       padding: 4px 0px;
-}
-
-notebook > header tab {
-       box-shadow: none;
-       color: @insensitive_fg_color;
-       background: transparent;
-}
-notebook > header tab:checked {
-       color: shade (@theme_text_color, 0.8);
-}
-notebook > header tab.dnd {
-       background: @theme_selected_bg_color;
-}
-
-notebook > header.top > tabs > tab:checked {
-       box-shadow: inset 0px -3px shade (@theme_selected_bg_color, 1.3), 0px 2px 3px @theme_selected_bg_color;
-}
-notebook > header.top > tabs > tab:checked:hover {
-       box-shadow: inset 0px -2px shade (@theme_selected_bg_color, 1.3), 0px 2px 3px @theme_selected_bg_color;
-       background: @theme_selected_bg_color; /* NOTE: must be set before .dnd */
-}
-notebook > header.top > tabs > tab:hover {
-       box-shadow: inset 0px -2px shade (@theme_selected_bg_color, 1.3);
-}
-
-notebook > header.bottom > tabs > tab:checked {
-       box-shadow: inset 0px 3px shade (@theme_selected_bg_color, 1.3), 0px -2px 3px @theme_selected_bg_color;
-}
-notebook > header.bottom > tabs > tab:checked:hover {
-       box-shadow: inset 0px 2px shade (@theme_selected_bg_color, 1.3), 0px -2px 3px @theme_selected_bg_color;
-       background: @theme_selected_bg_color;
-}
-notebook > header.bottom > tabs > tab:hover {
-       box-shadow: inset 0px 2px shade (@theme_selected_bg_color, 1.3);
-}
-
-notebook > header.left > tabs > tab:checked {
-       box-shadow: inset -3px 0px shade (@theme_selected_bg_color, 1.3), 0px 0px 3px @theme_selected_bg_color;
-}
-notebook > header.left > tabs > tab:checked:hover {
-       box-shadow: inset -2px 0px shade (@theme_selected_bg_color, 1.3), 0px 0px 3px @theme_selected_bg_color;
-       background: @theme_selected_bg_color;
-}
-notebook > header.left > tabs > tab:hover {
-       box-shadow: inset -2px 0px shade (@theme_selected_bg_color, 1.3);
-}
-
-notebook > header.right > tabs > tab:checked {
-       box-shadow: inset 3px 0px shade (@theme_selected_bg_color, 1.3), 0px 0px 3px @theme_selected_bg_color;
-}
-notebook > header.right > tabs > tab:checked:hover {
-       box-shadow: inset 2px 0px shade (@theme_selected_bg_color, 1.3), 0px 0px 3px @theme_selected_bg_color;
-       background: @theme_selected_bg_color;
-}
-notebook > header.right > tabs > tab:hover {
-       box-shadow: inset 2px 0px shade (@theme_selected_bg_color, 1.3);
-}
-
-textview > text {
-       color: @theme_text_color;
-       
-       background-image: linear-gradient(to bottom,
-                                         shade (@theme_bg_color, 1.2),
-                                         shade (@theme_bg_color, 1.3) 20em);
-       background-size: cover;
-       font-weight: bold;
-}
-
-textview > text > selection {
-       color: #343434;
-       background-color: #eeeeec;
-}
-
-scrollbar {
-       background-color: transparent;
-}
-scrollbar slider {
-       background-color: shade (@theme_bg_color, 0.55);
-       min-width: 8px;
-}
-scrollbar slider:hover {
-       background-color: shade (@theme_bg_color, 0.7);
-       transition: 400ms;
-}
-scrollbar slider:hover:active {
-       background-color: shade (@theme_bg_color, 0.55);
-       transition: 200ms;
-}
-
-tooltip, tooltip * {
-       margin: 0px;
-       padding: 0px;
-}
-
diff --git a/files/immudex_updates.service b/files/immudex_updates.service
deleted file mode 100644 (file)
index abaaf3b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Refresh Debian packages list
-After=network-online.target
-Wants=network-online.target
-Before=display-manager.service
-[Service]
-Type=OneShot
-ExecStart=/usr/local/sbin/immudex-packages-update
-RemainAfterExit=yes
-[Install]
-WantedBy=multi-user.target
diff --git a/files/mozilla.tgz b/files/mozilla.tgz
deleted file mode 100644 (file)
index 540acda..0000000
Binary files a/files/mozilla.tgz and /dev/null differ
index 2dca94baed71e6868141f7916d4f57e294669ce4..fa0817446b0229669d1ee5630138b0bab9fba098 100755 (executable)
@@ -1,6 +1,8 @@
 #!/bin/bash
 
+RED="\e[31m";
 GREEN="\e[32m";
+YELLOW="\e[33m";
 ENDCOLOR="\e[0m";
 
 set -e
@@ -41,12 +43,38 @@ case $2 in
   *) help; exit 1;;
 esac
 
+if [ "$3" ]; then export cname=$3; fi
+if [ "$4" ]; then export version=$4; fi
+
 if [ ! -f /sbin/debootstrap ]; then
   create_enviroment 
 fi
 
 #Removing old immudex build directory structure:
 if [ -d ${HOME}/build/immudex-${debver}/${arch} ]; then
+  #Unmounting potentialy mounted system interfaces:
+  echo "Unmount system interfaces...";
+  for i in /dev/pts /proc /run /sys /dev; do
+    if [ "$i" = "/run" ]; then
+      #number of Elements
+      if [ "$debver" = "oldstable" ]; then
+        noE=8;
+      else
+        noE=9;
+      fi
+    elif [ "$i" = "/dev" ]; then
+      noE=14;
+    else
+      noE=0;
+    fi
+    if [ $(ls ${HOME}/build/immudex-${debver}/${arch}/chroot$i | wc -w ) -gt $noE ]; then 
+      sudo umount ${HOME}/build/immudex-${debver}/${arch}/chroot$i >> /dev/null 2>&1;
+      echo -e "Umount system interface: ${i} [ ${YELLOW}Unmounted${ENDCOLOR} ]";
+    else
+      echo -e "System interface: ${i} [ ${GREEN}Not mounted${ENDCOLOR} ]";
+    fi
+  done
+  echo -e "Unmount system interfaces...[ ${GREEN}OK${ENDCOLOR} ]";
   echo -n "Removing old immudex build directory structure...";
   sudo rm -rvf ${HOME}/build/immudex-${debver}/${arch} >> immudex_build.log 2>&1;
   if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
@@ -69,9 +97,19 @@ echo -n "Copying chroot script to chroot directory...";
 sudo cp -vv ${HOME}/immudex/versions/base.sh ${HOME}/build/immudex-${debver}/${arch}/chroot >> immudex_build.log 2>&1;
 if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
 
+#Mount system interfaces - required for build some addons.
+for i in /dev /dev/pts /proc /run /sys; do
+  sudo mount -B $i ${HOME}/build/immudex-${debver}/${arch}/chroot$i;
+done
+
 #Executing chroot script, at least i trying:
 sudo chroot ${HOME}/build/immudex-${debver}/${arch}/chroot /bin/bash /base.sh $debver;
 
+#Try to umount system interfaces it may fail.
+for i in /dev/pts /proc /run /sys /dev; do
+  sudo umount ${HOME}/build/immudex-${debver}/${arch}/chroot$i;
+done
+
 #Removing chroot script.
 echo -n "Remove chroot script...";
 sudo rm -vf ${HOME}/build/immudex-${debver}/${arch}/chroot/base.sh >> immudex_build.log 2>&1;
@@ -93,24 +131,21 @@ cp -v $(ls -v ${HOME}/build/immudex-${debver}/${arch}/chroot/boot/vmlinuz-* | ta
 cp -v $(ls -v ${HOME}/build/immudex-${debver}/${arch}/chroot/boot/initrd.img-* | tail -1) ${HOME}/build/immudex-${debver}/${arch}/staging/live/initrd >> immudex_build.log 2>&1;
 if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
 
-#Setting version for this image:
-echo "-==Setting version for immudex image: $(date)==-" >> immudex_build.log;
-echo -n "Setting version for this immudex image...";
-(cd ${HOME}/immudex && git log --pretty=oneline) | head -1 | awk '{printf $1}' | tee ${HOME}/build/immudex-${debver}/${arch}/staging/live/version >> immudex_build.log 2>&1;
-echo >> immudex_build.log;
-versionShort=$(cut -c 1-7 ${HOME}/build/immudex-${debver}/${arch}/staging/live/version);
-if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
+export FILE="${HOME}/build/immudex-${debver}/${arch}/staging/live/changelog";
+export arch2=$(echo $1 | sed 's/-//g');
 
-#Setting compilation date for this image:
-echo "-==Setting compilaztion date for immudex image: $(date)==-" >> immudex_build.log;
-echo -n "Setting compilation date for this immudex image...";
-date | tee ${HOME}/build/immudex-${debver}/${arch}/staging/live/compilation_date >> immudex_build.log 2>&1;
+#Setting changelog file for this image:
+echo "-==Setting changelog file for this image: $(date)==-" >> immudex_build.log;
+echo -n "Setting changelog file for this image...";
+(source ${HOME}/immudex/versions/template.sh; make_changelog_file $arch2;)
 if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
 
+eval $(grep '^COMMIT' $FILE);
+versionShort=$(echo $COMMIT | awk '{printf $1}' | cut -c 1-7);
+
 #Getting and copying bootloader files
 echo "-==Getting and copying bootloader files: $(date)==-" >> immudex_build.log;
 echo -n "Copying bootloader files...";
-arch2=$(echo $1 | sed 's/-//g');
 cp -v ${HOME}/immudex/isolinux/${arch2}/* ${HOME}/build/immudex-${debver}/${arch}/staging/isolinux >> immudex_build.log 2>&1;
 cp -v ${HOME}/immudex/grub/${arch2}/* ${HOME}/build/immudex-${debver}/${arch}/staging/boot/grub >> immudex_build.log 2>&1;
 if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
@@ -166,8 +201,16 @@ sudo mmd -i efiboot.img efi efi/boot >> ${oldcwd}/immudex_build.log 2>&1;
 sudo mcopy -vi efiboot.img ${HOME}/build/immudex-${debver}/${arch}/staging/EFI/boot/bootx64.efi ::efi/boot >> ${oldcwd}/immudex_build.log 2>&1;
 if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
 
+if [ "$cname" ] && [ "$version" ]; then
+ isofilename="immudex-${debver}${arch}_${cname}_${version}.iso";
+elif [ "$cname" ]; then
+  isofilename="immudex-${debver}${arch}_${cname}.iso";
+else
+  isofilename="immudex-${debver}${arch}_${versionShort}.iso";
+fi 
+volid="$(basename $isofilename .iso)";
 #Create iso image:
 cd $oldcwd;
 echo -n "Creating iso image...";
-xorriso as mkisofs -iso-level 3 -o "immudex-${debver}${arch}_${versionShort}.iso" -full-iso9660-filenames -volid "immudex-${debver}${arch}_${versionShort}" -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}/build/immudex-${debver}/${arch}/staging/boot/grub/efiboot.img ${HOME}/build/immudex-${debver}/${arch}/staging >> immudex_build.log 2>&1;
+xorriso as mkisofs -iso-level 3 -o "${isofilename}" -full-iso9660-filenames -volid "${volid}" -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}/build/immudex-${debver}/${arch}/staging/boot/grub/efiboot.img ${HOME}/build/immudex-${debver}/${arch}/staging >> immudex_build.log 2>&1;
 if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
index a933ef862913798c6e86227fc2a90f37278460a6..1893bc1aedd8559fbc750b61bb601527e54be3f5 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/bash
 
-if grep -q 'trixie' /etc/os-release; then
+if grep -q 'forky' /etc/os-release; then
   echo -n '-testing'; 
-elif grep -q 'bookworm' /etc/os-release; then
+elif grep -q 'trixie' /etc/os-release; then
   echo -n '-stable';
 else
   echo -n '-oldstable';
diff --git a/tools/bin/immudex-cdrip b/tools/bin/immudex-cdrip
new file mode 100755 (executable)
index 0000000..fc3cf0b
--- /dev/null
@@ -0,0 +1,126 @@
+#!/bin/bash
+
+function XMLScrap() {
+  echo -n $(grep -o "<${1}>.*</${1}>" $2 \
+  | sed "s,<${1}>,," \
+  | sed "s,</${1}>,," \
+  | sed 's,&amp;,and,g');
+}
+
+function help() {
+  echo "immudex-cdrip - bash script for collection audio tracks from Audio CD.";
+  echo "morketsmerke.org @ 2025";
+  echo;
+  echo "Usage:";
+  echo "  $ immudex-cdrip --rip-n-rename";
+  echo;
+  echo "Options:";
+  echo "  --rip-only - Rips audio tracks from Audio CD, without quering CDIndex";
+  echo "  (MusicBrainz) database.";
+  echo;
+  echo "  --get-disc-info - Getting info from CDIndex (MusicBrainz) database";
+  echo "  about Audio CD without ripping.";
+  echo;
+  echo "  --rip-n-rename - Rips audio tracks from Audio CD, create Artist/Album folders";
+  echo "  and rename tracks according to data get CDIndex (MusicBrainz)";
+  echo "  database (normal usage).";
+  echo;
+  echo "Script using CDDA2WAV tool from icedax package and libparanoia library (GNU/Linux Debian).";
+}
+
+function multipleArtistDisc() {
+
+  FILE="$1";
+  ARTIST="VA";
+  ALBUM=$(XMLScrap "Title" $FILE);
+  NUMTRACKS=$(XMLScrap "NumTracks" $FILE);
+  TRACKPATH="${ARTIST} - ${ALBUM}";
+
+  mkdir -vp "${TRACKPATH}";
+
+  i=1;
+  while [ $i -le $NUMTRACKS ]; do
+    artist=$(grep -o "<Artist>.*</Artist>" $FILE \
+    | sed -n "${i}p" \
+    | sed 's,<Artist>,,' \
+    | sed 's,</Artist>,,');
+    trackName=$(grep -o "<Name>.*</Name>" $FILE \
+    | sed -n "${i}p" \
+    | sed 's,<Name>,,' \
+    | sed 's,</Name>,,');
+  
+    if [ $i -lt 10 ]; then
+      trackNumber="0${i}";
+    else
+      trackNumber=${i};
+    fi
+
+    audioFilename="audio_${trackNumber}.wav";
+    infFilename=$(echo $audioFilename | sed 's/wav/inf/');
+     
+    mv -v $audioFilename "${TRACKPATH}/${trackNumber}. ${artist} - ${trackName}.wav";
+    rm -v ${infFilename};
+    i=$(expr $i + 1);
+  done
+
+  rm -v audio.cddb;
+  rm -v ${FILE};  
+}
+
+if [ ! -x /usr/bin/cdda2wav ]; then
+  sudo apt-get install icedax cdparanoia -y;
+fi
+
+if [ "$1" ] && [ "$1" = "--rip-only" ]; then
+  cdda2wav -vall cddb=-1 speed=4 -paranoia paraopts=no-verify -B -D /dev/sr0;
+  exit 0;
+fi
+
+if [ "$1" ] && [ "$1" = "--get-disc-info" ]; then
+  cdda2wav -J -D /dev/sr0;
+  exit 0;
+fi
+
+if [ "$1" ] && [ "$1" = "--rip-n-rename" ]; then
+  cdda2wav -vall cddb=1 speed=4 -paranoia paraopts=no-verify -B -D /dev/sr0;
+
+  FILE="audio.cdindex";
+
+  if $(grep -q '<MultipleArtistCD>' $FILE); then
+    multipleArtistDisc $FILE;
+  else  
+    ARTIST=$(XMLScrap "Artist" $FILE);
+    ALBUM=$(XMLScrap "Title" $FILE);
+    NUMTRACKS=$(XMLScrap "NumTracks" $FILE);
+    TRACKPATH="${ARTIST}/${ALBUM}";
+
+    mkdir -vp "${TRACKPATH}";
+
+    i=1;
+    while [ $i -le $NUMTRACKS ]; do
+      trackName=$(grep -o "<Name>.*</Name>" $FILE \
+      | sed -n "${i}p" \
+      | sed 's,<Name>,,' \
+      | sed 's,</Name>,,');
+
+      if [ $i -lt 10 ]; then
+        audioFilename="audio_0${i}.wav";
+        trackNumber="0${i}";
+      else
+        audioFilename="audio_${i}.wav";
+        trackNumber="${i}";
+      fi
+      infFilename=$(echo "$audioFilename" | sed 's/wav/inf/');
+      mv -v $audioFilename "${TRACKPATH}/${trackNumber}. ${ARTIST} - ${trackName}.wav";
+      rm -v $infFilename;
+      i=$(expr $i + 1);
+    done
+    rm -v audio.cddb;
+    rm -v audio.cdindex;
+  fi
+  exit 0;
+fi
+
+help;
index 3cb56ad551961419b634b63a9c5d06e8a8933ed1..345aebc56a1b21131616baea39b86d7aa35e4d8e 100755 (executable)
@@ -1,12 +1,44 @@
 #!/bin/bash
 
+function help() {
+  echo "immudex-import-sshkeys - script for copying ssh keys into user native home directory.";
+  echo "@ 2025 morketsmerke.org";
+  echo;
+  echo "Usage:";
+  echo "$ immudex-import-sshkeys"
+  echo "This comman should be run in other home directory, where ssh keys are stored.";
+  echo;
+  echo "Options:";
+  echo "  --help - print this message.";
+  echo "  --import-hosts - import hostnames and adresses to /etc/host file (sudo required)";
+  echo "  from SSH config file if exist.";
+}
+
+if [ "$1" ] && [ "$1" = "--help" ]; then
+  help;
+  exit 1;
+fi
+
 if $(ls $HOME | grep -q '.*_rsa.*'); then
   if [ -d /home/$USER/.ssh ]; then
-   cp -v ~/*_rsa* /home/$USER/.ssh;
+    cp -v ~/*_rsa* /home/$USER/.ssh;
   else
     mkdir /home/$USER/.ssh;
     chmod 700 /home/$USER/.ssh;
     cp -v ~/*_rsa* /home/$USER/.ssh;
   fi
 fi
-
+if $(ls -w1 $HOME | grep -q '^config$'); then
+  cp -v ~/config /home/$USER/.ssh;
+  if [ "$1" ] && [ "$1" = "--import-hosts" ]; then
+    i=1;
+    hostsCount=$(grep -o "Host .*" ~/config | wc -l);
+    while [ $i -le $hostsCount ]; do
+      host=$(grep -o "Host .*" ~/config | sed -n "${i}p" | awk '{printf $2}');
+      hostName=$(grep -o "HostName .*" ~/config | sed -n "${i}p" | awk '{printf $2}');
+      echo -e "${host}\t${hostName}" | sudo tee -a /etc/hosts;
+      i=$(expr $i + 1); 
+    done
+  fi
+  chmod 600 /home/$USER/.ssh/config;
+fi
index 8dd29b629e21c65c8d185f47b4cbbf6938ac571a..d9fce1e10fc038f2836c2e5c2b6ca7a46bdc757d 100755 (executable)
@@ -28,6 +28,7 @@ if $(df -h 2> /dev/null | grep -q '/dev/mapper'); then
 else
   echo -e "  \tCRYPT_PART: N/A";
 fi
+echo -e "  \tIP: $(ip addr show $(sed -n '2p' /proc/net/route | awk '{printf $1}') | grep 'inet\ ' | awk '{printf $2"\n"}')";
 echo -e "  \tPROCESSES: $(ps -aux | wc -l | awk '{printf $1}')";
 if $(uptime | grep -q 'day'); then
   utime=$(uptime | awk '{printf $3" "$4" "$5}' | sed -e 's/\,$//' -e 's,:,h ,');
@@ -40,8 +41,8 @@ else
     echo -e "  \tUPTIME: 0h ${utime}m";
   fi
 fi
-echo -e " \t$(uptime | grep -o "load.*$" | tr [a-z] [A-Z])";
+echo -e " \t$(uptime | grep -o "load.*$" | tr '[a-z]' '[A-Z]')";
 echo;
-echo -e "morketsmerke.org @ 2023 https://github.com/xf0r3m/immudex";
+echo -e "morketsmerke.org @ 2025 https://github.com/xf0r3m/immudex";
 echo;
 echo "====================================================================";
index 902ce97e709c6c07097ee33981dbff0e083a821a..59343d7dd5c8e0d51c2beb85a260e192edd50ddd 100755 (executable)
@@ -1,7 +1,5 @@
 #!/bin/bash
 
-source /usr/local/bin/library.sh;
-
 launcher="/home/${USER}/.config/xfce4/panel/launcher-14/16844255236.desktop";
 
 function main_unlock() {
@@ -42,7 +40,7 @@ function lock() {
   if [ "$mapperDeviceList" ]; then
          for dmDevice in $mapperDeviceList; do
                  if sudo cryptsetup status /dev/mapper/${dmDevice} > /dev/null 2>&1; then
-                         mountPoint=$(df --output=source,target /media/${USER}/${dmDevice} | tail -n 1 | awk '{printf $2}');
+                         mountPoint=$(df --output=source,target /dev/mapper/${dmDevice} | tail -n 1 | awk '{printf $2}');
                          if [ "$mountPoint" ]; then
                                  if $(sudo lsof $mountPoint > /dev/null 2>&1); then
                                          notify-send "Padlock" "The /dev/mapper/${dmDevice} cannot be unmount, because there are opened file or running proceses." --icon=dialog-error;
@@ -50,13 +48,10 @@ function lock() {
                                          sudo umount $mountPoint;
             if [ $? -ne 0 ]; then
               notify-send "Padlock" "The /dev/mapper/${dmDevice} cannot be unmount, because there are other filesystem is mounted in." --icon=dialog-error;
-            else
-              deactivate_lvm_w_swap $dmDevice;
-                                           sudo cryptsetup close /dev/mapper/${dmDevice};
             fi
+                                         sudo cryptsetup close /dev/mapper/${dmDevice};
                                  fi
                          else
-          deactivate_lvm_w_swap $dmDevice;
           sudo cryptsetup close /dev/mapper/${dmDevice};
                          fi
                  fi
diff --git a/tools/bin/immudex-run b/tools/bin/immudex-run
new file mode 100755 (executable)
index 0000000..aa30089
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+function help() {
+  echo "immudex-run - execute external apps which require home dir configuration";
+  echo "@ 2025 morketsmerke.org";
+  echo;
+  echo "Database and its configuration: ";
+  echo "By default immudex-run database is shell script file, containing 4 variables";
+  echo "NATIVE_HOME_DIR - pointing normal user home dirs - /home/USER";
+  echo "WORKING_HOME_DIR - pointing first immudex-crypt device - /ic0";
+  echo "APPS - array, containing apps commands configured to execute via immudex-run";
+  echo "CONFIG_DIRS - array, with app configuration path, usually stored in user home dir";
+  echo;
+  echo "Usage: ";
+  echo "$ immudex-run <app_command>";
+}
+
+if [ "$1" ]; then
+  EXE_APP=$1;
+  source /usr/local/share/immudex-run/immudex-run.base;
+  i=0;
+  for a in ${APPS[@]}; do
+    if [ "$a" = "$EXE_APP" ]; then
+      index=$i;
+      configDirsList=$(echo ${CONFIG_DIRS[$index]} | sed 's/,/\ /g');
+      for configDir in $configDirsList; do
+        cp -prvv ${WORKING_HOME_DIR}/$configDir ${NATIVE_HOME_DIR}/${configDir};
+      done
+      export HOME=$WORKING_HOME_DIR;
+      $EXE_APP; 
+    fi
+    i=$(expr $i + 1);
+  done
+  if [ ! "$index" ]; then
+    echo "Application doesn't appear in database.";
+    echo "Configure /usr/local/share/immudex-run/immudex-run.base file";
+    exit 1;
+  fi
+  #echo "index: $index";  
+else
+  help;
+  exit 1;
+fi
diff --git a/tools/bin/immudex-secured-librewolf b/tools/bin/immudex-secured-librewolf
new file mode 100755 (executable)
index 0000000..5e4416b
--- /dev/null
@@ -0,0 +1,9 @@
+#!/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/lib/librewolf/librewolf
index 6cfc89b6e235fec4ff0bf89c4559452781242806..67be301365443f3558b6c7f338e85422a5c3c821 100755 (executable)
@@ -1,3 +1,4 @@
 #!/bin/bash
 
-cat /run/live/medium/live/version | cut -c 1-7
+eval $(grep '^COMMIT' /run/live/medium/live/changelog)
+echo $COMMIT | awk '{printf $1}' | cut -c 1-7
diff --git a/tools/bin/immudex-ytplay2 b/tools/bin/immudex-ytplay2
new file mode 100755 (executable)
index 0000000..2ccf90e
--- /dev/null
@@ -0,0 +1,98 @@
+#!/usr/bin/env python3
+
+import sys
+import subprocess
+from youtube_search import YoutubeSearch
+
+def usage():
+
+  print(
+  '''
+  immudex-ytplay - script which could play a video or audio track from youtube
+  @ 2023 (original bash script), 2025 (python script) morketsmerke.org
+  Options:
+    -s - search given keyword on youtube.
+    -v - play youtube video.
+    -a - play only youtube video audiotrack
+  Ommiting -s option, assume you are give a yt video link.
+  You have to put -v or -a before you paste a yt video link
+  When you put keywords in -s option, you need to choose
+  that you want listening an audiotrack (-a) oraz watch video (-v)
+  Usage:
+    $ immudex-ytplay -s -a [-f ytdl-format] 'lofi'
+    $ immudex-ytplay -v https://youtube.com/watch?v=... [-f ytdl-format]
+    $ immudex-ytplay -a https://youtube.com/watch?v=... [-f ytdl-format]
+  You can search again the same keywords puting 'r' or 'R' instead
+  of video numer  
+  ''')
+
+def ytSearch(keywords, maxResults=15):
+  
+  i = "r"
+  while isinstance(i, str) and (i == "r" or i == "R"):
+    subprocess.run('clear')
+    results = YoutubeSearch(keywords, max_results=maxResults).to_dict()
+
+    index = 1
+    for video in results:
+      print(f"\033[1m\033[91m{index}\033[0m. Title: \033[92m{video['title']}\033[0m")
+      print(f"  Channel: \033[93m{video['channel']}\033[0m, Duration: \033[94m{video['duration']}\033[0m, PubDate: \033[95m{video['publish_time']}\033[0m")
+      index += 1
+  
+    i = input("Put number of video you wanna watch or put 'r' to reload search result: ")
+
+  i = int(i) - 1
+  return(results[i]['id'], results[i]['title'], results[i]['channel'], results[i]['duration'], results[i]['publish_time']);
+
+if sys.argv[1] == '-s':
+  if len(sys.argv) > 2:
+    if sys.argv[2] == '-v':
+      mode = "video"
+    elif sys.argv[2] == '-a':
+      mode = "audio"
+    else:
+      usage()
+      sys.exit(2) 
+    if len(sys.argv) > 3:
+      if sys.argv[3][0:5] == "best[":
+        ytFormat=sys.argv[3]
+      else:
+        ytFormat = "best"
+        keywords=sys.argv[3]
+    if len(sys.argv) > 4: 
+      keywords = sys.argv[4]
+    
+    #link = f"https://youtube.com/watch?v={ytSearch(keywords)}"
+    video = ytSearch(keywords)
+    #print(video)
+    subprocess.run('clear')
+    print(f"\033[91m1\033[0m. Title: \033[92m{video[1]}\033[0m")
+    print(f"  Channel: \033[93m{video[2]}\033[0m, Duration: \033[94m{video[3]}\033[0m, PubDate: \033[95m{video[4]}\033[0m")
+    print("===================================================================")
+    if mode == 'audio':
+      ytFormat = "--no-video"
+    else:
+      ytFormat = "--ytdl-format=" + ytFormat
+
+    subprocess.run(['mpv', ytFormat, 'ytdl://' + video[0]])
+
+elif sys.argv[1] == '-a':
+  if len(sys.argv) > 2:
+    link=sys.argv[2]
+    ytFormat="--no-video"
+    subprocess.run(['mpv', ytFormat, 'ytdl://' + link])
+  else:
+    usage()
+    sys.exit(2)
+
+elif sys.argv[1] == '-v':
+  if len(sys.argv) > 2:
+    link=sys.argv[2]
+    if len(sys.argv) > 3:
+      ytFormat="--ytdl-format=" + sys.argv[3]
+    else:
+      ytFormat="--ytdl-format=best"
+    subprocess.run(['mpv', ytFormat, 'ytdl://' + link])
+  else:
+    usage()
+    sys.exit(2)   
index 01d711b1f2d8b70de065cfe643db6036d0828966..2e50210d727bdb5b7985cae594d637f3efdac4a6 100755 (executable)
@@ -57,22 +57,3 @@ function ascii_colors() {
   echo -e "${ENDCOLOR}";
 
 }
-
-function deactivate_lvm_w_swap() {
-  if $(sudo blkid | grep "$1" | grep -q 'LVM2_member'); then
-    vgName=$(sudo pvs | grep "$1" | awk '{printf $2}' | sed 's/-/--/g');
-    swapFile=$(cat /proc/swaps | sed -n 2p | awk '{printf $1}');
-    if [ "$swapFile" ]; then 
-      if $(ls -l /dev/mapper | grep "$(basename $swapFile)" | grep -q "$vgName"); then
-        sudo swapoff $swapFile;
-      fi
-    fi 
-    sudo vgchange -a n;
-  fi
-}
-
-function deactivate_lvm() {
-  if $(sudo blkid | grep "$1" | grep -q 'LVM2_member'); then
-    sudo vgchange -a n;
-  fi
-}
index 37c0d587374aec0eecd45a8342cd046e51c0125a..79cef354a2efacee5b8975fc18a5fc37800bdf7b 100755 (executable)
@@ -92,7 +92,7 @@ if [ "$target" = "i386-efi" ]; then
   if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
   
   echo -n "Umounting all mounted filesystems...";
-  umount /mnt/* > /dev/null 2>&1;
+  umount /mnt/usb /mnt/iso > /dev/null 2>&1;
   if [ $? -eq 0 ]; then echo -e "[${GREEN}OK${ENDCOLOR}]"; fi
 
 elif [ "$target" = "nuke" ]; then
index ed8c76af2f7124cf0e1aa5b6cccf4950453cb785..964558d0ad36716508ac121d23ad0df1e913c02e 100755 (executable)
@@ -15,15 +15,6 @@ function help() {
   echo "# immudex-crypt create <disk partition>";
   echo "# immudex-crypt open <crypt_LUKS device>";
   echo "# immudex-crypt close immudex-crypt[0-9] | ic[0-9] | [0-9]";
-  echo "LVM prep:";
-  echo "It's possible to mount EXT4 LV with your data, behind LUKS. For now";
-  echo "only open function works, so you need prepare whole LVM structure on";
-  echo "your disk or partition even with file system instalation. If there is";
-  echo "only one EXT4 LV it will be mounted automaticly, but if there is more";
-  echo "than one, you will be asked to choose which one shoud be mounted.";
-  echo "LVM behind LUKS, can be used for swap. Turning on swap partition is up";
-  echo "to you, but close function check is there any swap partition in use";
-  echo "and turn off swap before deactivating volume group and close LUKS.";
 }
 
 function list() {
@@ -43,11 +34,7 @@ function list() {
                  if [ "$mountPoint" ] && [ "$mountPoint" != "/dev" ]; then
             echo -e "$device\t /dev/mapper/${dmDevice}\t$mountPoint"; 
           else
-            if $(sudo blkid | grep "${dmDevice}" | grep -q "LVM2_member"); then
-              echo -e "$device\t /dev/mapper/${dmDevice}\tNot mounted (LVM2_member)";
-            else
-              echo -e "$device\t /dev/mapper/${dmDevice}\tNot mounted";
-            fi
+            echo -e "$device\t /dev/mapper/${dmDevice}\tNot mounted";
                            fi
                    fi
            done 
@@ -91,42 +78,18 @@ function open() {
     lastField=$(ls -l /dev/mapper/immudex-crypt${index} | grep -o ' ' | wc -l);
     dmDevice=$(ls -al /dev/mapper/immudex-crypt${index} | cut -d " " -f ${lastField}- | cut -d "/" -f2);
     if ! $(sudo file -s /dev/${dmDevice} | grep -q 'ext4'); then
-      if $(sudo file -s /dev/${dmDevice} | grep -q 'LVM'); then
-        lvm_member=0;
-      else
-        echo "Could not determine filesystem of unlocked device.";
-        echo -n "Format this device to ext4? (y/n): "
-        read format;
-        if [ "$format" = "y" ]; then
-          mkfs.ext4 /dev/mapper/immudex-crypt${index};
-        else
-          echo "Refuse to mount.";
-          cryptsetup close immudex-crypt${index};
-          exit 1;
-        fi
-      fi
-    fi
-    if [ "$lvm_member" ]; then
-      luksDeviceName="immudex-crypt${index}";
-      vgName=$(sudo pvs | grep "$luksDeviceName" | awk '{printf $2}');
-      extLVS=$(sudo blkid | grep "$(echo "$vgName" | sed 's,-,--,g')" | grep 'ext4' | sed 's/://g' | awk '{printf $1" "}');
-      if [ $(echo $extLVS | wc -w) -gt 0 ]; then
-        if [ $(echo $extLVS | wc -w) -gt 1 ]; then
-          select extLV in $extLVS; do
-            break;
-          done
-          mount $extLV /media/${USER}/immudex-crypt${index};
-        else
-          mount $extLVS /media/${USER}/immudex-crypt${index};
-        fi
+      echo "Could not determine filesystem of unlocked device.";
+      echo -n "Format this device to ext4? (y/n): "
+      read format;
+      if [ "$format" = "y" ]; then
+        mkfs.ext4 /dev/mapper/immudex-crypt${index};
       else
         echo "Refuse to mount.";
         cryptsetup close immudex-crypt${index};
         exit 1;
-      fi 
-    else
-      mount /dev/mapper/immudex-crypt${index} /media/${USER}/immudex-crypt${index};
+      fi
     fi
+    mount /dev/mapper/immudex-crypt${index} /media/${USER}/immudex-crypt${index};
     if [ ! -e /ic${index} ]; then
       ln -s /media/${USER}/immudex-crypt${index} /ic${index};
     fi
@@ -146,24 +109,11 @@ function close() {
         cryptfsName=$1;
     fi
     if cryptsetup status /dev/mapper/${cryptfsName} > /dev/null 2>&1; then
-      mountPoint=$(df --output=source,target /media/${USER}/${cryptfsName} | tail -1 | awk '{printf $2}');
+      mountPoint=$(df --output=source,target /dev/mapper/${cryptfsName} | tail -1 | awk '{printf $2}');
       if [ "$mountPoint" ] && [ "$mountPoint" != "/dev" ]; then
         umount -R $mountPoint;
-        if $(sudo blkid | grep "$cryptfsName" | grep -q 'LVM2_member'); then
-          vgName=$(sudo pvs | grep "$cryptfsName" | awk '{printf $2}' | sed 's/-/--/g');
-          swapFile=$(cat /proc/swaps | sed -n 2p | awk '{printf $1}');
-          if [ "$swapFile" ]; then 
-            if $(ls -l /dev/mapper | grep "$(basename $swapFile)" | grep -q "$vgName"); then
-              sudo swapoff $swapFile;
-            fi
-          fi 
-          sudo vgchange -a n;
-        fi
         cryptsetup close ${cryptfsName};
       else
-        if $(sudo blkid | grep "${cryptfsName}" | grep -q 'LVM2_member'); then
-          sudo vgchange -a n;
-        fi
         cryptsetup close ${cryptfsName};
       fi
     else
diff --git a/tools/sbin/immudex-distrobox-swap-root b/tools/sbin/immudex-distrobox-swap-root
deleted file mode 100755 (executable)
index 1112c54..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-if [ ! -d ${1}/containers ]; then
-       sudo cp -prvv /var/lib/containers ${1};
-fi
-
-sudo mount -B ${1}/containers /var/lib/containers;
diff --git a/tools/sbin/immudex-docker-swap-root b/tools/sbin/immudex-docker-swap-root
deleted file mode 100755 (executable)
index fad8295..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-
-sudo systemctl stop docker.socket
-sudo systemctl stop docker.service
-sudo systemctl stop containerd.service
-
-sudo sed -i "s,dockerd,dockerd --data-root=${1}/docker," /lib/systemd/system/docker.service
-
-if [ ! -d ${1}/docker ]; then sudo cp -prvv /var/lib/docker ${1}; fi
-
-sudo systemctl daemon-reload
-
-sudo systemctl start containerd.service
-sudo systemctl start docker.socket
-sudo systemctl start docker.service
diff --git a/tools/sbin/immudex-nf b/tools/sbin/immudex-nf
new file mode 100755 (executable)
index 0000000..1653e1f
--- /dev/null
@@ -0,0 +1,108 @@
+#!/bin/bash
+
+RED="\e[31m";
+GREEN="\e[32m";
+YELLOW="\e[33m";
+ENDCOLOR="\e[0m";
+
+function fillTo8bits() {
+  OCT_BITS=$2;
+  FLAG=0;
+  if [ $OCT_BITS -lt 8 ]; then
+    while [ $OCT_BITS -lt 8 ]; do
+      if [ $FLAG -eq 1 ]; then 
+        OCT="0${OCT}";
+      else
+        OCT="0${1}";
+      fi
+      OCT_BITS=$(echo -n $OCT | wc -c | awk '{printf $1}');
+      FLAG=1;
+    done
+    echo "$OCT";
+  else
+    echo "$OCT";
+  fi
+}
+
+function getBinaryOCT() {
+  OCT=$(echo "obase=2;${1}" | bc);
+  OCT_BITS=$(echo -n $OCT | wc -c | awk '{printf $1}');
+  echo "$(fillTo8bits $OCT $OCT_BITS)";
+}
+
+function printHelp() {
+  echo "immudex-nf - script to search host in network by IP or MAC address";
+  echo "morketsmerke.org @ 2025";
+  echo;
+  echo "Options: ";
+  echo "  --is-free <host_ip_address> - SYN and UDP scan for check is given IP address is free and useable";
+  echo;
+  echo "Usage: ";
+  echo "# immudex-nf <IP or MAC address>";
+}
+
+if [ "$1" ]; then
+
+  if [ "$1" = "--is-free" ]; then
+    echo "Scanning...";
+    sudo nmap -sS $2 | sudo tee /tmp/immudex-nf_syn.txt > /dev/null 2>&1;
+    if [ $? -eq 0 ]; then echo -e "SYN Scanning...[ ${GREEN}OK${ENDCOLOR} ]"; fi
+    sudo nmap -sU $2 | sudo tee /tmp/immudex-nf-udp.txt > /dev/null 2>&1;
+    if [ $? -eq 0 ]; then echo -e "UDP Scanning...[ ${GREEN}OK${ENDCOLOR} ]"; fi
+    cat /tmp/immudex-nf_syn.txt /tmp/immudex-nf-udp.txt;
+  else 
+    IFACE=$(cat /proc/net/route | sed -n '2p' | awk '{printf $1}');
+    IP=$(ip addr show dev ${IFACE} | grep 'inet\ ' | awk '{printf $2}' | cut -d "/" -f 1);
+    CIDR=$(ip addr show dev ${IFACE} | grep 'inet\ ' | awk '{printf $2}' | cut -d "/" -f 2);
+
+    OCT1=$(getBinaryOCT $(echo $IP | grep -o '[0-9]*' | sed -n '1p'));
+    OCT2=$(getBinaryOCT $(echo $IP | grep -o '[0-9]*' | sed -n '2p'));
+    OCT3=$(getBinaryOCT $(echo $IP | grep -o '[0-9]*' | sed -n '3p'));
+    OCT4=$(getBinaryOCT $(echo $IP | grep -o '[0-9]*' | sed -n '4p'));
+
+    binIP="${OCT1}${OCT2}${OCT3}${OCT4}";
+    ipAfterCut=$(echo -n $binIP | cut -c 1-$CIDR);
+    netBinIPBits=$CIDR;
+
+    netBinIP=$ipAfterCut;
+    while [ $netBinIPBits -lt 32 ]; do
+      netBinIP="${netBinIP}0";
+      netBinIPBits=$(echo -n $netBinIP | wc -c | awk '{printf $1}');
+    done
+
+    netOCT1=$(echo -n $netBinIP | cut -c 1-8);
+    netOCT2=$(echo -n $netBinIP | cut -c 9-16);
+    netOCT3=$(echo -n $netBinIP | cut -c 17-24);
+    netOCT4=$(echo -n $netBinIP | cut -c 25-32);
+
+    networkBinIP="${netOCT1}.${netOCT2}.${netOCT3}.${netOCT4}";
+    #echo $networkBinIP;
+
+    netDecOCT1=$(echo "ibase=2;${netOCT1}" | bc);
+    netDecOCT2=$(echo "ibase=2;${netOCT2}" | bc);
+    netDecOCT3=$(echo "ibase=2;${netOCT3}" | bc);
+    netDecOCT4=$(echo "ibase=2;${netOCT4}" | bc);
+
+    networkIP="${netDecOCT1}.${netDecOCT2}.${netDecOCT3}.${netDecOCT4}";
+    echo "Network IP: $networkIP";
+    echo "Scanning...";
+    file="/tmp/immudex-nf_result.txt";
+    sudo nmap -sP "${networkIP}/${CIDR}" | sudo tee ${file} >> /dev/null;
+    if [ $? -eq 0 ]; then echo -e "Scanning...[ ${GREEN}OK${ENDCOLOR} ]"; fi
+    query=$1;
+    if $(echo $query | grep -q '\:'); then
+      offset="- 2";
+      field=5;
+    else
+      offset="+ 2";
+      field="3-";
+    fi
+
+    foundLine=$(grep -n $query $file | cut -d ":" -f 1);
+    lineNumber=$(expr $foundLine $offset);
+    result=$(sed -n "${lineNumber}p" $file | cut -d " " -f ${field});
+    echo "Result: $result";
+  fi
+else
+  printHelp;
+fi
diff --git a/tools/sbin/immudex-packages-update b/tools/sbin/immudex-packages-update
deleted file mode 100755 (executable)
index 18f625b..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-
-apt-get update;
similarity index 66%
rename from tools/bin/immudex-updates
rename to tools/sbin/immudex-updates
index 2f80683f359d9e05bb8f2de7deeeca3e82ba80fe..d91a67d1bd4c1917381211a94acc2c741f942e34 100755 (executable)
@@ -5,6 +5,8 @@ GREEN="\e[32m";
 YELLOW="\e[33m";
 ENDCOLOR="\e[0m";
 
+#FILE="/tmp/immudex-updates.txt";
+
 function getVerFromRSSFeed() {
   URL=$1;
   echo $(curl $URL 2> /dev/null | grep '<title>' | sed -n '2p' | sed -e 's/<title>//g' -e 's,</title>,,g' | awk '{printf $1}')
@@ -14,7 +16,7 @@ echo "  |";
 if [ -x /usr/bin/librewolf ]; then
   URL="https://codeberg.org/librewolf/source/releases.rss";
   newLibrewolfVer=$(getVerFromRSSFeed $URL);
-  currentLibrewolfVer=$(librewolf -V | awk '{printf $3}');
+  currentLibrewolfVer=$(apt list --installed 2>/dev/null | grep 'librewolf' | awk '{printf $2}');
   if ! [ "$currentLibrewolfVer" = "$newLibrewolfVer" ]; then
     echo -e "  \`- New Librewolf version (${GREEN}${newLibrewolfVer}${ENDCOLOR}) is available.";
     echo "  |";
@@ -41,14 +43,27 @@ if [ -x /usr/local/bin/nu ]; then
   fi
 fi
 
+if [ -x /usr/local/bin/nextcloud ]; then
+  currentNextcloudVersion=$(/usr/local/bin/nextcloud -v 2> /dev/null | grep '^Nextcloud version' | awk '{printf $3}');
+  URL="https://github.com/nextcloud-releases/desktop/releases.atom";
+  newNextcloudVersion=$(curl $URL 2> /dev/null | grep -o '<title>.*</title>' | grep -v 'rc' | sed -n '2p' | sed -e 's,<title>,,' -e 's,</title>,,' | awk '{printf $2}');
+  if ! [ "$currentNextcloudVersion" = "$newNextcloudVersion" ]; then
+    echo -e "  \`- New Nextcloud version (${GREEN}${newNextcloudVersion}${ENDCOLOR}) is available.";
+    echo "  |";
+  fi
+fi
+
 debianVersion=$(cut -d "." -f 1 /etc/debian_version);
 URL="https://micronews.debian.org/feeds/feed.rss";
 newDebianVersion=$(curl $URL 2>/dev/null | grep -o "Updated Debian ${debianVersion}: ${debianVersion}.[0-9]*" | sed -n '1p' | awk '{printf $4}');
-if ! [ "$newDebianVersion" = "$(cat /etc/debian_version)" ]; then
-  echo -e "  \`- New Debian version (${YELLOW}${newDebianVersion}${ENDCOLOR}).";
-  echo "  |";
+if [ "$newDebianVersion" ]; then
+  if ! [ "$newDebianVersion" = "$(cat /etc/debian_version)" ]; then
+    echo -e "  \`- New Debian version (${YELLOW}${newDebianVersion}${ENDCOLOR}).";
+    echo "  |";
+  fi
 fi
 
+sudo apt update > /dev/null 2>&1;
 packagesToUpdate=$(expr $(apt list --upgradable 2> /dev/null | wc -l) - 1);
 if [ $packagesToUpdate -lt 0 ]; then packagesToUpdate=0; fi
 
index fea798193fd30a9fabb0529905abc815d47f6973..c1507faa7f1f5d5d5e945a03739d8d19e7be7889 100755 (executable)
@@ -17,7 +17,8 @@ function help() {
   echo "Options:";
   echo " --check - check there are upgrades for immudex";
   echo " --upgrade - upgrade immudex from given source";
-  echo " --myversion - prints images current commit message";
+  #echo " --myversion - prints images current commit message";
+  echo " --myversion - prints image details";
   echo " --compilation-date - prints date of image creation";
   echo " --packages-upgradable [--security] - updates apt (packages) list and";
   echo "   prints available to upgrade packages, with --security modificator";
@@ -97,12 +98,13 @@ if [ "$1" ]; then
       fi
     fi
   elif [ "$1" ] && [ "$1" = "--myversion" ]; then
-    if [ -d /tmp/immudex ]; then 
-      (cd /tmp/immudex && git pull > /dev/null 2>&1)
-    else
-      git clone https://github.com/xf0r3m/immudex /tmp/immudex;
-    fi
-    (cd /tmp/immudex && git show $(cat /run/live/medium/live/version))
+    #if [ -d /tmp/immudex ]; then 
+    #  (cd /tmp/immudex && git pull > /dev/null 2>&1)
+    #else
+    #  git clone https://github.com/xf0r3m/immudex /tmp/immudex;
+    #fi
+    #(cd /tmp/immudex && git show $(cat /run/live/medium/live/version))
+    cat /run/live/medium/live/changelog;
   elif [ "$1" ] && [ "$1" = "--packages-upgradable" ]; then
     apt update;
     if [ "$2" ] && [ "$2" = "--security" ]; then
@@ -111,7 +113,8 @@ if [ "$1" ]; then
       apt list --upgradable;
     fi
   elif [ "$1" ] && [ "$1" = "--compilation-date" ]; then
-    echo "Image was created: $(cat /run/live/medium/live/compilation_date)";
+    eval $(grep '^COMPILATION_DATE' /run/live/medium/live/changelog);    
+    echo "Image was created: $COMPILATION_DATE";
   else
     help;
     exit 1;
diff --git a/tools/sbin/immudex-upgrade_ b/tools/sbin/immudex-upgrade_
deleted file mode 100755 (executable)
index 32a8ae0..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-#!/bin/bash
-
-set -e
-
-source library.sh
-
-RED="\e[31m";
-GREEN="\e[32m";
-YELLOW="\e[33m";
-ENDCOLOR="\e[0m";
-root="/run/live/medium";
-
-function help() {
-  echo "immudex-upgrade - script for searching upgrades and upgrade immudex";
-  echo "@ 2025 morketsmerke.org";
-  echo "Superuser (root) privileges are required.";
-  echo "Options:";
-  #echo " --check - check there are upgrades for immudex";
-  echo " --upgrade - upgrade immudex from given source";
-  #echo " --myversion - prints images current commit message";
-  #echo " --myversion - prints image details";
-  #echo " --compilation-date - prints date of image creation";
-  #echo " --packages-upgradable [--security] - updates apt (packages) list and";
-  #echo "   prints available to upgrade packages, with --security modificator";
-  #echo "   prints only pacakages from security repository branch";
-}
-
-if [ $UID -ne 0 ]; then
-  echo "Permission denied!";
-  help;
-  exit 1;
-fi
-
-if [ "$1" ]; then
-  if [ "$1" ] && [ "$1" = "--check" ]; then
-    if check_distro_commit; then 
-      echo -e "${GREEN}This${ENDCOLOR} is the latest version of immudex";
-    else
-      echo -e "There is a ${RED}new${ENDCOLOR} version of immudex:";
-      echo "===================================================";
-      check_distro_commit --print;
-    fi
-  elif [ "$1" ] && [ "$1" = "--upgrade" ]; then
-    echo "Upgrading immudex...";
-    part=$(blkid | grep 'LABEL="immudex"' | awk '{printf $1}' | cut -d ":" -f 1);
-    if mount | grep -q "$part"; then
-      echo -n "  Mounting iso image...";
-      mount $2 /mnt > /dev/null 2>&1;
-      if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
-      mountPointList=$(mount | grep "$part" | awk '{printf $3" "}');
-      for mountPoint in $mountPointList; do
-        echo -n "  Unlocking $mountPoint ..."; 
-        mount $part $mountPoint -o remount,rw > /dev/null 2>&1;
-        if [ $? -eq 0 ]; then
-          echo -e "[ ${GREEN}OK${ENDCOLOR} ]";
-        else
-          echo -e "[ ${RED}FAIL${ENDCOLOR} ]";
-        fi
-      done
-      echo "  Copying immudex files to the disk...";
-      cp -vv /mnt/live/* ${mountPoint}/live;
-      if [ $? -eq 0 ]; then
-        echo -e "  Copying immudex files to the disk...[ ${GREEN}OK${ENDCOLOR} ]";
-      else
-        echo -e "  Copying immudex files to the disk...[ ${RED}FAIL${ENDCOLOR} ]";
-      fi
-    else
-      echo -n "  Mounting immudex partition...";
-      mount $part /mnt >> /dev/null 2>&1;
-      if [ $? -eq 0 ]; then echo -e "[ ${GREEN}OK${ENDCOLOR} ]"; fi
-      if [ "$2" ] && $(echo "$2" | grep -q '^http'); then
-        URL="$2";
-        wget ${URL}/live/vmlinuz -O /mnt/live/vmlinuz 2>/dev/null;
-        if [ $? -eq 0 ]; then echo -e "  Copying immudex kernel to the disk...[ ${GREEN}OK${ENDCOLOR} ]"; fi
-        wget ${URL}/live/initrd -O /mnt/live/initrd 2>/dev/null;
-        if [ $? -eq 0 ]; then echo -e "  Copying immudex initrd to the disk...[ ${GREEN}OK${ENDCOLOR} ]"; fi
-        wget ${URL}/live/filesystem.squashfs -O /mnt/live/filesystem.squashfs 2>/dev/null;
-        if [ $? -eq 0 ]; then echo -e "  Copying immudex filesystem.squashfs to the disk...[ ${GREEN}OK${ENDCOLOR} ]"; fi
-        wget ${URL}/live/changelog -O /mnt/live/changelog 2>/dev/null;
-        if [ $? -eq 0 ]; then echo -e "  Copying immudex changelog file to the disk...[ ${GREEN}OK${ENDCOLOR} ]"; fi
-      else
-        echo "  Copying immudex files to the disk...";
-        cp -vv /run/live/medium/live/* /mnt/live;
-        if [ $? -eq 0 ]; then
-          echo -e "  Copying immudex files to the disk...[ ${GREEN}OK${ENDCOLOR} ]";
-        else
-          echo -e "  Copying immudex files to the disk...[ ${RED}FAIL${ENDCOLOR} ]";
-        fi
-      fi
-    fi
-    if $(sudo efibootmgr > /dev/null 2>&1); then
-           echo "  Copying grub config to the disk...";
-      if [ "$mountPoint" ]; then
-        cp -vv /mnt/boot/grub/grub.cfg ${mountPoint}/boot/grub/grub.cfg;
-        if [ $? -eq 0 ]; then 
-          echo -e "  Copying grub config to the disk...[ ${GREEN}OK${ENDCOLOR} ]";
-          sed -i '/set\ timeout=/ s/30/5/' ${mountPoint}/boot/grub/grub.cfg;
-               sed -i 's/bootfrom=removable //g' ${mountPoint}/boot/grub/grub.cfg;
-        else
-          echo -e "  Copying grub config to the disk...[ ${RED}FAIL${ENDCOLOR} ]";
-        fi
-      else
-        if [ "$2" ] && $(echo "$2" | grep -q '^http'); then
-          wget ${URL}/live/grub.cfg -O /mnt/boot/grub/grub.cfg 2>/dev/null;
-          if [ $? -eq 0 ]; then echo -e "    Downloading immudex GRUB config...[ ${GREEN}OK${ENDCOLOR} ]"; fi
-          echo -e "  Copying grub config to the disk...[ ${GREEN}OK${ENDCOLOR} ]";
-        else
-               cp -vv /run/live/medium/boot/grub/grub.cfg /mnt/boot/grub/grub.cfg;
-               if [ $? -eq 0 ]; then 
-            echo -e "  Copying grub config to the disk...[ ${GREEN}OK${ENDCOLOR} ]";
-               else
-            echo -e "  Copying grub config to the disk...[ ${RED}FAIL${ENDCOLOR} ]";
-          fi
-        fi
-        sed -i '/set\ timeout=/ s/30/5/' /mnt/boot/grub/grub.cfg;
-             sed -i 's/bootfrom=removable //g' /mnt/boot/grub/grub.cfg;
-      fi
-    fi
-    umount -R /mnt;
-    if [ $? -eq 0 ]; then echo -e "  Unmount immudex partition...[ ${GREEN}OK${ENDCOLOR} ]"; fi
-    echo -e "Upgrading immudex...[ ${GREEN}OK${ENDCOLOR} ]";
-  elif [ "$1" ] && [ "$1" = "--myversion" ]; then
-    #if [ -d /tmp/immudex ]; then 
-    #  (cd /tmp/immudex && git pull > /dev/null 2>&1)
-    #else
-    #  git clone https://github.com/xf0r3m/immudex /tmp/immudex;
-    #fi
-    #(cd /tmp/immudex && git show $(cat /run/live/medium/live/version))
-    cat /run/live/medium/live/changelog;
-  elif [ "$1" ] && [ "$1" = "--packages-upgradable" ]; then
-    apt update;
-    if [ "$2" ] && [ "$2" = "--security" ]; then
-      apt list --upgradable | grep 'security';
-    else
-      apt list --upgradable;
-    fi
-  elif [ "$1" ] && [ "$1" = "--compilation-date" ]; then
-    eval $(grep '^COMPILATION_DATE' /run/live/medium/live/changelog);    
-    echo "Image was created: $COMPILATION_DATE";
-  else
-    help;
-    exit 1;
-  fi
-else
-  help;
-  exit 1;
-fi
index a77fe8465fb5dca2edce04e9c40c7d890082df8e..6aa7db9e014a541b0640f15c4e252481235c3ac5 100644 (file)
@@ -12,8 +12,8 @@ else
 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 [ -x /usr/bin/git ]; then git clone https://github.com/xf0r3m/immudex;
+else apt install git -y && git clone https://github.com/xf0r3m/immudex;
 
 fi
 source ~/immudex/versions/template.sh;
@@ -38,44 +38,26 @@ dpkg-reconfigure console-setup;
 
 install_packages task-desktop task-xfce-desktop;
 
-install_packages firejail ufw cryptsetup lsof extlinux grub-efi-amd64 efibootmgr bash-completion etherwake wakeonlan cifs-utils wget figlet mpv vim-gtk3 redshift irssi nmap nfs-common remmina python3-pip ffmpeg debootstrap squashfs-tools xorriso syslinux-efi grub-pc-bin grub-efi-amd64-bin mtools dosfstools chrony python3-venv isolinux rsync mutt gimp openvpn netselect-apt gvfs-backends dnsutils lolcat make;
-
-#Missing packages
-#Anti-Frankenstein policy - 13.05.2024;
-if [ "$DEBVER" = "testing" ]; then
-  install_packages xfce4-notes-plugin yt-dlp;
-  
-  #head -1 /etc/apt/sources.list | sed "s/${DEBVER}/stable/" > /etc/apt/sources.list.d/stable.list;
-  #apt update;
-  #install_packages newsboat;
-  #rm /etc/apt/sources.list.d/stable.list;
-  #apt update;
-else
-  install_packages newsboat;
+#Usunięcie pakietów make oraz gimp - 22.11.2025;
+install_packages firejail ufw cryptsetup lsof extlinux grub-efi-amd64 efibootmgr bash-completion etherwake wakeonlan cifs-utils wget figlet vim-gtk3 redshift irssi nmap nfs-common remmina python3-pip ffmpeg debootstrap squashfs-tools xorriso syslinux-efi grub-pc-bin grub-efi-amd64-bin mtools dosfstools chrony python3-venv isolinux rsync mutt openvpn netselect-apt gvfs-backends dnsutils lolcat cdparanoia icedax;
 
-  #head -1 /etc/apt/sources.list | sed "s/${DEBVER}/testing/" > /etc/apt/sources.list.d/testing.list;
-  #apt update;
-  #install_packages xfce4-notes-plugin yt-dlp;
-  #rm /etc/apt/sources.list.d/testing.list;
-  #apt update;
-fi
 if [ -f /usr/bin/youtube-dl ]; then rm /usr/bin/youtube-dl; fi
 
 ytdlpVer=$(curl https://github.com/yt-dlp/yt-dlp/releases.atom 2>/dev/null | grep '<title>.*</title>$' | sed -n '2p' | sed 's/\ /\n/g' | tail -1 | sed 's,</title>,,');
 wget https://github.com/yt-dlp/yt-dlp/releases/download/${ytdlpVer}/yt-dlp -O /usr/bin/yt-dlp
 
-#Anti-Frankenstein policy - 13.05.2024;
+#Polityka antyfrankensteinowa - 13.05.2024
 ln -s /usr/bin/yt-dlp /usr/bin/youtube-dl;
 
 cd;
 
-git clone https://git.morketsmerke.org/git/xfcedebian-d13;
-cd xfcedebian-d13;
-bash install.sh;
+git clone https://github.com/xf0r3m/xfcedebian;
+cd xfcedebian;
+bash install.sh --immudex;
 
 cd;
 
-cp -vv ~/immudex/tools/bin/immudex-autostart-x4notes /usr/local/bin;
+#Wyłączenie narzędzia immudex-autostart-x4notes - 22.11.2025
 cp -vv ~/immudex/tools/bin/immudex-branch /usr/local/bin;
 cp -vv ~/immudex/tools/bin/immudex-import-gpgkeys /usr/local/bin;
 cp -vv ~/immudex/tools/bin/immudex-import-sshkeys /usr/local/bin;
@@ -85,19 +67,21 @@ cp -vv ~/immudex/tools/bin/immudex-motd2 /usr/local/bin;
 cp -vv ~/immudex/tools/bin/immudex-padlock /usr/local/bin;
 cp -vv ~/immudex/tools/bin/immudex-pl /usr/local/bin;
 cp -vv ~/immudex/tools/bin/immudex-secured-firefox /usr/local/bin;
-cp -vv ~/immudex/tools/bin/immudex-protected /usr/local/bin;
-cp -vv ~/immudex/tools/bin/immudex-protected-firefox /usr/local/bin;
+#Wyłączenie narzędzia immudex-protected - 22.11.2025
 cp -vv ~/immudex/tools/bin/immudex-shoutcasts /usr/local/bin;
 cp -vv ~/immudex/tools/bin/immudex-version /usr/local/bin;
-
-#Anti-Frankenstein policy - 14.05.2024
-if [ "$DEBVER" != "oldstable" ]; then
-       install_packages fzf jq ueberzug;
-       git clone https://github.com/pystardust/ytfzf /tmp/ytfzf;
-       (cd /tmp/ytfzf && make install doc)
-else
-       cp -vv ~/immudex/tools/bin/immudex-ytplay /usr/local/bin;
-fi
+#Nowe narzędzie immudex-cdrip - 27.08.2025;
+cp -vv ~/immudex/tools/bin/immudex-cdrip /usr/local/bin;
+#Wyłaczenie immudex-run - 22.11.2025
+
+#Właczenie nowej wersji immudex-ytplay (immudex-ytplay2) - 13.09.2025
+pythonVersion=$(python3 -V | awk '{printf $2}' | cut -d "." -f 1-2);
+mv /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED.old;
+wget https://ftp.morketsmerke.org/youtube-search/youtube_search-2.1.2-py3-none-any.whl -O /tmp/youtube_search-2.1.2-py3-none-any.whl;
+pip install /tmp/youtube_search-2.1.2-py3-none-any.whl;
+mv /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED.old /usr/lib/python${pythonVersion}/EXTERNALLY-MANAGED;
+cp -vv ~/immudex/tools/bin/immudex-ytplay2 /usr/local/bin;
+ln -s /usr/local/bin/immudex-ytplay2 /usr/local/bin/immudex-ytplay;
 
 cp -vv ~/immudex/tools/bin/library.sh /usr/local/bin;
 cp -vv ~/immudex/tools/bin/idle-clic /usr/local/bin;
@@ -109,13 +93,10 @@ cp -vv ~/immudex/tools/sbin/immudex-crypt /usr/local/sbin;
 cp -vv ~/immudex/tools/sbin/immudex-hostname /usr/local/sbin;
 cp -vv ~/immudex/tools/sbin/immudex-install /usr/local/sbin;
 cp -vv ~/immudex/tools/sbin/immudex-upgrade /usr/local/sbin;
+#Wyłączenie narzędzi immudex-update i immudex-nf - 22.11.2025
 chown root:root /usr/local/sbin/*;
 chmod 544 /usr/local/sbin/*;
 
-mkdir /etc/skel/.irssi
-
-cp -vv ~/immudex/files/config /etc/skel/.irssi;
-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/redshift.conf /etc/skel/.config;
@@ -123,8 +104,8 @@ cp -vv ~/immudex/files/redshift.desktop /etc/skel/.config/autostart;
 
 cp -rvv ~/immudex/files/sync.sh /usr/share;
 
-#Anti-Frankenstein policy - 13.05.2024
-if [ "$DEBVER" = "testing" ]; then
+#Polityka antyfrankensteinowa - 13.05.2024
+if [ "$DEBVER" = "testing" ]; then 
   cp -vv ~/immudex/files/gtk-main.css /usr/share/xfce4/notes/gtk-3.0/gtk.css;
 fi
 
@@ -133,20 +114,9 @@ if [ -f /usr/share/applications/qmmp.desktop ]; then
 fi
 cp -vv ~/immudex/files/immudex_hostname.service /etc/systemd/system;
 
-tar -xf ~/immudex/files/mozilla.tgz -C /etc/skel;
-
 cp -vv ~/immudex/launchers/16844254192.desktop /etc/skel/.config/xfce4/panel/launcher-5;
 
-update-alternatives --remove x-www-browser /usr/bin/firefox-esr
-
-mv /usr/bin/firefox /usr/bin/firefox.old
-chmod -x /usr/bin/firefox.old
-rm /usr/bin/firefox-esr
-ln -s /usr/local/bin/immudex-protected-firefox /usr/bin/firefox-esr
-sed -i "s,Exec=/usr/lib/firefox-esr/firefox-esr %u,Exec=/usr/local/bin/immudex-protected /usr/lib/firefox-esr/firefox-esr," /usr/share/applications/firefox-esr.desktop
-sed -i "s,Exec=exo-open --launch WebBrowser %u,Exec=/usr/local/bin/immudex-protected /usr/lib/firefox-esr/firefox-esr,g" /usr/share/applications/xfce4-web-browser.desktop
-update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/immudex-protected-firefox 70
-
+#tar -xzvf ~/immudex/files/mozilla.tgz -C /etc/skel;
 
 systemctl enable immudex_hostname.service;
 
@@ -159,7 +129,7 @@ EOL
 
 echo "alias immudex-chhome='export HOME=\$(pwd)'" >> /etc/bash.bashrc;
 echo "alias immudex-changelogs='immudex-upgrade --check --print'" >> /etc/bash.bashrc;
-echo "alias immudex-version='immudex-upgrade --myversion'" >> /etc/bash.bashrc;
+echo "alias immudex-version='cat /run/live/medium/live/changelog'" >> /etc/bash.bashrc;
 
 chmod u+s /usr/bin/ping;
 
index 0a17e65f51e1d0bbe14676a5e7182948d850a796..28147d80b5456e72dc71861d42e32bc7a9759247 100644 (file)
@@ -50,3 +50,24 @@ function set_default_wallpaper() {
   ln -s /usr/share/images/desktop-base/$1 /usr/share/images/desktop-base/default;
 }
 
+function make_changelog_file() {
+  ARCH=$1;
+  DEBVER=$debver;
+  COMPILATION_DATE=$(date);
+  COMMIT=$(cd ${HOME}/immudex && git log --pretty=oneline | head -1);
+  ADDONS=$(grep 'bash ~/immudex/addons' ${HOME}/immudex/versions/base.sh | grep -v '^#' | cut -d "/" -f4 | sed 's/;//g' | awk '{printf $1" "}');
+
+  echo "ARCH=\"${ARCH}\"" > $FILE;
+  echo "DEBVER=\"${DEBVER}\"" >> $FILE;
+  if [ "$cname" ]; then
+    echo "CANONICAL_NAME=\"${cname}\"" >> $FILE;
+  fi
+  if [ "$version" ]; then
+    echo "VERSION=\"${version}\"" >> $FILE;
+  fi
+  echo "COMPILATION_DATE=\"${COMPILATION_DATE}\"" >> $FILE;
+  echo "COMMIT=\"${COMMIT}\"" >> $FILE;
+  echo "ADDONS=\"${ADDONS}\"" >> $FILE;
+  echo "-== Diffrences in version file ==-" >> $FILE;
+  (cd ${HOME}/immudex; git diff versions/base.sh) >> $FILE;
+}