Error with desec update script
Steps To Reproduce
From CLI: sudo bash /var/scripts/menu.sh --> Server Configuration --> deSEC
Expected Result
Updating desec via script. Trying to update desec, as I had similar issues (no connectivity after update) in the past and thought I tried to see if it the same error again.
Actual Result
Script failed to download. Please run: 'sudo curl -sLO https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh|php|py' and try again. If it still fails, please report this issue to: https://github.com/nextcloud/vm/issues.
Screenshots, Videos, or Pastebins
No response
Additional Context
Running 'sudo curl -sLO https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh|php|py'
returns:
Command 'py' not found, but can be installed with:
apt install pythonpy
After installing pythonpy, it returns:
/usr/bin/py:16: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working from collections import Iterable
Build Version
24.0.3
Environment
By using the scripts
Environment Details
Distributor ID: Ubuntu Description: Ubuntu 20.04.4 LTS Release: 20.04 Codename: focal
PHP 7.4.3 (cli) (built: Jun 13 2022 13:43:30) ( NTS ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
dpkg -l | grep mysql ii libmysqlclient21:amd64 8.0.30-0ubuntu0.20.04.2 amd64 MySQL database client library ii mysql-common 5.8+1.0.5ubuntu2 all MySQL database common files, e.g. /etc/mysql/my.cnf ii php-mysql 2:7.4+75 all MySQL module for PHP [default] ii php7.4-mysql 7.4.3-4ubuntu2.12 amd64 MySQL module for PHP
Sorry but I can't reproduce this. To download the latest deSEC script, use the menu script and choose deSEC in the Server Configuration menu.
I am doing that. I would not have the knowledge to craft those commands myself. ^^
sudo bash /var/scripts/menu.sh



Meanwhile In the terminal:
# sudo bash /var/scripts/menu.sh
Running the main menu script...
Testing if network is OK...
Checking connection...
Downloading the Server Configuration Menu...
Downloading the deSEC install script...
Downloading desec failed
Then running the command as per info returned from the script: sudo curl -sLO https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh|php|py
returns
/usr/bin/py:16: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
from collections import Iterable
(obvisouly the error about missing py as mentioned above is not showing up, as I had installed it at the time.)
OK, please run sudo bash /var/scripts/update.sh to get the latest menu script, then try again.
Did it help? :)
Thank you for the update,but unfortunately no, it did not help. I still get the same errors as above, when trying to start the desec procedure.
Can you please post a video of the issue?
Err, ok. I hope this helps. I already did the update at this point
https://user-images.githubusercontent.com/83626396/184897682-c7467883-e2b9-48ca-910e-b319dfbe7b84.mp4
.
Sorry, I can't make a video since I'm on Wayland (Ubuntu 22.04), but doing the exact same thing as you result in a successful download.
Please check your firewall for countryblock.
Here are some pictures at least. Note the date and time at the top.

