From 67da992326ce0953d0351c67873596ee4995e763 Mon Sep 17 00:00:00 2001
From: Your Name <j@842.be>
Date: Sat, 17 May 2025 12:00:13 +1200
Subject: [PATCH] Fixing allservicestatus

---
 source/agent/_allservicesstatus.sh |  36 ++++++----
 source/src/autogen/_agent.cpp      | 108 +++++++++++++++--------------
 2 files changed, 76 insertions(+), 68 deletions(-)

diff --git a/source/agent/_allservicesstatus.sh b/source/agent/_allservicesstatus.sh
index eeeb98b..4a2b694 100755
--- a/source/agent/_allservicesstatus.sh
+++ b/source/agent/_allservicesstatus.sh
@@ -9,19 +9,26 @@
 # Get all services on the server
 SCRIPT_DIR="$(dirname "$0")"
 
-# // DROPSHELL_DIR
-# //   |-- backups
-# //   |-- services
-# //       |-- service name
-# //           |-- config  <-- this is passed as argument to all scripts
-# //               |-- service.env
-# //           |-- template
-# //               |-- (script files)
-# //               |-- shared
-# //                   |-- _allservicesstatus.sh
-# //               |-- config
-# //                   |-- service.env
-# //                   |-- (other config files for specific server&service)
+    # // remote paths
+    # // DROPSHELL_DIR
+    # //   |-- backups
+    # //   |-- temp_files
+    # //   |-- agent
+    # //   |   |-- bb64
+    # //   |   |-- (other agent files, including _allservicesstatus.sh)
+    # //   |-- services
+    # //       |-- service name
+    # //           |-- config
+    # //               |-- service.env
+    # //           |-- template
+    # //               |-- (script files)
+    # //               |-- config
+    # //                   |-- service.env
+    # //                   |-- (other config files for specific server&service)
+
+# Get all services on the server
+SERVICES_PATH=$(realpath "${SCRIPT_DIR}/../services/")
+
 
 CURRENT_OUTPUT=""
 CURRENT_EXIT_CODE=0
@@ -75,8 +82,7 @@ function command_exists() {
     return 0
 }
 
-# Get all services on the server
-SERVICES_PATH=$(realpath "${SCRIPT_DIR}/../../../")
+
 
 # Get all service names
 SERVICE_NAMES=$(ls "${SERVICES_PATH}")
