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; }