I do not see a difference in the screenshots. Mine shows 2022 as well?
There is no countryblock.
But in that one screenshot where it says:
Script failed to download. Please run: 'sudo curl -sLO https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh|php|py' and try again. If it still fails, please report this issue to: https://github.com/nextcloud/vm/issues.
There is only a 404 at https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh . The correct link seems to be https://raw.githubusercontent.com/nextcloud/vm/master/addons/deSEC/desec.sh
It still would not run with the way the command is crafted, but I was able to get the script from the second link with wget and it ran successfully (appears to be the case at least - too tired for further investigation at the moment...).
True, the path has updated, so with the latest (menu) script everything should be in order.
Other than comparing checksums, is there a way to ensure I have the latest script? I did re-run the update script several times by now.
I also discovered the Debug functionality:
sudo bash /var/scripts/desec_menu.sh
+ root_check
+ is_root
+ [[ 0 -ne 0 ]]
+ return 0
++ whiptail --title 'Nextcloud VM - 2022 - deSEC Menu' --menu 'Please choose one of the deSEC options below.
Navigate with the [ARROW] keys and confirm by pressing [ENTER]. Cancel by pressing [ESC].\n\nYou can view this script later by running '\''sudo bash /var/scripts/menu.sh'\''.' '' '' 4 'Install deSEC' '(Setup deSEC fully automated: yourdomain.dedyn.io)' 'deSEC Subdomain' '(Add or delete subdomains to an existing deSEC domain)' 'Remove deSEC' '(Remove your deSEC account completely'
+ choice='Install deSEC'
+ case "$choice" in
+ print_text_in_color '\e[0;96m' 'Downloading the deSEC install script...'
+ printf '%b%s%b\n' '\e[0;96m' 'Downloading the deSEC install script...' '\e[0m'
Downloading the deSEC install script...
+ run_script ADDONS desec
+ rm -f /var/scripts/desec.sh /var/scripts/desec.php /var/scripts/desec.py
+ download_script ADDONS desec
+ download_script_function_in_use=yes
+ rm -f /var/scripts/desec.sh /var/scripts/desec.php /var/scripts/desec.py
+ curl_to_dir https://raw.githubusercontent.com/nextcloud/vm/master/addons desec.sh /var/scripts
+ '[' '!' -d /var/scripts ']'
+ rm -f /var/scripts/desec.sh
+ '[' -n yes ']'
+ curl -sfL https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh -o /var/scripts/desec.sh
+ curl_to_dir https://raw.githubusercontent.com/nextcloud/vm/master/addons desec.php /var/scripts
+ '[' '!' -d /var/scripts ']'
+ rm -f /var/scripts/desec.php
+ '[' -n yes ']'
+ curl -sfL https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.php -o /var/scripts/desec.php
+ curl_to_dir https://raw.githubusercontent.com/nextcloud/vm/master/addons desec.py /var/scripts
+ '[' '!' -d /var/scripts ']'
+ rm -f /var/scripts/desec.py
+ '[' -n yes ']'
+ curl -sfL https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.py -o /var/scripts/desec.py
+ print_text_in_color '\e[0;91m' 'Downloading desec failed'
+ printf '%b%s%b\n' '\e[0;91m' 'Downloading desec failed' '\e[0m'
Downloading desec failed
+ sleep 2
+ msg_box 'Script failed to download. Please run: '\''sudo curl -sLO https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh|php|py'\'' and try again.
If it still fails, please report this issue to: https://github.com/nextcloud/vm/issues.'
+ '[' -n '' ']'
+ whiptail --title 'Nextcloud VM - 2022 - deSEC Menu' --msgbox 'Script failed to download. Please run: '\''sudo curl -sLO https://raw.githubusercontent.com/nextcloud/vm/master/addons/desec.sh|php|py'\'' and try again.
If it still fails, please report this issue to: https://github.com/nextcloud/vm/issues.' '' ''
+ exit 1
The new path is not shown. So in /var/scripts/desec_menu.sh I found the difference in line 29 between Github and what is on my VM. Once I do that change on my VM the desec.sh script runs properly. So it seems to me the update of scripts was not successful. So, again, how can I know, if I run the latest scripts?
Have a close look here: https://github.com/nextcloud/vm/blob/master/menu/desec_menu.sh#L29
Your script uses the legacy path. That's why it doesn't work.
You must have missed the bit in my post where I wrote how I compared Github and local and making the change manually fixed it. Sorry, if it was not clear.
My question is now, how can I ensure or check, that I am running the latest version of scripts? You said that running the update script would fetch the latest ones, but it does not in my case. Would you prefer if I opened a new issue, since it is a different topic?
Run the menu script it should get the latest other scripts:
root@test:~# bash -x /var/scripts/menu.sh
+ true
+ SCRIPT_NAME='Main Menu'
+ source /var/scripts/fetch_lib.sh
++ true
++ IRed='\e[0;91m'
++ IGreen='\e[0;92m'
++ ICyan='\e[0;96m'
++ Color_Off='\e[0m'
++ [[ 0 -ne 0 ]]
++ mkdir -p /var/scripts
++ '[' -f /var/scripts/lib.sh ']'
++ '[' -f /var/scripts/nextcloud-startup-script.sh ']'
++ curl -sfL https://raw.githubusercontent.com/nextcloud/vm/master/lib.sh -o /var/scripts/lib.sh
++ source /var/scripts/lib.sh
+++ true
+++ NCPATH=/var/www/nextcloud
+++ NCPASS=nextcloud
+++ NCUSER=ncadmin
+++ PGDB_USER=nextcloud_db_user
+++ '[' -f /var/www/nextcloud/config/config.php ']'
++++ grep dbpassword /var/www/nextcloud/config/config.php
++++ sed 's/['\'',]//g'
++++ awk '{print $3}'
+++ NCCONFIGDBPASS='Fh56PzWz*PvlCeUSM4Lp9KbKGGD@u'
++++ grep dbname /var/www/nextcloud/config/config.php
++++ sed 's/['\'',]//g'
++++ awk '{print $3}'
+++ NCCONFIGDB=nextcloud_db
+++ SCRIPTS=/var/scripts
+++ NCPATH=/var/www/nextcloud
+++ HTML=/var/www
+++ POOLNAME=ncdata
+++ NCDATA=/mnt/ncdata
+++ SNAPDIR=/var/snap/spreedme
+++ GPGDIR=/tmp/gpg
+++ SHA256_DIR=/tmp/sha256
+++ BACKUP=/mnt/NCBACKUP
+++ RORDIR=/opt/es/
+++ OPNSDIR=/opt/opensearch
+++ NC_APPS_PATH=/var/www/nextcloud/apps
+++ VMLOGS=/var/log/nextcloud
++++ lsb_release -sr
+++ DISTRO=22.04
++++ lsb_release -sc
+++ CODENAME=jammy
++++ localectl status
++++ awk '{print $3}'
++++ grep Layout
+++ KEYBOARD_LAYOUT=se
++++ cat /sys/devices/virtual/dmi/id/sys_vendor
+++ SYSVENDOR=QEMU
++++ ip r
++++ grep 'default via'
++++ awk '{print $5}'
+++ IFACE=ens18
++++ ip -o link show
++++ cut -d : -f 1
++++ awk '{print $2,$9}'
++++ grep UP
+++ IFACE2=ens18
++++ grep '^deb ' /etc/apt/sources.list
++++ awk '{print $2}'
++++ head -1
++++ grep http
+++ REPO=http://se.archive.ubuntu.com/ubuntu
++++ hostname -I
++++ cut -d ' ' -f 1
+++ ADDRESS=10.50.50.119
++++ curl -s -k -m 5 -4 https://api64.ipify.org
+++ WANIP4=5.150.248.220
+++ INTERFACES=/etc/netplan/nextcloud.yaml
++++ ip route
++++ awk '{print $3}'
++++ grep default
+++ GATEWAY=10.50.50.1
+++ INTERNET_DNS=9.9.9.9
+++ DNS1=9.9.9.9
+++ DNS2=149.112.112.112
+++ NONO_PORTS=(22 25 53 80 443 1024 3012 3306 5178 5179 5432 7867 7983 8983 10000 8081 8443 9443)
+++ use_global_systemd_dns
+++ '[' -f /etc/systemd/resolved.conf ']'
+++ local resolvedDns1
++++ grep -m 1 -E '^DNS=.+' /etc/systemd/resolved.conf
++++ awk '{print $1}'
++++ sed 's/^DNS=//'
+++ resolvedDns1=10.50.50.1
+++ '[' -n 10.50.50.1 ']'
+++ DNS1=10.50.50.1
+++ local resolvedDns2
++++ grep -m 1 -E '^DNS=.+' /etc/systemd/resolved.conf
++++ awk '{print $2}'
++++ sed 's/^DNS=//'
+++ resolvedDns2=9.9.9.9
+++ '[' -n 9.9.9.9 ']'
+++ DNS2=9.9.9.9
++++ date +%Y
+++ TITLE='Nextcloud VM - 2022'
+++ '[' -n 'Main Menu' ']'
+++ TITLE+=' - Main Menu'
+++ CHECKLIST_GUIDE='Navigate with the [ARROW] keys and (de)select with the [SPACE] key. Confirm by pressing [ENTER]. Cancel by pressing [ESC].'
+++ MENU_GUIDE='Navigate with the [ARROW] keys and confirm by pressing [ENTER]. Cancel by pressing [ESC].'
+++ RUN_LATER_GUIDE='You can view this script later by running '\''sudo bash /var/scripts/menu.sh'\''.'
+++ GITHUB_REPO=https://raw.githubusercontent.com/nextcloud/vm/master
+++ STATIC=https://raw.githubusercontent.com/nextcloud/vm/master/static
+++ LETS_ENC=https://raw.githubusercontent.com/nextcloud/vm/master/lets-encrypt
+++ APP=https://raw.githubusercontent.com/nextcloud/vm/master/apps
+++ OLD=https://raw.githubusercontent.com/nextcloud/vm/master/old
+++ ADDONS=https://raw.githubusercontent.com/nextcloud/vm/master/addons
+++ DESEC=https://raw.githubusercontent.com/nextcloud/vm/master/addons/deSEC
+++ MENU=https://raw.githubusercontent.com/nextcloud/vm/master/menu
+++ DISK=https://raw.githubusercontent.com/nextcloud/vm/master/disk
+++ NETWORK=https://raw.githubusercontent.com/nextcloud/vm/master/network
+++ VAGRANT_DIR=https://raw.githubusercontent.com/nextcloud/vm/master/vagrant
+++ NOT_SUPPORTED_FOLDER=https://raw.githubusercontent.com/nextcloud/vm/master/not-supported
+++ GEOBLOCKDAT=https://raw.githubusercontent.com/nextcloud/vm/master/geoblockdat
+++ NCREPO=https://download.nextcloud.com/server/releases
+++ ISSUES=https://github.com/nextcloud/vm/issues
+++ GUIUSER=ncadmin
+++ GUIPASS=nextcloud
+++ UNIXUSER=ncadmin
+++ UNIXUSER_PROFILE=/home/ncadmin/.bash_profile
+++ ROOT_PROFILE=/root/.bash_profile
+++ BITWARDEN_USER=bitwarden
+++ BITWARDEN_HOME=/home/bitwarden
++++ shuf -i 25-29 -n 1
+++ SHUF=26
+++ PGDB_USER=nextcloud_db_user
++++ gen_passwd 26 'a-zA-Z0-9@#*'
++++ local length=26
++++ local 'charset=a-zA-Z0-9@#*'
++++ local password=
++++ '[' 0 -lt 26 ']'
+++++ head -n 1
++++++ LC_ALL=C
++++++ tr -dc 'a-zA-Z0-9@#*'
+++++ fold -w 26
++++++ head -c 100 /dev/urandom
+++++ echo TzCjINIRqacaQA@np8Yz4SKBhu
++++ password=TzCjINIRqacaQA@np8Yz4SKBhu
++++ '[' 26 -lt 26 ']'
++++ echo TzCjINIRqacaQA@np8Yz4SKBhu
+++ PGDB_PASS=TzCjINIRqacaQA@np8Yz4SKBhu
++++ gen_passwd 26 'a-zA-Z0-9@#*'
++++ local length=26
++++ local 'charset=a-zA-Z0-9@#*'
++++ local password=
++++ '[' 0 -lt 26 ']'
+++++ head -n 1
++++++ head -c 100 /dev/urandom
+++++ fold -w 26
++++++ LC_ALL=C
++++++ tr -dc 'a-zA-Z0-9@#*'
+++++ echo b5nOTCL3qm@R@GdkYtGX5Ct#0ntiUGD
++++ password=b5nOTCL3qm@R@GdkYtGX5Ct#0n
++++ '[' 26 -lt 26 ']'
++++ echo b5nOTCL3qm@R@GdkYtGX5Ct#0n
+++ NEWPGPASS=b5nOTCL3qm@R@GdkYtGX5Ct#0n
+++ SECURE=/var/scripts/setup_secure_permissions_nextcloud.sh
+++ AUT_UPDATES_TIME=18
+++ OpenPGP_fingerprint=28806A878AE423A28372792ED75899B9A724937A
+++ SITES_AVAILABLE=/etc/apache2/sites-available
+++ LETSENCRYPTPATH=/etc/letsencrypt
+++ CERTFILES=/etc/letsencrypt/live
+++ DHPARAMS_TLS=/etc/letsencrypt/live//dhparam.pem
+++ DHPARAMS_SUB=/etc/letsencrypt/live//dhparam.pem
+++ TLS_CONF=nextcloud_tls_domain_self_signed.conf
+++ HTTP_CONF=nextcloud_http_domain_self_signed.conf
+++ HTTPS_CONF=/etc/apache2/sites-available/.conf
+++ HTTP2_CONF=/etc/apache2/mods-available/http2.conf
+++ PHPVER=8.1
+++ PHP_FPM_DIR=/etc/php/8.1/fpm
+++ PHP_INI=/etc/php/8.1/fpm/php.ini
+++ PHP_POOL_DIR=/etc/php/8.1/fpm/pool.d
+++ PHP_MODS_DIR=/etc/php/8.1/mods-available
+++ NOTIFY_PUSH_SERVICE_PATH=/etc/systemd/system/notify_push.service
+++ ADMINERDIR=/usr/share/adminer
+++ ADMINER_CONF=/etc/apache2/sites-available/adminer.conf
+++ REDIS_CONF=/etc/redis/redis.conf
+++ REDIS_SOCK=/var/run/redis/redis-server.sock
++++ gen_passwd 26 'a-zA-Z0-9@#*'
++++ local length=26
++++ local 'charset=a-zA-Z0-9@#*'
++++ local password=
++++ '[' 0 -lt 26 ']'
+++++ head -n 1
++++++ LC_ALL=C
++++++ tr -dc 'a-zA-Z0-9@#*'
+++++ fold -w 26
++++++ head -c 100 /dev/urandom
+++++ echo 'n*qRAjSYmDdAwOYk9lIV8EVNchq'
++++ password='n*qRAjSYmDdAwOYk9lIV8EVNch'
++++ '[' 26 -lt 26 ']'
++++ echo 'n*qRAjSYmDdAwOYk9lIV8EVNch'
+++ REDIS_PASS='n*qRAjSYmDdAwOYk9lIV8EVNch'
+++ SPAMHAUS=/etc/spamhaus.wl
+++ ENVASIVE=/etc/apache2/mods-available/mod-evasive.load
+++ APACHE2=/etc/apache2/apache2.conf
+++ Color_Off='\e[0m'
+++ Black='\e[0;30m'
+++ Red='\e[0;31m'
+++ Green='\e[0;32m'
+++ Yellow='\e[0;33m'
+++ Blue='\e[0;34m'
+++ Purple='\e[0;35m'
+++ Cyan='\e[0;36m'
+++ White='\e[0;37m'
+++ BBlack='\e[1;30m'
+++ BRed='\e[1;31m'
+++ BGreen='\e[1;32m'
+++ BYellow='\e[1;33m'
+++ BBlue='\e[1;34m'
+++ BPurple='\e[1;35m'
+++ BCyan='\e[1;36m'
+++ BWhite='\e[1;37m'
+++ UBlack='\e[4;30m'
+++ URed='\e[4;31m'
+++ UGreen='\e[4;32m'
+++ UYellow='\e[4;33m'
+++ UBlue='\e[4;34m'
+++ UPurple='\e[4;35m'
+++ UCyan='\e[4;36m'
+++ UWhite='\e[4;37m'
+++ On_Black='\e[40m'
+++ On_Red='\e[41m'
+++ On_Green='\e[42m'
+++ On_Yellow='\e[43m'
+++ On_Blue='\e[44m'
+++ On_Purple='\e[45m'
+++ On_Cyan='\e[46m'
+++ On_White='\e[47m'
+++ IBlack='\e[0;90m'
+++ IRed='\e[0;91m'
+++ IGreen='\e[0;92m'
+++ IYellow='\e[0;93m'
+++ IBlue='\e[0;94m'
+++ IPurple='\e[0;95m'
+++ ICyan='\e[0;96m'
+++ IWhite='\e[0;97m'
+++ BIBlack='\e[1;90m'
+++ BIRed='\e[1;91m'
+++ BIGreen='\e[1;92m'
+++ BIYellow='\e[1;93m'
+++ BIBlue='\e[1;94m'
+++ BIPurple='\e[1;95m'
+++ BICyan='\e[1;96m'
+++ BIWhite='\e[1;97m'
+++ On_IBlack='\e[0;100m'
+++ On_IRed='\e[0;101m'
+++ On_IGreen='\e[0;102m'
+++ On_IYellow='\e[0;103m'
+++ On_IBlue='\e[0;104m'
+++ On_IPurple='\e[0;105m'
+++ On_ICyan='\e[0;106m'
+++ On_IWhite='\e[0;107m'
+ DEBUG=0
+ debug_mode
+ '[' 0 -eq 1 ']'
+ root_check
+ is_root
+ [[ 0 -ne 0 ]]
+ return 0
+ mkdir -p /var/scripts
+ print_text_in_color '\e[0;96m' 'Running the main menu script...'
+ printf '%b%s%b\n' '\e[0;96m' 'Running the main menu script...' '\e[0m'
Running the main menu script...
+ network_ok
+ version 20.04 22.04 22.04.10
+ local h t v
+ [[ 22.04 = \2\0\.\0\4 ]]
+ [[ 22.04 = \2\2\.\0\4\.\1\0 ]]
++ printf '%s\n' 20.04 22.04 22.04.10
++ sort -V
+ v='20.04
22.04
22.04.10'
++ head -n1
+ h=20.04
++ tail -n1
+ t=22.04.10
+ [[ 22.04 != \2\0\.\0\4 ]]
+ [[ 22.04 != \2\2\.\0\4\.\1\0 ]]
+ print_text_in_color '\e[0;96m' 'Testing if network is OK...'
+ printf '%b%s%b\n' '\e[0;96m' 'Testing if network is OK...' '\e[0m'
Testing if network is OK...
+ site_200 github.com
+ print_text_in_color '\e[0;96m' 'Checking connection...'
+ printf '%b%s%b\n' '\e[0;96m' 'Checking connection...' '\e[0m'
Checking connection...
++ curl -LI github.com -o /dev/null -w '%{http_code}\n' -s
+ CURL_STATUS=200
+ [[ 200 = \2\0\0 ]]
+ return 0
+ return
+ run_script MENU main_menu
+ rm -f /var/scripts/main_menu.sh /var/scripts/main_menu.php /var/scripts/main_menu.py
+ download_script MENU main_menu
+ download_script_function_in_use=yes
+ rm -f /var/scripts/main_menu.sh /var/scripts/main_menu.php /var/scripts/main_menu.py
+ curl_to_dir https://raw.githubusercontent.com/nextcloud/vm/master/menu main_menu.sh /var/scripts
+ '[' '!' -d /var/scripts ']'
+ rm -f /var/scripts/main_menu.sh
+ '[' -n yes ']'
+ curl -sfL https://raw.githubusercontent.com/nextcloud/vm/master/menu/main_menu.sh -o /var/scripts/main_menu.sh
+ '[' -f /var/scripts/main_menu.sh ']'
+ bash /var/scripts/main_menu.sh
Downloading the Server Configuration Menu...
Downloading the deSEC menu script...
Downloading the deSEC install script...
It may also be that you are using an old lib, or still have the nextcloud_startup_script.sh left for some reason, then it's not updating the lib.sh file which contains the latest variables.