diff --git a/source/src/autogen/_agent.cpp b/source/src/autogen/_agent.cpp
index b04a4ce..2d02414 100644
--- a/source/src/autogen/_agent.cpp
+++ b/source/src/autogen/_agent.cpp
@@ -253,58 +253,60 @@ bool recreate_tree(std::string destination_folder) {
             "bXBsZSBFTlYgd2l0aCB0aGUgZm9sbG93aW5nIGZvcm1hdDoKIyBTRVJWSUNFX05BTUVfSEVBTFRI"\
             "PWhlYWx0aHl8dW5oZWFsdGh5fHVua25vd24KIyBTRVJWSUNFX05BTUVfUE9SVFM9cG9ydDEscG9y"\
             "dDIscG9ydDMKCiMgR2V0IGFsbCBzZXJ2aWNlcyBvbiB0aGUgc2VydmVyClNDUklQVF9ESVI9IiQo"\
-            "ZGlybmFtZSAiJDAiKSIKCiMgLy8gRFJPUFNIRUxMX0RJUgojIC8vICAgfC0tIGJhY2t1cHMKIyAv"\
-            "LyAgIHwtLSBzZXJ2aWNlcwojIC8vICAgICAgIHwtLSBzZXJ2aWNlIG5hbWUKIyAvLyAgICAgICAg"\
-            "ICAgfC0tIGNvbmZpZyAgPC0tIHRoaXMgaXMgcGFzc2VkIGFzIGFyZ3VtZW50IHRvIGFsbCBzY3Jp"\
-            "cHRzCiMgLy8gICAgICAgICAgICAgICB8LS0gc2VydmljZS5lbnYKIyAvLyAgICAgICAgICAgfC0t"\
-            "IHRlbXBsYXRlCiMgLy8gICAgICAgICAgICAgICB8LS0gKHNjcmlwdCBmaWxlcykKIyAvLyAgICAg"\
-            "ICAgICAgICAgIHwtLSBzaGFyZWQKIyAvLyAgICAgICAgICAgICAgICAgICB8LS0gX2FsbHNlcnZp"\
-            "Y2Vzc3RhdHVzLnNoCiMgLy8gICAgICAgICAgICAgICB8LS0gY29uZmlnCiMgLy8gICAgICAgICAg"\
-            "ICAgICAgICAgfC0tIHNlcnZpY2UuZW52CiMgLy8gICAgICAgICAgICAgICAgICAgfC0tIChvdGhl"\
-            "ciBjb25maWcgZmlsZXMgZm9yIHNwZWNpZmljIHNlcnZlciZzZXJ2aWNlKQoKQ1VSUkVOVF9PVVRQ"\
-            "VVQ9IiIKQ1VSUkVOVF9FWElUX0NPREU9MAoKbG9hZF9kb3RlbnYoKXsKICAgIGxvY2FsIGZpbGVf"\
-            "cGF0aD0kMQogICAgaWYgWyAtZiAiJHtmaWxlX3BhdGh9IiBdOyB0aGVuCiAgICAgICAgc291cmNl"\
-            "ICIke2ZpbGVfcGF0aH0iCiAgICBmaQp9CgpmdW5jdGlvbiBydW5fY29tbWFuZCgpIHsKICAgIGxv"\
-            "Y2FsIHNlcnZpY2VfcGF0aD0kMQogICAgbG9jYWwgY29tbWFuZD0kMgogICAgbG9jYWwgY2FwdHVy"\
-            "ZV9vdXRwdXQ9JHszOi1mYWxzZX0gICMgZGVmYXVsdCB0byBmYWxzZSBpZiBub3Qgc3BlY2lmaWVk"\
-            "CgogICAgIyBjaGVjayBpZiB0aGUgY29tbWFuZCBpcyBhIGZpbGUKICAgIGlmIFsgISAtZiAiJHtz"\
-            "ZXJ2aWNlX3BhdGh9L3RlbXBsYXRlLyR7Y29tbWFuZH0uc2giIF07IHRoZW4KICAgICAgICByZXR1"\
-            "cm47CiAgICBmaQoKICAgICMgcnVuIHRoZSBjb21tYW5kIGluIGEgc3Vic2hlbGwgdG8gcHJldmVu"\
-            "dCBlbnZpcm9ubWVudCBjaGFuZ2VzCiAgICBDVVJSRU5UX09VVFBVVD0kKAogICAgICAgIHNldCAt"\
-            "YQogICAgICAgIGxvYWRfZG90ZW52ICIke3NlcnZpY2VfcGF0aH0vdGVtcGxhdGUvX2RlZmF1bHQu"\
-            "ZW52IgogICAgICAgIGxvYWRfZG90ZW52ICIke3NlcnZpY2VfcGF0aH0vY29uZmlnL3NlcnZpY2Uu"\
-            "ZW52IgogICAgICAgIHNldCArYQoKICAgICAgICAjIHVwZGF0ZSB0aGUgbWFpbiB2YXJpYWJsZXMu"\
-            "CiAgICAgICAgZXhwb3J0IENPTkZJR19QQVRIPSIke3NlcnZpY2VfcGF0aH0vY29uZmlnIgogICAg"\
-            "ICAgICMgU0VSVkVSIGlzIGNvcnJlY3QKICAgICAgICBleHBvcnQgU0VSVklDRT0iJHtTRVJWSUNF"\
-            "X05BTUV9IgogICAgICAgIAogICAgICAgIGlmIFsgIiRjYXB0dXJlX291dHB1dCIgPSAidHJ1ZSIg"\
-            "XTsgdGhlbgogICAgICAgICAgICAjIENhcHR1cmUgYW5kIHJldHVybiBvdXRwdXQKICAgICAgICAg"\
-            "ICAgYmFzaCAiJHtzZXJ2aWNlX3BhdGh9L3RlbXBsYXRlLyR7Y29tbWFuZH0uc2giIDI+JjEKICAg"\
-            "ICAgICBlbHNlCiAgICAgICAgICAgICMgUnVuIHNpbGVudGx5IGFuZCByZXR1cm4gZXhpdCBjb2Rl"\
-            "CiAgICAgICAgICAgIGJhc2ggIiR7c2VydmljZV9wYXRofS90ZW1wbGF0ZS8ke2NvbW1hbmR9LnNo"\
-            "IiA+IC9kZXYvbnVsbCAyPiYxCiAgICAgICAgZmkKICAgICkKICAgIENVUlJFTlRfRVhJVF9DT0RF"\
-            "PSQ/Cn0KCmZ1bmN0aW9uIGNvbW1hbmRfZXhpc3RzKCkgewogICAgbG9jYWwgc2VydmljZV9wYXRo"\
-            "PSQxCiAgICBsb2NhbCBjb21tYW5kPSQyCiAgICBpZiBbICEgLWYgIiR7c2VydmljZV9wYXRofS90"\
-            "ZW1wbGF0ZS8ke2NvbW1hbmR9LnNoIiBdOyB0aGVuCiAgICAgICAgcmV0dXJuIDEKICAgIGZpCiAg"\
-            "ICByZXR1cm4gMAp9CgojIEdldCBhbGwgc2VydmljZXMgb24gdGhlIHNlcnZlcgpTRVJWSUNFU19Q"\
-            "QVRIPSQocmVhbHBhdGggIiR7U0NSSVBUX0RJUn0vLi4vLi4vLi4vIikKCiMgR2V0IGFsbCBzZXJ2"\
-            "aWNlIG5hbWVzClNFUlZJQ0VfTkFNRVM9JChscyAiJHtTRVJWSUNFU19QQVRIfSIpCgojIEl0ZXJh"\
-            "dGUgb3ZlciBhbGwgc2VydmljZSBuYW1lcwpmb3IgU0VSVklDRV9OQU1FIGluICR7U0VSVklDRV9O"\
-            "QU1FU307IGRvCgogICAgU0VSVklDRV9QQVRIPSQocmVhbHBhdGggIiR7U0VSVklDRVNfUEFUSH0v"\
-            "JHtTRVJWSUNFX05BTUV9IikKCiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K"\
-            "ICAgICMgR2V0IHRoZSBzZXJ2aWNlIGhlYWx0aAogICAgaWYgISBjb21tYW5kX2V4aXN0cyAiJHtT"\
-            "RVJWSUNFX1BBVEh9IiAic3RhdHVzIjsgdGhlbgogICAgICAgIFNFUlZJQ0VfSEVBTFRIPSJ1bmtu"\
-            "b3duIgogICAgZWxzZQogICAgICAgIHJ1bl9jb21tYW5kICIke1NFUlZJQ0VfUEFUSH0iICJzdGF0"\
-            "dXMiICJmYWxzZSIKICAgICAgICBpZiBbICIke0NVUlJFTlRfRVhJVF9DT0RFfSIgLWVxIDAgXTsg"\
-            "dGhlbgogICAgICAgICAgICBTRVJWSUNFX0hFQUxUSD0iaGVhbHRoeSIKICAgICAgICBlbHNlCiAg"\
-            "ICAgICAgICAgIFNFUlZJQ0VfSEVBTFRIPSJ1bmhlYWx0aHkiCiAgICAgICAgZmkKICAgIGZpCgog"\
-            "ICAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAjIEdldCB0aGUgc2Vydmlj"\
-            "ZSBwb3J0cwogICAgaWYgISBjb21tYW5kX2V4aXN0cyAiJHtTRVJWSUNFX1BBVEh9IiAicG9ydHMi"\
-            "OyB0aGVuCiAgICAgICAgU0VSVklDRV9QT1JUUz0iIgogICAgZWxzZQogICAgICAgIHJ1bl9jb21t"\
-            "YW5kICIke1NFUlZJQ0VfUEFUSH0iICJwb3J0cyIgInRydWUiCiAgICAgICAgU0VSVklDRV9QT1JU"\
-            "Uz0iJHtDVVJSRU5UX09VVFBVVH0iCiAgICBmaQoKICAgICMtLS0tLS0tLS0tLS0tLS0tLS0tLS0t"\
-            "LS0tLS0tLS0tLQogICAgIyByZXR1cm4gdGhlIGhlYWx0aCBhbmQgcG9ydHMKICAgIGVjaG8gIiR7"\
-            "U0VSVklDRV9OQU1FfV9IRUFMVEg9JHtTRVJWSUNFX0hFQUxUSH0iCiAgICBlY2hvICIke1NFUlZJ"\
-            "Q0VfTkFNRX1fUE9SVFM9JHtTRVJWSUNFX1BPUlRTfSIKZG9uZQo=";
+            "ZGlybmFtZSAiJDAiKSIKCiAgICAjIC8vIHJlbW90ZSBwYXRocwogICAgIyAvLyBEUk9QU0hFTExf"\
+            "RElSCiAgICAjIC8vICAgfC0tIGJhY2t1cHMKICAgICMgLy8gICB8LS0gdGVtcF9maWxlcwogICAg"\
+            "IyAvLyAgIHwtLSBhZ2VudAogICAgIyAvLyAgIHwgICB8LS0gYmI2NAogICAgIyAvLyAgIHwgICB8"\
+            "LS0gKG90aGVyIGFnZW50IGZpbGVzLCBpbmNsdWRpbmcgX2FsbHNlcnZpY2Vzc3RhdHVzLnNoKQog"\
+            "ICAgIyAvLyAgIHwtLSBzZXJ2aWNlcwogICAgIyAvLyAgICAgICB8LS0gc2VydmljZSBuYW1lCiAg"\
+            "ICAjIC8vICAgICAgICAgICB8LS0gY29uZmlnCiAgICAjIC8vICAgICAgICAgICAgICAgfC0tIHNl"\
+            "cnZpY2UuZW52CiAgICAjIC8vICAgICAgICAgICB8LS0gdGVtcGxhdGUKICAgICMgLy8gICAgICAg"\
+            "ICAgICAgICB8LS0gKHNjcmlwdCBmaWxlcykKICAgICMgLy8gICAgICAgICAgICAgICB8LS0gY29u"\
+            "ZmlnCiAgICAjIC8vICAgICAgICAgICAgICAgICAgIHwtLSBzZXJ2aWNlLmVudgogICAgIyAvLyAg"\
+            "ICAgICAgICAgICAgICAgICB8LS0gKG90aGVyIGNvbmZpZyBmaWxlcyBmb3Igc3BlY2lmaWMgc2Vy"\
+            "dmVyJnNlcnZpY2UpCgojIEdldCBhbGwgc2VydmljZXMgb24gdGhlIHNlcnZlcgpTRVJWSUNFU19Q"\
+            "QVRIPSQocmVhbHBhdGggIiR7U0NSSVBUX0RJUn0vLi4vc2VydmljZXMvIikKCgpDVVJSRU5UX09V"\
+            "VFBVVD0iIgpDVVJSRU5UX0VYSVRfQ09ERT0wCgpsb2FkX2RvdGVudigpewogICAgbG9jYWwgZmls"\
+            "ZV9wYXRoPSQxCiAgICBpZiBbIC1mICIke2ZpbGVfcGF0aH0iIF07IHRoZW4KICAgICAgICBzb3Vy"\
+            "Y2UgIiR7ZmlsZV9wYXRofSIKICAgIGZpCn0KCmZ1bmN0aW9uIHJ1bl9jb21tYW5kKCkgewogICAg"\
+            "bG9jYWwgc2VydmljZV9wYXRoPSQxCiAgICBsb2NhbCBjb21tYW5kPSQyCiAgICBsb2NhbCBjYXB0"\
+            "dXJlX291dHB1dD0kezM6LWZhbHNlfSAgIyBkZWZhdWx0IHRvIGZhbHNlIGlmIG5vdCBzcGVjaWZp"\
+            "ZWQKCiAgICAjIGNoZWNrIGlmIHRoZSBjb21tYW5kIGlzIGEgZmlsZQogICAgaWYgWyAhIC1mICIk"\
+            "e3NlcnZpY2VfcGF0aH0vdGVtcGxhdGUvJHtjb21tYW5kfS5zaCIgXTsgdGhlbgogICAgICAgIHJl"\
+            "dHVybjsKICAgIGZpCgogICAgIyBydW4gdGhlIGNvbW1hbmQgaW4gYSBzdWJzaGVsbCB0byBwcmV2"\
+            "ZW50IGVudmlyb25tZW50IGNoYW5nZXMKICAgIENVUlJFTlRfT1VUUFVUPSQoCiAgICAgICAgc2V0"\
+            "IC1hCiAgICAgICAgbG9hZF9kb3RlbnYgIiR7c2VydmljZV9wYXRofS90ZW1wbGF0ZS9fZGVmYXVs"\
+            "dC5lbnYiCiAgICAgICAgbG9hZF9kb3RlbnYgIiR7c2VydmljZV9wYXRofS9jb25maWcvc2Vydmlj"\
+            "ZS5lbnYiCiAgICAgICAgc2V0ICthCgogICAgICAgICMgdXBkYXRlIHRoZSBtYWluIHZhcmlhYmxl"\
+            "cy4KICAgICAgICBleHBvcnQgQ09ORklHX1BBVEg9IiR7c2VydmljZV9wYXRofS9jb25maWciCiAg"\
+            "ICAgICAgIyBTRVJWRVIgaXMgY29ycmVjdAogICAgICAgIGV4cG9ydCBTRVJWSUNFPSIke1NFUlZJ"\
+            "Q0VfTkFNRX0iCiAgICAgICAgCiAgICAgICAgaWYgWyAiJGNhcHR1cmVfb3V0cHV0IiA9ICJ0cnVl"\
+            "IiBdOyB0aGVuCiAgICAgICAgICAgICMgQ2FwdHVyZSBhbmQgcmV0dXJuIG91dHB1dAogICAgICAg"\
+            "ICAgICBiYXNoICIke3NlcnZpY2VfcGF0aH0vdGVtcGxhdGUvJHtjb21tYW5kfS5zaCIgMj4mMQog"\
+            "ICAgICAgIGVsc2UKICAgICAgICAgICAgIyBSdW4gc2lsZW50bHkgYW5kIHJldHVybiBleGl0IGNv"\
+            "ZGUKICAgICAgICAgICAgYmFzaCAiJHtzZXJ2aWNlX3BhdGh9L3RlbXBsYXRlLyR7Y29tbWFuZH0u"\
+            "c2giID4gL2Rldi9udWxsIDI+JjEKICAgICAgICBmaQogICAgKQogICAgQ1VSUkVOVF9FWElUX0NP"\
+            "REU9JD8KfQoKZnVuY3Rpb24gY29tbWFuZF9leGlzdHMoKSB7CiAgICBsb2NhbCBzZXJ2aWNlX3Bh"\
+            "dGg9JDEKICAgIGxvY2FsIGNvbW1hbmQ9JDIKICAgIGlmIFsgISAtZiAiJHtzZXJ2aWNlX3BhdGh9"\
+            "L3RlbXBsYXRlLyR7Y29tbWFuZH0uc2giIF07IHRoZW4KICAgICAgICByZXR1cm4gMQogICAgZmkK"\
+            "ICAgIHJldHVybiAwCn0KCgoKIyBHZXQgYWxsIHNlcnZpY2UgbmFtZXMKU0VSVklDRV9OQU1FUz0k"\
+            "KGxzICIke1NFUlZJQ0VTX1BBVEh9IikKCiMgSXRlcmF0ZSBvdmVyIGFsbCBzZXJ2aWNlIG5hbWVz"\
+            "CmZvciBTRVJWSUNFX05BTUUgaW4gJHtTRVJWSUNFX05BTUVTfTsgZG8KCiAgICBTRVJWSUNFX1BB"\
+            "VEg9JChyZWFscGF0aCAiJHtTRVJWSUNFU19QQVRIfS8ke1NFUlZJQ0VfTkFNRX0iKQoKICAgICMt"\
+            "LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIyBHZXQgdGhlIHNlcnZpY2UgaGVh"\
+            "bHRoCiAgICBpZiAhIGNvbW1hbmRfZXhpc3RzICIke1NFUlZJQ0VfUEFUSH0iICJzdGF0dXMiOyB0"\
+            "aGVuCiAgICAgICAgU0VSVklDRV9IRUFMVEg9InVua25vd24iCiAgICBlbHNlCiAgICAgICAgcnVu"\
+            "X2NvbW1hbmQgIiR7U0VSVklDRV9QQVRIfSIgInN0YXR1cyIgImZhbHNlIgogICAgICAgIGlmIFsg"\
+            "IiR7Q1VSUkVOVF9FWElUX0NPREV9IiAtZXEgMCBdOyB0aGVuCiAgICAgICAgICAgIFNFUlZJQ0Vf"\
+            "SEVBTFRIPSJoZWFsdGh5IgogICAgICAgIGVsc2UKICAgICAgICAgICAgU0VSVklDRV9IRUFMVEg9"\
+            "InVuaGVhbHRoeSIKICAgICAgICBmaQogICAgZmkKCiAgICAjLS0tLS0tLS0tLS0tLS0tLS0tLS0t"\
+            "LS0tLS0tLS0tLS0KICAgICMgR2V0IHRoZSBzZXJ2aWNlIHBvcnRzCiAgICBpZiAhIGNvbW1hbmRf"\
+            "ZXhpc3RzICIke1NFUlZJQ0VfUEFUSH0iICJwb3J0cyI7IHRoZW4KICAgICAgICBTRVJWSUNFX1BP"\
+            "UlRTPSIiCiAgICBlbHNlCiAgICAgICAgcnVuX2NvbW1hbmQgIiR7U0VSVklDRV9QQVRIfSIgInBv"\
+            "cnRzIiAidHJ1ZSIKICAgICAgICBTRVJWSUNFX1BPUlRTPSIke0NVUlJFTlRfT1VUUFVUfSIKICAg"\
+            "IGZpCgogICAgIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAjIHJldHVybiB0"\
+            "aGUgaGVhbHRoIGFuZCBwb3J0cwogICAgZWNobyAiJHtTRVJWSUNFX05BTUV9X0hFQUxUSD0ke1NF"\
+            "UlZJQ0VfSEVBTFRIfSIKICAgIGVjaG8gIiR7U0VSVklDRV9OQU1FfV9QT1JUUz0ke1NFUlZJQ0Vf"\
+            "UE9SVFN9Igpkb25lCg==";
 
         // Decode Base64 data
         size_t decoded_size = (strlen(filedata_base64) * 3) / 4;
@@ -312,7 +314,7 @@ bool recreate_tree(std::string destination_folder) {
         size_t actual_size;
         base64_decode(filedata_base64, strlen(filedata_base64), decoded_data, &actual_size);
 
-        bool file_written = _recreate_file_(outpath, 1995642360604494489ULL, std::filesystem::perms(493), decoded_data, actual_size);
+        bool file_written = _recreate_file_(outpath, 6026183735720890766ULL, std::filesystem::perms(493), decoded_data, actual_size);
         delete[] decoded_data;
         any_written = any_written || file_written;
     }