From 2d48680b570160a3e1a7c6f3f96d5d995a00b090 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:24:07 +0200 Subject: [PATCH 01/28] Update check.yml --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index adb2543..822af57 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,4 +11,4 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: - SHELLCHECK_OPTS: -e SC2001 -e SC2002 -e SC2116 -e SC2034 -e SC1091 -e SC2143 -e SC2223 -e SC2086 -e SC2145 -e SC2015 -e SC2268 -e SC2207 -e SC2064 -e SC2162 -e SC2153 -e SC2166 + SHELLCHECK_OPTS: -e SX2001 -e SX2002 -e SX2116 -e SX2034 -e SX1091 -e SX2143 -e SX2223 -e SX2086 -e SX2145 -e SX2015 -e SX2268 -e SC2207 -e SC2064 -e SC2162 -e SC2153 -e SC2166 From c7508fe0b7a4c530a54bf37295edd3a1a499f697 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:26:11 +0200 Subject: [PATCH 02/28] Trigger --- run/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/run.sh b/run/run.sh index 96b8a7a..e4814b5 100755 --- a/run/run.sh +++ b/run/run.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -eu -# Docker environment variabeles +# Docker environment variabeles : ${URL:=''}. # URL of PAT file : ${DEBUG:=''}. # Enable debug mode From 30cd22fb445ff4c7bf47b7451374347cd800d37f Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:28:21 +0200 Subject: [PATCH 03/28] Update check.yml --- .github/workflows/check.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 822af57..7f4342b 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -10,5 +10,4 @@ jobs: - uses: actions/checkout@v3 - name: Run ShellCheck uses: ludeeus/action-shellcheck@master - env: - SHELLCHECK_OPTS: -e SX2001 -e SX2002 -e SX2116 -e SX2034 -e SX1091 -e SX2143 -e SX2223 -e SX2086 -e SX2145 -e SX2015 -e SX2268 -e SC2207 -e SC2064 -e SC2162 -e SC2153 -e SC2166 + From 0214ef368b6e063761ffdbe024d7192e5acd506c Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:28:47 +0200 Subject: [PATCH 04/28] Update check.yml --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 7f4342b..48b59c7 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,5 +1,5 @@ on: [workflow_call] -name: "shellcheck" +name: "Check" permissions: {} jobs: From b728eb7515f14a420dac098ce467fb0c4b1f82e2 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:29:12 +0200 Subject: [PATCH 05/28] Trigger --- run/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/run.sh b/run/run.sh index e4814b5..96b8a7a 100755 --- a/run/run.sh +++ b/run/run.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash set -eu -# Docker environment variabeles +# Docker environment variabeles : ${URL:=''}. # URL of PAT file : ${DEBUG:=''}. # Enable debug mode From 5adf8ee45f4a20828d90a75e05c8c21884041088 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:34:59 +0200 Subject: [PATCH 06/28] Shellcheck --- agent/agent.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agent/agent.sh b/agent/agent.sh index 7532930..e14ffd2 100644 --- a/agent/agent.sh +++ b/agent/agent.sh @@ -42,7 +42,7 @@ function downloadUpdate { [[ "$remote_size" == "" || "$remote_size" == "0" ]] && return - SCRIPT=$(readlink -f ${BASH_SOURCE[0]}) + SCRIPT=$(readlink -f "${BASH_SOURCE[0]}") local_size=$(stat -c%s "$SCRIPT") [[ remote_size -eq local_size ]] && return From f8d923ce258b729b19c6a5ced487bb311315f131 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:39:58 +0200 Subject: [PATCH 07/28] Update check.yml --- .github/workflows/check.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 48b59c7..bb11d20 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -10,4 +10,5 @@ jobs: - uses: actions/checkout@v3 - name: Run ShellCheck uses: ludeeus/action-shellcheck@master - +env: + SHELLCHECK_OPTS: -x -e SC2002 From c8b80bf49c52accdbd673d639a4e3400ce7f8f0b Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:42:19 +0200 Subject: [PATCH 08/28] Shellcheck --- run/server.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/run/server.sh b/run/server.sh index a4b28b5..e615992 100644 --- a/run/server.sh +++ b/run/server.sh @@ -5,10 +5,10 @@ trap exit SIGINT SIGTERM # Close any previous instances script_name=${BASH_SOURCE[0]} -for pid in $(pidof -x $script_name); do - if [ $pid != $$ ]; then - kill -15 $pid 2> /dev/null - wait $pid 2> /dev/null +for pid in $(pidof -x "$script_name"); do + if [ "$pid" != $$ ]; then + kill -15 "$pid" 2> /dev/null + wait "$pid" 2> /dev/null fi done From 0b4171693ab5957ece5dd53aefd2e9acdfaed325 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:45:38 +0200 Subject: [PATCH 09/28] Update check.yml --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index bb11d20..13ff3e9 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,4 +11,4 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: - SHELLCHECK_OPTS: -x -e SC2002 + SHELLCHECK_OPTS: -x -e SC2002 -e SC2223 From e06735f1e30e790beceb368f297bec9b4ac67927 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:47:44 +0200 Subject: [PATCH 10/28] Shellcheck --- run/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/run.sh b/run/run.sh index 96b8a7a..e9ace9c 100755 --- a/run/run.sh +++ b/run/run.sh @@ -63,7 +63,7 @@ ARGS="${DEF_OPTS} ${CPU_OPTS} ${RAM_OPTS} ${KVM_OPTS} ${MON_OPTS} ${SERIAL_OPTS} set -m ( - qemu-system-x86_64 ${ARGS} & echo $! > ${_QEMU_PID} + qemu-system-x86_64 "${ARGS}" & echo $! > ${_QEMU_PID} ) set +m From cd497af20b554b5b668acdace3cc67b81a7fa880 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:49:49 +0200 Subject: [PATCH 11/28] Shellcheck --- run/install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run/install.sh b/run/install.sh index 4ef735b..17119cb 100644 --- a/run/install.sh +++ b/run/install.sh @@ -6,7 +6,7 @@ set -eu DL="https://global.synologydownload.com/download/DSM" -if [ -z $URL ]; then +if [ -z "$URL" ]; then URL="$DL/beta/7.2/64216/DSM_VirtualDSM_64216.pat" #URL="$DL/release/7.0.1/42218/DSM_VirtualDSM_42218.pat" @@ -33,7 +33,7 @@ if ! curl -r 64493568-69886247 -sfk -o "$RD" "$LOC"; then echo "Failed to download extractor, code: $?" && exit 60 fi -SUM=$(md5sum $RD | cut -f 1 -d " ") +SUM=$(md5sum "$RD" | cut -f 1 -d " ") if [ $SUM != "14fb88cb7cabddb5af1d0269bf032845" ]; then echo "Invalid extractor, checksum failed." && exit 61 @@ -52,7 +52,7 @@ done mv /run/extract/scemd /run/extract/syno_extract_system_patch chmod +x /run/extract/syno_extract_system_patch -rm -rf $TMP && mkdir -p $TMP +rm -rf "$TMP" && mkdir -p "$TMP" echo "Install: Downloading $(basename $URL)..." From f116b61b71bdc40f7c5eaec8b28a7dc504473f91 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:53:40 +0200 Subject: [PATCH 12/28] Shellcheck --- run/install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run/install.sh b/run/install.sh index 17119cb..c6f1859 100644 --- a/run/install.sh +++ b/run/install.sh @@ -35,13 +35,13 @@ fi SUM=$(md5sum "$RD" | cut -f 1 -d " ") -if [ $SUM != "14fb88cb7cabddb5af1d0269bf032845" ]; then +if [ "$SUM" != "14fb88cb7cabddb5af1d0269bf032845" ]; then echo "Invalid extractor, checksum failed." && exit 61 fi set +e -xz -dc <$RD >$TMP/rd 2>/dev/null -(cd $TMP && cpio -idm <$TMP/rd 2>/dev/null) +xz -dc <"$RD" >"$TMP/rd" 2>/dev/null +(cd "$TMP" && cpio -idm <"$TMP/rd" 2>/dev/null) set -e mkdir -p /run/extract From c22d61e136e1280d722f608c6e192facf0ac7f5f Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:55:29 +0200 Subject: [PATCH 13/28] Shellcheck --- run/install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run/install.sh b/run/install.sh index c6f1859..1d734b2 100644 --- a/run/install.sh +++ b/run/install.sh @@ -54,7 +54,7 @@ chmod +x /run/extract/syno_extract_system_patch rm -rf "$TMP" && mkdir -p "$TMP" -echo "Install: Downloading $(basename $URL)..." +echo "Install: Downloading $(basename "$URL")..." PAT="/$BASE.pat" rm -f "$PAT" @@ -77,10 +77,10 @@ fi echo "Install: Extracting downloaded image..." if { tar tf "$PAT"; } >/dev/null 2>&1; then - tar xpf $PAT -C $TMP/. + tar xpf "$PAT" -C "$TMP/." else export LD_LIBRARY_PATH="/run/extract" - if ! /run/extract/syno_extract_system_patch $PAT $TMP/. ; then + if ! /run/extract/syno_extract_system_patch "$PAT" "$TMP/." ; then echo "Invalid PAT file: File is an update pack which contains no OS image." && exit 63 fi export LD_LIBRARY_PATH="" From 7fb53ceb71c2088d47ced0f30361f36f829c773d Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 06:59:29 +0200 Subject: [PATCH 14/28] Shellcheck --- run/install.sh | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/run/install.sh b/run/install.sh index 1d734b2..cf38bdf 100644 --- a/run/install.sh +++ b/run/install.sh @@ -96,12 +96,12 @@ HDP="$TMP/synohdpack_img" [ ! -f "$IDB.txz" ] && echo "Invalid PAT file: contains no IndexDB." && exit 66 [ ! -d "$PKG" ] && echo "Invalid PAT file: contains no packages." && exit 68 -BOOT=$(find $TMP -name "*.bin.zip") +BOOT=$(find "$TMP" -name "*.bin.zip") [ ! -f "$BOOT" ] && echo "Invalid PAT file: contains no boot file." && exit 67 BOOT=$(echo "$BOOT" | head -c -5) -unzip -q -o "$BOOT".zip -d $TMP +unzip -q -o "$BOOT".zip -d "$TMP" [ "$ALLOCATE" != "Z" ] && echo "Install: Allocating diskspace..." @@ -152,35 +152,35 @@ PART="$TMP/partition.fdisk" echo "${SYSTEM}2 : start= 4982528, size= 4194304, type=82" } > $PART -sfdisk -q $SYSTEM < $PART +sfdisk -q "$SYSTEM" < "$PART" echo "Install: Extracting system partition..." MOUNT="$TMP/system" -rm -rf $MOUNT && mkdir -p $MOUNT +rm -rf "$MOUNT" && mkdir -p "$MOUNT" -mv -f $HDA.tgz $HDA.txz +mv -f "$HDA.tgz" "$HDA.txz" -tar xpfJ $HDP.txz --absolute-names -C $MOUNT/ -tar xpfJ $HDA.txz --absolute-names -C $MOUNT/ -tar xpfJ $IDB.txz --absolute-names -C $MOUNT/usr/syno/synoman/indexdb/ +tar xpfJ "$HDP.txz" --absolute-names -C "$MOUNT/" +tar xpfJ "$HDA.txz" --absolute-names -C "$MOUNT/" +tar xpfJ "$IDB.txz" --absolute-names -C "$MOUNT/usr/syno/synoman/indexdb/" # Install Agent LOC="$MOUNT/usr/local" -mkdir -p $LOC -mv $PKG/ $LOC/ +mkdir -p "$LOC" +mv "$PKG/" "$LOC/" LOC="$MOUNT/usr/local/bin" -mkdir -p $LOC -cp /agent/agent.sh $LOC/agent.sh -chmod 755 $LOC/agent.sh +mkdir -p "$LOC" +cp /agent/agent.sh "$LOC/agent.sh" +chmod 755 "$LOC/agent.sh" LOC="$MOUNT/usr/local/etc/rc.d" -mkdir -p $LOC -cp /agent/service.sh $LOC/agent.sh -chmod 755 $LOC/agent.sh +mkdir -p "$LOC" +cp /agent/service.sh "$LOC/agent.sh" +chmod 755 "$LOC/agent.sh" # Store agent version echo "7" > "$STORAGE"/"$BASE".agent @@ -193,11 +193,11 @@ NUMBLOCKS="622560" # (4980480 * 512) / 4096 mke2fs -q -t ext4 -b 4096 -d $MOUNT/ -L $LABEL -F -E offset=$OFFSET $SYSTEM $NUMBLOCKS -rm -rf $MOUNT +rm -rf "$MOUNT" echo "$BASE" > "$STORAGE"/dsm.ver mv -f "$PAT" "$STORAGE"/"$BASE".pat mv -f "$BOOT" "$STORAGE"/"$BASE".boot.img mv -f "$SYSTEM" "$STORAGE"/"$BASE".system.img -rm -rf $TMP +rm -rf "$TMP" From b8d51ddcef1cb87e666873619a7012d4126b28ee Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:02:19 +0200 Subject: [PATCH 15/28] Shellcheck --- run/install.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/run/install.sh b/run/install.sh index cf38bdf..6eaa373 100644 --- a/run/install.sh +++ b/run/install.sh @@ -25,7 +25,7 @@ echo "Install: Downloading extractor..." TMP="$STORAGE/tmp" RD="$TMP/rd.gz" -rm -rf $TMP && mkdir -p $TMP +rm -rf "$TMP" && mkdir -p "$TMP" LOC="$DL/release/7.0.1/42218/DSM_VirtualDSM_42218.pat" @@ -142,7 +142,7 @@ echo "Install: Creating partition table..." PART="$TMP/partition.fdisk" -{ echo "label: dos" +"{ echo "label: dos" echo "label-id: 0x6f9ee2e9" echo "device: ${SYSTEM}" echo "unit: sectors" @@ -150,7 +150,7 @@ PART="$TMP/partition.fdisk" echo "" echo "${SYSTEM}1 : start= 2048, size= 4980480, type=83" echo "${SYSTEM}2 : start= 4982528, size= 4194304, type=82" -} > $PART +}" > $PART sfdisk -q "$SYSTEM" < "$PART" @@ -191,7 +191,7 @@ LABEL="1.44.1-42218" OFFSET="1048576" # 2048 * 512 NUMBLOCKS="622560" # (4980480 * 512) / 4096 -mke2fs -q -t ext4 -b 4096 -d $MOUNT/ -L $LABEL -F -E offset=$OFFSET $SYSTEM $NUMBLOCKS +mke2fs -q -t ext4 -b 4096 -d "$MOUNT/" -L "$LABEL" -F -E "offset=$OFFSET" "$SYSTEM" "$NUMBLOCKS" rm -rf "$MOUNT" From 50b11515c3c0aaf3571926b13a1aedf47020bfdf Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:04:51 +0200 Subject: [PATCH 16/28] Update check.yml --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 13ff3e9..b07956f 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,4 +11,4 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: - SHELLCHECK_OPTS: -x -e SC2002 -e SC2223 + SHELLCHECK_OPTS: -x -e SC2002 -e SC2223 -e SC2034 From 4fe488e9134d3839597c0dc634f012673decfaa3 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:06:04 +0200 Subject: [PATCH 17/28] Update check.yml --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index b07956f..40bfce0 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,4 +11,4 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: - SHELLCHECK_OPTS: -x -e SC2002 -e SC2223 -e SC2034 + SHELLCHECK_OPTS: -x -e SC2002 -e SC2223 -e SC2034 -e SC2064 From d90675fcdf106f3df6164ffcd688ff2932f74e96 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:11:36 +0200 Subject: [PATCH 18/28] Shellcheck --- run/network.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/run/network.sh b/run/network.sh index 3cee657..3d59caf 100644 --- a/run/network.sh +++ b/run/network.sh @@ -29,16 +29,16 @@ configureDHCP() { echo "docker variable to your container: --device=/dev/vhost-net" && exit 85 fi - VM_NET_TAP="_VmMacvtap" + VM_NET_TAP="dsm" echo "Info: Retrieving IP via DHCP using MAC ${VM_NET_MAC}..." - ip l add link eth0 name ${VM_NET_TAP} address ${VM_NET_MAC} type macvtap mode bridge || true - ip l set ${VM_NET_TAP} up + ip l add link eth0 name "${VM_NET_TAP}" address "${VM_NET_MAC}" type macvtap mode bridge || true + ip l set "${VM_NET_TAP}" up ip a flush eth0 - ip a flush ${VM_NET_TAP} + ip a flush "${VM_NET_TAP}" - DHCP_IP=$( dhclient -v ${VM_NET_TAP} 2>&1 | grep ^bound | cut -d' ' -f3 ) + DHCP_IP=$( dhclient -v "${VM_NET_TAP}" 2>&1 | grep ^bound | cut -d' ' -f3 ) if [[ "${DHCP_IP}" == [0-9.]* ]]; then echo "Info: Retrieved IP ${DHCP_IP} via DHCP" @@ -46,12 +46,12 @@ configureDHCP() { echo "ERROR: Cannot retrieve IP from DHCP using MAC ${VM_NET_MAC}" && exit 16 fi - ip a flush ${VM_NET_TAP} + ip a flush "${VM_NET_TAP}" TAP_PATH="/dev/tap$(>$TAP_PATH; then + if ! exec 30>>"$TAP_PATH"; then echo -n "ERROR: Please add the following docker variables to your container: " echo "--device=/dev/vhost-net --device-cgroup-rule='c ${MAJOR}:* rwm'" && exit 21 fi From 6cd9b8bcc5c610716b222bce38a5b2a202ea1e5f Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:14:43 +0200 Subject: [PATCH 19/28] Shellcheck --- run/install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run/install.sh b/run/install.sh index 6eaa373..f0a2cce 100644 --- a/run/install.sh +++ b/run/install.sh @@ -142,7 +142,7 @@ echo "Install: Creating partition table..." PART="$TMP/partition.fdisk" -"{ echo "label: dos" +{ echo "label: dos" echo "label-id: 0x6f9ee2e9" echo "device: ${SYSTEM}" echo "unit: sectors" @@ -150,7 +150,7 @@ PART="$TMP/partition.fdisk" echo "" echo "${SYSTEM}1 : start= 2048, size= 4980480, type=83" echo "${SYSTEM}2 : start= 4982528, size= 4194304, type=82" -}" > $PART +} > "$PART" sfdisk -q "$SYSTEM" < "$PART" From 7f1ba281021041a1a458b3dd595ff06ae2f27208 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:17:35 +0200 Subject: [PATCH 20/28] Shellcheck --- run/network.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/run/network.sh b/run/network.sh index 3d59caf..854a9bf 100644 --- a/run/network.sh +++ b/run/network.sh @@ -57,7 +57,7 @@ configureDHCP() { echo "ERROR: Cannot find: sys/devices/virtual/net/${VM_NET_TAP}" && exit 18 fi - [[ ! -e ${TAP_PATH} ]] && [[ -e /dev0/${TAP_PATH##*/} ]] && ln -s /dev0/${TAP_PATH##*/} ${TAP_PATH} + [[ ! -e "${TAP_PATH}" ]] && [[ -e "/dev0/${TAP_PATH##*/}" ]] && ln -s "/dev0/${TAP_PATH##*/}" "${TAP_PATH}" if [[ ! -e "${TAP_PATH}" ]]; then if ! mknod "${TAP_PATH}" c "$MAJOR" "$MINOR" ; then @@ -118,12 +118,12 @@ configureNAT () { domainname=$(echo $searchdomains | awk -F"," '{print $1}') for nameserver in "${nameservers[@]}"; do - if ! [[ $nameserver =~ .*:.* ]]; then - [[ -z $DNS_SERVERS ]] && DNS_SERVERS=$nameserver || DNS_SERVERS="$DNS_SERVERS,$nameserver" + if ! [[ "$nameserver" =~ .*:.* ]]; then + [[ -z "$DNS_SERVERS" ]] && DNS_SERVERS="$nameserver" || DNS_SERVERS="$DNS_SERVERS,$nameserver" fi done - [[ -z $DNS_SERVERS ]] && DNS_SERVERS="1.1.1.1" + [[ -z "$DNS_SERVERS" ]] && DNS_SERVERS="1.1.1.1" DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-option=option:dns-server,$DNS_SERVERS --dhcp-option=option:router,${VM_NET_IP%.*}.1" From 2b703fa9874a4cd335f05415f1b3202e63153b2a Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:19:29 +0200 Subject: [PATCH 21/28] Shellcheck --- run/network.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run/network.sh b/run/network.sh index 854a9bf..552aaf0 100644 --- a/run/network.sh +++ b/run/network.sh @@ -115,7 +115,7 @@ configureNAT () { # Build DNS options from container /etc/resolv.conf nameservers=($(grep '^nameserver' /etc/resolv.conf | sed 's/nameserver //')) searchdomains=$(grep '^search' /etc/resolv.conf | sed 's/search //' | sed 's/ /,/g') - domainname=$(echo $searchdomains | awk -F"," '{print $1}') + domainname=$(echo "$searchdomains" | awk -F"," '{print $1}') for nameserver in "${nameservers[@]}"; do if ! [[ "$nameserver" =~ .*:.* ]]; then @@ -135,7 +135,7 @@ configureNAT () { [ "$DEBUG" = "Y" ] && echo && echo "$DNSMASQ $DNSMASQ_OPTS" - $DNSMASQ $DNSMASQ_OPTS + "$DNSMASQ $DNSMASQ_OPTS" } # ###################################### From 8b6cf23c5214deabddd118bf590d658065dd41cc Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:20:44 +0200 Subject: [PATCH 22/28] Shellcheck --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 552aaf0..86d8636 100644 --- a/run/network.sh +++ b/run/network.sh @@ -51,7 +51,7 @@ configureDHCP() { TAP_PATH="/dev/tap$( Date: Fri, 21 Apr 2023 07:23:53 +0200 Subject: [PATCH 23/28] Update check.yml --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 40bfce0..e114479 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,4 +11,4 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: - SHELLCHECK_OPTS: -x -e SC2002 -e SC2223 -e SC2034 -e SC2064 + SHELLCHECK_OPTS: -x -e SC2002 -e SC2166 -e SC2223 -e SC2034 -e SC2064 From db2b44b9a2858a0e41aa1b36ff2151254064e7a9 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:27:43 +0200 Subject: [PATCH 24/28] Shellcheck --- run/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/run.sh b/run/run.sh index e9ace9c..9bfdbc8 100755 --- a/run/run.sh +++ b/run/run.sh @@ -44,7 +44,7 @@ fi KVM_OPTS="" if [ -e /dev/kvm ] && sh -c 'echo -n > /dev/kvm' &> /dev/null; then - if [[ $(grep -e vmx -e svm /proc/cpuinfo) ]]; then + if grep -q -e vmx -e svm /proc/cpuinfo; then KVM_OPTS=",accel=kvm -enable-kvm -cpu host" fi fi From 9ebec9318f8e02ed5698102e9f2fa449491f98e4 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:34:47 +0200 Subject: [PATCH 25/28] Shellcheck --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 86d8636..fb4c062 100644 --- a/run/network.sh +++ b/run/network.sh @@ -113,7 +113,7 @@ configureNAT () { NET_OPTS="-netdev tap,ifname=${VM_NET_TAP},script=no,downscript=no,id=hostnet0" # Build DNS options from container /etc/resolv.conf - nameservers=($(grep '^nameserver' /etc/resolv.conf | sed 's/nameserver //')) + mapfile -t nameservers < <(grep '^nameserver' /etc/resolv.conf | sed 's/nameserver //') searchdomains=$(grep '^search' /etc/resolv.conf | sed 's/search //' | sed 's/ /,/g') domainname=$(echo "$searchdomains" | awk -F"," '{print $1}') From af4600d93d5f64f0ca2d0b1b6a2191936ea0e214 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:37:54 +0200 Subject: [PATCH 26/28] Update check.yml --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index e114479..40bfce0 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -11,4 +11,4 @@ jobs: - name: Run ShellCheck uses: ludeeus/action-shellcheck@master env: - SHELLCHECK_OPTS: -x -e SC2002 -e SC2166 -e SC2223 -e SC2034 -e SC2064 + SHELLCHECK_OPTS: -x -e SC2002 -e SC2223 -e SC2034 -e SC2064 From ea4b976e0c594fd7c0cf78599233a9599e023af0 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:46:02 +0200 Subject: [PATCH 27/28] Comments --- run/run.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/run/run.sh b/run/run.sh index 9bfdbc8..9ec2047 100755 --- a/run/run.sh +++ b/run/run.sh @@ -6,9 +6,9 @@ set -eu : ${URL:=''}. # URL of PAT file : ${DEBUG:=''}. # Enable debug mode : ${ALLOCATE:='Y'} # Preallocate diskspace -: ${CPU_CORES:='1'} # vCPU count -: ${DISK_SIZE:='16G'} # Initial disk size -: ${RAM_SIZE:='512M'} # Amount of RAM +: ${CPU_CORES:='1'} # Amount of CPU cores +: ${DISK_SIZE:='16G'} # Initial data disk size +: ${RAM_SIZE:='512M'} # Maximum RAM amount echo "Starting Virtual DSM for Docker v${VERSION}..." From 731c126272cb693969b7e293e44edae272c169f1 Mon Sep 17 00:00:00 2001 From: Kroese Date: Fri, 21 Apr 2023 07:48:51 +0200 Subject: [PATCH 28/28] Shellcheck --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index fb4c062..988af56 100644 --- a/run/network.sh +++ b/run/network.sh @@ -127,7 +127,7 @@ configureNAT () { DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-option=option:dns-server,$DNS_SERVERS --dhcp-option=option:router,${VM_NET_IP%.*}.1" - if [ -n "$searchdomains" -a "$searchdomains" != "." ]; then + if [ -n "$searchdomains" ] && [ "$searchdomains" != "." ]; then DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-option=option:domain-search,$searchdomains --dhcp-option=option:domain-name,$domainname" else [[ -z $(hostname -d) ]] || DNSMASQ_OPTS="$DNSMASQ_OPTS --dhcp-option=option:domain-name,$(hostname -d)"