From a3601d4dea8858a9b2fd72e02e89485d1339d63b Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Wed, 26 Jun 2024 06:55:36 +0400 Subject: [PATCH 01/46] enable podman.socket --- client/server_scripts/install_docker.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 6fed78c0d..07300739f 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -8,9 +8,15 @@ if [ "$dist" = "debian" ]; then export DEBIAN_FRONTEND=noninteractive; fi;\ if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst sudo; fi;\ if ! command -v fuser > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst psmisc; fi;\ if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst lsof; fi;\ -if ! command -v docker > /dev/null 2>&1; then \ - sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ - sleep 5; sudo systemctl enable --now docker; sleep 5;\ +if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ + check_podman=$(sudo $pm --assumeno install --setopt=tsflags=test $docker_pkg 2>&1 | grep -c podman-docker);\ + check_moby=$(sudo $pm --assumeno install --setopt=tsflags=test $docker_pkg 2>&1 | grep -c moby-engine);\ + if [ "$check_moby" != "0" ]; then echo "Docker is not supported"; docker; exit 1;\ + else sudo $pm $silent_inst $docker_pkg;\ + if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ + elif [ "$check_podman" != "0" ]; then sleep 5; sudo systemctl enable --now podman.socket; sleep 5;\ + else sleep 5; sudo systemctl enable --now docker; sleep 5; fi;\ + fi;\ fi;\ if [ "$(systemctl is-active docker)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ From 762603f0ad2b96123f4908add6d00136449ef0bd Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Wed, 26 Jun 2024 11:01:11 +0400 Subject: [PATCH 02/46] improving podman compatibility 1) Disabling message: Emulate Docker CLI using podman. 2) Changed short-name-mode operating mode in podman. 3) temporary replacement for the docker service whose activity is being checked --- client/server_scripts/install_docker.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 07300739f..cec99d268 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -14,11 +14,14 @@ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ if [ "$check_moby" != "0" ]; then echo "Docker is not supported"; docker; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - elif [ "$check_podman" != "0" ]; then sleep 5; sudo systemctl enable --now podman.socket; sleep 5;\ + elif [ "$check_podman" != "0" ]; then \ + sleep 5; sudo systemctl enable --now podman.socket; sleep 5;\ + sudo touch /etc/containers/nodocker;\ + sudo sed -i 's/short-name-mode = "enforcing"/short-name-mode = "permissive"/g' /etc/containers/registries.conf;\ else sleep 5; sudo systemctl enable --now docker; sleep 5; fi;\ fi;\ fi;\ -if [ "$(systemctl is-active docker)" != "active" ]; then \ +if [ "$(systemctl is-active podman.socket)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ sleep 5; sudo systemctl start docker; sleep 5;\ fi;\ From f39b4ecdc42f509444fd37dd62ca530d09fb0809 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 27 Jun 2024 07:14:56 +0400 Subject: [PATCH 03/46] checking the result of actions, etc. Change the stub command for check for available packages for Arch Linux. Checking and changing the locale for correct error handling by the server controller. Introduction of direct checking of package installation results. Check which containerization application will be installed. Checking of docker installation results and service or socket status. --- client/server_scripts/install_docker.sh | 50 +++++++++++++++---------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index cec99d268..8a6aa6709 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -1,29 +1,41 @@ -if which apt-get > /dev/null 2>&1; then pm=$(which apt-get); silent_inst="-yq install"; check_pkgs="-yq update"; docker_pkg="docker.io"; dist="debian";\ -elif which dnf > /dev/null 2>&1; then pm=$(which dnf); silent_inst="-yq install"; check_pkgs="-yq check-update"; docker_pkg="docker"; dist="fedora";\ -elif which yum > /dev/null 2>&1; then pm=$(which yum); silent_inst="-y -q install"; check_pkgs="-y -q check-update"; docker_pkg="docker"; dist="centos";\ -elif which pacman > /dev/null 2>&1; then pm=$(which pacman); silent_inst="-S --noconfirm --noprogressbar --quiet"; check_pkgs="> /dev/null 2>&1"; docker_pkg="docker"; dist="archlinux";\ +if which apt-get > /dev/null 2>&1; then pm=$(which apt-get); silent_inst="-yq install"; check_pkgs="-yq update"; what_pkg="-s install"; docker_pkg="podman-docker"; dist="debian";\ +elif which dnf > /dev/null 2>&1; then pm=$(which dnf); silent_inst="-yq install"; check_pkgs="-yq check-update"; what_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; dist="fedora";\ +elif which yum > /dev/null 2>&1; then pm=$(which yum); silent_inst="-y -q install"; check_pkgs="-y -q check-update"; what_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; dist="centos";\ +elif which pacman > /dev/null 2>&1; then pm=$(which pacman); silent_inst="-S --noconfirm --noprogressbar --quiet"; check_pkgs="-Sup"; what_pkg="-Sp"; docker_pkg="docker"; dist="archlinux";\ else echo "Packet manager not found"; exit 1; fi;\ -echo "Dist: $dist, Packet manager: $pm, Install command: $silent_inst, Check pkgs command: $check_pkgs, Docker pkg: $docker_pkg";\ +echo "Dist: $dist, Packet manager: $pm, Install command: $silent_inst, Check pkgs command: $check_pkgs, What pkg command: $what_pkg, Docker pkg: $docker_pkg";\ if [ "$dist" = "debian" ]; then export DEBIAN_FRONTEND=noninteractive; fi;\ -if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst sudo; fi;\ -if ! command -v fuser > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst psmisc; fi;\ -if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst lsof; fi;\ +if [ "$LANG" != "en_US.UTF-8" ] && [ "$LANG" != "C.UTF-8" ]; then \ + if [ "$(locale -a | grep -c 'en_US.utf8')" != "0" ]; then export LC_ALL=en_US.UTF-8;\ + else export LC_ALL=C.UTF-8; fi;\ +fi;\ +if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst sudo;\ + if ! command -v sudo > /dev/null 2>&1; then sudo; exit 1; fi;\ +fi;\ +if ! command -v fuser > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst psmisc;\ + if ! command -v fuser > /dev/null 2>&1; then fuser; exit 1; fi;\ +fi;\ +if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst lsof;\ + if ! command -v lsof > /dev/null 2>&1; then lsof; exit 1; fi;\ +fi;\ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ - check_podman=$(sudo $pm --assumeno install --setopt=tsflags=test $docker_pkg 2>&1 | grep -c podman-docker);\ - check_moby=$(sudo $pm --assumeno install --setopt=tsflags=test $docker_pkg 2>&1 | grep -c moby-engine);\ - if [ "$check_moby" != "0" ]; then echo "Docker is not supported"; docker; exit 1;\ + if [ "$(sudo $pm $what_pkg $docker_pkg 2>&1 | grep -c 'moby-engine')" != "0" ]; then echo "Docker is not supported"; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - elif [ "$check_podman" != "0" ]; then \ - sleep 5; sudo systemctl enable --now podman.socket; sleep 5;\ - sudo touch /etc/containers/nodocker;\ - sudo sed -i 's/short-name-mode = "enforcing"/short-name-mode = "permissive"/g' /etc/containers/registries.conf;\ - else sleep 5; sudo systemctl enable --now docker; sleep 5; fi;\ + elif [ "$(docker --version | grep -c 'podman')" != "0" ]; then check_service="podman.socket";\ + else check_service="docker"; fi;\ + sleep 5; sudo systemctl enable --now $check_service; sleep 5;\ fi;\ fi;\ -if [ "$(systemctl is-active podman.socket)" != "active" ]; then \ +if [ "$(docker --version | grep -c 'moby-engine')" != "0" ]; then echo "Docker is not supported"; exit 1;\ +elif [ "$(docker --version | grep -c 'podman')" != "0" ]; then \ + check_service="podman.socket"; docker_pkg="podman-docker";\ + sudo sed -i 's/short-name-mode = "enforcing"/short-name-mode = "permissive"/g' /etc/containers/registries.conf;\ + if [ "$(docker --version 2>&1 | grep -c '/etc/containers/nodocker')" != "0" ]; then sudo touch /etc/containers/nodocker; fi;\ +else check_service="docker"; fi;\ +if [ "$(systemctl is-active $check_service)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ - sleep 5; sudo systemctl start docker; sleep 5;\ + sleep 5; sudo systemctl start $check_service; sleep 5;\ + if [ "$(systemctl is-active $check_service)" != "active" ]; then echo "Failed to status docker"; exit 1; fi;\ fi;\ -if ! command -v sudo > /dev/null 2>&1; then echo "Failed to install sudo, command not found"; exit 1; fi;\ docker --version From b819d872456936b8dc45c43908466f98acaa5bf0 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 27 Jun 2024 13:24:02 +0400 Subject: [PATCH 04/46] docker.io for apt-get --- client/server_scripts/install_docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 8a6aa6709..7e261d2e1 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -1,4 +1,4 @@ -if which apt-get > /dev/null 2>&1; then pm=$(which apt-get); silent_inst="-yq install"; check_pkgs="-yq update"; what_pkg="-s install"; docker_pkg="podman-docker"; dist="debian";\ +if which apt-get > /dev/null 2>&1; then pm=$(which apt-get); silent_inst="-yq install"; check_pkgs="-yq update"; what_pkg="-s install"; docker_pkg="docker.io"; dist="debian";\ elif which dnf > /dev/null 2>&1; then pm=$(which dnf); silent_inst="-yq install"; check_pkgs="-yq check-update"; what_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; dist="fedora";\ elif which yum > /dev/null 2>&1; then pm=$(which yum); silent_inst="-y -q install"; check_pkgs="-y -q check-update"; what_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; dist="centos";\ elif which pacman > /dev/null 2>&1; then pm=$(which pacman); silent_inst="-S --noconfirm --noprogressbar --quiet"; check_pkgs="-Sup"; what_pkg="-Sp"; docker_pkg="docker"; dist="archlinux";\ From 2fc62cfa24629968e4c1328aec7397f4ab6c27b8 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Fri, 28 Jun 2024 07:18:13 +0400 Subject: [PATCH 05/46] some changes --- client/server_scripts/install_docker.sh | 27 ++++++++++++------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 7e261d2e1..d8873986f 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -5,8 +5,8 @@ elif which pacman > /dev/null 2>&1; then pm=$(which pacman); silent_inst="-S --n else echo "Packet manager not found"; exit 1; fi;\ echo "Dist: $dist, Packet manager: $pm, Install command: $silent_inst, Check pkgs command: $check_pkgs, What pkg command: $what_pkg, Docker pkg: $docker_pkg";\ if [ "$dist" = "debian" ]; then export DEBIAN_FRONTEND=noninteractive; fi;\ -if [ "$LANG" != "en_US.UTF-8" ] && [ "$LANG" != "C.UTF-8" ]; then \ - if [ "$(locale -a | grep -c 'en_US.utf8')" != "0" ]; then export LC_ALL=en_US.UTF-8;\ +if [ -z "$(echo $LANG | grep -e 'en_US.UTF-8' -e 'C.UTF-8')" ]; then \ + if [ -n "$(locale -a | grep 'en_US.utf8')" ]; then export LC_ALL=en_US.UTF-8;\ else export LC_ALL=C.UTF-8; fi;\ fi;\ if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst sudo;\ @@ -19,23 +19,22 @@ if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $sile if ! command -v lsof > /dev/null 2>&1; then lsof; exit 1; fi;\ fi;\ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ - if [ "$(sudo $pm $what_pkg $docker_pkg 2>&1 | grep -c 'moby-engine')" != "0" ]; then echo "Docker is not supported"; exit 1;\ + if [ -n "$($pm $what_pkg $docker_pkg | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - elif [ "$(docker --version | grep -c 'podman')" != "0" ]; then check_service="podman.socket";\ - else check_service="docker"; fi;\ - sleep 5; sudo systemctl enable --now $check_service; sleep 5;\ + elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; sudo touch /etc/containers/nodocker;\ + else check_srv="docker"; fi;\ + sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ fi;\ fi;\ -if [ "$(docker --version | grep -c 'moby-engine')" != "0" ]; then echo "Docker is not supported"; exit 1;\ -elif [ "$(docker --version | grep -c 'podman')" != "0" ]; then \ - check_service="podman.socket"; docker_pkg="podman-docker";\ +if [ -n "$(docker --version | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ +elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; docker_pkg="podman-docker";\ + if [ -n "$(docker --version 2>&1 | grep '/etc/containers/nodocker')" ]; then sudo touch /etc/containers/nodocker; fi;\ sudo sed -i 's/short-name-mode = "enforcing"/short-name-mode = "permissive"/g' /etc/containers/registries.conf;\ - if [ "$(docker --version 2>&1 | grep -c '/etc/containers/nodocker')" != "0" ]; then sudo touch /etc/containers/nodocker; fi;\ -else check_service="docker"; fi;\ -if [ "$(systemctl is-active $check_service)" != "active" ]; then \ +else check_srv="docker"; fi;\ +if [ "$(systemctl is-active $check_srv)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ - sleep 5; sudo systemctl start $check_service; sleep 5;\ - if [ "$(systemctl is-active $check_service)" != "active" ]; then echo "Failed to status docker"; exit 1; fi;\ + sleep 5; sudo systemctl start $check_srv; sleep 5;\ + if [ "$(systemctl is-active $check_srv)" != "active" ]; then echo "Failed to status docker"; echo "command not found"; exit 1; fi;\ fi;\ docker --version From 5f98d388efb88c28c7d12b8529df76d1e9d42a1c Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Fri, 28 Jun 2024 08:45:00 +0400 Subject: [PATCH 06/46] default value for Check service the default value for the verification service is set to docker --- client/server_scripts/install_docker.sh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index d8873986f..1d5796573 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -1,9 +1,9 @@ -if which apt-get > /dev/null 2>&1; then pm=$(which apt-get); silent_inst="-yq install"; check_pkgs="-yq update"; what_pkg="-s install"; docker_pkg="docker.io"; dist="debian";\ -elif which dnf > /dev/null 2>&1; then pm=$(which dnf); silent_inst="-yq install"; check_pkgs="-yq check-update"; what_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; dist="fedora";\ -elif which yum > /dev/null 2>&1; then pm=$(which yum); silent_inst="-y -q install"; check_pkgs="-y -q check-update"; what_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; dist="centos";\ -elif which pacman > /dev/null 2>&1; then pm=$(which pacman); silent_inst="-S --noconfirm --noprogressbar --quiet"; check_pkgs="-Sup"; what_pkg="-Sp"; docker_pkg="docker"; dist="archlinux";\ +if which apt-get > /dev/null 2>&1; then pm=$(which apt-get); silent_inst="-yq install"; check_pkgs="-yq update"; wh_pkg="-s install"; docker_pkg="docker.io"; check_srv="docker"; dist="debian";\ +elif which dnf > /dev/null 2>&1; then pm=$(which dnf); silent_inst="-yq install"; check_pkgs="-yq check-update"; wh_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; check_srv="docker"; dist="fedora";\ +elif which yum > /dev/null 2>&1; then pm=$(which yum); silent_inst="-y -q install"; check_pkgs="-y -q check-update"; wh_pkg="--assumeno install --setopt=tsflags=test"; docker_pkg="docker"; check_srv="docker"; dist="centos";\ +elif which pacman > /dev/null 2>&1; then pm=$(which pacman); silent_inst="-S --noconfirm --noprogressbar --quiet"; check_pkgs="-Sup"; wh_pkg="-Sp"; docker_pkg="docker"; check_srv="docker"; dist="archlinux";\ else echo "Packet manager not found"; exit 1; fi;\ -echo "Dist: $dist, Packet manager: $pm, Install command: $silent_inst, Check pkgs command: $check_pkgs, What pkg command: $what_pkg, Docker pkg: $docker_pkg";\ +echo "Dist: $dist, Packet manager: $pm, Install command: $silent_inst, Check pkgs command: $check_pkgs, What pkg command: $wh_pkg, Docker pkg: $docker_pkg, Check service: $check_srv";\ if [ "$dist" = "debian" ]; then export DEBIAN_FRONTEND=noninteractive; fi;\ if [ -z "$(echo $LANG | grep -e 'en_US.UTF-8' -e 'C.UTF-8')" ]; then \ if [ -n "$(locale -a | grep 'en_US.utf8')" ]; then export LC_ALL=en_US.UTF-8;\ @@ -19,19 +19,18 @@ if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $sile if ! command -v lsof > /dev/null 2>&1; then lsof; exit 1; fi;\ fi;\ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ - if [ -n "$($pm $what_pkg $docker_pkg | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ + if [ -n "$($pm $wh_pkg $docker_pkg | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; sudo touch /etc/containers/nodocker;\ - else check_srv="docker"; fi;\ + else [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; sudo touch /etc/containers/nodocker; fi;\ sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ fi;\ fi;\ if [ -n "$(docker --version | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ -elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; docker_pkg="podman-docker";\ +else [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; docker_pkg="podman-docker";\ if [ -n "$(docker --version 2>&1 | grep '/etc/containers/nodocker')" ]; then sudo touch /etc/containers/nodocker; fi;\ sudo sed -i 's/short-name-mode = "enforcing"/short-name-mode = "permissive"/g' /etc/containers/registries.conf;\ -else check_srv="docker"; fi;\ +fi;\ if [ "$(systemctl is-active $check_srv)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ sleep 5; sudo systemctl start $check_srv; sleep 5;\ From c3e59bbaea5137fd605cfaecb71321cc5dad9573 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 29 Jun 2024 05:23:10 +0400 Subject: [PATCH 07/46] add aliases for podman --- client/server_scripts/build_container.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index b996237fc..25f4014a7 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1 +1,16 @@ +if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ + AliDir=/var/cache/containers;\ + AliFile=short-name-aliases.conf;\ + if [ ! -d "$AliDir" ]; then \ + sudo mkdir -m 700 -p $AliDir;\ + fi;\ + if [ ! -f "$AliDir/$AliFile" ]; then \ + sudo echo '[aliases]' >> $AliDir/$AliFile;\ + sudo chmod 600 $AliDir/$AliFile;\ + fi;\ + if ! sudo grep -q ' # AmneziaVPN' $AliDir/$AliFile; then sudo echo -e \ + ' # Amnezia start\n "3proxy/3proxy" = "docker.io/3proxy/3proxy"\n "amneziavpn/amnezia-wg" = "docker.io/amneziavpn/amnezia-wg"\n "amneziavpn/amneziawg-go" = "docker.io/amneziavpn/amneziawg-go"\n "amneziavpn/ipsec-server" = "docker.io/amneziavpn/ipsec-server"\n "amneziavpn/torpress" = "docker.io/amneziavpn/torpress"\n "atmoz/sftp" = "docker.io/atmoz/sftp"\n "mvance/unbound" = "docker.io/mvance/unbound"\n "alpine" = "docker.io/library/alpine"\n # Amnezia finish' \ + >> $AliDir/$AliFile;\ + fi;\ +fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From d502f1c4d2cdd130c1e0b27d00c81a056e0072c2 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 29 Jun 2024 05:31:01 +0400 Subject: [PATCH 08/46] correction of comment used --- client/server_scripts/build_container.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 25f4014a7..73acb89cb 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -8,7 +8,7 @@ if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ sudo echo '[aliases]' >> $AliDir/$AliFile;\ sudo chmod 600 $AliDir/$AliFile;\ fi;\ - if ! sudo grep -q ' # AmneziaVPN' $AliDir/$AliFile; then sudo echo -e \ + if ! sudo grep -q ' # Amnezia start' $AliDir/$AliFile; then sudo echo -e \ ' # Amnezia start\n "3proxy/3proxy" = "docker.io/3proxy/3proxy"\n "amneziavpn/amnezia-wg" = "docker.io/amneziavpn/amnezia-wg"\n "amneziavpn/amneziawg-go" = "docker.io/amneziavpn/amneziawg-go"\n "amneziavpn/ipsec-server" = "docker.io/amneziavpn/ipsec-server"\n "amneziavpn/torpress" = "docker.io/amneziavpn/torpress"\n "atmoz/sftp" = "docker.io/atmoz/sftp"\n "mvance/unbound" = "docker.io/mvance/unbound"\n "alpine" = "docker.io/library/alpine"\n # Amnezia finish' \ >> $AliDir/$AliFile;\ fi;\ From fe5ffec7c3ff8b13f02053bd4914ee1fc5d1d9dd Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 29 Jun 2024 05:47:12 +0400 Subject: [PATCH 09/46] Removing aliases for podman Removing AmneziaVPN aliases for podman-docker when cleaning the server. --- client/server_scripts/remove_all_containers.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/server_scripts/remove_all_containers.sh b/client/server_scripts/remove_all_containers.sh index ce706f803..afc67e83b 100644 --- a/client/server_scripts/remove_all_containers.sh +++ b/client/server_scripts/remove_all_containers.sh @@ -2,4 +2,7 @@ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker stop;\ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker rm -fv;\ sudo docker images -a | grep amnezia | awk '{print $3}' | xargs sudo docker rmi;\ sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo docker network rm;\ -sudo rm -frd /opt/amnezia +sudo rm -frd /opt/amnezia;\ +if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ + sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf;\ +fi From 40bb2e8ee44de6971f56f3001a18ad790edd3b2e Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 29 Jun 2024 06:50:38 +0400 Subject: [PATCH 10/46] some fix --- client/server_scripts/install_docker.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 1d5796573..9dba92874 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -19,15 +19,15 @@ if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $sile if ! command -v lsof > /dev/null 2>&1; then lsof; exit 1; fi;\ fi;\ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ - if [ -n "$($pm $wh_pkg $docker_pkg | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ + if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - else [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; sudo touch /etc/containers/nodocker; fi;\ + elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; sudo touch /etc/containers/nodocker; fi;\ sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ fi;\ fi;\ if [ -n "$(docker --version | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ -else [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; docker_pkg="podman-docker";\ +elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; docker_pkg="podman-docker";\ if [ -n "$(docker --version 2>&1 | grep '/etc/containers/nodocker')" ]; then sudo touch /etc/containers/nodocker; fi;\ sudo sed -i 's/short-name-mode = "enforcing"/short-name-mode = "permissive"/g' /etc/containers/registries.conf;\ fi;\ From 8599f8f0a985cb1e88154bd38e6dfeaa64bde391 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 30 Jun 2024 02:24:58 +0400 Subject: [PATCH 11/46] hub search parameters have been cancelled Changes to container hub search parameters have been cancelled. --- client/server_scripts/install_docker.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 9dba92874..c915b5f7b 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -22,18 +22,17 @@ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; sudo touch /etc/containers/nodocker; fi;\ + elif [ -n "$(docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ fi;\ fi;\ -if [ -n "$(docker --version | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ -elif [ -n "$(docker --version | grep 'podman')" ]; then check_srv="podman.socket"; docker_pkg="podman-docker";\ +if [ -n "$(docker --version 2>&1 | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ +elif [ -n "$(docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; docker_pkg="podman-docker";\ if [ -n "$(docker --version 2>&1 | grep '/etc/containers/nodocker')" ]; then sudo touch /etc/containers/nodocker; fi;\ - sudo sed -i 's/short-name-mode = "enforcing"/short-name-mode = "permissive"/g' /etc/containers/registries.conf;\ fi;\ -if [ "$(systemctl is-active $check_srv)" != "active" ]; then \ +if [ "$(systemctl is-active $check_srv | head -n1)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ sleep 5; sudo systemctl start $check_srv; sleep 5;\ - if [ "$(systemctl is-active $check_srv)" != "active" ]; then echo "Failed to status docker"; echo "command not found"; exit 1; fi;\ + if [ "$(systemctl is-active $check_srv | head -n1)" != "active" ]; then echo "Failed to status docker"; echo "command not found"; exit 1; fi;\ fi;\ docker --version From 520094d43034b97c1904bbbe1f1d30f6b13a6d69 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 30 Jun 2024 12:45:40 +0400 Subject: [PATCH 12/46] aliases reworked reworked the creation of aliases for podman for users with sudo --- client/server_scripts/build_container.sh | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 73acb89cb..7b64e7e03 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,16 +1,7 @@ if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ - AliDir=/var/cache/containers;\ - AliFile=short-name-aliases.conf;\ - if [ ! -d "$AliDir" ]; then \ - sudo mkdir -m 700 -p $AliDir;\ - fi;\ - if [ ! -f "$AliDir/$AliFile" ]; then \ - sudo echo '[aliases]' >> $AliDir/$AliFile;\ - sudo chmod 600 $AliDir/$AliFile;\ - fi;\ - if ! sudo grep -q ' # Amnezia start' $AliDir/$AliFile; then sudo echo -e \ - ' # Amnezia start\n "3proxy/3proxy" = "docker.io/3proxy/3proxy"\n "amneziavpn/amnezia-wg" = "docker.io/amneziavpn/amnezia-wg"\n "amneziavpn/amneziawg-go" = "docker.io/amneziavpn/amneziawg-go"\n "amneziavpn/ipsec-server" = "docker.io/amneziavpn/ipsec-server"\n "amneziavpn/torpress" = "docker.io/amneziavpn/torpress"\n "atmoz/sftp" = "docker.io/atmoz/sftp"\n "mvance/unbound" = "docker.io/mvance/unbound"\n "alpine" = "docker.io/library/alpine"\n # Amnezia finish' \ - >> $AliDir/$AliFile;\ - fi;\ + sudo sh -c "if [ ! -d '/var/cache/containers' ]; then mkdir -m 700 -p /var/cache/containers; fi";\ + sudo sh -c "if [ ! -f '/var/cache/containers/short-name-aliases.conf' ]; then touch /var/cache/containers/short-name-aliases.conf; chmod 600 /var/cache/containers/short-name-aliases.conf; fi";\ + sudo sh -c "if ! grep -q '[aliases]' /var/cache/containers/short-name-aliases.conf; then echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf; fi";\ + sudo sh -c "if ! grep -q ' # Amnezia start' /var/cache/containers/short-name-aliases.conf; then echo ' # Amnezia start\n \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\"\n \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\"\n \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\"\n \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\"\n \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\"\n \"atmoz/sftp\" = \"docker.io/atmoz/sftp\"\n \"mvance/unbound\" = \"docker.io/mvance/unbound\"\n \"alpine\" = \"docker.io/library/alpine\"\n # Amnezia finish' >> /var/cache/containers/short-name-aliases.conf; fi";\ fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From 832a5250656bfe0bf6baacfc77cc1947ab73ba15 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 30 Jun 2024 16:40:05 +0400 Subject: [PATCH 13/46] improved code readability --- client/server_scripts/build_container.sh | 25 ++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 7b64e7e03..2d9117589 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,7 +1,24 @@ if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ - sudo sh -c "if [ ! -d '/var/cache/containers' ]; then mkdir -m 700 -p /var/cache/containers; fi";\ - sudo sh -c "if [ ! -f '/var/cache/containers/short-name-aliases.conf' ]; then touch /var/cache/containers/short-name-aliases.conf; chmod 600 /var/cache/containers/short-name-aliases.conf; fi";\ - sudo sh -c "if ! grep -q '[aliases]' /var/cache/containers/short-name-aliases.conf; then echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf; fi";\ - sudo sh -c "if ! grep -q ' # Amnezia start' /var/cache/containers/short-name-aliases.conf; then echo ' # Amnezia start\n \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\"\n \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\"\n \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\"\n \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\"\n \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\"\n \"atmoz/sftp\" = \"docker.io/atmoz/sftp\"\n \"mvance/unbound\" = \"docker.io/mvance/unbound\"\n \"alpine\" = \"docker.io/library/alpine\"\n # Amnezia finish' >> /var/cache/containers/short-name-aliases.conf; fi";\ + sudo sh -c "if [ ! -d '/var/cache/containers' ]; then \ + mkdir -m 700 -p /var/cache/containers; fi";\ + sudo sh -c "if [ ! -f '/var/cache/containers/short-name-aliases.conf' ]; then \ + touch /var/cache/containers/short-name-aliases.conf;\ + chmod 600 /var/cache/containers/short-name-aliases.conf; fi";\ + sudo sh -c "if ! grep -q '\[aliases\]' /var/cache/containers/short-name-aliases.conf; then \ + echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf; fi";\ + sudo sh -c "if ! grep -q ' \# Amnezia start' /var/cache/containers/short-name-aliases.conf; then \ + cat >> /var/cache/containers/short-name-aliases.conf << EOF + # Amnezia start + \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\" + \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\" + \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\" + \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\" + \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\" + \"atmoz/sftp\" = \"docker.io/atmoz/sftp\" + \"mvance/unbound\" = \"docker.io/mvance/unbound\" + \"alpine\" = \"docker.io/library/alpine\" + # Amnezia finish +EOF + fi";\ fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From 0a3f69a477a1098fdf73ac77fd4832d222141584 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 02:37:46 +0400 Subject: [PATCH 14/46] sudo test --- client/server_scripts/build_container.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 2d9117589..e563f1d7d 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,9 +1,9 @@ if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ - sudo sh -c "if [ ! -d '/var/cache/containers' ]; then \ - mkdir -m 700 -p /var/cache/containers; fi";\ - sudo sh -c "if [ ! -f '/var/cache/containers/short-name-aliases.conf' ]; then \ - touch /var/cache/containers/short-name-aliases.conf;\ - chmod 600 /var/cache/containers/short-name-aliases.conf; fi";\ + if [ ! sudo test -d '/var/cache/containers' ]; then \ + sudo mkdir -m 700 -p /var/cache/containers; fi;\ + if [ ! sudo test -f '/var/cache/containers/short-name-aliases.conf' ]; then \ + sudo touch /var/cache/containers/short-name-aliases.conf;\ + sudo chmod 600 /var/cache/containers/short-name-aliases.conf; fi;\ sudo sh -c "if ! grep -q '\[aliases\]' /var/cache/containers/short-name-aliases.conf; then \ echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf; fi";\ sudo sh -c "if ! grep -q ' \# Amnezia start' /var/cache/containers/short-name-aliases.conf; then \ From a480c17f387e0af8c54fc3437870bfffa06409df Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 04:29:01 +0400 Subject: [PATCH 15/46] some changes --- client/server_scripts/build_container.sh | 33 ++++++++++++------------ 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index e563f1d7d..88c55a889 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,24 +1,25 @@ if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ - if [ ! sudo test -d '/var/cache/containers' ]; then \ + if sudo test ! -d "/var/cache/containers"; then \ sudo mkdir -m 700 -p /var/cache/containers; fi;\ - if [ ! sudo test -f '/var/cache/containers/short-name-aliases.conf' ]; then \ + if sudo test ! -f "/var/cache/containers/short-name-aliases.conf"; then \ sudo touch /var/cache/containers/short-name-aliases.conf;\ sudo chmod 600 /var/cache/containers/short-name-aliases.conf; fi;\ - sudo sh -c "if ! grep -q '\[aliases\]' /var/cache/containers/short-name-aliases.conf; then \ - echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf; fi";\ - sudo sh -c "if ! grep -q ' \# Amnezia start' /var/cache/containers/short-name-aliases.conf; then \ - cat >> /var/cache/containers/short-name-aliases.conf << EOF + if ! sudo grep -q '\[aliases\]' /var/cache/containers/short-name-aliases.conf; then \ + sudo sh -c "echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf"; fi;\ + if ! sudo grep -q ' \# Amnezia start' /var/cache/containers/short-name-aliases.conf; then \ + sudo sh -c 'cat >> /var/cache/containers/short-name-aliases.conf \ +<< EOF # Amnezia start - \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\" - \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\" - \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\" - \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\" - \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\" - \"atmoz/sftp\" = \"docker.io/atmoz/sftp\" - \"mvance/unbound\" = \"docker.io/mvance/unbound\" - \"alpine\" = \"docker.io/library/alpine\" + "3proxy/3proxy" = "docker.io/3proxy/3proxy" + "amneziavpn/amnezia-wg" = "docker.io/amneziavpn/amnezia-wg" + "amneziavpn/amneziawg-go" = "docker.io/amneziavpn/amneziawg-go" + "amneziavpn/ipsec-server" = "docker.io/amneziavpn/ipsec-server" + "amneziavpn/torpress" = "docker.io/amneziavpn/torpress" + "atmoz/sftp" = "docker.io/atmoz/sftp" + "mvance/unbound" = "docker.io/mvance/unbound" + "alpine" = "docker.io/library/alpine" # Amnezia finish -EOF - fi";\ +EOF';\ + fi;\ fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From 2717d9f5c2af04e4eb3879778c9aeef04789c266 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 05:02:58 +0400 Subject: [PATCH 16/46] some change --- client/server_scripts/build_container.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 88c55a889..7d5208693 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,7 +1,7 @@ if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ - if sudo test ! -d "/var/cache/containers"; then \ + if ! sudo test -d "/var/cache/containers"; then \ sudo mkdir -m 700 -p /var/cache/containers; fi;\ - if sudo test ! -f "/var/cache/containers/short-name-aliases.conf"; then \ + if ! sudo test -f "/var/cache/containers/short-name-aliases.conf"; then \ sudo touch /var/cache/containers/short-name-aliases.conf;\ sudo chmod 600 /var/cache/containers/short-name-aliases.conf; fi;\ if ! sudo grep -q '\[aliases\]' /var/cache/containers/short-name-aliases.conf; then \ From 388fd6ac460dd887001fbe9f942b30651c7a1837 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 05:33:42 +0400 Subject: [PATCH 17/46] docker version with sudo --- client/server_scripts/build_container.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 7d5208693..3f950e696 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,4 +1,4 @@ -if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ +if [ -n "$(sudo docker --version 2>/dev/null | grep 'podman')" ]; then \ if ! sudo test -d "/var/cache/containers"; then \ sudo mkdir -m 700 -p /var/cache/containers; fi;\ if ! sudo test -f "/var/cache/containers/short-name-aliases.conf"; then \ From d33b84f6372a8d202660e84318c63a52f423146c Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 05:58:22 +0400 Subject: [PATCH 18/46] docker version with sudo for podman --- client/server_scripts/install_docker.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index c915b5f7b..555096bdd 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -22,17 +22,17 @@ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - elif [ -n "$(docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ + elif [ -n "$(sudo docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ fi;\ fi;\ -if [ -n "$(docker --version 2>&1 | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ -elif [ -n "$(docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; docker_pkg="podman-docker";\ - if [ -n "$(docker --version 2>&1 | grep '/etc/containers/nodocker')" ]; then sudo touch /etc/containers/nodocker; fi;\ +if [ -n "$(sudo docker --version 2>&1 | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ +elif [ -n "$(sudo docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; docker_pkg="podman-docker";\ + if [ -n "$(sudo docker --version 2>&1 | grep '/etc/containers/nodocker')" ]; then sudo touch /etc/containers/nodocker; fi;\ fi;\ if [ "$(systemctl is-active $check_srv | head -n1)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ sleep 5; sudo systemctl start $check_srv; sleep 5;\ if [ "$(systemctl is-active $check_srv | head -n1)" != "active" ]; then echo "Failed to status docker"; echo "command not found"; exit 1; fi;\ fi;\ -docker --version +sudo docker --version From 91bb378806f629325bea16ea8099599f426b5a69 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 09:05:56 +0400 Subject: [PATCH 19/46] quotes --- client/server_scripts/build_container.sh | 28 ++++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 3f950e696..a70878988 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,25 +1,25 @@ -if [ -n "$(sudo docker --version 2>/dev/null | grep 'podman')" ]; then \ +if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ if ! sudo test -d "/var/cache/containers"; then \ sudo mkdir -m 700 -p /var/cache/containers; fi;\ if ! sudo test -f "/var/cache/containers/short-name-aliases.conf"; then \ sudo touch /var/cache/containers/short-name-aliases.conf;\ sudo chmod 600 /var/cache/containers/short-name-aliases.conf; fi;\ - if ! sudo grep -q '\[aliases\]' /var/cache/containers/short-name-aliases.conf; then \ - sudo sh -c "echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf"; fi;\ - if ! sudo grep -q ' \# Amnezia start' /var/cache/containers/short-name-aliases.conf; then \ - sudo sh -c 'cat >> /var/cache/containers/short-name-aliases.conf \ + if ! sudo grep -q "\[aliases\]" /var/cache/containers/short-name-aliases.conf; then \ + sudo sh -c "echo \"[aliases]\" >> /var/cache/containers/short-name-aliases.conf"; fi;\ + if ! sudo grep -q " \# Amnezia start" /var/cache/containers/short-name-aliases.conf; then \ + sudo sh -c "cat >> /var/cache/containers/short-name-aliases.conf \ << EOF # Amnezia start - "3proxy/3proxy" = "docker.io/3proxy/3proxy" - "amneziavpn/amnezia-wg" = "docker.io/amneziavpn/amnezia-wg" - "amneziavpn/amneziawg-go" = "docker.io/amneziavpn/amneziawg-go" - "amneziavpn/ipsec-server" = "docker.io/amneziavpn/ipsec-server" - "amneziavpn/torpress" = "docker.io/amneziavpn/torpress" - "atmoz/sftp" = "docker.io/atmoz/sftp" - "mvance/unbound" = "docker.io/mvance/unbound" - "alpine" = "docker.io/library/alpine" + \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\" + \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\" + \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\" + \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\" + \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\" + \"atmoz/sftp\" = \"docker.io/atmoz/sftp\" + \"mvance/unbound\" = \"docker.io/mvance/unbound\" + \"alpine\" = \"docker.io/library/alpine\" # Amnezia finish -EOF';\ +EOF";\ fi;\ fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From 95b330bd562688720f9be638def430ef106d5965 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 12:02:22 +0400 Subject: [PATCH 20/46] sudo for docker version, plus test --- .../server_scripts/remove_all_containers.sh | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/client/server_scripts/remove_all_containers.sh b/client/server_scripts/remove_all_containers.sh index afc67e83b..5aa97030a 100644 --- a/client/server_scripts/remove_all_containers.sh +++ b/client/server_scripts/remove_all_containers.sh @@ -3,6 +3,30 @@ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker rm -fv;\ sudo docker images -a | grep amnezia | awk '{print $3}' | xargs sudo docker rmi;\ sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo docker network rm;\ sudo rm -frd /opt/amnezia;\ -if [ -n "$(docker --version 2>/dev/null | grep 'podman')" ]; then \ +if [ -n "$(sudo docker --version 2>/dev/null | grep 'podman')" ]; then \ sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf;\ +fi;\ +if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ + if ! sudo test -d "/var/cache/containers"; then \ + sudo mkdir -m 700 -p /var/cache/containers; fi;\ + if ! sudo test -f "/var/cache/containers/short-name-aliases.conf"; then \ + sudo touch /var/cache/containers/short-name-aliases.conf;\ + sudo chmod 600 /var/cache/containers/short-name-aliases.conf; fi;\ + if ! sudo grep -q "\[aliases\]" /var/cache/containers/short-name-aliases.conf; then \ + sudo sh -c "echo \"[aliases]\" >> /var/cache/containers/short-name-aliases.conf"; fi;\ + if ! sudo grep -q " \# Amnezia start" /var/cache/containers/short-name-aliases.conf; then \ + sudo sh -c "cat >> /var/cache/containers/short-name-aliases.conf \ +<< EOF + # Amnezia start + \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\" + \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\" + \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\" + \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\" + \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\" + \"atmoz/sftp\" = \"docker.io/atmoz/sftp\" + \"mvance/unbound\" = \"docker.io/mvance/unbound\" + \"alpine\" = \"docker.io/library/alpine\" + # Amnezia finish +EOF";\ + fi;\ fi From 886ca3f6ac97f58dd50a07c368dfcf64b2dc7cea Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 13:55:18 +0400 Subject: [PATCH 21/46] test2 --- .../server_scripts/remove_all_containers.sh | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/client/server_scripts/remove_all_containers.sh b/client/server_scripts/remove_all_containers.sh index 5aa97030a..2161838c1 100644 --- a/client/server_scripts/remove_all_containers.sh +++ b/client/server_scripts/remove_all_containers.sh @@ -6,27 +6,16 @@ sudo rm -frd /opt/amnezia;\ if [ -n "$(sudo docker --version 2>/dev/null | grep 'podman')" ]; then \ sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf;\ fi;\ -if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ - if ! sudo test -d "/var/cache/containers"; then \ - sudo mkdir -m 700 -p /var/cache/containers; fi;\ - if ! sudo test -f "/var/cache/containers/short-name-aliases.conf"; then \ - sudo touch /var/cache/containers/short-name-aliases.conf;\ - sudo chmod 600 /var/cache/containers/short-name-aliases.conf; fi;\ - if ! sudo grep -q "\[aliases\]" /var/cache/containers/short-name-aliases.conf; then \ - sudo sh -c "echo \"[aliases]\" >> /var/cache/containers/short-name-aliases.conf"; fi;\ - if ! sudo grep -q " \# Amnezia start" /var/cache/containers/short-name-aliases.conf; then \ - sudo sh -c "cat >> /var/cache/containers/short-name-aliases.conf \ -<< EOF - # Amnezia start - \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\" - \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\" - \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\" - \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\" - \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\" - \"atmoz/sftp\" = \"docker.io/atmoz/sftp\" - \"mvance/unbound\" = \"docker.io/mvance/unbound\" - \"alpine\" = \"docker.io/library/alpine\" - # Amnezia finish -EOF";\ - fi;\ +sudo cat >> /var/cache/containers/short-name-aliases.conf << EOF +# Amnezia start +"3proxy/3proxy" = "docker.io/3proxy/3proxy" +"amneziavpn/amnezia-wg" = "docker.io/amneziavpn/amnezia-wg" +"amneziavpn/amneziawg-go" = "docker.io/amneziavpn/amneziawg-go" +"amneziavpn/ipsec-server" = "docker.io/amneziavpn/ipsec-server" +"amneziavpn/torpress" = "docker.io/amneziavpn/torpress" +"atmoz/sftp" = "docker.io/atmoz/sftp" +"mvance/unbound" = "docker.io/mvance/unbound" +"alpine" = "docker.io/library/alpine" +# Amnezia finish +EOF fi From 5c9ab510cbcbd2c080ffeb3a0d21fdf5d4f09110 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:13:58 +0400 Subject: [PATCH 22/46] tests removed --- client/server_scripts/remove_all_containers.sh | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/client/server_scripts/remove_all_containers.sh b/client/server_scripts/remove_all_containers.sh index 2161838c1..e8ac13a7b 100644 --- a/client/server_scripts/remove_all_containers.sh +++ b/client/server_scripts/remove_all_containers.sh @@ -5,17 +5,4 @@ sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo do sudo rm -frd /opt/amnezia;\ if [ -n "$(sudo docker --version 2>/dev/null | grep 'podman')" ]; then \ sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf;\ -fi;\ -sudo cat >> /var/cache/containers/short-name-aliases.conf << EOF -# Amnezia start -"3proxy/3proxy" = "docker.io/3proxy/3proxy" -"amneziavpn/amnezia-wg" = "docker.io/amneziavpn/amnezia-wg" -"amneziavpn/amneziawg-go" = "docker.io/amneziavpn/amneziawg-go" -"amneziavpn/ipsec-server" = "docker.io/amneziavpn/ipsec-server" -"amneziavpn/torpress" = "docker.io/amneziavpn/torpress" -"atmoz/sftp" = "docker.io/atmoz/sftp" -"mvance/unbound" = "docker.io/mvance/unbound" -"alpine" = "docker.io/library/alpine" -# Amnezia finish -EOF fi From 2f91240766f835dce4f7e65443e7257232ef1ef8 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 1 Jul 2024 17:00:14 +0400 Subject: [PATCH 23/46] printf aliases --- client/server_scripts/build_container.sh | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index a70878988..445d51690 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,25 +1,25 @@ if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ if ! sudo test -d "/var/cache/containers"; then \ - sudo mkdir -m 700 -p /var/cache/containers; fi;\ + sudo mkdir -m 700 -p /var/cache/containers;\ + fi;\ if ! sudo test -f "/var/cache/containers/short-name-aliases.conf"; then \ sudo touch /var/cache/containers/short-name-aliases.conf;\ - sudo chmod 600 /var/cache/containers/short-name-aliases.conf; fi;\ + sudo chmod 600 /var/cache/containers/short-name-aliases.conf;\ + fi;\ if ! sudo grep -q "\[aliases\]" /var/cache/containers/short-name-aliases.conf; then \ - sudo sh -c "echo \"[aliases]\" >> /var/cache/containers/short-name-aliases.conf"; fi;\ - if ! sudo grep -q " \# Amnezia start" /var/cache/containers/short-name-aliases.conf; then \ - sudo sh -c "cat >> /var/cache/containers/short-name-aliases.conf \ -<< EOF - # Amnezia start - \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\" - \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\" - \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\" - \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\" - \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\" - \"atmoz/sftp\" = \"docker.io/atmoz/sftp\" - \"mvance/unbound\" = \"docker.io/mvance/unbound\" - \"alpine\" = \"docker.io/library/alpine\" - # Amnezia finish -EOF";\ + sudo sh -c "echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf";\ + fi;\ + if ! sudo grep -q " # Amnezia start" /var/cache/containers/short-name-aliases.conf; then \ + sudo sh -c "printf '%s\n' ' # Amnezia start' \ + ' \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\"' \ + ' \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\"' \ + ' \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\"' \ + ' \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\"' \ + ' \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\"' \ + ' \"atmoz/sftp\" = \"docker.io/atmoz/sftp\"' \ + ' \"mvance/unbound\" = \"docker.io/mvance/unbound\"' \ + ' \"alpine\" = \"docker.io/library/alpine\"' \ + ' # Amnezia finish' >> /var/cache/containers/short-name-aliases.conf";\ fi;\ fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From 37cddd73ceb647428b6be8601d734b4cca1cfd90 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Wed, 17 Jul 2024 21:16:55 +0400 Subject: [PATCH 24/46] Using grep exit code --- client/server_scripts/remove_all_containers.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/client/server_scripts/remove_all_containers.sh b/client/server_scripts/remove_all_containers.sh index e8ac13a7b..8befbe612 100644 --- a/client/server_scripts/remove_all_containers.sh +++ b/client/server_scripts/remove_all_containers.sh @@ -3,6 +3,4 @@ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker rm -fv;\ sudo docker images -a | grep amnezia | awk '{print $3}' | xargs sudo docker rmi;\ sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo docker network rm;\ sudo rm -frd /opt/amnezia;\ -if [ -n "$(sudo docker --version 2>/dev/null | grep 'podman')" ]; then \ - sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf;\ -fi +sudo docker --version 2>/dev/null | grep -q 'podman' && sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf From 40e113023ee529d16f227995ce1d095050f2f72e Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 18 Jul 2024 00:59:41 +0400 Subject: [PATCH 25/46] Using grep exit code --- client/server_scripts/build_container.sh | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 445d51690..0fa2d100f 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,16 +1,14 @@ if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ - if ! sudo test -d "/var/cache/containers"; then \ + sudo test -d "/var/cache/containers" || \ sudo mkdir -m 700 -p /var/cache/containers;\ - fi;\ - if ! sudo test -f "/var/cache/containers/short-name-aliases.conf"; then \ - sudo touch /var/cache/containers/short-name-aliases.conf;\ + sudo test ! -f "/var/cache/containers/short-name-aliases.conf" && \ + sudo touch /var/cache/containers/short-name-aliases.conf && \ sudo chmod 600 /var/cache/containers/short-name-aliases.conf;\ - fi;\ - if ! sudo grep -q "\[aliases\]" /var/cache/containers/short-name-aliases.conf; then \ + sudo grep -q "\[aliases\]" /var/cache/containers/short-name-aliases.conf || \ sudo sh -c "echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf";\ - fi;\ - if ! sudo grep -q " # Amnezia start" /var/cache/containers/short-name-aliases.conf; then \ - sudo sh -c "printf '%s\n' ' # Amnezia start' \ + sudo grep -q " # Amnezia start" /var/cache/containers/short-name-aliases.conf || \ + sudo sh -c "printf '%s\n' \ + ' # Amnezia start' \ ' \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\"' \ ' \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\"' \ ' \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\"' \ @@ -19,7 +17,7 @@ if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ ' \"atmoz/sftp\" = \"docker.io/atmoz/sftp\"' \ ' \"mvance/unbound\" = \"docker.io/mvance/unbound\"' \ ' \"alpine\" = \"docker.io/library/alpine\"' \ - ' # Amnezia finish' >> /var/cache/containers/short-name-aliases.conf";\ - fi;\ + ' # Amnezia finish' \ + >> /var/cache/containers/short-name-aliases.conf";\ fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From 467459e6f3dd2f282dd995970a4377501bee5c3b Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 18 Jul 2024 03:08:51 +0400 Subject: [PATCH 26/46] check wheel group --- client/core/controllers/serverController.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/core/controllers/serverController.cpp b/client/core/controllers/serverController.cpp index 11efb57a9..59a970bb2 100644 --- a/client/core/controllers/serverController.cpp +++ b/client/core/controllers/serverController.cpp @@ -764,7 +764,7 @@ ErrorCode ServerController::isUserInSudo(const ServerCredentials &credentials, D const QString scriptData = amnezia::scriptData(SharedScriptType::check_user_in_sudo); ErrorCode error = runScript(credentials, replaceVars(scriptData, genVarsForScript(credentials)), cbReadStdOut, cbReadStdErr); - if (!stdOut.contains("sudo")) + if (!stdOut.contains("sudo") || !stdOut.contains("wheel")) return ErrorCode::ServerUserNotInSudo; return error; From fa5e254d83e7ce1bef7d9740d8dec22247f0db41 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 18 Jul 2024 03:34:03 +0400 Subject: [PATCH 27/46] check sudo or wheel group --- client/core/controllers/serverController.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/core/controllers/serverController.cpp b/client/core/controllers/serverController.cpp index 59a970bb2..a2a6b61b4 100644 --- a/client/core/controllers/serverController.cpp +++ b/client/core/controllers/serverController.cpp @@ -764,7 +764,7 @@ ErrorCode ServerController::isUserInSudo(const ServerCredentials &credentials, D const QString scriptData = amnezia::scriptData(SharedScriptType::check_user_in_sudo); ErrorCode error = runScript(credentials, replaceVars(scriptData, genVarsForScript(credentials)), cbReadStdOut, cbReadStdErr); - if (!stdOut.contains("sudo") || !stdOut.contains("wheel")) + if (!stdOut.contains("sudo") && !stdOut.contains("wheel")) return ErrorCode::ServerUserNotInSudo; return error; From d1b3c05e024c8a0a31af16cf7330450531f0bd85 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 18 Jul 2024 04:26:38 +0400 Subject: [PATCH 28/46] Removing quotes --- client/server_scripts/remove_all_containers.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/server_scripts/remove_all_containers.sh b/client/server_scripts/remove_all_containers.sh index 8befbe612..6f8505c35 100644 --- a/client/server_scripts/remove_all_containers.sh +++ b/client/server_scripts/remove_all_containers.sh @@ -3,4 +3,5 @@ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker rm -fv;\ sudo docker images -a | grep amnezia | awk '{print $3}' | xargs sudo docker rmi;\ sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo docker network rm;\ sudo rm -frd /opt/amnezia;\ -sudo docker --version 2>/dev/null | grep -q 'podman' && sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf +sudo docker --version 2>/dev/null | grep -q podman && \ + sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf From df743b0b39fe2fe52579729754d57e238d786f6a Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 18 Jul 2024 18:56:17 +0400 Subject: [PATCH 29/46] Improved code readability --- client/server_scripts/build_container.sh | 35 ++++++++++-------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 0fa2d100f..c8e6b5273 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -1,23 +1,18 @@ -if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ - sudo test -d "/var/cache/containers" || \ - sudo mkdir -m 700 -p /var/cache/containers;\ - sudo test ! -f "/var/cache/containers/short-name-aliases.conf" && \ - sudo touch /var/cache/containers/short-name-aliases.conf && \ - sudo chmod 600 /var/cache/containers/short-name-aliases.conf;\ - sudo grep -q "\[aliases\]" /var/cache/containers/short-name-aliases.conf || \ - sudo sh -c "echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf";\ - sudo grep -q " # Amnezia start" /var/cache/containers/short-name-aliases.conf || \ - sudo sh -c "printf '%s\n' \ - ' # Amnezia start' \ - ' \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\"' \ - ' \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\"' \ - ' \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\"' \ - ' \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\"' \ - ' \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\"' \ - ' \"atmoz/sftp\" = \"docker.io/atmoz/sftp\"' \ - ' \"mvance/unbound\" = \"docker.io/mvance/unbound\"' \ - ' \"alpine\" = \"docker.io/library/alpine\"' \ - ' # Amnezia finish' \ +if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then sudo sh -c "\ + test -d /var/cache/containers || mkdir -m 700 -p /var/cache/containers;\ + test -f /var/cache/containers/short-name-aliases.conf || chmod 600 /var/cache/containers/short-name-aliases.conf>>/var/cache/containers/short-name-aliases.conf;\ + grep -q '\[aliases\]' /var/cache/containers/short-name-aliases.conf || echo '[aliases]' >> /var/cache/containers/short-name-aliases.conf;\ + grep -q ' # Amnezia start' /var/cache/containers/short-name-aliases.conf || printf '%s\n' \ + ' # Amnezia start' \ + ' \"3proxy/3proxy\" = \"docker.io/3proxy/3proxy\"' \ + ' \"amneziavpn/amnezia-wg\" = \"docker.io/amneziavpn/amnezia-wg\"' \ + ' \"amneziavpn/amneziawg-go\" = \"docker.io/amneziavpn/amneziawg-go\"' \ + ' \"amneziavpn/ipsec-server\" = \"docker.io/amneziavpn/ipsec-server\"' \ + ' \"amneziavpn/torpress\" = \"docker.io/amneziavpn/torpress\"' \ + ' \"atmoz/sftp\" = \"docker.io/atmoz/sftp\"' \ + ' \"mvance/unbound\" = \"docker.io/mvance/unbound\"' \ + ' \"alpine\" = \"docker.io/library/alpine\"' \ + ' # Amnezia finish' \ >> /var/cache/containers/short-name-aliases.conf";\ fi;\ sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From df10271be05c2f45c12ae9ca43931fc5c1bf6981 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Thu, 18 Jul 2024 21:03:15 +0400 Subject: [PATCH 30/46] Changes 1 --- client/server_scripts/install_docker.sh | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 555096bdd..88911d27e 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -5,21 +5,16 @@ elif which pacman > /dev/null 2>&1; then pm=$(which pacman); silent_inst="-S --n else echo "Packet manager not found"; exit 1; fi;\ echo "Dist: $dist, Packet manager: $pm, Install command: $silent_inst, Check pkgs command: $check_pkgs, What pkg command: $wh_pkg, Docker pkg: $docker_pkg, Check service: $check_srv";\ if [ "$dist" = "debian" ]; then export DEBIAN_FRONTEND=noninteractive; fi;\ -if [ -z "$(echo $LANG | grep -e 'en_US.UTF-8' -e 'C.UTF-8')" ]; then \ - if [ -n "$(locale -a | grep 'en_US.utf8')" ]; then export LC_ALL=en_US.UTF-8;\ - else export LC_ALL=C.UTF-8; fi;\ -fi;\ -if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst sudo;\ - if ! command -v sudo > /dev/null 2>&1; then sudo; exit 1; fi;\ -fi;\ -if ! command -v fuser > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst psmisc;\ - if ! command -v fuser > /dev/null 2>&1; then fuser; exit 1; fi;\ -fi;\ -if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst lsof;\ - if ! command -v lsof > /dev/null 2>&1; then lsof; exit 1; fi;\ +if [ -z "$(echo $LANG | grep -E 'en_US.UTF-8|C.UTF-8')" ]; then \ + if [ -n "$(locale -a | grep en_US.utf8)" ]; then export LC_ALL=en_US.UTF-8;\ + elif [ -n "$(locale -a | grep C.utf8)" ]; then export LC_ALL=C.UTF-8;\ + fi;\ fi;\ +if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst sudo || sudo 2>&1 > /dev/null || exit 1; fi;\ +if ! command -v fuser > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst psmisc || fuser 2>&1 > /dev/null || exit 1; fi;\ +if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst lsof || lsof 2>&1 > /dev/null || exit 1; fi;\ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ - if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep 'moby-engine')" ]; then echo "Docker is not supported"; docker; exit 1;\ + if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep moby-engine)" ]; then echo "Docker is not supported"; docker; exit 1;\ else sudo $pm $silent_inst $docker_pkg;\ if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ elif [ -n "$(sudo docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ From ef902e6ddb4ab3c58b4e3d49d308075f03afa296 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Fri, 19 Jul 2024 17:18:55 +0400 Subject: [PATCH 31/46] Changes 2 --- client/server_scripts/install_docker.sh | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 88911d27e..699cc4bdc 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -14,16 +14,15 @@ if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst su if ! command -v fuser > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst psmisc || fuser 2>&1 > /dev/null || exit 1; fi;\ if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst lsof || lsof 2>&1 > /dev/null || exit 1; fi;\ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ - if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep moby-engine)" ]; then echo "Docker is not supported"; docker; exit 1;\ - else sudo $pm $silent_inst $docker_pkg;\ - if ! command -v docker > /dev/null 2>&1; then docker; exit 1;\ - elif [ -n "$(sudo docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ - sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ + if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ + else sudo $pm $silent_inst $docker_pkg || docker 2>&1 > /dev/null || exit 1;\ fi;\ + if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ + sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ fi;\ -if [ -n "$(sudo docker --version 2>&1 | grep 'moby-engine')" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ -elif [ -n "$(sudo docker --version 2>&1 | grep 'podman')" ]; then check_srv="podman.socket podman"; docker_pkg="podman-docker";\ - if [ -n "$(sudo docker --version 2>&1 | grep '/etc/containers/nodocker')" ]; then sudo touch /etc/containers/nodocker; fi;\ +if [ -n "$(sudo docker --version 2>&1 | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ +elif [ -n "$(sudo docker --version 2>&1 | grep podman)" ]; then check_srv="podman.socket podman"; docker_pkg="podman-docker";\ + if [ -n "$(sudo docker --version 2>&1 | grep /etc/containers/nodocker)" ]; then sudo touch /etc/containers/nodocker; fi;\ fi;\ if [ "$(systemctl is-active $check_srv | head -n1)" != "active" ]; then \ sudo $pm $check_pkgs; sudo $pm $silent_inst $docker_pkg;\ From 3fc1a51a4cdd1d1c21752dcd30b1cce007dacbde Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 00:39:42 +0400 Subject: [PATCH 32/46] docker search with sudo --- client/server_scripts/install_docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 699cc4bdc..a01be0fc7 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -14,7 +14,7 @@ if ! command -v sudo > /dev/null 2>&1; then $pm $check_pkgs; $pm $silent_inst su if ! command -v fuser > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst psmisc || fuser 2>&1 > /dev/null || exit 1; fi;\ if ! command -v lsof > /dev/null 2>&1; then sudo $pm $check_pkgs; sudo $pm $silent_inst lsof || lsof 2>&1 > /dev/null || exit 1; fi;\ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ - if [ -n "$($pm $wh_pkg $docker_pkg 2>/dev/null | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ + if [ -n "$(sudo $pm $wh_pkg $docker_pkg 2>/dev/null | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ else sudo $pm $silent_inst $docker_pkg || docker 2>&1 > /dev/null || exit 1;\ fi;\ if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ From 4f77d7ba701df0194595d7606c6185576a550fab Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 06:04:17 +0400 Subject: [PATCH 33/46] creating services for podman creating systemd service to autostart container when the server is rebooted, when using podman-docker --- client/server_scripts/build_container.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index c8e6b5273..39042871d 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -14,5 +14,8 @@ if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then sudo sh -c ' \"alpine\" = \"docker.io/library/alpine\"' \ ' # Amnezia finish' \ >> /var/cache/containers/short-name-aliases.conf";\ -fi;\ -sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER + sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER && sudo sh -c '\ + podman generate systemd --name $CONTAINER_NAME 2>/dev/null > $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service && \ + systemctl enable $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service';\ +else sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER;\ +fi From 284019f954e8eaf4242be11540e43531c10e7699 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 07:10:41 +0400 Subject: [PATCH 34/46] Create service for podman --- client/server_scripts/awg/run_container.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client/server_scripts/awg/run_container.sh b/client/server_scripts/awg/run_container.sh index af2a1e17c..8d5248f40 100644 --- a/client/server_scripts/awg/run_container.sh +++ b/client/server_scripts/awg/run_container.sh @@ -11,8 +11,12 @@ sudo docker run -d \ --name $CONTAINER_NAME \ $CONTAINER_NAME +# Create service for podman +sudo sh -c 'docker --version 2>/dev/null | grep -q podman && \ +podman generate systemd --name $CONTAINER_NAME 2>/dev/null > /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service && \ +systemctl enable /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service > /dev/null' + sudo docker network connect amnezia-dns-net $CONTAINER_NAME # Prevent to route packets outside of the container in case if server behind of the NAT #sudo docker exec -i $CONTAINER_NAME sh -c "ifconfig eth0:0 $SERVER_IP_ADDRESS netmask 255.255.255.255 up" - From 88b166443f7b1f38b3c283839a01eb08705524f4 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 08:54:13 +0400 Subject: [PATCH 35/46] changing restart method changing restart method for podman-docker --- client/server_scripts/awg/run_container.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/client/server_scripts/awg/run_container.sh b/client/server_scripts/awg/run_container.sh index 8d5248f40..80e5f8615 100644 --- a/client/server_scripts/awg/run_container.sh +++ b/client/server_scripts/awg/run_container.sh @@ -12,9 +12,11 @@ sudo docker run -d \ $CONTAINER_NAME # Create service for podman -sudo sh -c 'docker --version 2>/dev/null | grep -q podman && \ -podman generate systemd --name $CONTAINER_NAME 2>/dev/null > /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service && \ -systemctl enable /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service > /dev/null' +if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ + sudo docker update --restart no $CONTAINER_NAME;\ + sudo podman generate systemd --name $CONTAINER_NAME > /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service;\ + sudo systemctl enable /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service > /dev/null;\ +fi; sudo docker network connect amnezia-dns-net $CONTAINER_NAME From c34c7f21b06abdacab88567c4b0b2443d4bde9e7 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:01:07 +0400 Subject: [PATCH 36/46] removed creating services creation of services for podman in this place has been removed --- client/server_scripts/build_container.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/client/server_scripts/build_container.sh b/client/server_scripts/build_container.sh index 39042871d..c8e6b5273 100644 --- a/client/server_scripts/build_container.sh +++ b/client/server_scripts/build_container.sh @@ -14,8 +14,5 @@ if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then sudo sh -c ' \"alpine\" = \"docker.io/library/alpine\"' \ ' # Amnezia finish' \ >> /var/cache/containers/short-name-aliases.conf";\ - sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER && sudo sh -c '\ - podman generate systemd --name $CONTAINER_NAME 2>/dev/null > $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service && \ - systemctl enable $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service';\ -else sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER;\ -fi +fi;\ +sudo docker build --no-cache --pull -t $CONTAINER_NAME $DOCKERFILE_FOLDER From a9bf2dfcb930f66fa4670dfc04fd82a75ecf12ab Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:09:19 +0400 Subject: [PATCH 37/46] removing stdout about creating services removing the output of information about creating services for podman-docker --- client/server_scripts/install_docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index a01be0fc7..07f487331 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -17,7 +17,7 @@ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ if [ -n "$(sudo $pm $wh_pkg $docker_pkg 2>/dev/null | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ else sudo $pm $silent_inst $docker_pkg || docker 2>&1 > /dev/null || exit 1;\ fi;\ - if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ + if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then check_srv="podman.socket podman > /dev/null"; sudo touch /etc/containers/nodocker; fi;\ sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ fi;\ if [ -n "$(sudo docker --version 2>&1 | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ From 0f0b6446309d159edb15a255c25569cfaca4b87c Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:26:12 +0400 Subject: [PATCH 38/46] some fix --- client/server_scripts/install_docker.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 07f487331..8f2822407 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -17,8 +17,8 @@ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ if [ -n "$(sudo $pm $wh_pkg $docker_pkg 2>/dev/null | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ else sudo $pm $silent_inst $docker_pkg || docker 2>&1 > /dev/null || exit 1;\ fi;\ - if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then check_srv="podman.socket podman > /dev/null"; sudo touch /etc/containers/nodocker; fi;\ - sleep 5; sudo systemctl enable --now $check_srv; sleep 5;\ + if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ + sleep 5; sudo systemctl enable --now $check_srv > /dev/null; sleep 5;\ fi;\ if [ -n "$(sudo docker --version 2>&1 | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ elif [ -n "$(sudo docker --version 2>&1 | grep podman)" ]; then check_srv="podman.socket podman"; docker_pkg="podman-docker";\ From 65b3015078f1330df23c709c3f929fde1e48e24d Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:34:12 +0400 Subject: [PATCH 39/46] removing stderr about creating services removing the output of information about creating services for podman-docker --- client/server_scripts/install_docker.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/server_scripts/install_docker.sh b/client/server_scripts/install_docker.sh index 8f2822407..babc6fd12 100644 --- a/client/server_scripts/install_docker.sh +++ b/client/server_scripts/install_docker.sh @@ -18,7 +18,7 @@ if ! command -v docker > /dev/null 2>&1; then sudo $pm $check_pkgs;\ else sudo $pm $silent_inst $docker_pkg || docker 2>&1 > /dev/null || exit 1;\ fi;\ if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then check_srv="podman.socket podman"; sudo touch /etc/containers/nodocker; fi;\ - sleep 5; sudo systemctl enable --now $check_srv > /dev/null; sleep 5;\ + sleep 5; sudo systemctl enable --now $check_srv 2>/dev/null; sleep 5;\ fi;\ if [ -n "$(sudo docker --version 2>&1 | grep moby-engine)" ]; then echo "Docker is not supported"; echo "command not found"; exit 1;\ elif [ -n "$(sudo docker --version 2>&1 | grep podman)" ]; then check_srv="podman.socket podman"; docker_pkg="podman-docker";\ From 3c239ec28d3877e6e2e463d2c1dd6ffe27076153 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 21 Jul 2024 04:35:51 +0400 Subject: [PATCH 40/46] enable now service for podman --- client/server_scripts/awg/run_container.sh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/client/server_scripts/awg/run_container.sh b/client/server_scripts/awg/run_container.sh index 80e5f8615..1f922f728 100644 --- a/client/server_scripts/awg/run_container.sh +++ b/client/server_scripts/awg/run_container.sh @@ -13,10 +13,9 @@ $CONTAINER_NAME # Create service for podman if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ - sudo docker update --restart no $CONTAINER_NAME;\ - sudo podman generate systemd --name $CONTAINER_NAME > /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service;\ - sudo systemctl enable /opt/amnezia/$CONTAINER_NAME/container-$CONTAINER_NAME.service > /dev/null;\ -fi; + sudo sh -c "podman generate systemd --name $CONTAINER_NAME 2>/dev/null > $DOCKERFILE_FOLDER/$CONTAINER_NAME.service";\ + sudo sh -c "systemctl enable --now $DOCKERFILE_FOLDER/$CONTAINER_NAME.service && docker update --restart no $CONTAINER_NAME > /dev/null";\ +fi sudo docker network connect amnezia-dns-net $CONTAINER_NAME From 3676027ae13efa5bd5b19980c89641e5378bd6a1 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 21 Jul 2024 05:04:21 +0400 Subject: [PATCH 41/46] removing space --- client/server_scripts/awg/run_container.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/server_scripts/awg/run_container.sh b/client/server_scripts/awg/run_container.sh index 1f922f728..030eceea0 100644 --- a/client/server_scripts/awg/run_container.sh +++ b/client/server_scripts/awg/run_container.sh @@ -14,7 +14,7 @@ $CONTAINER_NAME # Create service for podman if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ sudo sh -c "podman generate systemd --name $CONTAINER_NAME 2>/dev/null > $DOCKERFILE_FOLDER/$CONTAINER_NAME.service";\ - sudo sh -c "systemctl enable --now $DOCKERFILE_FOLDER/$CONTAINER_NAME.service && docker update --restart no $CONTAINER_NAME > /dev/null";\ + sudo sh -c "systemctl enable --now $DOCKERFILE_FOLDER/$CONTAINER_NAME.service && docker update --restart no $CONTAINER_NAME > /dev/null";\ fi sudo docker network connect amnezia-dns-net $CONTAINER_NAME From f42fe9dde485b9a4674b6d643ba1fb6d34535965 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 21 Jul 2024 07:42:39 +0400 Subject: [PATCH 42/46] restart-policy always for podman --- client/server_scripts/awg/run_container.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/server_scripts/awg/run_container.sh b/client/server_scripts/awg/run_container.sh index 030eceea0..b27667667 100644 --- a/client/server_scripts/awg/run_container.sh +++ b/client/server_scripts/awg/run_container.sh @@ -13,8 +13,8 @@ $CONTAINER_NAME # Create service for podman if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ - sudo sh -c "podman generate systemd --name $CONTAINER_NAME 2>/dev/null > $DOCKERFILE_FOLDER/$CONTAINER_NAME.service";\ - sudo sh -c "systemctl enable --now $DOCKERFILE_FOLDER/$CONTAINER_NAME.service && docker update --restart no $CONTAINER_NAME > /dev/null";\ + sudo sh -c "podman generate systemd --restart-policy=always -t 1 --name $CONTAINER_NAME 2>/dev/null > container-$DOCKERFILE_FOLDER/$CONTAINER_NAME.service";\ + sudo sh -c "systemctl enable --now container-$DOCKERFILE_FOLDER/$CONTAINER_NAME.service && docker update --restart no $CONTAINER_NAME > /dev/null";\ fi sudo docker network connect amnezia-dns-net $CONTAINER_NAME From 343a5fdc1a331ff4c9ba7cd20335572f688e6ea3 Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 21 Jul 2024 07:46:17 +0400 Subject: [PATCH 43/46] renaming service file for podman --- client/server_scripts/awg/run_container.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/server_scripts/awg/run_container.sh b/client/server_scripts/awg/run_container.sh index b27667667..47f41a40c 100644 --- a/client/server_scripts/awg/run_container.sh +++ b/client/server_scripts/awg/run_container.sh @@ -13,8 +13,8 @@ $CONTAINER_NAME # Create service for podman if [ -n "$(sudo docker --version 2>/dev/null | grep podman)" ]; then \ - sudo sh -c "podman generate systemd --restart-policy=always -t 1 --name $CONTAINER_NAME 2>/dev/null > container-$DOCKERFILE_FOLDER/$CONTAINER_NAME.service";\ - sudo sh -c "systemctl enable --now container-$DOCKERFILE_FOLDER/$CONTAINER_NAME.service && docker update --restart no $CONTAINER_NAME > /dev/null";\ + sudo sh -c "podman generate systemd --restart-policy=always -t 1 --name $CONTAINER_NAME 2>/dev/null > $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service";\ + sudo sh -c "systemctl enable --now $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service && docker update --restart no $CONTAINER_NAME > /dev/null";\ fi sudo docker network connect amnezia-dns-net $CONTAINER_NAME From 76b01bc09a3a5d06f90ad401fe7632c230a22c8b Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Sun, 21 Jul 2024 07:49:08 +0400 Subject: [PATCH 44/46] removing service for podman --- client/server_scripts/remove_container.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/client/server_scripts/remove_container.sh b/client/server_scripts/remove_container.sh index 3e894e8f4..315717e2b 100644 --- a/client/server_scripts/remove_container.sh +++ b/client/server_scripts/remove_container.sh @@ -1,3 +1,4 @@ +sudo systemctl disable --now container-$CONTAINER_NAME.service;\ sudo docker stop $CONTAINER_NAME;\ -sudo docker rm -fv $CONTAINER_NAME;\ +sudo docker rm -fv $CONTAINER_NAME && sudo rm -f $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service;\ sudo docker rmi $CONTAINER_NAME From 92e33f62c599d2746eda3f9182e07a1fa07d5cca Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 22 Jul 2024 01:57:38 +0400 Subject: [PATCH 45/46] Clearing server for podman --- client/server_scripts/remove_all_containers.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/client/server_scripts/remove_all_containers.sh b/client/server_scripts/remove_all_containers.sh index 6f8505c35..aed7cf9d1 100644 --- a/client/server_scripts/remove_all_containers.sh +++ b/client/server_scripts/remove_all_containers.sh @@ -1,7 +1,9 @@ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker stop;\ +sudo docker --version 2>/dev/null | grep -q podman && \ + sudo systemctl list-units | grep amnezia | awk '{print $1}' | xargs sudo systemctl disable --now && \ + sudo systemctl daemon-reload && sudo systemctl reset-failed && \ + sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf;\ sudo docker ps -a | grep amnezia | awk '{print $1}' | xargs sudo docker rm -fv;\ sudo docker images -a | grep amnezia | awk '{print $3}' | xargs sudo docker rmi;\ sudo docker network ls | grep amnezia-dns-net | awk '{print $1}' | xargs sudo docker network rm;\ -sudo rm -frd /opt/amnezia;\ -sudo docker --version 2>/dev/null | grep -q podman && \ - sudo sed -i '/^ # Amnezia start/,/^ # Amnezia finish$/d' /var/cache/containers/short-name-aliases.conf +sudo rm -frd /opt/amnezia From edee3fec108a4d8ea50f1531b88e386fd18d574a Mon Sep 17 00:00:00 2001 From: lunardunno <126363523+lunardunno@users.noreply.github.com> Date: Mon, 22 Jul 2024 02:12:52 +0400 Subject: [PATCH 46/46] Removing service for podman --- client/server_scripts/remove_container.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/client/server_scripts/remove_container.sh b/client/server_scripts/remove_container.sh index 315717e2b..3048b218c 100644 --- a/client/server_scripts/remove_container.sh +++ b/client/server_scripts/remove_container.sh @@ -1,4 +1,7 @@ -sudo systemctl disable --now container-$CONTAINER_NAME.service;\ sudo docker stop $CONTAINER_NAME;\ -sudo docker rm -fv $CONTAINER_NAME && sudo rm -f $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service;\ +sudo docker --version 2>/dev/null | grep -q podman && \ + sudo systemctl disable --now container-$CONTAINER_NAME.service && \ + sudo systemctl daemon-reload && sudo systemctl reset-failed && \ + sudo rm -f $DOCKERFILE_FOLDER/container-$CONTAINER_NAME.service;\ +sudo docker rm -fv $CONTAINER_NAME;\ sudo docker rmi $CONTAINER_NAME