diff --git a/Assemblies/Ansible_Playbooks/Examples/Query_OS_String.json b/Assemblies/Ansible_Playbooks/Examples/Query_OS_String.json deleted file mode 100644 index 28be17d4..00000000 --- a/Assemblies/Ansible_Playbooks/Examples/Query_OS_String.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "Query OS String [LINUX]", - "description": "Simply returns the operating system in the output.", - "category": "application", - "type": "ansible", - "script": "LS0tCi0gbmFtZTogR2V0IG9wZXJhdGluZyBzeXN0ZW0gaW5mb3JtYXRpb24KICBob3N0czogYWxsCiAgZ2F0aGVyX2ZhY3RzOiB5ZXMKCiAgdGFza3M6CiAgICAtIG5hbWU6IFByaW50IE9TIHN0cmluZwogICAgICBkZWJ1ZzoKICAgICAgICBtc2c6ICJ7eyBhbnNpYmxlX2Rpc3RyaWJ1dGlvbiB9fSB7eyBhbnNpYmxlX2Rpc3RyaWJ1dGlvbl92ZXJzaW9uIH19IHt7IGFuc2libGVfZGlzdHJpYnV0aW9uX3JlbGVhc2UgfCBkZWZhdWx0KCcnKSB9fSIK", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Ansible_Playbooks/Examples/Write Canary to C Drive Root.json b/Assemblies/Ansible_Playbooks/Examples/Write Canary to C Drive Root.json deleted file mode 100644 index 3366ffd0..00000000 --- a/Assemblies/Ansible_Playbooks/Examples/Write Canary to C Drive Root.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "version": 1, - "name": "Write Canary to C Drive Root", - "description": "Write a basic canary file to the C:\\ drive to determine if SYSTEM-level access is functional within the script engine.", - "category": "script", - "type": "ansible", - "script": "---\n- name: Create Canary.txt on local Windows machine\n hosts: localhost\n connection: local\n gather_facts: no\n\n tasks:\n - name: Write Canary.txt to C:\\\n ansible.windows.win_copy:\n content: \"This is a canary file created by Ansible.\"\n dest: C:\\Canary.txt\n", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [] -} \ No newline at end of file diff --git a/Assemblies/Scripts/Borealis/Migrate_Agent_to_Different_Borealis_Server.json b/Assemblies/Scripts/Borealis/Migrate_Agent_to_Different_Borealis_Server.json deleted file mode 100644 index 97dd2752..00000000 --- a/Assemblies/Scripts/Borealis/Migrate_Agent_to_Different_Borealis_Server.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "name": "Migrate Agent to Different Borealis Server [WIN]", - "description": "Rewrites the Borealis agent's server_url.txt with a different URL and restarts the Borealis Scheduled Tasks.", - "category": "script", - "type": "powershell", - "script": "PCMKLlNZTk9QU0lTCiAgV3JpdGVzIEFnZW50XEJvcmVhbGlzXFNldHRpbmdzXHNlcnZlcl91cmwudHh0IHVzaW5nIGFuIGlubGluZS1yZXBsYWNlZCBVUkwgYW5kIHJlc3RhcnRzIEJvcmVhbGlzIHRhc2tzLgoKLkRFU0NSSVBUSU9OCiAgTWlycm9ycyB0aGUgcGF0aCBkZXJpdmF0aW9uIHVzZWQgYnkgVXBkYXRlLnBzMToKICAgIDEpIERpc2NvdmVyIHRoZSBBZ2VudCByb290IGZyb20gdGhlICJCb3JlYWxpcyBBZ2VudCIgc2NoZWR1bGVkIHRhc2sncyBFeGVjQWN0aW9uLgogICAgMikgR28gdHdvIGRpcmVjdG9yaWVzIHVwIHRvIHJlcG9Sb290ICh3aGVyZSBCb3JlYWxpcy5wczEvVXBkYXRlLnBzMSBsaXZlKS4KICAgIDMpIFdyaXRlIEFnZW50XEJvcmVhbGlzXFNldHRpbmdzXHNlcnZlcl91cmwudHh0IHRvIGNvbnRhaW4gdGhlIGlubGluZS1yZXBsYWNlZCBVUkwuCiAgICA0KSBSZXN0YXJ0IEJvcmVhbGlzIHNjaGVkdWxlZCB0YXNrcy4KCi5OT1RFUwogIFlvdXIgYXV0b21hdGlvbiBzeXN0ZW0gcmVwbGFjZXMgIiRlbnY6c2VydmVyX3VybCIgZGlyZWN0bHkgd2l0aCB0aGUgcmVhbCBVUkwgYmVmb3JlIGV4ZWN1dGlvbi4KICBFeGFtcGxlIHRyYW5zZm9ybWF0aW9uOgogICAgICBbc3RyaW5nXSRTZXJ2ZXJVcmwgPSAkZW52OnNlcnZlcl91cmwKICBiZWNvbWVzCiAgICAgIFtzdHJpbmddJFNlcnZlclVybCA9IGh0dHA6Ly9sb2NhbGhvc3Q6NTAwMAojPgoKW0NtZGxldEJpbmRpbmcoKV0KcGFyYW0oCiAgICBbUGFyYW1ldGVyKCldCiAgICBbc3RyaW5nXSRUYXNrTmFtZSA9ICJCb3JlYWxpcyBBZ2VudCIsCgogICAgW1BhcmFtZXRlcigpXQogICAgW3N0cmluZ10kVGFza1BhdGgKKQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIElubGluZS1yZXBsYWNlZCB2YWx1ZSAodW5xdW90ZWQgcGxhY2Vob2xkZXIpCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KW3N0cmluZ10kU2VydmVyVXJsID0gJGVudjpzZXJ2ZXJfdXJsCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBIZWxwZXJzOiB0YXNrIGNvbnRyb2wKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmZ1bmN0aW9uIFN0b3AtQWdlbnRTY2hlZHVsZWRUYXNrcyB7CiAgICBwYXJhbSgKICAgICAgICBbc3RyaW5nW11dJFRhc2tOYW1lcywKICAgICAgICBbc3RyaW5nXSRUYXNrUGF0aAogICAgKQogICAgJHN0b3BwZWQgPSBAKCkKICAgIGZvcmVhY2ggKCRuYW1lIGluICRUYXNrTmFtZXMpIHsKICAgICAgICAkZnVsbE5hbWUgPSBpZiAoJFRhc2tQYXRoKSB7ICIkVGFza1BhdGhcJG5hbWUiIH0gZWxzZSB7ICRuYW1lIH0KICAgICAgICAkZXhpc3RzID0gJGZhbHNlCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKCRUYXNrUGF0aCkgewogICAgICAgICAgICAgICAgJG51bGwgPSBHZXQtU2NoZWR1bGVkVGFzayAtVGFza05hbWUgJG5hbWUgLVRhc2tQYXRoICRUYXNrUGF0aCAtRXJyb3JBY3Rpb24gU3RvcAogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJG51bGwgPSBHZXQtU2NoZWR1bGVkVGFzayAtVGFza05hbWUgJG5hbWUgLUVycm9yQWN0aW9uIFN0b3AKICAgICAgICAgICAgfQogICAgICAgICAgICAkZXhpc3RzID0gJHRydWUKICAgICAgICB9IGNhdGNoIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIHNjaHRhc2tzLmV4ZSAvUXVlcnkgL1ROICIkZnVsbE5hbWUiIDI+JG51bGwgfCBPdXQtTnVsbAogICAgICAgICAgICAgICAgaWYgKCRMQVNURVhJVENPREUgLWVxIDApIHsgJGV4aXN0cyA9ICR0cnVlIH0KICAgICAgICAgICAgfSBjYXRjaCB7fQogICAgICAgIH0KICAgICAgICBpZiAoLW5vdCAkZXhpc3RzKSB7IGNvbnRpbnVlIH0KCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKCRUYXNrUGF0aCkgewogICAgICAgICAgICAgICAgU3RvcC1TY2hlZHVsZWRUYXNrIC1UYXNrTmFtZSAkbmFtZSAtVGFza1BhdGggJFRhc2tQYXRoIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBTdG9wLVNjaGVkdWxlZFRhc2sgLVRhc2tOYW1lICRuYW1lIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlCiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIHt9CgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRpbmZvID0gaWYgKCRUYXNrUGF0aCkgewogICAgICAgICAgICAgICAgR2V0LVNjaGVkdWxlZFRhc2tJbmZvIC1UYXNrTmFtZSAkbmFtZSAtVGFza1BhdGggJFRhc2tQYXRoIC1FcnJvckFjdGlvbiBTdG9wCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBHZXQtU2NoZWR1bGVkVGFza0luZm8gLVRhc2tOYW1lICRuYW1lIC1FcnJvckFjdGlvbiBTdG9wCiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKCRpbmZvLlN0YXRlcyAtZXEgJ1J1bm5pbmcnKSB7IFN0YXJ0LVNsZWVwIC1TZWNvbmRzIDEgfQogICAgICAgIH0gY2F0Y2gge30KCiAgICAgICAgJHN0b3BwZWQgKz0gJG5hbWUKICAgIH0KICAgIHJldHVybiAsJHN0b3BwZWQKfQoKZnVuY3Rpb24gU3RhcnQtQWdlbnRTY2hlZHVsZWRUYXNrcyB7CiAgICBwYXJhbSgKICAgICAgICBbc3RyaW5nW11dJFRhc2tOYW1lcywKICAgICAgICBbc3RyaW5nXSRUYXNrUGF0aAogICAgKQogICAgZm9yZWFjaCAoJG5hbWUgaW4gJFRhc2tOYW1lcykgewogICAgICAgIFdyaXRlLUhvc3QgIlJlc3RhcnRpbmcgc2NoZWR1bGVkIHRhc2s6ICRuYW1lIiAtRm9yZWdyb3VuZENvbG9yIEdyZWVuCiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKCRUYXNrUGF0aCkgewogICAgICAgICAgICAgICAgU3RhcnQtU2NoZWR1bGVkVGFzayAtVGFza05hbWUgJG5hbWUgLVRhc2tQYXRoICRUYXNrUGF0aCAtRXJyb3JBY3Rpb24gU3RvcCB8IE91dC1OdWxsCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBTdGFydC1TY2hlZHVsZWRUYXNrIC1UYXNrTmFtZSAkbmFtZSAtRXJyb3JBY3Rpb24gU3RvcCB8IE91dC1OdWxsCiAgICAgICAgICAgIH0KICAgICAgICB9IGNhdGNoIHsKICAgICAgICAgICAgV3JpdGUtV2FybmluZyAiRmFpbGVkIHRvIHN0YXJ0IHRhc2sgJyRuYW1lJzogJCgkXy5FeGNlcHRpb24uTWVzc2FnZSkiCiAgICAgICAgfQogICAgfQp9CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRGVyaXZlIEJvcmVhbGlzIFJvb3QgRm9sZGVyIExvY2F0aW9uCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJHRhc2tQYXJhbXMgPSBAeyBUYXNrTmFtZSA9ICRUYXNrTmFtZTsgRXJyb3JBY3Rpb24gPSAnU3RvcCcgfQppZiAoJFRhc2tQYXRoKSB7ICR0YXNrUGFyYW1zLlRhc2tQYXRoID0gJFRhc2tQYXRoIH0KCnRyeSB7CiAgICAkdGFzayA9IEdldC1TY2hlZHVsZWRUYXNrIEB0YXNrUGFyYW1zCn0gY2F0Y2ggewogICAgdGhyb3cgIlNjaGVkdWxlZCB0YXNrICckVGFza05hbWUnIHdhcyBub3QgZm91bmQuIgp9CgokZXhlY0FjdGlvbiA9ICR0YXNrLkFjdGlvbnMgfCBXaGVyZS1PYmplY3QgeyAkXy5DaW1DbGFzcy5DaW1DbGFzc05hbWUgLWVxICdNU0ZUX1Rhc2tFeGVjQWN0aW9uJyB9IHwgU2VsZWN0LU9iamVjdCAtRmlyc3QgMQppZiAoLW5vdCAkZXhlY0FjdGlvbikgeyB0aHJvdyAiU2NoZWR1bGVkIHRhc2sgJyRUYXNrTmFtZScgZG9lcyBub3QgY29udGFpbiBhbiBleGVjdXRhYmxlIGFjdGlvbi4iIH0KCiR3b3JraW5nRGlyZWN0b3J5ID0gJGV4ZWNBY3Rpb24uV29ya2luZ0RpcmVjdG9yeQppZiAoW3N0cmluZ106OklzTnVsbE9yV2hpdGVTcGFjZSgkd29ya2luZ0RpcmVjdG9yeSkpIHsKICAgICRjYW5kaWRhdGUgPSBTcGxpdC1QYXRoIC1QYXRoICRleGVjQWN0aW9uLkV4ZWN1dGUgLVBhcmVudAogICAgaWYgKFtzdHJpbmddOjpJc051bGxPcldoaXRlU3BhY2UoJGNhbmRpZGF0ZSkpIHsKICAgICAgICB0aHJvdyAiVW5hYmxlIHRvIGRldGVybWluZSB3b3JraW5nIGRpcmVjdG9yeSBmb3IgJyRUYXNrTmFtZScuIgogICAgfQogICAgJHdvcmtpbmdEaXJlY3RvcnkgPSAkY2FuZGlkYXRlCn0KCnRyeSB7CiAgICAkYWdlbnRSb290ID0gUmVzb2x2ZS1QYXRoIC1QYXRoICR3b3JraW5nRGlyZWN0b3J5IC1FcnJvckFjdGlvbiBTdG9wCn0gY2F0Y2ggewogICAgdGhyb3cgIlRoZSB3b3JraW5nIGRpcmVjdG9yeSAnJHdvcmtpbmdEaXJlY3RvcnknIGRvZXMgbm90IGV4aXN0LiIKfQoKdHJ5IHsKICAgICRyZXBvUm9vdCA9IFJlc29sdmUtUGF0aCAtUGF0aCAoSm9pbi1QYXRoICRhZ2VudFJvb3QgJy4uXC4uJykgLUVycm9yQWN0aW9uIFN0b3AKfSBjYXRjaCB7CiAgICB0aHJvdyAiVW5hYmxlIHRvIHJlc29sdmUgQm9yZWFsaXMgcmVwb3NpdG9yeSByb290IGZyb20gJyRhZ2VudFJvb3QnLiIKfQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFdyaXRlIHNlcnZlcl91cmwudHh0IChvdmVyd3JpdGUgd2l0aCAkU2VydmVyVXJsKQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiRzZXJ2ZXJVcmxGaWxlID0gSm9pbi1QYXRoICRyZXBvUm9vdCAnQWdlbnRcQm9yZWFsaXNcU2V0dGluZ3Ncc2VydmVyX3VybC50eHQnCiRzZXJ2ZXJVcmxEaXIgID0gU3BsaXQtUGF0aCAtUGF0aCAkc2VydmVyVXJsRmlsZSAtUGFyZW50CgppZiAoLW5vdCAoVGVzdC1QYXRoICRzZXJ2ZXJVcmxEaXIgLVBhdGhUeXBlIENvbnRhaW5lcikpIHsKICAgIE5ldy1JdGVtIC1QYXRoICRzZXJ2ZXJVcmxEaXIgLUl0ZW1UeXBlIERpcmVjdG9yeSAtRm9yY2UgfCBPdXQtTnVsbAp9CgpXcml0ZS1Ib3N0ICJXcml0aW5nIHNlcnZlciBVUkwgdG86ICRzZXJ2ZXJVcmxGaWxlIiAtRm9yZWdyb3VuZENvbG9yIEN5YW4KU2V0LUNvbnRlbnQgLVBhdGggJHNlcnZlclVybEZpbGUgLVZhbHVlICRTZXJ2ZXJVcmwgLUVuY29kaW5nIHV0ZjgKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBSZXN0YXJ0IEJvcmVhbGlzIHNjaGVkdWxlZCB0YXNrcwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiR0YXNrTGlzdCA9IEAoJ0JvcmVhbGlzIEFnZW50JywnQm9yZWFsaXMgQWdlbnQgKFVzZXJIZWxwZXIpJykKJHN0b3BwZWQgPSBTdG9wLUFnZW50U2NoZWR1bGVkVGFza3MgLVRhc2tOYW1lcyAkdGFza0xpc3QgLVRhc2tQYXRoICRUYXNrUGF0aAppZiAoJHN0b3BwZWQuQ291bnQgLWd0IDApIHsKICAgIFN0YXJ0LUFnZW50U2NoZWR1bGVkVGFza3MgLVRhc2tOYW1lcyAkc3RvcHBlZCAtVGFza1BhdGggJFRhc2tQYXRoCn0gZWxzZSB7CiAgICBXcml0ZS1Ib3N0ICJObyBCb3JlYWxpcyB0YXNrcyBmb3VuZCB0byByZXN0YXJ0LiIgLUZvcmVncm91bmRDb2xvciBZZWxsb3cKfQoKV3JpdGUtSG9zdCAiU2VydmVyIFVSTCB1cGRhdGVkIGFuZCB0YXNrcyByZXN0YXJ0ZWQuIiAtRm9yZWdyb3VuZENvbG9yIEdyZWVuCg==", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "server_url", - "label": "Borealis Server URL", - "type": "string", - "default": "http://localhost:5000", - "required": true, - "description": "URL of where the agent is going to reach-out to moving forward." - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Borealis/Remote_Agent_Update_WIN.json b/Assemblies/Scripts/Borealis/Remote_Agent_Update_WIN.json deleted file mode 100644 index 519fbafa..00000000 --- a/Assemblies/Scripts/Borealis/Remote_Agent_Update_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "Remote Agent Update [WIN]", - "description": "Reaches out to the remote Borealis agent and triggers an automatic unattended update from the Github repository.", - "category": "script", - "type": "powershell", - "script": "W0NtZGxldEJpbmRpbmcoKV0KcGFyYW0oCiAgICBbUGFyYW1ldGVyKCldCiAgICBbc3RyaW5nXSRUYXNrTmFtZSA9ICJCb3JlYWxpcyBBZ2VudCIsCgogICAgW1BhcmFtZXRlcigpXQogICAgW3N0cmluZ10kVGFza1BhdGgKKQoKJHRhc2tQYXJhbXMgPSBAeyBUYXNrTmFtZSA9ICRUYXNrTmFtZTsgRXJyb3JBY3Rpb24gPSAnU3RvcCcgfQppZiAoJFRhc2tQYXRoKSB7ICR0YXNrUGFyYW1zLlRhc2tQYXRoID0gJFRhc2tQYXRoIH0KCnRyeSB7CiAgICAkdGFzayA9IEdldC1TY2hlZHVsZWRUYXNrIEB0YXNrUGFyYW1zCn0gY2F0Y2ggewogICAgdGhyb3cgIlNjaGVkdWxlZCB0YXNrICckVGFza05hbWUnIHdhcyBub3QgZm91bmQuIgp9CgokZXhlY0FjdGlvbiA9ICR0YXNrLkFjdGlvbnMgfCBXaGVyZS1PYmplY3QgeyAkXy5DaW1DbGFzcy5DaW1DbGFzc05hbWUgLWVxICdNU0ZUX1Rhc2tFeGVjQWN0aW9uJyB9IHwgU2VsZWN0LU9iamVjdCAtRmlyc3QgMQppZiAoLW5vdCAkZXhlY0FjdGlvbikgeyB0aHJvdyAiU2NoZWR1bGVkIHRhc2sgJyRUYXNrTmFtZScgZG9lcyBub3QgY29udGFpbiBhbiBleGVjdXRhYmxlIGFjdGlvbi4iIH0KCiR3b3JraW5nRGlyZWN0b3J5ID0gJGV4ZWNBY3Rpb24uV29ya2luZ0RpcmVjdG9yeQppZiAoW3N0cmluZ106OklzTnVsbE9yV2hpdGVTcGFjZSgkd29ya2luZ0RpcmVjdG9yeSkpIHsKICAgICRjYW5kaWRhdGUgPSBTcGxpdC1QYXRoIC1QYXRoICRleGVjQWN0aW9uLkV4ZWN1dGUgLVBhcmVudAogICAgaWYgKFtzdHJpbmddOjpJc051bGxPcldoaXRlU3BhY2UoJGNhbmRpZGF0ZSkpIHsKICAgICAgICB0aHJvdyAiVW5hYmxlIHRvIGRldGVybWluZSB3b3JraW5nIGRpcmVjdG9yeSBmb3IgJyRUYXNrTmFtZScuIgogICAgfQogICAgJHdvcmtpbmdEaXJlY3RvcnkgPSAkY2FuZGlkYXRlCn0KCnRyeSB7CiAgICAkYWdlbnRSb290ID0gUmVzb2x2ZS1QYXRoIC1QYXRoICR3b3JraW5nRGlyZWN0b3J5IC1FcnJvckFjdGlvbiBTdG9wCn0gY2F0Y2ggewogICAgdGhyb3cgIlRoZSB3b3JraW5nIGRpcmVjdG9yeSAnJHdvcmtpbmdEaXJlY3RvcnknIGRvZXMgbm90IGV4aXN0LiIKfQoKdHJ5IHsKICAgICRyZXBvUm9vdCA9IFJlc29sdmUtUGF0aCAtUGF0aCAoSm9pbi1QYXRoICRhZ2VudFJvb3QgJy4uXC4uJykgLUVycm9yQWN0aW9uIFN0b3AKfSBjYXRjaCB7CiAgICB0aHJvdyAiVW5hYmxlIHRvIHJlc29sdmUgQm9yZWFsaXMgcmVwb3NpdG9yeSByb290IGZyb20gJyRhZ2VudFJvb3QnLiIKfQoKJHVwZGF0ZVNjcmlwdCA9IEpvaW4tUGF0aCAkcmVwb1Jvb3QgJ1VwZGF0ZS5wczEnCmlmICgtbm90IChUZXN0LVBhdGggJHVwZGF0ZVNjcmlwdCAtUGF0aFR5cGUgTGVhZikpIHsKICAgIHRocm93ICJVcGRhdGUucHMxIG5vdCBmb3VuZCBhdCAnJHVwZGF0ZVNjcmlwdCcuIgp9CgpXcml0ZS1WZXJib3NlICJBZ2VudCBSb290OiAkYWdlbnRSb290IgpXcml0ZS1WZXJib3NlICJSZXBvIFJvb3Q6ICRyZXBvUm9vdCIKV3JpdGUtVmVyYm9zZSAiSW52b2tpbmcgVXBkYXRlLnBzMS4uLiIKClB1c2gtTG9jYXRpb24gJHJlcG9Sb290CiR1cGRhdGVTdWNjZWVkZWQgPSAkZmFsc2UKdHJ5IHsKICAgICYgJHVwZGF0ZVNjcmlwdAogICAgJHVwZGF0ZVN1Y2NlZWRlZCA9ICQ/Cn0gZmluYWxseSB7CiAgICBQb3AtTG9jYXRpb24KfQoKaWYgKC1ub3QgJHVwZGF0ZVN1Y2NlZWRlZCkgewogICAgdGhyb3cgJ1VwZGF0ZS5wczEgVXBkYXRlIEZhaWxlZC4nCn0=", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Examples/Write Canary to C Drive.json b/Assemblies/Scripts/Examples/Write Canary to C Drive.json deleted file mode 100644 index 3bebd27f..00000000 --- a/Assemblies/Scripts/Examples/Write Canary to C Drive.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "name": "Write Canary File to C Drive", - "description": "Writes a simple text file to the C:\\ drive of the computer. Requires SYSTEM level execution context to work.", - "category": "script", - "type": "powershell", - "script": "IyBEZWZpbmUgdGhlIGZpbGUgcGF0aAokZmlsZVBhdGggPSAiQzpcQ2FuYXJ5LnR4dCIKCiMgV3JpdGUgc29tZSBjb250ZW50IGludG8gdGhlIGZpbGUKJGVudjpjYW5hcnlNZXNzYWdlIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRmaWxlUGF0aCAtRW5jb2RpbmcgVVRGOAo=", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "canaryMessage", - "label": "Canary Message", - "type": "string", - "default": "Hello world!", - "required": true, - "description": "This is the text that will be written into the canary file." - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Examples/Write_Canary_File_to_a_Specific_Folder.json b/Assemblies/Scripts/Examples/Write_Canary_File_to_a_Specific_Folder.json deleted file mode 100644 index 53dc31cc..00000000 --- a/Assemblies/Scripts/Examples/Write_Canary_File_to_a_Specific_Folder.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "version": 1, - "name": "Write Canary File to a Specific Folder", - "description": "Writes a basic canary file to a specific folder with specific input.", - "category": "script", - "type": "powershell", - "script": "JGVudjpjYW5hcnlNZXNzYWdlIHwgT3V0LUZpbGUgLUZpbGVQYXRoICRlbnY6Y2FuYXJ5TG9jYXRpb24gLUVuY29kaW5nIFVURjgK", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "canaryLocation", - "label": "Folder Location", - "type": "string", - "default": "C:\\Users\\example\\Desktop\\Canary.txt", - "required": true, - "description": "Location of Canary File" - }, - { - "name": "canaryMessage", - "label": "Message", - "type": "string", - "default": "Hello World!", - "required": false, - "description": "Message to be written into the canary file." - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/General Purpose/Ad_Hoc_Powershell_WIN.json b/Assemblies/Scripts/General Purpose/Ad_Hoc_Powershell_WIN.json deleted file mode 100644 index 9be293c4..00000000 --- a/Assemblies/Scripts/General Purpose/Ad_Hoc_Powershell_WIN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "name": "Ad-Hoc Powershell Command [WIN]", - "description": "Run an arbitrary powershell command (or series of commands) ad-hoc. Useful for a variety of tasks.", - "category": "script", - "type": "powershell", - "script": "IyBNb3ZlIGludG8gdGhlIGZvbGRlciBvZiB3aGVyZSB0aGlzIHNjcmlwdCBpcyBydW5uaW5nClNldC1Mb2NhdGlvbiAtUGF0aCAoU3BsaXQtUGF0aCAtUGFyZW50ICRQU0NvbW1hbmRQYXRoKQoKIyBSZXBvcnQgdGhlIGNvbW1hbmQgaXNzdWVkIHRvIHRoZSBTdGRPdXQKV3JpdGUtSG9zdCAiQ29tbWFuZCBFeGVjdXRlZDogJGVudjpjb21tYW5kIgoKIyBSdW4gdGhlIENvbW1hbmQKSW52b2tlLUV4cHJlc3Npb24gJGVudjpjb21tYW5kCg==", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "command", - "label": "Powershell Command", - "type": "string", - "default": "", - "required": true, - "description": "Command to invoke in Powershell" - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/General Purpose/Shutdown_Device_WIN.json b/Assemblies/Scripts/General Purpose/Shutdown_Device_WIN.json deleted file mode 100644 index 8e0c225f..00000000 --- a/Assemblies/Scripts/General Purpose/Shutdown_Device_WIN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "name": "Shutdown Device [WIN]", - "description": "Shutdown the device with a configurable countdown.", - "category": "script", - "type": "powershell", - "script": "c2h1dGRvd24uZXhlIC9zIC9mIC90ICRlbnY6dGltZW91dA==", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "timeout", - "label": "Shutdown Countdown", - "type": "number", - "default": "30", - "required": true, - "description": "Amount of time to wait before shutdown occurs." - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Networking/ipconfig_release-renew_WIN.json b/Assemblies/Scripts/Networking/ipconfig_release-renew_WIN.json deleted file mode 100644 index a5b5d6ff..00000000 --- a/Assemblies/Scripts/Networking/ipconfig_release-renew_WIN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "name": "ipconfig Release & Renew", - "description": "Releases the current IP address, waits n seconds, then renews the IP asking for a new one.", - "category": "script", - "type": "powershell", - "script": "aXBjb25maWcgL3JlbGVhc2UgClN0YXJ0LVNsZWVwIC1TZWNvbmRzICRlbnY6c2xlZXBUaW1lCmlwY29uZmlnIC9yZW5ldw==", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "sleepTime", - "label": "Seconds Until Renew", - "type": "string", - "default": "5", - "required": true, - "description": "Number of seconds between releasing the IP and asking for a new one." - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/7-Zip_WIN.json b/Assemblies/Scripts/Software Installers/7-Zip_WIN.json deleted file mode 100644 index e6ef6423..00000000 --- a/Assemblies/Scripts/Software Installers/7-Zip_WIN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "name": "7-Zip [WIN]", - "description": "Installs/Updates 7-Zip.", - "category": "application", - "type": "powershell", - "script": "PCMKICAgIDctWmlwIHF1aWNrIGluc3RhbGxlciAoeDY0IEVYRSkgKyBhbHdheXMgc2V0IGZpbGUgYXNzb2NpYXRpb25zCiAgICAtIFNpbXBsaWZpZWQ6IHg2NCBFWEUgb25seSwgbm8gQVJNL01TSS9zaWduYXR1cmUgY2hlY2tzCiAgICAtIEFsd2F5cyBzZXRzIHBlci11c2VyIGFzc29jaWF0aW9ucyAoLjd6LCAuemlwLCAucmFyLCAuY3B0KQogICAgLSBUYXJnZXRzIGFsbCBBQ1RJVkUgdXNlciBzZXNzaW9ucyAoY29uc29sZS9SRFMpIGlmIHByZXNlbnQKIz4KCltDbWRsZXRCaW5kaW5nKCldCnBhcmFtKAogICAgW3N0cmluZ10kVmVyc2lvbiA9ICcyNTAxJwopCgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyAwKSBHdWFyZHJhaWxzOiB4NjQgb25seSArIFRMUwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KaWYgKFtJbnRQdHJdOjpTaXplIC1uZSA4KSB7CiAgICBXcml0ZS1FcnJvciAiVGhpcyBpbnN0YWxsZXIgdGFyZ2V0cyA2NC1iaXQgV2luZG93cyBvbmx5LiIKICAgIGV4aXQgMQp9Cgp0cnkgewogICAgW05ldC5TZXJ2aWNlUG9pbnRNYW5hZ2VyXTo6U2VjdXJpdHlQcm90b2NvbCA9IFtFbnVtXTo6VG9PYmplY3QoW05ldC5TZWN1cml0eVByb3RvY29sVHlwZV0sIDMwNzIpCn0gY2F0Y2ggeyB9CgojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgMSkgRG93bmxvYWQgNy1aaXAgRVhFICh4NjQpCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KJGV4ZU5hbWUgID0gIjd6JFZlcnNpb24teDY0LmV4ZSIKJGRvd25sb2FkID0gImh0dHBzOi8vd3d3LjctemlwLm9yZy9hLyRleGVOYW1lIgokdGVtcFBhdGggPSBKb2luLVBhdGggJGVudjpURU1QICRleGVOYW1lCgpXcml0ZS1Ib3N0ICJEb3dubG9hZGluZyAkZXhlTmFtZSAuLi4iCnRyeSB7CiAgICBpZiAoR2V0LUNvbW1hbmQgU3RhcnQtQml0c1RyYW5zZmVyIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlKSB7CiAgICAgICAgU3RhcnQtQml0c1RyYW5zZmVyIC1Tb3VyY2UgJGRvd25sb2FkIC1EZXN0aW5hdGlvbiAkdGVtcFBhdGggLUVycm9yQWN0aW9uIFN0b3AKICAgIH0gZWxzZSB7CiAgICAgICAgSW52b2tlLVdlYlJlcXVlc3QgLVVyaSAkZG93bmxvYWQgLU91dEZpbGUgJHRlbXBQYXRoIC1Vc2VCYXNpY1BhcnNpbmcgLUVycm9yQWN0aW9uIFN0b3AKICAgIH0KfSBjYXRjaCB7CiAgICBXcml0ZS1FcnJvciAiRG93bmxvYWQgZmFpbGVkOiAkKCRfLkV4Y2VwdGlvbi5NZXNzYWdlKSIKICAgIGV4aXQgMQp9CmlmICghKFRlc3QtUGF0aCAkdGVtcFBhdGgpKSB7IFdyaXRlLUVycm9yICJEb3dubG9hZGVkIGZpbGUgbm90IGZvdW5kOiAkdGVtcFBhdGgiOyBleGl0IDEgfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgMikgU2lsZW50IGluc3RhbGwgLyB1cGRhdGUKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCldyaXRlLUhvc3QgIkluc3RhbGxpbmcgNy1aaXAgc2lsZW50bHkuLi4iCiRwcm9jID0gU3RhcnQtUHJvY2VzcyAtRmlsZVBhdGggJHRlbXBQYXRoIC1Bcmd1bWVudExpc3QgJy9TJyAtV2FpdCAtTm9OZXdXaW5kb3cgLVBhc3NUaHJ1ClN0YXJ0LVNsZWVwIC1TZWNvbmRzIDIKaWYgKCRwcm9jLkV4aXRDb2RlIC1uZSAwKSB7IFdyaXRlLUVycm9yICI3LVppcCBpbnN0YWxsZXIgcmV0dXJuZWQgZXhpdCBjb2RlICQoJHByb2MuRXhpdENvZGUpIjsgZXhpdCAkcHJvYy5FeGl0Q29kZSB9Cgokc2V2ZW5aaXBIb21lID0gSm9pbi1QYXRoICRlbnY6UHJvZ3JhbUZpbGVzICc3LVppcCcKJGZtRXhlICAgICAgICA9IEpvaW4tUGF0aCAkc2V2ZW5aaXBIb21lICc3ekZNLmV4ZScKJGRsbEljb24gICAgICA9IEpvaW4tUGF0aCAkc2V2ZW5aaXBIb21lICc3ei5kbGwnCmlmICghKFRlc3QtUGF0aCAkZm1FeGUpKSB7IFdyaXRlLUVycm9yICI3LVppcCBGaWxlIE1hbmFnZXIgbm90IGZvdW5kIGF0OiAkZm1FeGUiOyBleGl0IDEgfQoKV3JpdGUtSG9zdCAiNy1aaXAgaW5zdGFsbGVkIGF0OiAkc2V2ZW5aaXBIb21lIgoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyAzKSBBbHdheXMgc2V0IHBlci11c2VyIGZpbGUgYXNzb2NpYXRpb25zCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgokRXh0SWNvbkluZGV4ID0gQHsKICAgICc3eicgID0gMAogICAgJ3ppcCcgPSAxCiAgICAncmFyJyA9IDMKICAgICdjcHQnID0gMTIKfQoKZnVuY3Rpb24gUmVzb2x2ZS1Vc2VyU2lkIHsKICAgIHBhcmFtKFtzdHJpbmddJFVzZXIpCiAgICB0cnkgewogICAgICAgICRudCAgPSBOZXctT2JqZWN0IFN5c3RlbS5TZWN1cml0eS5QcmluY2lwYWwuTlRBY2NvdW50KCRVc2VyKQogICAgICAgIHJldHVybiAkbnQuVHJhbnNsYXRlKFtTeXN0ZW0uU2VjdXJpdHkuUHJpbmNpcGFsLlNlY3VyaXR5SWRlbnRpZmllcl0pLlZhbHVlCiAgICB9IGNhdGNoIHsgcmV0dXJuICRudWxsIH0KfQoKZnVuY3Rpb24gR2V0LUFjdGl2ZVNlc3Npb25Vc2VycyB7CiAgICAkdXNlcnMgPSBAKCkKICAgIHRyeSB7CiAgICAgICAgJGxpbmVzID0gKHF1c2VyKSAyPiRudWxsCiAgICAgICAgaWYgKCRsaW5lcykgewogICAgICAgICAgICBmb3JlYWNoICgkbCBpbiAkbGluZXMgfCBTZWxlY3QtT2JqZWN0IC1Ta2lwIDEpIHsKICAgICAgICAgICAgICAgICRwYXJ0cyA9ICgkbCAtcmVwbGFjZSAnXHN7Mix9JywgJyAnKS5UcmltKCkuU3BsaXQoJyAnKQogICAgICAgICAgICAgICAgaWYgKCRwYXJ0cy5MZW5ndGggLWdlIDMgLWFuZCAkcGFydHNbMl0gLW1hdGNoICdBY3RpdmUnKSB7CiAgICAgICAgICAgICAgICAgICAgJHVzZXJzICs9ICRwYXJ0c1swXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSBjYXRjaCB7IH0KICAgICR1c2VycyB8IFNlbGVjdC1PYmplY3QgLVVuaXF1ZQp9CgpmdW5jdGlvbiBTZXQtRXh0ZW5zaW9ucy1UbzdaaXAgewogICAgcGFyYW0oW3N0cmluZ10kVGFyZ2V0U2lkLCBbc3RyaW5nXSRJbnN0YWxsUm9vdCkKCiAgICAkY2xhc3Nlc1Jvb3QgPSAiUmVnaXN0cnk6OkhLRVlfVVNFUlNcJFRhcmdldFNpZFxTb2Z0d2FyZVxDbGFzc2VzIgogICAgaWYgKC1ub3QgKFRlc3QtUGF0aCAkY2xhc3Nlc1Jvb3QpKSB7CiAgICAgICAgV3JpdGUtV2FybmluZyAiVXNlciBoaXZlIG5vdCBsb2FkZWQgZm9yIFNJRCAkVGFyZ2V0U2lkOyBza2lwcGluZy4iCiAgICAgICAgcmV0dXJuCiAgICB9CgogICAgZm9yZWFjaCAoJGV4dCBpbiAkRXh0SWNvbkluZGV4LktleXMpIHsKICAgICAgICAkcHJvZ0lkICAgID0gIjctWmlwLiRleHQiCiAgICAgICAgJGV4dEtleSAgICA9IEpvaW4tUGF0aCAkY2xhc3Nlc1Jvb3QgIi4kZXh0IgogICAgICAgICRwcm9nSWRLZXkgPSBKb2luLVBhdGggJGNsYXNzZXNSb290ICRwcm9nSWQKICAgICAgICAkaWNvbktleSAgID0gSm9pbi1QYXRoICRwcm9nSWRLZXkgJ0RlZmF1bHRJY29uJwogICAgICAgICRzaGVsbEtleSAgPSBKb2luLVBhdGggJHByb2dJZEtleSAnc2hlbGxcb3Blblxjb21tYW5kJwoKICAgICAgICBOZXctSXRlbSAtUGF0aCAkZXh0S2V5IC1Gb3JjZSB8IE91dC1OdWxsCiAgICAgICAgU2V0LUl0ZW1Qcm9wZXJ0eSAtUGF0aCAkZXh0S2V5IC1OYW1lICcoRGVmYXVsdCknIC1WYWx1ZSAkcHJvZ0lkIC1UeXBlIFN0cmluZwoKICAgICAgICBOZXctSXRlbSAtUGF0aCAkcHJvZ0lkS2V5IC1Gb3JjZSB8IE91dC1OdWxsCiAgICAgICAgU2V0LUl0ZW1Qcm9wZXJ0eSAtUGF0aCAkcHJvZ0lkS2V5IC1OYW1lICcoRGVmYXVsdCknIC1WYWx1ZSAiJGV4dCBhcmNoaXZlIiAtVHlwZSBTdHJpbmcKCiAgICAgICAgTmV3LUl0ZW0gLVBhdGggJGljb25LZXkgLUZvcmNlIHwgT3V0LU51bGwKICAgICAgICBTZXQtSXRlbVByb3BlcnR5IC1QYXRoICRpY29uS2V5IC1OYW1lICcoRGVmYXVsdCknIC1WYWx1ZSAiYCIkSW5zdGFsbFJvb3RcN3ouZGxsYCIsJCgkRXh0SWNvbkluZGV4WyRleHRdKSIgLVR5cGUgU3RyaW5nCgogICAgICAgIE5ldy1JdGVtIC1QYXRoICRzaGVsbEtleSAtRm9yY2UgfCBPdXQtTnVsbAogICAgICAgIFNldC1JdGVtUHJvcGVydHkgLVBhdGggJHNoZWxsS2V5IC1OYW1lICcoRGVmYXVsdCknIC1WYWx1ZSAiYCIkSW5zdGFsbFJvb3RcN3pGTS5leGVgIiBgIiUxYCIiIC1UeXBlIFN0cmluZwogICAgfQoKICAgICRleHBsS2V5ID0gIlJlZ2lzdHJ5OjpIS0VZX1VTRVJTXCRUYXJnZXRTaWRcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cRXhwbG9yZXIiCiAgICBpZiAoVGVzdC1QYXRoICRleHBsS2V5KSB7CiAgICAgICAgJGN1cnJlbnQgPSAoR2V0LUl0ZW1Qcm9wZXJ0eSAtUGF0aCAkZXhwbEtleSAtTmFtZSBHbG9iYWxBc3NvY0NoYW5nZWRDb3VudGVyIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlKS5HbG9iYWxBc3NvY0NoYW5nZWRDb3VudGVyCiAgICAgICAgaWYgKC1ub3QgJGN1cnJlbnQpIHsgJGN1cnJlbnQgPSAwIH0KICAgICAgICBTZXQtSXRlbVByb3BlcnR5IC1QYXRoICRleHBsS2V5IC1OYW1lIEdsb2JhbEFzc29jQ2hhbmdlZENvdW50ZXIgLVZhbHVlIChbaW50XSRjdXJyZW50ICsgMSkgfCBPdXQtTnVsbAogICAgfQoKICAgIFdyaXRlLUhvc3QgIlNldCA3LVppcCBhc3NvY2lhdGlvbnMgZm9yIFNJRCAkVGFyZ2V0U2lkIgp9CgojIFBvbGljeSBub3RlCiRwb2xpY3lLZXkgPSAnSEtMTTpcU29mdHdhcmVcUG9saWNpZXNcTWljcm9zb2Z0XFdpbmRvd3NcRXhwbG9yZXInCiRub05ldyA9IChHZXQtSXRlbVByb3BlcnR5IC1QYXRoICRwb2xpY3lLZXkgLU5hbWUgTm9OZXdBcHBBbGVydCAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSkuTm9OZXdBcHBBbGVydAppZiAoJG5vTmV3IC1lcSAxKSB7IFdyaXRlLVdhcm5pbmcgIk5vTmV3QXBwQWxlcnQgcG9saWN5IGlzIGVuYWJsZWQ7IGFzc29jaWF0aW9ucyBtYXkgbm90IHN0aWNrLiIgfQoKIyBHZXQgYWxsIGFjdGl2ZSBzZXNzaW9uIHVzZXJzCiR0YXJnZXRTaWRzID0gQCgpCmZvcmVhY2ggKCR1IGluIEdldC1BY3RpdmVTZXNzaW9uVXNlcnMpIHsKICAgICRzaWQgPSBSZXNvbHZlLVVzZXJTaWQgLVVzZXIgJHUKICAgIGlmICgkc2lkKSB7ICR0YXJnZXRTaWRzICs9ICRzaWQgfQp9CgppZiAoLW5vdCAkdGFyZ2V0U2lkcykgewogICAgV3JpdGUtSG9zdCAiTm8gYWN0aXZlIGxvZ2dlZC1pbiB1c2VycyBkZXRlY3RlZDsgc2tpcHBpbmcgYXNzb2NpYXRpb25zLiIKfSBlbHNlIHsKICAgIGZvcmVhY2ggKCRzaWQgaW4gJHRhcmdldFNpZHMgfCBTZWxlY3QtT2JqZWN0IC1VbmlxdWUpIHsKICAgICAgICBTZXQtRXh0ZW5zaW9ucy1UbzdaaXAgLVRhcmdldFNpZCAkc2lkIC1JbnN0YWxsUm9vdCAkc2V2ZW5aaXBIb21lCiAgICB9Cn0KCldyaXRlLUhvc3QgIkRvbmUuIgpleGl0IDAK", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "varAction", - "label": "Action to Take", - "type": "string", - "default": "install", - "required": true, - "description": "\"install\" or \"uninstall\"" - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Adobe_Acrobat_Reader_DC_WIN.json b/Assemblies/Scripts/Software Installers/Adobe_Acrobat_Reader_DC_WIN.json deleted file mode 100644 index d8b28051..00000000 --- a/Assemblies/Scripts/Software Installers/Adobe_Acrobat_Reader_DC_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "Adobe Acrobat Reader DC [WIN]", - "description": "Downloads and installs Adobe Acrobat Reader DC.", - "category": "application", - "type": "powershell", - "script": "W0NtZGxldEJpbmRpbmcoKV0KcGFyYW0oCiAgIyBBZG9iZSBEQyAiQ29udGludW91cyIgYnVpbGQgbnVtYmVyIGZvciBNU1BzCiAgW3N0cmluZ10kTGF0ZXN0QnVpbGQgPSAnMjUwMDEyMDc0NCcKKQoKIyAwKSBHdWFyZHJhaWxzCmlmIChbSW50UHRyXTo6U2l6ZSAtbmUgOCkgewogIFdyaXRlLUVycm9yICJUaGlzIHJvdXRpbmUgdGFyZ2V0cyA2NC1iaXQgV2luZG93cyBvbmx5LiIKICBleGl0IDEKfQp0cnkgeyBbTmV0LlNlcnZpY2VQb2ludE1hbmFnZXJdOjpTZWN1cml0eVByb3RvY29sID0gW0VudW1dOjpUb09iamVjdChbTmV0LlNlY3VyaXR5UHJvdG9jb2xUeXBlXSwgMzA3MikgfSBjYXRjaCB7fQoKIyAxKSBIZWxwZXJzCmZ1bmN0aW9uIEdldC1BZG9iZVN0YXRlIHsKICAjIFJldHVybnMgQHsgUHJvZHVjdD0nQWNyb2JhdCd8J1JlYWRlcid8JG51bGw7IEFyY2g9J3g2NCd8J3g4Nid8JG51bGwgfQogICRyID0gQHsgUHJvZHVjdCA9ICRudWxsOyBBcmNoID0gJG51bGwgfQoKICAkYWNybzY0ICAgPSBUZXN0LVBhdGggJ0hLTE06XFNPRlRXQVJFXEFkb2JlXEFkb2JlIEFjcm9iYXRcRENcSW5zdGFsbGVyJwogICRyZWFkZXI2NCA9IFRlc3QtUGF0aCAnSEtMTTpcU09GVFdBUkVcQWRvYmVcQWNyb2JhdCBSZWFkZXJcRENcSW5zdGFsbGVyJwogICRhY3JvODYgICA9IFRlc3QtUGF0aCAnSEtMTTpcU09GVFdBUkVcV293NjQzMk5vZGVcQWRvYmVcQWRvYmUgQWNyb2JhdFxEQ1xJbnN0YWxsZXInCiAgJHJlYWRlcjg2ID0gVGVzdC1QYXRoICdIS0xNOlxTT0ZUV0FSRVxXb3c2NDMyTm9kZVxBZG9iZVxBY3JvYmF0IFJlYWRlclxEQ1xJbnN0YWxsZXInCgogIGlmICgkYWNybzY0IC1vciAkYWNybzg2KSB7CiAgICAkci5Qcm9kdWN0ID0gJ0Fjcm9iYXQnCiAgICAkci5BcmNoICAgID0gJChpZiAoJGFjcm82NCkgeyAneDY0JyB9IGVsc2UgeyAneDg2JyB9KQogICAgcmV0dXJuICRyCiAgfQogIGlmICgkcmVhZGVyNjQgLW9yICRyZWFkZXI4NikgewogICAgJHIuUHJvZHVjdCA9ICdSZWFkZXInCiAgICAkci5BcmNoICAgID0gJChpZiAoJHJlYWRlcjY0KSB7ICd4NjQnIH0gZWxzZSB7ICd4ODYnIH0pCiAgICByZXR1cm4gJHIKICB9CiAgcmV0dXJuICRyCn0KCmZ1bmN0aW9uIEdldC1BZG9iZVVybHMgewogIHBhcmFtKAogICAgW1ZhbGlkYXRlU2V0KCdBY3JvYmF0JywnUmVhZGVyJywnQm9vdHN0cmFwJyldIFtzdHJpbmddJE1vZGUsCiAgICBbVmFsaWRhdGVTZXQoJ3g2NCcsJ3g4NicpXSAgICAgICAgICAgICAgICAgICAgW3N0cmluZ10kQXJjaCwKICAgIFtzdHJpbmddJEJ1aWxkCiAgKQogIHN3aXRjaCAoJE1vZGUpIHsKICAgICdCb290c3RyYXAnIHsKICAgICAgIyBSZWFkZXIgeDY0IE1VSSBiYXNlIEVYRSAoc3RhYmxlIGJhc2U7IHdl4oCZbGwgcGF0Y2ggYWZ0ZXIpCiAgICAgIHJldHVybiBAewogICAgICAgIEZpbGVOYW1lID0gJ0Fjcm9SZHJEQ3g2NEJhc2VfTVVJLmV4ZScKICAgICAgICBVcmwgICAgICA9ICdodHRwczovL2FyZG93bmxvYWQyLmFkb2JlLmNvbS9wdWIvYWRvYmUvYWNyb2JhdC93aW4vQWNyb2JhdERDLzIxMDA3MjAwOTEvQWNyb1JkckRDeDY0MjEwMDcyMDA5MV9NVUkuZXhlJwogICAgICB9CiAgICB9CiAgICAnUmVhZGVyJyB7CiAgICAgIGlmICgkQXJjaCAtZXEgJ3g2NCcpIHsKICAgICAgICByZXR1cm4gQHsKICAgICAgICAgIEZpbGVOYW1lID0gJ1JlYWRlcl9VcGRhdGUubXNwJwogICAgICAgICAgVXJsICAgICAgPSAiaHR0cHM6Ly9hcmRvd25sb2FkMi5hZG9iZS5jb20vcHViL2Fkb2JlL2Fjcm9iYXQvd2luL0Fjcm9iYXREQy8kQnVpbGQvQWNyb1JkckRDeDY0VXBkJEJ1aWxkX01VSS5tc3AiCiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBAewogICAgICAgICAgRmlsZU5hbWUgPSAnUmVhZGVyX1VwZGF0ZS5tc3AnCiAgICAgICAgICBVcmwgICAgICA9ICJodHRwczovL2FyZG93bmxvYWQyLmFkb2JlLmNvbS9wdWIvYWRvYmUvcmVhZGVyL3dpbi9BY3JvYmF0REMvJEJ1aWxkL0Fjcm9SZHJEQ1VwZCRCdWlsZC5tc3AiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICAnQWNyb2JhdCcgewogICAgICBpZiAoJEFyY2ggLWVxICd4NjQnKSB7CiAgICAgICAgcmV0dXJuIEB7CiAgICAgICAgICBGaWxlTmFtZSA9ICdBY3JvYmF0X1VwZGF0ZS5tc3AnCiAgICAgICAgICBVcmwgICAgICA9ICJodHRwczovL2FyZG93bmxvYWQyLmFkb2JlLmNvbS9wdWIvYWRvYmUvYWNyb2JhdC93aW4vQWNyb2JhdERDLyRCdWlsZC9BY3JvYmF0REN4NjRVcGQkQnVpbGQubXNwIgogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gQHsKICAgICAgICAgIEZpbGVOYW1lID0gJ0Fjcm9iYXRfVXBkYXRlLm1zcCcKICAgICAgICAgIFVybCAgICAgID0gImh0dHBzOi8vYXJkb3dubG9hZDIuYWRvYmUuY29tL3B1Yi9hZG9iZS9hY3JvYmF0L3dpbi9BY3JvYmF0REMvJEJ1aWxkL0Fjcm9iYXREQ1VwZCRCdWlsZC5tc3AiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBHZXQtRmlsZSB7CiAgcGFyYW0oCiAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeSldIFtzdHJpbmddJFVybCwKICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV0gW3N0cmluZ10kT3V0RmlsZQogICkKICBXcml0ZS1Ib3N0ICJEb3dubG9hZGluZzogJFVybCIKICB0cnkgewogICAgaWYgKEdldC1Db21tYW5kIFN0YXJ0LUJpdHNUcmFuc2ZlciAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSkgewogICAgICBTdGFydC1CaXRzVHJhbnNmZXIgLVNvdXJjZSAkVXJsIC1EZXN0aW5hdGlvbiAkT3V0RmlsZSAtRXJyb3JBY3Rpb24gU3RvcAogICAgfSBlbHNlIHsKICAgICAgSW52b2tlLVdlYlJlcXVlc3QgLVVyaSAkVXJsIC1PdXRGaWxlICRPdXRGaWxlIC1Vc2VCYXNpY1BhcnNpbmcgLUVycm9yQWN0aW9uIFN0b3AKICAgIH0KICB9IGNhdGNoIHsKICAgIFdyaXRlLUVycm9yICJEb3dubG9hZCBmYWlsZWQ6ICQoJF8uRXhjZXB0aW9uLk1lc3NhZ2UpIgogICAgZXhpdCAxCiAgfQogIGlmICghKFRlc3QtUGF0aCAkT3V0RmlsZSkpIHsgV3JpdGUtRXJyb3IgIkRvd25sb2FkIG1pc3Npbmc6ICRPdXRGaWxlIjsgZXhpdCAxIH0KfQoKZnVuY3Rpb24gSW5zdGFsbC1SZWFkZXJCYXNlIHsKICBwYXJhbShbc3RyaW5nXSRFeGVQYXRoKQogIFdyaXRlLUhvc3QgIkluc3RhbGxpbmcgUmVhZGVyIGJhc2UgKHg2NCBNVUkpLi4uIgogICRwID0gU3RhcnQtUHJvY2VzcyAtRmlsZVBhdGggJEV4ZVBhdGggLUFyZ3VtZW50TGlzdCAnL3NBbGwgL3JzIC9yZScgLVdhaXQgLU5vTmV3V2luZG93IC1QYXNzVGhydQogIGlmICgkcC5FeGl0Q29kZSAtbmUgMCkgeyBXcml0ZS1FcnJvciAiUmVhZGVyIGJhc2UgaW5zdGFsbGVyIHJldHVybmVkICQoJHAuRXhpdENvZGUpIjsgZXhpdCAkcC5FeGl0Q29kZSB9Cn0KCmZ1bmN0aW9uIEFwcGx5LU1zcCB7CiAgcGFyYW0oCiAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeSldW3N0cmluZ10kTXNwUGF0aCwKICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV1bc3RyaW5nXSRMYWJlbAogICkKICBXcml0ZS1Ib3N0ICJBcHBseWluZyAkTGFiZWwgTVNQLi4uIgogICMgTm8gL2xvZyBoZXJlIChrZWVwcyBkaXNrIGNsZWFuKS4gU3RpbGwgaGFuZGxlcyBjb21tb24gZXhpdCBjb2Rlcy4KICAkYXJncyA9ICIvUCBgIiRNc3BQYXRoYCIgL1FOIC9OT1JFU1RBUlQiCiAgJHAgPSBTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAnbXNpZXhlYy5leGUnIC1Bcmd1bWVudExpc3QgJGFyZ3MgLVdhaXQgLU5vTmV3V2luZG93IC1QYXNzVGhydQogIHN3aXRjaCAoJHAuRXhpdENvZGUpIHsKICAgIDAgICAgIHsgV3JpdGUtSG9zdCAiJExhYmVsIHBhdGNoIGFwcGxpZWQuIiB9CiAgICAzMDEwICB7IFdyaXRlLUhvc3QgIiRMYWJlbCBwYXRjaCBhcHBsaWVkLiBSZWJvb3QgcmVjb21tZW5kZWQgKDMwMTApLiIgfQogICAgMTY0MiAgeyBXcml0ZS1FcnJvciAiJExhYmVsIHBhdGNoIGluY29tcGF0aWJsZSAoMTY0MikuIENvbnNpZGVyIGNsZWFuaW5nIG9sZCBpbnN0YWxscyBhbmQgcmV0cnlpbmcuIjsgZXhpdCAxNjQyIH0KICAgIDE1MDExMHsgV3JpdGUtRXJyb3IgIiRMYWJlbCBwYXRjaCBmYWlsZWQ6IGRpc2sgc3BhY2UgKDE1MDExMCkuIjsgZXhpdCAxNTAxMTAgfQogICAgZGVmYXVsdCB7IFdyaXRlLUVycm9yICIkTGFiZWwgcGF0Y2ggZmFpbGVkIHdpdGggY29kZSAkKCRwLkV4aXRDb2RlKS4iOyBleGl0ICRwLkV4aXRDb2RlIH0KICB9Cn0KCiMgMikgRGVjaWRlICYgZG8KJHN0YXRlID0gR2V0LUFkb2JlU3RhdGUKJHRlbXAgID0gSm9pbi1QYXRoICRlbnY6VEVNUCAoImFkb2JlXyIgKyBbZ3VpZF06Ok5ld0d1aWQoKS5Ub1N0cmluZygiTiIpKQpOZXctSXRlbSAtSXRlbVR5cGUgRGlyZWN0b3J5IC1QYXRoICR0ZW1wIHwgT3V0LU51bGwKCnRyeSB7CiAgaWYgKCRzdGF0ZS5Qcm9kdWN0IC1hbmQgJHN0YXRlLkFyY2gpIHsKICAgICMgQSkgUGF0Y2ggd2hhdOKAmXMgaW5zdGFsbGVkCiAgICBXcml0ZS1Ib3N0ICJEZXRlY3RlZDogJCgkc3RhdGUuUHJvZHVjdCkgKCQoJHN0YXRlLkFyY2gpKS4iCiAgICAkdSAgID0gR2V0LUFkb2JlVXJscyAtTW9kZSAkc3RhdGUuUHJvZHVjdCAtQXJjaCAkc3RhdGUuQXJjaCAtQnVpbGQgJExhdGVzdEJ1aWxkCiAgICAkcGtnID0gSm9pbi1QYXRoICR0ZW1wICR1LkZpbGVOYW1lCiAgICBHZXQtRmlsZSAtVXJsICR1LlVybCAtT3V0RmlsZSAkcGtnCiAgICBBcHBseS1Nc3AgLU1zcFBhdGggJHBrZyAtTGFiZWwgJHN0YXRlLlByb2R1Y3QKICB9IGVsc2UgewogICAgIyBCKSBCb290c3RyYXAgUmVhZGVyIHg2NCArIHBhdGNoCiAgICBXcml0ZS1Ib3N0ICJObyBBY3JvYmF0L1JlYWRlciBkZXRlY3RlZC4gSW5zdGFsbGluZyBSZWFkZXIgKHg2NCBNVUkpIGJhc2UsIHRoZW4gdXBkYXRpbmcgdG8gJExhdGVzdEJ1aWxkIC4uLiIKICAgICRiYXNlICAgID0gR2V0LUFkb2JlVXJscyAtTW9kZSAnQm9vdHN0cmFwJyAtQXJjaCAneDY0JwogICAgJGJhc2VFeGUgPSBKb2luLVBhdGggJHRlbXAgJGJhc2UuRmlsZU5hbWUKICAgIEdldC1GaWxlIC1VcmwgJGJhc2UuVXJsIC1PdXRGaWxlICRiYXNlRXhlCiAgICBJbnN0YWxsLVJlYWRlckJhc2UgLUV4ZVBhdGggJGJhc2VFeGUKCiAgICAkcnUgICA9IEdldC1BZG9iZVVybHMgLU1vZGUgJ1JlYWRlcicgLUFyY2ggJ3g2NCcgLUJ1aWxkICRMYXRlc3RCdWlsZAogICAgJHJNc3AgPSBKb2luLVBhdGggJHRlbXAgJHJ1LkZpbGVOYW1lCiAgICBHZXQtRmlsZSAtVXJsICRydS5VcmwgLU91dEZpbGUgJHJNc3AKICAgIEFwcGx5LU1zcCAtTXNwUGF0aCAkck1zcCAtTGFiZWwgJ1JlYWRlcicKICB9CgogIFdyaXRlLUhvc3QgIkRvbmUuIgp9CmZpbmFsbHkgewogICMgQ2xlYW4gdXAgcGF5bG9hZHMgKGJlc3QgZWZmb3J0KQogIHRyeSB7IFJlbW92ZS1JdGVtIC1QYXRoICR0ZW1wIC1SZWN1cnNlIC1Gb3JjZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSB9IGNhdGNoIHt9Cn0K", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Citrix_Workspace_WIN.json b/Assemblies/Scripts/Software Installers/Citrix_Workspace_WIN.json deleted file mode 100644 index 4051ab74..00000000 --- a/Assemblies/Scripts/Software Installers/Citrix_Workspace_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "Citrix Workspace [WIN]", - "description": "Downloads and installs the latest version of Citrix Workspace for Windows.", - "category": "application", - "type": "powershell", - "script": "IyBDaXRyaXggV29ya3NwYWNlOiBmZXRjaCBsYXRlc3QgV2luZG93cyBpbnN0YWxsZXIsIG9wdGlvbmFsIHZlcnNpb24gb3ZlcnJpZGUsIGRvd25sb2FkLCBhbmQgc2lsZW50IGluc3RhbGwuCgojIC0tLS0tIFNldHRpbmdzIHlvdSBjYW4gdHdlYWsgLS0tLS0KJFZlcnNpb25PdmVycmlkZSA9ICRudWxsICAgIyBlLmcuICcyNDAxMScgdG8gZm9yY2UgYSBzcGVjaWZpYyB2ZXJzaW9uLCBvdGhlcndpc2UgbGF0ZXN0CiRUZW1wRGlyICAgICAgICAgPSBKb2luLVBhdGggJGVudjpURU1QICJjaXRyaXhfd3NfZGwiCiRJbnN0YWxsZXJOYW1lICAgPSAiQ2l0cml4V29ya3NwYWNlX2xhdGVzdC5leGUiCiRDYXRhbG9nVXJsICAgICAgPSAiaHR0cHM6Ly9kb3dubG9hZHBsdWdpbnMuY2l0cml4LmNvbS9SZWNlaXZlclVwZGF0ZXMvUHJvZC9jYXRhbG9nX3dpbi54bWwiCiRCYXNlVXJsICAgICAgICAgPSAiaHR0cHM6Ly9kb3dubG9hZHBsdWdpbnMuY2l0cml4LmNvbS9SZWNlaXZlclVwZGF0ZXMvUHJvZCIKCiMgLS0tLS0gTWluaW1hbCBoZWxwZXJzIC0tLS0tCgpmdW5jdGlvbiBVc2UtVGxzMTIgewogICAgdHJ5IHsKICAgICAgICBbTmV0LlNlcnZpY2VQb2ludE1hbmFnZXJdOjpTZWN1cml0eVByb3RvY29sID0gW05ldC5TZWN1cml0eVByb3RvY29sVHlwZV06OlRsczEyCiAgICB9IGNhdGNoIHsKICAgICAgICBXcml0ZS1Ib3N0ICJUTFMgMS4yIGNvdWxkIG5vdCBiZSBzZXQ7IGNvbnRpbnVpbmcgYW55d2F5LiIKICAgIH0KfQoKZnVuY3Rpb24gR2V0LVN5c3RlbVByb3h5IHsKICAgICMgUHJlZmVyIHBlci11c2VyIEludGVybmV0IFNldHRpbmdzOyBmYWxsIGJhY2sgdG8gV2luSFRUUCBpZiBzZXQKICAgIHRyeSB7CiAgICAgICAgJGllID0gR2V0LUl0ZW1Qcm9wZXJ0eSAtUGF0aCAnSEtDVTpcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cSW50ZXJuZXQgU2V0dGluZ3MnIC1FcnJvckFjdGlvbiBTdG9wCiAgICAgICAgaWYgKCRpZS5Qcm94eUVuYWJsZSAtZXEgMSAtYW5kICRpZS5Qcm94eVNlcnZlcikgewogICAgICAgICAgICByZXR1cm4gW1N5c3RlbS5OZXQuV2ViUHJveHldOjpuZXcoJGllLlByb3h5U2VydmVyLCAkdHJ1ZSkKICAgICAgICB9CiAgICB9IGNhdGNoIHt9CgogICAgdHJ5IHsKICAgICAgICAkbmV0c2ggPSBuZXRzaCB3aW5odHRwIHNob3cgcHJveHkgMj4kbnVsbAogICAgICAgIGlmICgkbmV0c2ggLWFuZCAoJG5ldHNoIC1tYXRjaCAnUHJveHkgU2VydmVyXHMqOlxzKiguKyknKSkgewogICAgICAgICAgICAkcHJveHkgPSAkTWF0Y2hlc1sxXS5UcmltKCkKICAgICAgICAgICAgaWYgKCRwcm94eSAtYW5kICRwcm94eSAtbmUgJ2RpcmVjdCcpIHsKICAgICAgICAgICAgICAgIHJldHVybiBbU3lzdGVtLk5ldC5XZWJQcm94eV06Om5ldygkcHJveHksICR0cnVlKQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSBjYXRjaCB7fQoKICAgIHJldHVybiAkbnVsbAp9CgpmdW5jdGlvbiBHZXQtSHR0cENsaWVudCB7CiAgICBwYXJhbShbU3lzdGVtLk5ldC5JV2ViUHJveHldICRQcm94eSkKCiAgICAkaGFuZGxlciA9IFtTeXN0ZW0uTmV0Lkh0dHAuSHR0cENsaWVudEhhbmRsZXJdOjpuZXcoKQogICAgaWYgKCRQcm94eSkgewogICAgICAgICRoYW5kbGVyLlByb3h5ID0gJFByb3h5CiAgICAgICAgJGhhbmRsZXIuVXNlUHJveHkgPSAkdHJ1ZQogICAgICAgICRoYW5kbGVyLlVzZURlZmF1bHRDcmVkZW50aWFscyA9ICR0cnVlCiAgICAgICAgJGhhbmRsZXIuUHJlQXV0aGVudGljYXRlID0gJGZhbHNlCiAgICB9CiAgICAkY2xpZW50ID0gW1N5c3RlbS5OZXQuSHR0cC5IdHRwQ2xpZW50XTo6bmV3KCRoYW5kbGVyKQogICAgIyBQbGFpbiwgYm9yaW5nIFVBIHRvIGF2b2lkIG9kZCBibG9ja3M7IHN0aWxsIHdpZGVseSBhY2NlcHRlZC4KICAgICRjbGllbnQuRGVmYXVsdFJlcXVlc3RIZWFkZXJzLlVzZXJBZ2VudC5QYXJzZUFkZCgiTW96aWxsYS81LjAgKFdpbmRvd3MgTlQ7IFBvd2VyU2hlbGwpIikKICAgIHJldHVybiAkY2xpZW50Cn0KCmZ1bmN0aW9uIEdldC1YbWxTdHJpbmcgewogICAgcGFyYW0oW3N0cmluZ10gJFVybCkKICAgICRwcm94eSAgPSBHZXQtU3lzdGVtUHJveHkKICAgICRjbGllbnQgPSBHZXQtSHR0cENsaWVudCAtUHJveHkgJHByb3h5CiAgICB0cnkgewogICAgICAgICRyZXNwID0gJGNsaWVudC5HZXRBc3luYygkVXJsKS5HZXRBd2FpdGVyKCkuR2V0UmVzdWx0KCkKICAgICAgICAkcmVzcC5FbnN1cmVTdWNjZXNzU3RhdHVzQ29kZSgpIHwgT3V0LU51bGwKICAgICAgICByZXR1cm4gJHJlc3AuQ29udGVudC5SZWFkQXNTdHJpbmdBc3luYygpLkdldEF3YWl0ZXIoKS5HZXRSZXN1bHQoKQogICAgfSBmaW5hbGx5IHsKICAgICAgICAkY2xpZW50LkRpc3Bvc2UoKQogICAgfQp9CgpmdW5jdGlvbiBEb3dubG9hZC1GaWxlIHsKICAgIHBhcmFtKAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV1bc3RyaW5nXSAkVXJsLAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV1bc3RyaW5nXSAkT3V0RmlsZQogICAgKQogICAgJHByb3h5ICA9IEdldC1TeXN0ZW1Qcm94eQogICAgJGNsaWVudCA9IEdldC1IdHRwQ2xpZW50IC1Qcm94eSAkcHJveHkKICAgIHRyeSB7CiAgICAgICAgV3JpdGUtSG9zdCAiLSBEb3dubG9hZGluZzogJFVybCIKICAgICAgICAkcmVzcCA9ICRjbGllbnQuR2V0QXN5bmMoJFVybCkuR2V0QXdhaXRlcigpLkdldFJlc3VsdCgpCiAgICAgICAgJHJlc3AuRW5zdXJlU3VjY2Vzc1N0YXR1c0NvZGUoKSB8IE91dC1OdWxsCiAgICAgICAgW0lPLkRpcmVjdG9yeV06OkNyZWF0ZURpcmVjdG9yeSgoU3BsaXQtUGF0aCAkT3V0RmlsZSAtUGFyZW50KSkgfCBPdXQtTnVsbAogICAgICAgICRmcyA9IFtJTy5GaWxlU3RyZWFtXTo6bmV3KCRPdXRGaWxlLCBbSU8uRmlsZU1vZGVdOjpDcmVhdGUsIFtJTy5GaWxlQWNjZXNzXTo6V3JpdGUsIFtJTy5GaWxlU2hhcmVdOjpOb25lKQogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRyZXNwLkNvbnRlbnQuQ29weVRvQXN5bmMoJGZzKS5HZXRBd2FpdGVyKCkuR2V0UmVzdWx0KCkKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgICAkZnMuRGlzcG9zZSgpCiAgICAgICAgfQogICAgICAgIGlmICghKFRlc3QtUGF0aCAkT3V0RmlsZSkgLW9yICgoR2V0LUl0ZW0gJE91dEZpbGUpLkxlbmd0aCAtbGUgMCkpIHsKICAgICAgICAgICAgdGhyb3cgIkRvd25sb2FkIGZhaWxlZCBvciByZXN1bHRlZCBpbiBhbiBlbXB0eSBmaWxlLiIKICAgICAgICB9CiAgICAgICAgV3JpdGUtSG9zdCAiLSBTYXZlZCB0bzogICAkT3V0RmlsZSIKICAgIH0gZmluYWxseSB7CiAgICAgICAgJGNsaWVudC5EaXNwb3NlKCkKICAgIH0KfQoKZnVuY3Rpb24gQXNzZXJ0LVdpbmRvd3MxMFBsdXMgewogICAgdHJ5IHsKICAgICAgICAkY3YgPSBHZXQtSXRlbVByb3BlcnR5ICdIS0xNOlxTT0ZUV0FSRVxNaWNyb3NvZnRcV2luZG93cyBOVFxDdXJyZW50VmVyc2lvbicKICAgICAgICAkYnVpbGQgPSBbaW50XSRjdi5DdXJyZW50QnVpbGROdW1iZXIKICAgICAgICBpZiAoJGJ1aWxkIC1sdCAxMDI0MCkgewogICAgICAgICAgICB0aHJvdyAiVGhpcyBwYWNrYWdlIHRhcmdldHMgV2luZG93cyAxMCs7IGRldGVjdGVkIGJ1aWxkICRidWlsZC4iCiAgICAgICAgfQogICAgfSBjYXRjaCB7CiAgICAgICAgdGhyb3cgIlVuYWJsZSB0byBkZXRlcm1pbmUgT1MgYnVpbGQ7IHRoaXMgcGFja2FnZSB0YXJnZXRzIFdpbmRvd3MgMTArLiIKICAgIH0KfQoKIyAtLS0tLSBNYWluIGZsb3cgLS0tLS0KCldyaXRlLUhvc3QgIlNvZnR3YXJlOiBDaXRyaXggV29ya3NwYWNlIgpXcml0ZS1Ib3N0ICI9PT09PT09PT09PT09PT09PT09PT09PT09PSIKClVzZS1UbHMxMgpBc3NlcnQtV2luZG93czEwUGx1cwoKIyBEZXRlcm1pbmUgZG93bmxvYWQgVVJMIChsYXRlc3Qgb3Igb3ZlcnJpZGUpCiRkb3dubG9hZFVybCA9ICRudWxsCiRkaXNwbGF5VmVyc2lvbiA9ICRudWxsCgppZiAoJFZlcnNpb25PdmVycmlkZSkgewogICAgIyBDaXRyaXggdXNlcyAnQ2l0cml4V29ya3NwYWNlQXBwe3ZlcnNpb259LmV4ZScgdW5kZXIgL1JlY2VpdmVyL1dpbi8KICAgICRkb3dubG9hZFVybCA9ICIkQmFzZVVybC9SZWNlaXZlci9XaW4vQ2l0cml4V29ya3NwYWNlQXBwJFZlcnNpb25PdmVycmlkZS5leGUiCiAgICAkZGlzcGxheVZlcnNpb24gPSAkVmVyc2lvbk92ZXJyaWRlCiAgICBXcml0ZS1Ib3N0ICI6IE92ZXJyaWRkZW4gdG8gdmVyc2lvbiAkVmVyc2lvbk92ZXJyaWRlIgp9IGVsc2UgewogICAgIyBQYXJzZSB0aGUgb2ZmaWNpYWwgY2F0YWxvZyB0byBkaXNjb3ZlciB0aGUgY3VycmVudCByZWxlYXNlCiAgICAkeG1sVGV4dCA9IEdldC1YbWxTdHJpbmcgLVVybCAkQ2F0YWxvZ1VybAogICAgaWYgKC1ub3QgJHhtbFRleHQpIHsgdGhyb3cgIkNvdWxkIG5vdCByZXRyaWV2ZSBDaXRyaXggY2F0YWxvZyBYTUwuIiB9CiAgICBbeG1sXSRjYXRhbG9nID0gJHhtbFRleHQKCiAgICAjIEZpbmQgdGhlICJDaXRyaXggV29ya3NwYWNlIC0gQ3VycmVudCBSZWxlYXNlOiIgaW5zdGFsbGVyIGVudHJ5CiAgICAkbm9kZXMgPSAkY2F0YWxvZy5TZWxlY3ROb2RlcygiQ2F0YWxvZy9JbnN0YWxsZXJzL0luc3RhbGxlcltTaG9ydERlc2NyaXB0aW9uPSdDaXRyaXggV29ya3NwYWNlIC0gQ3VycmVudCBSZWxlYXNlOiddIikKICAgIGlmICgtbm90ICRub2RlcyAtb3IgJG5vZGVzLkNvdW50IC1lcSAwKSB7IHRocm93ICJDYXRhbG9nIGRpZCBub3QgaW5jbHVkZSBhICdDdXJyZW50IFJlbGVhc2UnIGVudHJ5LiIgfQoKICAgICRyZWxhdGl2ZSA9ICRub2Rlc1swXS5TZWxlY3RTaW5nbGVOb2RlKCJEb3dubG9hZFVSTCIpLicjdGV4dCcKICAgICR2ZXJzaW9uICA9ICRub2Rlc1swXS5TZWxlY3RTaW5nbGVOb2RlKCJWZXJzaW9uIikuJyN0ZXh0JwogICAgaWYgKC1ub3QgJHJlbGF0aXZlKSB7IHRocm93ICJDYXRhbG9nIGVudHJ5IG1pc3NpbmcgRG93bmxvYWRVUkwuIiB9CgogICAgJGRvd25sb2FkVXJsICAgID0gIiRCYXNlVXJsLyRyZWxhdGl2ZSIuUmVwbGFjZSgnXCcsJy8nKQogICAgJGRpc3BsYXlWZXJzaW9uID0gJHZlcnNpb24KICAgIFdyaXRlLUhvc3QgKCI6IExhdGVzdCB2ZXJzaW9uIHJlcG9ydGVkIGJ5IGNhdGFsb2c6IHswfSIgLWYgJGRpc3BsYXlWZXJzaW9uKQp9CgojIERvd25sb2FkCiRudWxsID0gTmV3LUl0ZW0gLVBhdGggJFRlbXBEaXIgLUl0ZW1UeXBlIERpcmVjdG9yeSAtRm9yY2UKJGluc3RhbGxlclBhdGggPSBKb2luLVBhdGggJFRlbXBEaXIgJEluc3RhbGxlck5hbWUKRG93bmxvYWQtRmlsZSAtVXJsICRkb3dubG9hZFVybCAtT3V0RmlsZSAkaW5zdGFsbGVyUGF0aAoKIyBPcHRpb25hbDogcmVhZCBmaWxlIHZlcnNpb24gZm9yIGxvZ2dpbmcgKG5vIHNpZ25hdHVyZSBjaGVja3MpCnRyeSB7CiAgICAkZnYgPSBbU3lzdGVtLkRpYWdub3N0aWNzLkZpbGVWZXJzaW9uSW5mb106OkdldFZlcnNpb25JbmZvKCRpbnN0YWxsZXJQYXRoKS5GaWxlVmVyc2lvbgogICAgaWYgKCRmdikgeyBXcml0ZS1Ib3N0ICgiLSBQcmVwYXJpbmcgdG8gaW5zdGFsbCBDaXRyaXggV29ya3NwYWNlIHswfS4uLiIgLWYgJGZ2KSB9Cn0gY2F0Y2ggewogICAgV3JpdGUtSG9zdCAiLSBQcmVwYXJpbmcgdG8gaW5zdGFsbCBDaXRyaXggV29ya3NwYWNlLi4uIgp9CgojIEluc3RhbGwgc2lsZW50bHkKJGFyZ3VtZW50cyA9ICIvc2lsZW50IC9ub3JlYm9vdCIKV3JpdGUtSG9zdCAoIi0gUnVubmluZyBpbnN0YWxsZXI6IHswfSB7MX0iIC1mICRpbnN0YWxsZXJQYXRoLCAkYXJndW1lbnRzKQokcHJvYyA9IFN0YXJ0LVByb2Nlc3MgLUZpbGVQYXRoICRpbnN0YWxsZXJQYXRoIC1Bcmd1bWVudExpc3QgJGFyZ3VtZW50cyAtUGFzc1RocnUgLVdhaXQKaWYgKCRwcm9jLkV4aXRDb2RlIC1uZSAwKSB7CiAgICB0aHJvdyAiSW5zdGFsbGVyIGV4aXRlZCB3aXRoIGNvZGUgJCgkcHJvYy5FeGl0Q29kZSkuIgp9CgpXcml0ZS1Ib3N0ICItIEluc3RhbGxhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LiIK", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Filezilla_WIN.json b/Assemblies/Scripts/Software Installers/Filezilla_WIN.json deleted file mode 100644 index eeccf66a..00000000 --- a/Assemblies/Scripts/Software Installers/Filezilla_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "FileZilla [WIN] [INCOMPLETE]", - "description": "Installs FileZilla.", - "category": "application", - "type": "powershell", - "script": "JEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdTdG9wJwoKV3JpdGUtSG9zdCAiU29mdHdhcmU6IEZpbGVaaWxsYSBDbGllbnQgZm9yIFdpbmRvd3MiCldyaXRlLUhvc3QgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCgojIC0tLS0tIEhlbHBlcnMgLS0tLS0KZnVuY3Rpb24gUmVtb3ZlLVBlclVzZXJGWiB7CiAgICAkc2lkcyA9IEdldC1DaGlsZEl0ZW0gLVBhdGggUmVnaXN0cnk6OkhLRVlfVVNFUlMgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfAogICAgICAgICAgICBXaGVyZS1PYmplY3QgeyAkXy5OYW1lIC1tYXRjaCAnUy0xLSg1LTJ8MTItKTEtWzAtOS1dKyQnIH0gfAogICAgICAgICAgICBGb3JFYWNoLU9iamVjdCB7ICRfLlBTQ2hpbGROYW1lIH0KCiAgICBmb3JlYWNoICgkc2lkIGluICRzaWRzKSB7CiAgICAgICAgJHVuaW5zdEtleSA9ICJSZWdpc3RyeTo6SEtFWV9VU0VSU1wkc2lkXFNPRlRXQVJFXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFxGaWxlWmlsbGEgQ2xpZW50IgogICAgICAgIHRyeSB7CiAgICAgICAgICAgICR1bmluc3RTdHIgPSAoR2V0LUl0ZW1Qcm9wZXJ0eSAkdW5pbnN0S2V5IC1OYW1lIFVuaW5zdGFsbFN0cmluZyAtRXJyb3JBY3Rpb24gU3RvcCkuVW5pbnN0YWxsU3RyaW5nCiAgICAgICAgfSBjYXRjaCB7ICR1bmluc3RTdHIgPSAkbnVsbCB9CgogICAgICAgIGlmICgkdW5pbnN0U3RyKSB7CiAgICAgICAgICAgICRleGUgPSAoJHVuaW5zdFN0ciAtc3BsaXQgJyInKVsxXQogICAgICAgICAgICAkdmUgID0gIlJlZ2lzdHJ5OjpIS0VZX1VTRVJTXCRzaWRcVm9sYXRpbGUgRW52aXJvbm1lbnQiCiAgICAgICAgICAgICRkb20gPSAoR2V0LUl0ZW1Qcm9wZXJ0eSAkdmUgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUpLlVTRVJET01BSU4KICAgICAgICAgICAgJHVzciA9IChHZXQtSXRlbVByb3BlcnR5ICR2ZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSkuVVNFUk5BTUUKICAgICAgICAgICAgaWYgKCRkb20gLWFuZCAkdXNyKSB7CiAgICAgICAgICAgICAgICAkdG4gPSAiRlogVXNlciBVbmluc3RhbGwgLSAkdXNyIgogICAgICAgICAgICAgICAgc2NodGFza3MgL2NyZWF0ZSAvc2MgaG91cmx5IC90biAkdG4gL3RyICJgIiRleGVgIiAvUyIgL3N0ICQoKFtEYXRlVGltZV06Ok5vdy5BZGRNaW51dGVzKDIpKS5Ub1N0cmluZygiSEg6bW0iKSkgL2V0ICQoKFtEYXRlVGltZV06Ok5vdy5BZGRNaW51dGVzKDQpKS5Ub1N0cmluZygiSEg6bW0iKSkgL3J1ICIkZG9tXCR1c3IiIC9mIC96IHwgT3V0LU51bGwKICAgICAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1TZWNvbmRzIDE4MAogICAgICAgICAgICAgICAgUmVtb3ZlLUl0ZW0gJHVuaW5zdEtleSAtUmVjdXJzZSAtRm9yY2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gR2V0LUZaRG93bmxvYWRVcmwgewogICAgdHJ5IHsKICAgICAgICBbTmV0LlNlcnZpY2VQb2ludE1hbmFnZXJdOjpTZWN1cml0eVByb3RvY29sID0gW05ldC5TZWN1cml0eVByb3RvY29sVHlwZV06OlRsczEyCiAgICB9IGNhdGNoIHt9CgogICAgJHVhID0gIk1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQ7IHJ2OjE0MC4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE0MC4wIgogICAgJGhlYWRlcnMgPSBAewogICAgICAgICJBY2NlcHQiICA9ICJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxPTAuOSwqLyo7cT0wLjgiCiAgICAgICAgIlJlZmVyZXIiID0gImh0dHBzOi8vZmlsZXppbGxhLXByb2plY3Qub3JnL2Rvd25sb2FkLnBocD9zaG93X2FsbD0xIgogICAgfQoKICAgICRyZXNwID0gSW52b2tlLVdlYlJlcXVlc3QgLU1ldGhvZCBHZXQgLVVyaSAiaHR0cHM6Ly9maWxlemlsbGEtcHJvamVjdC5vcmcvZG93bmxvYWQucGhwP3Nob3dfYWxsPTEiIC1IZWFkZXJzICRoZWFkZXJzIC1Vc2VyQWdlbnQgJHVhCiAgICAkaHRtbCA9ICRyZXNwLkNvbnRlbnQKCiAgICAkaXYgID0gW0NvbnZlcnRdOjpGcm9tQmFzZTY0U3RyaW5nKChbcmVnZXhdOjpNYXRjaCgkaHRtbCwnaWQ9ImNvbnRlbnR3cmFwcGVyIi4qP3YxPSIoW14iXSspIicpLkdyb3Vwc1sxXS5WYWx1ZSkpCiAgICAka2V5ID0gW0NvbnZlcnRdOjpGcm9tQmFzZTY0U3RyaW5nKChbcmVnZXhdOjpNYXRjaCgkaHRtbCwnaWQ9ImNvbnRlbnR3cmFwcGVyIi4qP3YyPSIoW14iXSspIicpLkdyb3Vwc1sxXS5WYWx1ZSkpCiAgICAkYWxnID0gW1RleHQuRW5jb2RpbmddOjpVVEY4LkdldFN0cmluZyhbQ29udmVydF06OkZyb21CYXNlNjRTdHJpbmcoKFtyZWdleF06Ok1hdGNoKCRodG1sLCdpZD0iY29udGVudHdyYXBwZXIiLio/djM9IihbXiJdKykiJykuR3JvdXBzWzFdLlZhbHVlKSkpCiAgICAkZW5jID0gW0NvbnZlcnRdOjpGcm9tQmFzZTY0U3RyaW5nKChbcmVnZXhdOjpNYXRjaCgkaHRtbCwnPGRpdiBoaWRkZW4gaWQ9ImNvbnRlbnR3cmFwcGVyIi4qPz4oLio/KTwvZGl2PicpLkdyb3Vwc1sxXS5WYWx1ZSkpCgogICAgJGFlcyA9IFtTZWN1cml0eS5DcnlwdG9ncmFwaHkuQWVzXTo6Q3JlYXRlKCkKICAgICRhZXMuTW9kZSAgICA9IFtTZWN1cml0eS5DcnlwdG9ncmFwaHkuQ2lwaGVyTW9kZV06OkNCQwogICAgJGFlcy5QYWRkaW5nID0gW1NlY3VyaXR5LkNyeXB0b2dyYXBoeS5QYWRkaW5nTW9kZV06OlBLQ1M3CiAgICAkYWVzLktleSA9ICRrZXkKICAgICRhZXMuSVYgID0gJGl2CgogICAgJGRlYyA9ICRhZXMuQ3JlYXRlRGVjcnlwdG9yKCkKICAgICRtcyAgPSBOZXctT2JqZWN0IElPLk1lbW9yeVN0cmVhbQogICAgJGNzICA9IE5ldy1PYmplY3QgU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LkNyeXB0b1N0cmVhbSgkbXMsJGRlYyxbU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5LkNyeXB0b1N0cmVhbU1vZGVdOjpXcml0ZSkKICAgICRjcy5Xcml0ZSgkZW5jLDAsJGVuYy5MZW5ndGgpOyAkY3MuQ2xvc2UoKQogICAgJHBsYWluID0gW1RleHQuRW5jb2RpbmddOjpVVEY4LkdldFN0cmluZygkbXMuVG9BcnJheSgpKQoKICAgICRhcmNoID0gMzIKICAgICRwcmlvciA9IChHZXQtSXRlbVByb3BlcnR5ICdIS0xNOlxTT0ZUV0FSRVxXb3c2NDMyTm9kZVxGaWxlWmlsbGEgQ2xpZW50JyAtTmFtZSAiKERlZmF1bHQpIiAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSkuIihEZWZhdWx0KSIKICAgIGlmIChbSW50UHRyXTo6U2l6ZSAtZXEgOCkgewogICAgICAgIGlmICgkZW52OnVzclByZWZlcng2NCAtZXEgJ3RydWUnIC1hbmQgLW5vdCAkcHJpb3IpIHsgJGFyY2ggPSA2NCB9CiAgICAgICAgaWYgKCRwcmlvciAtYW5kICgkcHJpb3IgLW5vdG1hdGNoICc4NicpKSB7ICRhcmNoID0gNjQgfQogICAgfQoKICAgICgoJHBsYWluLlNwbGl0KFtFbnZpcm9ubWVudF06Ok5ld0xpbmUpIHwgU2VsZWN0LVN0cmluZyAid2luJGFyY2gtc2V0dXBcLmV4ZSIpIC1zcGxpdCAnIicgfCBTZWxlY3QtU3RyaW5nICdeaHR0cHM/Oi8vJykuVG9TdHJpbmcoKQp9CgojIC0tLS0tIFByZWNvbmRpdGlvbnMgLS0tLS0KaWYgKChHZXQtSG9zdCkuVmVyc2lvbi5NYWpvciAtbHQgMykgeyBXcml0ZS1Ib3N0ICIhIEVSUk9SOiBQb3dlclNoZWxsIDMuMCBvciBsYXRlciBpcyByZXF1aXJlZC4iOyBleGl0IDEgfQoKaWYgKC1ub3QgJGVudjp1c3JQcmVmZXJ4NjQpIHsgJGVudjp1c3JQcmVmZXJ4NjQgPSAndHJ1ZScgfQoKV3JpdGUtSG9zdCAiLSBDaGVja2luZyBmb3IgcGVyLXVzZXIgaW5zdGFsbHMuLi4iClJlbW92ZS1QZXJVc2VyRloKCmlmICgoR2V0LVByb2Nlc3MgLU5hbWUgZmlsZXppbGxhIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlKSkgewogICAgV3JpdGUtSG9zdCAiLSBGaWxlWmlsbGEgaXMgcnVubmluZy4gUGxlYXNlIGNsb3NlIGl0IGFuZCByZXRyeS4iCiAgICBleGl0IDEKfQoKIyAtLS0tLSBSZXNvbHZlIGRvd25sb2FkIFVSTCAtLS0tLQokdXJsID0gR2V0LUZaRG93bmxvYWRVcmwKaWYgKC1ub3QgJHVybCkgeyBXcml0ZS1Ib3N0ICIhIEVSUk9SOiBVbmFibGUgdG8gcmVzb2x2ZSBkb3dubG9hZCBVUkwuIjsgZXhpdCAxIH0KCiMgLS0tLS0gRG93bmxvYWQgJiBJbnN0YWxsIC0tLS0tCldyaXRlLUhvc3QgIi0gRG93bmxvYWRpbmcgJHVybCAuLi4iCiRvdXQgPSBKb2luLVBhdGggJGVudjpURU1QICJGaWxlWmlsbGEtU2V0dXAuZXhlIgpJbnZva2UtV2ViUmVxdWVzdCAtVXJpICR1cmwgLU91dEZpbGUgJG91dCAtSGVhZGVycyBAeyAiQWNjZXB0Ij0iKi8qIiB9IC1Vc2VyQWdlbnQgIk1vemlsbGEvNS4wIgoKaWYgKCEoVGVzdC1QYXRoICRvdXQpKSB7IFdyaXRlLUhvc3QgIiEgRVJST1I6IERvd25sb2FkIGZhaWxlZC4iOyBleGl0IDEgfQoKV3JpdGUtSG9zdCAiLSBJbnN0YWxsaW5nIEZpbGVaaWxsYS4uLiIKJHAgPSBTdGFydC1Qcm9jZXNzICRvdXQgLUFyZ3VtZW50TGlzdCAiL1MiIC1XYWl0IC1QYXNzVGhydSAtTm9OZXdXaW5kb3cKaWYgKCRwLkV4aXRDb2RlIC1uZSAwKSB7CiAgICBXcml0ZS1Ib3N0ICIhIEVSUk9SOiBJbnN0YWxsZXIgcmV0dXJuZWQgZXhpdCBjb2RlICQoJHAuRXhpdENvZGUpLiIKICAgIGV4aXQgMQp9CgpXcml0ZS1Ib3N0ICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IgpXcml0ZS1Ib3N0ICItIEZpbGVaaWxsYSBpbnN0YWxsZWQhIgo=", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Install_RocketChat_WIN.json b/Assemblies/Scripts/Software Installers/Install_RocketChat_WIN.json deleted file mode 100644 index 50603354..00000000 --- a/Assemblies/Scripts/Software Installers/Install_RocketChat_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "RocketChat [WIN]", - "description": "Silently pulls down the most recent x64 MSI installer of RocketChat from Github and installs it for all users on the device.", - "category": "script", - "type": "powershell", - "script": "IyMjIFBvd2VyU2hlbGwgU2NyaXB0IHRvIERvd25sb2FkIGFuZCBJbnN0YWxsIHRoZSBMYXRlc3QgUm9ja2V0LkNoYXQgTVNJIEluc3RhbGxlcgoKIyBEZWZpbmUgdmFyaWFibGVzIGZvciB0aGUgR2l0SHViIHJlcG9zaXRvcnkgYW5kIHRoZSBsb2NhbCBkb3dubG9hZCBwYXRoCiRHaXRIdWJSZXBvID0gImh0dHBzOi8vYXBpLmdpdGh1Yi5jb20vcmVwb3MvUm9ja2V0Q2hhdC9Sb2NrZXQuQ2hhdC5FbGVjdHJvbi9yZWxlYXNlcy9sYXRlc3QiCiREb3dubG9hZFBhdGggPSAiJGVudjpURU1QXHJvY2tldGNoYXQtbGF0ZXN0Lm1zaSIKCnRyeSB7CiAgICAjIFN0ZXAgMTogRmV0Y2ggdGhlIGxhdGVzdCByZWxlYXNlIGluZm9ybWF0aW9uIGZyb20gR2l0SHViCiAgICBXcml0ZS1Ib3N0ICJGZXRjaGluZyB0aGUgbGF0ZXN0IHJlbGVhc2UgaW5mb3JtYXRpb24gZnJvbSBHaXRIdWIuLi4iCiAgICAkUmVsZWFzZUluZm8gPSBJbnZva2UtUmVzdE1ldGhvZCAtVXJpICRHaXRIdWJSZXBvIC1Vc2VCYXNpY1BhcnNpbmcKCiAgICAjIFN0ZXAgMjogRXh0cmFjdCB0aGUgVVJMIG9mIHRoZSB4NjQgTVNJIGZpbGUgZnJvbSB0aGUgcmVsZWFzZSBhc3NldHMKICAgICRNU0lBc3NldCA9ICRSZWxlYXNlSW5mby5hc3NldHMgfCBXaGVyZS1PYmplY3QgeyAkXy5uYW1lIC1saWtlICIqeDY0Lm1zaSIgfSB8IFNlbGVjdC1PYmplY3QgLUZpcnN0IDEKICAgIGlmICgtbm90ICRNU0lBc3NldCkgewogICAgICAgIFdyaXRlLUVycm9yICJObyB4NjQgTVNJIGluc3RhbGxlciBmb3VuZCBpbiB0aGUgbGF0ZXN0IHJlbGVhc2UuIgogICAgICAgIGV4aXQgMQogICAgfQoKICAgICRNU0lVcmwgPSAkTVNJQXNzZXQuYnJvd3Nlcl9kb3dubG9hZF91cmwKICAgIFdyaXRlLUhvc3QgIkZvdW5kIHg2NCBNU0kgaW5zdGFsbGVyOiAkTVNJVXJsIgoKICAgICMgU3RlcCAzOiBEb3dubG9hZCB0aGUgTVNJIGluc3RhbGxlciB0byB0aGUgbG9jYWwgcGF0aAogICAgV3JpdGUtSG9zdCAiRG93bmxvYWRpbmcgdGhlIHg2NCBNU0kgaW5zdGFsbGVyLi4uIgogICAgSW52b2tlLVdlYlJlcXVlc3QgLVVyaSAkTVNJVXJsIC1PdXRGaWxlICREb3dubG9hZFBhdGgKCiAgICBpZiAoLU5vdCAoVGVzdC1QYXRoICREb3dubG9hZFBhdGgpKSB7CiAgICAgICAgV3JpdGUtRXJyb3IgIkZhaWxlZCB0byBkb3dubG9hZCB0aGUgTVNJIGluc3RhbGxlci4iCiAgICAgICAgZXhpdCAxCiAgICB9CgogICAgV3JpdGUtSG9zdCAieDY0IE1TSSBpbnN0YWxsZXIgZG93bmxvYWRlZCBzdWNjZXNzZnVsbHkgdG8gJERvd25sb2FkUGF0aCIKCiAgICAjIFN0ZXAgNDogSW5zdGFsbCB0aGUgTVNJIGluc3RhbGxlciBzaWxlbnRseSB3aXRoIGFkbWluIHByaXZpbGVnZXMKICAgIFdyaXRlLUhvc3QgIkluc3RhbGxpbmcgUm9ja2V0LkNoYXQgc2lsZW50bHkuLi4iCiAgICAkQXJndW1lbnRzID0gIi9pIGAiJERvd25sb2FkUGF0aGAiIC9xdWlldCAvbm9yZXN0YXJ0IEFMTFVTRVJTPTEiCiAgICBTdGFydC1Qcm9jZXNzIG1zaWV4ZWMuZXhlIC1Bcmd1bWVudExpc3QgJEFyZ3VtZW50cyAtV2FpdCAtTm9OZXdXaW5kb3cKCiAgICBXcml0ZS1Ib3N0ICJSb2NrZXQuQ2hhdCBpbnN0YWxsYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4iCgp9IGNhdGNoIHsKICAgICMgQ2F0Y2ggYW5kIGRpc3BsYXkgYW55IGVycm9ycyBkdXJpbmcgdGhlIHByb2Nlc3MKICAgIFdyaXRlLUVycm9yICJBbiBlcnJvciBvY2N1cnJlZDogJF8iCn0gZmluYWxseSB7CiAgICAjIFN0ZXAgNTogQ2xlYW4gdXAgdGhlIGRvd25sb2FkZWQgZmlsZSBpZiBuZWVkZWQKICAgIGlmIChUZXN0LVBhdGggJERvd25sb2FkUGF0aCkgewogICAgICAgIFJlbW92ZS1JdGVtICREb3dubG9hZFBhdGggLUZvcmNlCiAgICAgICAgV3JpdGUtSG9zdCAiQ2xlYW5lZCB1cCB0aGUgZG93bmxvYWRlZCBpbnN0YWxsZXIuIgogICAgfQp9Cg==", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Internet Browsers/Google_Chrome_WIN.json b/Assemblies/Scripts/Software Installers/Internet Browsers/Google_Chrome_WIN.json deleted file mode 100644 index 3a1f7aeb..00000000 --- a/Assemblies/Scripts/Software Installers/Internet Browsers/Google_Chrome_WIN.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "version": 1, - "name": "Google Chrome [WIN]", - "description": "Installs or updates Google Chrome to the latest version.", - "category": "application", - "type": "powershell", - "script": "IyBDaHJvbWUgU3lzdGVtIEluc3RhbGxlci9Vbmluc3RhbGxlciAoeDg2L3g2NCkgZHJpdmVuIGJ5ICRlbnY6dXNyQWN0aW9uCiMgQWN0aW9uczoKIyAgIHVzckFjdGlvbj1pbnN0YWxsICAgLT4gaW5zdGFsbHMgQ2hyb21lIHN5c3RlbS13aWRlIChkZWZhdWx0KQojICAgdXNyQWN0aW9uPXVuaW5zdGFsbCAtPiB1bmluc3RhbGxzIENocm9tZSBzeXN0ZW0td2lkZQoKJEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICdTdG9wJwokUHJvZ3Jlc3NQcmVmZXJlbmNlICAgID0gJ1NpbGVudGx5Q29udGludWUnCgojIFR1bmFibGVzCiREb3dubG9hZFRpbWVvdXRTZWMgICA9IDE4MCAgICAjIHBlci1hdHRlbXB0IG5ldHdvcmsgdGltZW91dAokSW5zdGFsbGVyVGltZW91dFNlYyAgPSAxMjAwICAgIyBvdmVyYWxsIGluc3RhbGwvdW5pbnN0YWxsIGNlaWxpbmcgKHNlY29uZHMpCiRNc2lleGVjUXVpZXRBcmdzICAgICA9ICcvcW4gL25vcmVzdGFydCcKCiMgT3B0aW9uYWwga2lsbCB0b2dnbGUgdmlhIGVudiAodHJ1ZS9mYWxzZS8xLzAveWVzL25vKQokZmtSYXcgPSAkZW52OmZvcmNlS2lsbENocm9tZQppZiAoW3N0cmluZ106OklzTnVsbE9yV2hpdGVTcGFjZSgkZmtSYXcpKSB7ICRma1JhdyA9ICdmYWxzZScgfQokRm9yY2VLaWxsQ2hyb21lID0gQCgnMScsJ3RydWUnLCd5ZXMnLCd5Jywnb24nKSAtY29udGFpbnMgJGZrUmF3LlRvU3RyaW5nKCkuVHJpbSgpLlRvTG93ZXJJbnZhcmlhbnQoKQoKIyAtLS0gSGVscGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBHZXQtU3lzdGVtQXJjaFRhZyB7CiAgaWYgKFtJbnRQdHJdOjpTaXplIC1lcSA0KSB7ICdlJyB9IGVsc2UgeyAnZTY0JyB9Cn0KCmZ1bmN0aW9uIERvd25sb2FkLUZpbGUgewogIHBhcmFtKAogICAgW1BhcmFtZXRlcihNYW5kYXRvcnkpXSBbc3RyaW5nXSRVcmwsCiAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeSldIFtzdHJpbmddJE91dEZpbGUsCiAgICBbaW50XSRUaW1lb3V0U2VjID0gMTIwLAogICAgW2ludF0kTWF4QXR0ZW1wdHMgPSAzCiAgKQogIHRyeSB7IFtOZXQuU2VydmljZVBvaW50TWFuYWdlcl06OlNlY3VyaXR5UHJvdG9jb2wgPSBbTmV0LlNlY3VyaXR5UHJvdG9jb2xUeXBlXTo6VGxzMTIgfSBjYXRjaCB7IH0KCiAgZm9yICgkaT0xOyAkaSAtbGUgJE1heEF0dGVtcHRzOyAkaSsrKSB7CiAgICB0cnkgewogICAgICBJbnZva2UtV2ViUmVxdWVzdCAtVXJpICRVcmwgLU91dEZpbGUgJE91dEZpbGUgLVVzZUJhc2ljUGFyc2luZyAtVGltZW91dFNlYyAkVGltZW91dFNlYyAtRXJyb3JBY3Rpb24gU3RvcAogICAgICBpZiAoVGVzdC1QYXRoICRPdXRGaWxlKSB7IHJldHVybiB9CiAgICB9IGNhdGNoIHsKICAgICAgU3RhcnQtU2xlZXAgLVNlY29uZHMgKFtpbnRdW21hdGhdOjpNaW4oNSAqICRpLCAyMCkpCiAgICAgIHRyeSB7CiAgICAgICAgU3RhcnQtQml0c1RyYW5zZmVyIC1Tb3VyY2UgJFVybCAtRGVzdGluYXRpb24gJE91dEZpbGUgLUVycm9yQWN0aW9uIFN0b3AKICAgICAgICBpZiAoVGVzdC1QYXRoICRPdXRGaWxlKSB7IHJldHVybiB9CiAgICAgIH0gY2F0Y2ggewogICAgICAgIGlmICgkaSAtZXEgJE1heEF0dGVtcHRzKSB7IHRocm93IH0KICAgICAgfQogICAgfQogIH0KICB0aHJvdyAiRmFpbGVkIHRvIGRvd25sb2FkICRVcmwgYWZ0ZXIgJE1heEF0dGVtcHRzIGF0dGVtcHRzLiIKfQoKZnVuY3Rpb24gR2V0LUNocm9tZVBhdGhzIHsKICAkY2FuZGlkYXRlcyA9IEAoKQogIGZvcmVhY2ggKCRyb290IGluIEAoJGVudjpQcm9ncmFtRmlsZXMsICR7ZW52OlByb2dyYW1GaWxlcyh4ODYpfSkpIHsKICAgIGlmIChbc3RyaW5nXTo6SXNOdWxsT3JXaGl0ZVNwYWNlKCRyb290KSkgeyBjb250aW51ZSB9CiAgICAkZXhlID0gSm9pbi1QYXRoICRyb290ICdHb29nbGVcQ2hyb21lXEFwcGxpY2F0aW9uXGNocm9tZS5leGUnCiAgICAkY2FuZGlkYXRlcyArPSAkZXhlCiAgfQogICRjYW5kaWRhdGVzCn0KCmZ1bmN0aW9uIENocm9tZS1Jc0luc3RhbGxlZCB7CiAgZm9yZWFjaCAoJHAgaW4gR2V0LUNocm9tZVBhdGhzKSB7CiAgICBpZiAoVGVzdC1QYXRoICRwKSB7IHJldHVybiAkdHJ1ZSB9CiAgfQogIHJldHVybiAkZmFsc2UKfQoKZnVuY3Rpb24gV2FpdC1Gb3ItSW5zdGFsbENvbXBsZXRpb24gewogIHBhcmFtKAogICAgW2ludF0kT3ZlcmFsbFRpbWVvdXRTZWMsCiAgICBbaW50XSRRdWlldFBvbGxNcyA9IDEwMDAKICApCiAgJHN3ID0gW1N5c3RlbS5EaWFnbm9zdGljcy5TdG9wd2F0Y2hdOjpTdGFydE5ldygpCiAgd2hpbGUgKCRzdy5FbGFwc2VkLlRvdGFsU2Vjb25kcyAtbHQgJE92ZXJhbGxUaW1lb3V0U2VjKSB7CiAgICAjIElmIENocm9tZSBpcyBwcmVzZW50LCBjb25zaWRlciBpbnN0YWxsIGNvbXBsZXRlLgogICAgaWYgKENocm9tZS1Jc0luc3RhbGxlZCkgeyByZXR1cm4gJHRydWUgfQoKICAgICMgSWYgdGhlcmUgYXJlIG5vIG1zaWV4ZWMgcHJvY2Vzc2VzLCBidXQgQ2hyb21lIGlzbuKAmXQgeWV0IHZpc2libGUsIGtlZXAgcG9sbGluZyBicmllZmx5LgogICAgJG1zaSA9IEdldC1Qcm9jZXNzIC1OYW1lIG1zaWV4ZWMgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKICAgIGlmICgtbm90ICRtc2kpIHsKICAgICAgIyBSYWNlOiBNU0kgc2VydmljZSBjYW4gZmluYWxpemUgYWZ0ZXIgY2xpZW50IGV4aXRz4oCUZ2l2ZSBpdCBhIHNob3J0IGdyYWNlICsgcmVjaGVjay4KICAgICAgU3RhcnQtU2xlZXAgLU1pbGxpc2Vjb25kcyAkUXVpZXRQb2xsTXMKICAgICAgaWYgKENocm9tZS1Jc0luc3RhbGxlZCkgeyByZXR1cm4gJHRydWUgfQogICAgfQoKICAgIFN0YXJ0LVNsZWVwIC1NaWxsaXNlY29uZHMgJFF1aWV0UG9sbE1zCiAgfQogIHJldHVybiAkZmFsc2UKfQoKZnVuY3Rpb24gR2V0LUNocm9tZVVuaW5zdGFsbEVudHJpZXMgewogICRwYXRocyA9IEAoCiAgICAnSEtMTTpcU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsJywKICAgICdIS0xNOlxTT0ZUV0FSRVxXb3c2NDMyTm9kZVxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGwnCiAgKQoKICBmb3JlYWNoICgkcCBpbiAkcGF0aHMpIHsKICAgIEdldC1DaGlsZEl0ZW0gJHAgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfCBGb3JFYWNoLU9iamVjdCB7CiAgICAgICRpdGVtID0gR2V0LUl0ZW1Qcm9wZXJ0eSAkXy5QU1BhdGggLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKICAgICAgaWYgKCRudWxsIC1uZSAkaXRlbSAtYW5kICRpdGVtLkRpc3BsYXlOYW1lIC1tYXRjaCAnXkdvb2dsZSBDaHJvbWUnKSB7CiAgICAgICAgW3BzY3VzdG9tb2JqZWN0XUB7CiAgICAgICAgICBLZXlQYXRoICAgICAgICAgPSAkXy5QU1BhdGgKICAgICAgICAgIFByb2R1Y3RDb2RlICAgICA9ICRpdGVtLlBTQ2hpbGROYW1lCiAgICAgICAgICBEaXNwbGF5TmFtZSAgICAgPSAkaXRlbS5EaXNwbGF5TmFtZQogICAgICAgICAgVW5pbnN0YWxsU3RyaW5nID0gJGl0ZW0uVW5pbnN0YWxsU3RyaW5nCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CgpmdW5jdGlvbiBTdG9wLUNocm9tZUlmUmVxdWVzdGVkIHsKICBwYXJhbShbc3dpdGNoXSRGb3JjZSkKICBpZiAoJEZvcmNlKSB7CiAgICBHZXQtUHJvY2VzcyAtTmFtZSBjaHJvbWUgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfCBTdG9wLVByb2Nlc3MgLUZvcmNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlCiAgfQp9CgpmdW5jdGlvbiBVbmluc3RhbGwtQ2hyb21lIHsKICBwYXJhbShbaW50XSRUaW1lb3V0U2VjID0gMTIwMCwgW3N3aXRjaF0kS2lsbCkKICBTdG9wLUNocm9tZUlmUmVxdWVzdGVkIC1Gb3JjZTokS2lsbAoKICAkZW50cmllcyA9IEdldC1DaHJvbWVVbmluc3RhbGxFbnRyaWVzCiAgaWYgKC1ub3QgJGVudHJpZXMpIHsgcmV0dXJuIH0KCiAgZm9yZWFjaCAoJGUgaW4gJGVudHJpZXMpIHsKICAgIGlmICgkZS5Vbmluc3RhbGxTdHJpbmcgLW1hdGNoICdtc2lleGVjJykgewogICAgICAkY29kZSA9ICRlLlByb2R1Y3RDb2RlCiAgICAgICRhcmdzID0gIi94JGNvZGUgJE1zaWV4ZWNRdWlldEFyZ3MiCiAgICAgICRwID0gU3RhcnQtUHJvY2VzcyBtc2lleGVjIC1Bcmd1bWVudExpc3QgJGFyZ3MgLVBhc3NUaHJ1IC1Ob05ld1dpbmRvdwogICAgICAjIFVzZSBnbG9iYWwgd2FpdGVyIHRoYXQgd2F0Y2hlcyBtc2lleGVjIGFuZCBzdGF0ZToKICAgICAgJG9rID0gV2FpdC1Gb3ItSW5zdGFsbENvbXBsZXRpb24gLU92ZXJhbGxUaW1lb3V0U2VjICRUaW1lb3V0U2VjCiAgICAgIGlmICgtbm90ICRvaykgeyB0aHJvdyAiVW5pbnN0YWxsIHRpbWVvdXQgZm9yICQoJGUuRGlzcGxheU5hbWUpLiIgfQogICAgfSBlbHNlIHsKICAgICAgJGV4ZVBhdGggPSAkbnVsbDsgJGV4ZUFyZ3MgPSAkbnVsbAogICAgICBpZiAoJGUuVW5pbnN0YWxsU3RyaW5nIC1tYXRjaCAnXlxzKiIoLio/KSJccyooLiopJCcpIHsKICAgICAgICAkZXhlUGF0aCA9ICRtYXRjaGVzWzFdOyAkZXhlQXJncyA9ICRtYXRjaGVzWzJdCiAgICAgIH0gZWxzZSB7CiAgICAgICAgJHBhcnRzID0gJGUuVW5pbnN0YWxsU3RyaW5nIC1zcGxpdCAnXHMrJywgMgogICAgICAgICRleGVQYXRoID0gJHBhcnRzWzBdCiAgICAgICAgJGV4ZUFyZ3MgPSBpZiAoJHBhcnRzLkNvdW50IC1ndCAxKSB7ICRwYXJ0c1sxXSB9IGVsc2UgeyAnJyB9CiAgICAgIH0KICAgICAgaWYgKC1ub3QgKFRlc3QtUGF0aCAkZXhlUGF0aCkpIHsgY29udGludWUgfQogICAgICAkZXhlQXJncyA9ICIkZXhlQXJncyAtLXVuaW5zdGFsbCAtLWZvcmNlLXVuaW5zdGFsbCAtLW11bHRpLWluc3RhbGwgLS1jaHJvbWUiCiAgICAgICRwID0gU3RhcnQtUHJvY2VzcyAtRmlsZVBhdGggJGV4ZVBhdGggLUFyZ3VtZW50TGlzdCAkZXhlQXJncyAtUGFzc1RocnUgLU5vTmV3V2luZG93CiAgICAgICRvayA9IFdhaXQtRm9yLUluc3RhbGxDb21wbGV0aW9uIC1PdmVyYWxsVGltZW91dFNlYyAkVGltZW91dFNlYwogICAgICBpZiAoLW5vdCAkb2spIHsgdGhyb3cgIlVuaW5zdGFsbCB0aW1lb3V0IGZvciAkKCRlLkRpc3BsYXlOYW1lKS4iIH0KICAgIH0KICB9Cn0KCmZ1bmN0aW9uIEluc3RhbGwtQ2hyb21lIHsKICBwYXJhbShbaW50XSRUaW1lb3V0U2VjID0gMTIwMCwgW3N3aXRjaF0kS2lsbCkKICBTdG9wLUNocm9tZUlmUmVxdWVzdGVkIC1Gb3JjZTokS2lsbAoKICAkdGFnICA9IEdldC1TeXN0ZW1BcmNoVGFnCiAgJHVybCAgPSAiaHR0cHM6Ly9kbC5nb29nbGUuY29tL3RhZy9zL2RsL2Nocm9tZS9pbnN0YWxsL2dvb2dsZWNocm9tZXN0YW5kYWxvbmVlbnRlcnByaXMkdGFnLm1zaSIKICAkdGVtcCA9IEpvaW4tUGF0aCAoW0lPLlBhdGhdOjpHZXRUZW1wUGF0aCgpKSAoIkNocm9tZS0kdGFnLXswfS5tc2kiIC1mIChbR3VpZF06Ok5ld0d1aWQoKSkpCgogIERvd25sb2FkLUZpbGUgLVVybCAkdXJsIC1PdXRGaWxlICR0ZW1wIC1UaW1lb3V0U2VjICREb3dubG9hZFRpbWVvdXRTZWMKICBpZiAoLW5vdCAoVGVzdC1QYXRoICR0ZW1wKSkgeyB0aHJvdyAiRG93bmxvYWRlZCBNU0kgbm90IGZvdW5kIGF0ICR0ZW1wIiB9CgogICRhcmdzID0gIi9pIGAiJHRlbXBgIiAkTXNpZXhlY1F1aWV0QXJncyIKICAkcCA9IFN0YXJ0LVByb2Nlc3MgbXNpZXhlYyAtQXJndW1lbnRMaXN0ICRhcmdzIC1QYXNzVGhydSAtTm9OZXdXaW5kb3cKCiAgIyBSb2J1c3Qgd2FpdDogc3VjY2VlZCBlYXJseSBpZiBjaHJvbWUuZXhlIGFwcGVhcnMsIGVsc2Ugd2FpdCB1cCB0byBjZWlsaW5nCiAgJG9rID0gV2FpdC1Gb3ItSW5zdGFsbENvbXBsZXRpb24gLU92ZXJhbGxUaW1lb3V0U2VjICRUaW1lb3V0U2VjCiAgaWYgKC1ub3QgJG9rKSB7IHRocm93ICJJbnN0YWxsIHRpbWVvdXQgZm9yIENocm9tZS4iIH0KCiAgUmVtb3ZlLUl0ZW0gJHRlbXAgLUZvcmNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlCn0KCiMgLS0tIE9TIHNhbml0eSBjaGVjayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiRidWlsZCA9IFtpbnRdKEdldC1DaW1JbnN0YW5jZSBXaW4zMl9PcGVyYXRpbmdTeXN0ZW0pLkJ1aWxkTnVtYmVyCmlmICgkYnVpbGQgLWx0IDEwMjQwKSB7IHRocm93ICJXaW5kb3dzIDEwL1NlcnZlciAyMDE2IG9yIGxhdGVyIGlzIHJlcXVpcmVkLiIgfQoKIyAtLS0gQWN0aW9uIHNlbGVjdGlvbiB2aWEgZW52OnVzckFjdGlvbiAoZGVmYXVsdCA9IGluc3RhbGwpIC0tLS0tLS0tLS0tLS0KJGFjdGlvblJhdyA9ICRlbnY6dXNyQWN0aW9uCmlmIChbc3RyaW5nXTo6SXNOdWxsT3JXaGl0ZVNwYWNlKCRhY3Rpb25SYXcpKSB7ICRhY3Rpb25SYXcgPSAnaW5zdGFsbCcgfQokYWN0aW9uID0gJGFjdGlvblJhdy5Ub1N0cmluZygpLlRyaW0oKS5Ub0xvd2VySW52YXJpYW50KCkKCnN3aXRjaCAoJGFjdGlvbikgewogICd1bmluc3RhbGwnIHsgVW5pbnN0YWxsLUNocm9tZSAtVGltZW91dFNlYyAkSW5zdGFsbGVyVGltZW91dFNlYyAtS2lsbDokRm9yY2VLaWxsQ2hyb21lIH0KICBkZWZhdWx0ICAgICB7IEluc3RhbGwtQ2hyb21lICAtVGltZW91dFNlYyAkSW5zdGFsbGVyVGltZW91dFNlYyAtS2lsbDokRm9yY2VLaWxsQ2hyb21lIH0KfQ==", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "usrAction", - "label": "Action to Take", - "type": "string", - "default": "install", - "required": true, - "description": "\"Install\" or \"Uninstall\"" - }, - { - "name": "forceKillChrome", - "label": "Kill Running Chrome Processes", - "type": "string", - "default": "false", - "required": false, - "description": "\"install\" (default) or \"uninstall\"" - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Internet Browsers/Mozilla_Firefox_WIN.json b/Assemblies/Scripts/Software Installers/Internet Browsers/Mozilla_Firefox_WIN.json deleted file mode 100644 index 4e3ec871..00000000 --- a/Assemblies/Scripts/Software Installers/Internet Browsers/Mozilla_Firefox_WIN.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "version": 1, - "name": "Mozilla Firefox [WIN]", - "description": "", - "category": "application", - "type": "powershell", - "script": "IyBGaXJlZm94IEluc3RhbGxlciAvIFVwZGF0ZXIgKHg4Ni94NjQpIOKAlCBtaW5pbWFsLCB2ZW5kb3ItYWdub3N0aWMKCnBhcmFtKCkKCiREZWJ1Z01vZGUgPSAkZmFsc2UKJGdsb2JhbDpGRkluZGV4ID0gMAokZ2xvYmFsOkZvdW5kRkYgPSBAKCkKCmZ1bmN0aW9uIExvZ0RlYnVnKFtzdHJpbmddJG0pIHsgaWYgKCREZWJ1Z01vZGUpIHsgV3JpdGUtSG9zdCAiREJHOiAkbSIgfSB9CgojIE5vcm1hbGl6ZSBhY3Rpb24KaWYgKC1ub3QgJGVudjp1c3JBY3Rpb24gLW9yICRlbnY6dXNyQWN0aW9uLkxlbmd0aCAtbHQgMikgeyAkZW52OnVzckFjdGlvbiA9ICdJbnN0YWxsJyB9CgojIEN1cnJlbnQgdXNlciBTSUQgKGZvciBIS1UgcGF0aHMpCiRDdXJyZW50U2lkID0gW1N5c3RlbS5TZWN1cml0eS5QcmluY2lwYWwuV2luZG93c0lkZW50aXR5XTo6R2V0Q3VycmVudCgpLlVzZXIuVmFsdWUKCiMgU2ltcGxlIFBFIG1hY2hpbmUgdHlwZSByZWFkZXIgKHg4Ni94NjQgb25seSkKZnVuY3Rpb24gR2V0LUJpbkFyY2ggewogICAgcGFyYW0oW1BhcmFtZXRlcihNYW5kYXRvcnkpXVtzdHJpbmddJFBhdGgpCiAgICBMb2dEZWJ1ZyAiR2V0LUJpbkFyY2ggPCRQYXRoPiIKICAgIGlmICgtbm90IChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRQYXRoKSkgeyByZXR1cm4gJG51bGwgfQogICAgJGZzID0gW0lPLkZpbGVdOjpPcGVuKCRQYXRoLCAnT3BlbicsICdSZWFkJywgJ1JlYWRXcml0ZScpCiAgICB0cnkgewogICAgICAgICRidWYgPSBOZXctT2JqZWN0IGJ5dGVbXSA0CiAgICAgICAgJG51bGwgPSAkZnMuUmVhZCgkYnVmLDAsNCkKICAgICAgICBpZiAoW0JpdENvbnZlcnRlcl06OlRvVUludDE2KCRidWYsMCkgLW5lIDB4NUE0RCkgeyByZXR1cm4gJG51bGwgfQogICAgICAgICRmcy5Qb3NpdGlvbiA9IDB4M0MKICAgICAgICAkbnVsbCA9ICRmcy5SZWFkKCRidWYsMCw0KQogICAgICAgICRwZW9mZiA9IFtCaXRDb252ZXJ0ZXJdOjpUb0ludDMyKCRidWYsMCkKICAgICAgICAkZnMuUG9zaXRpb24gPSAkcGVvZmYKICAgICAgICAkbnVsbCA9ICRmcy5SZWFkKCRidWYsMCw0KQogICAgICAgIGlmIChbQml0Q29udmVydGVyXTo6VG9VSW50MzIoJGJ1ZiwwKSAtbmUgMHgwMDAwNDU1MCkgeyByZXR1cm4gJG51bGwgfQogICAgICAgICRidWYyID0gTmV3LU9iamVjdCBieXRlW10gMgogICAgICAgICRudWxsID0gJGZzLlJlYWQoJGJ1ZjIsMCwyKQogICAgICAgIHN3aXRjaCAoW0JpdENvbnZlcnRlcl06OlRvVUludDE2KCRidWYyLDApKSB7CiAgICAgICAgICAgIDB4MDE0YyB7ICd4ODYnIH0KICAgICAgICAgICAgMHg4NjY0IHsgJ3g2NCcgfQogICAgICAgICAgICBkZWZhdWx0IHsgJG51bGwgfQogICAgICAgIH0KICAgIH0gZmluYWxseSB7ICRmcy5EaXNwb3NlKCkgfQp9CgojIEdhdGhlciBGaXJlZm94IGluc3RhbGwgaW5mbyBmcm9tIGFuIHVuaW5zdGFsbCByZWdpc3RyeSBrZXkKZnVuY3Rpb24gQWRkLUZpcmVmb3hSZWNvcmQgewogICAgcGFyYW0oCiAgICAgICAgW3N0cmluZ10kU2lkT3JTeXN0ZW0sCiAgICAgICAgW3N0cmluZ10kUmVnUGF0aAogICAgKQogICAgJHBmeCA9ICJSZWdpc3RyeTo6JFJlZ1BhdGgiCiAgICB0cnkgewogICAgICAgICRpdG0gPSBHZXQtSXRlbVByb3BlcnR5IC1MaXRlcmFsUGF0aCAkcGZ4IC1FcnJvckFjdGlvbiBTdG9wCiAgICB9IGNhdGNoIHsgcmV0dXJuIH0KCiAgICAkbmFtZSA9ICRpdG0uRGlzcGxheU5hbWUKICAgIGlmICgtbm90ICRuYW1lIC1vciAkbmFtZSAtbm90bWF0Y2ggJ0ZpcmVmb3gnKSB7IHJldHVybiB9CgogICAgJGxvYyAgPSAoJGl0bS5EaXNwbGF5SWNvbiAtc3BsaXQgJywnKVswXQogICAgJHZlciAgPSAkaXRtLkRpc3BsYXlWZXJzaW9uCiAgICAkYXJjaCA9IEdldC1CaW5BcmNoIC1QYXRoICRsb2MKICAgICRjaGFuID0gaWYgKCRuYW1lIC1tYXRjaCAnRVNSJykgeyAnRVNSJyB9CiAgICAgICAgICAgIGVsc2VpZiAoJG5hbWUgLW1hdGNoICdCZXRhJykgeyAnQmV0YScgfQogICAgICAgICAgICBlbHNlaWYgKCRuYW1lIC1tYXRjaCAnRGV2ZWxvcGVyJykgeyAnRGV2ZWxvcGVyJyB9CiAgICAgICAgICAgIGVsc2VpZiAoJG5hbWUgLW1hdGNoICdOaWdodGx5JykgeyAnTmlnaHRseScgfQogICAgICAgICAgICBlbHNlIHsgJ1N0YWJsZScgfQoKICAgICR1c2VyID0gaWYgKCRTaWRPclN5c3RlbSkgewogICAgICAgIHRyeSB7IChOZXctT2JqZWN0IFN5c3RlbS5TZWN1cml0eS5QcmluY2lwYWwuU2VjdXJpdHlJZGVudGlmaWVyKCRTaWRPclN5c3RlbSkpLlRyYW5zbGF0ZShbU3lzdGVtLlNlY3VyaXR5LlByaW5jaXBhbC5OVEFjY291bnRdKS5WYWx1ZSB9IGNhdGNoIHsgJFNpZE9yU3lzdGVtIH0KICAgIH0gZWxzZSB7ICdbU3lzdGVtXScgfQoKICAgICRvYmogPSBbb3JkZXJlZF1AewogICAgICAgIElkICAgICAgICAgPSArKyRnbG9iYWw6RkZJbmRleAogICAgICAgIFVzZXIgICAgICAgPSAkdXNlcgogICAgICAgIENoYW5uZWwgICAgPSAkY2hhbgogICAgICAgIFZlcnNpb24gICAgPSAkdmVyCiAgICAgICAgQXJjaCAgICAgICA9ICRhcmNoCiAgICAgICAgTG9jYXRpb24gICA9ICRsb2MKICAgICAgICBVbmluc3RhbGwgID0gJGl0bS5Vbmluc3RhbGxTdHJpbmcKICAgICAgICBDaG9zZW4gICAgID0gJGZhbHNlCiAgICB9CiAgICAkZ2xvYmFsOkZvdW5kRkYgKz0gW3BzY3VzdG9tb2JqZWN0XSRvYmoKICAgIExvZ0RlYnVnICgiRkYgezB9IiAtZiAoJG9iaiB8IENvbnZlcnRUby1Kc29uIC1Db21wcmVzcykpCn0KCiMgT1MgcmVxdWlyZW1lbnQKaWYgKFtpbnRdKEdldC1DaW1JbnN0YW5jZSBXaW4zMl9PcGVyYXRpbmdTeXN0ZW0pLkJ1aWxkTnVtYmVyIC1sdCAxMDI0MCkgewogICAgV3JpdGUtSG9zdCAiISBFUlJPUjogUmVxdWlyZXMgV2luZG93cyAxMC9TZXJ2ZXIgMjAxNiBvciBuZXdlci4iCiAgICBleGl0IDEKfQoKIyBOYXRpdmUgbGFuZ3VhZ2UgKEluc3RhbGxMYW5ndWFnZSDihpIgbG9jYWxlIGNvZGUpCiRpbnN0YWxsTGFuZyA9IChHZXQtSXRlbVByb3BlcnR5ICdIS0xNOlxTeXN0ZW1cQ29udHJvbFNldDAwMVxDb250cm9sXE5sc1xMYW5ndWFnZScpLkluc3RhbGxMYW5ndWFnZQokTGFuZ01hcCA9IEB7CiAgJzA0MDknPSdlbi1VUyc7ICcwODA5Jz0nZW4tR0InOyAnMTAwOSc9J2VuLUNBJzsgJzBDMEMnPSdmci1DQSc7ICcwNDBDJz0nZnInOwogICcwNDA3Jz0nZGUnOyAnMDQxMCc9J2l0JzsgJzBBMEEnPSdlcy1FUyc7ICcwODBBJz0nZXMtTVgnOyAnMDQxNic9J3B0LUJSJzsgJzA4MTYnPSdwdC1QVCc7CiAgJzA0MTQnPSduYi1OTyc7ICcwODE0Jz0nbm4tTk8nOyAnMDQxRCc9J3N2LVNFJzsgJzA0MTUnPSdwbCc7ICcwNDA1Jz0nY3MnOyAnMDQwRSc9J2h1JzsKICAnMDQxOSc9J3J1JzsgJzA0MTEnPSdqYSc7ICcwNDEyJz0na28nOyAnMDQwNCc9J3poLVRXJzsgJzA4MDQnPSd6aC1DTic7ICcwNDE4Jz0ncm8nOwogICcwNDIyJz0ndWsnOyAnMDQxRic9J3RyJzsgJzA0MEEnPSdlcy1FUycKfQokTmF0aXZlTGFuZyA9ICRMYW5nTWFwWyRpbnN0YWxsTGFuZ10KaWYgKC1ub3QgJE5hdGl2ZUxhbmcpIHsgJE5hdGl2ZUxhbmcgPSAnZW4tR0InIH0KCiMgTmF0aXZlIGFyY2ggKG5vIEFSTSkKJE5hdGl2ZUFyY2ggPSBpZiAoW0ludFB0cl06OlNpemUgLWVxIDQpIHsgJ3g4NicgfSBlbHNlIHsgJ3g2NCcgfQoKV3JpdGUtSG9zdCAiRmlyZWZveCAoeDg2L3g2NCkiCldyaXRlLUhvc3QgIj09PT09PT09PT09PT09PT09IgpXcml0ZS1Ib3N0ICI6IEFjdGlvbjogICAkKCRlbnY6dXNyQWN0aW9uKSIKV3JpdGUtSG9zdCAiOiBMYW5ndWFnZTogJE5hdGl2ZUxhbmciCldyaXRlLUhvc3QgIjogQXJjaDogICAgICROYXRpdmVBcmNoIgoKIyBMb2FkIG9mZmxpbmUgdXNlciBoaXZlcyB0byBzY2FuIHBlci11c2VyIHVuaW5zdGFsbCBrZXlzCiRQcm9maWxlUm9vdCA9ICdIS0xNOlxTT0ZUV0FSRVxNaWNyb3NvZnRcV2luZG93cyBOVFxDdXJyZW50VmVyc2lvblxQcm9maWxlTGlzdCcKJFVzZXJTaWRzID0gR2V0LUNoaWxkSXRlbSAkUHJvZmlsZVJvb3QgfCBXaGVyZS1PYmplY3QgeyAkXy5QU0NoaWxkTmFtZSAtbWF0Y2ggJ15TLTEtNS0yMS0nIH0gfAogICAgRm9yRWFjaC1PYmplY3QgewogICAgICAgICRwID0gKEdldC1JdGVtUHJvcGVydHkgJF8uUFNQYXRoKS5Qcm9maWxlSW1hZ2VQYXRoCiAgICAgICAgaWYgKCRwIC1hbmQgKFRlc3QtUGF0aCAiJHBcTlRVU0VSLkRBVCIpKSB7ICRfLlBTQ2hpbGROYW1lIH0KICAgIH0KCiRMb2FkZWQgPSBAKCkKZm9yZWFjaCAoJHNpZCBpbiAkVXNlclNpZHMpIHsKICAgIGlmICgtbm90IChHZXQtQ2hpbGRJdGVtIFJlZ2lzdHJ5OjpIS0VZX1VTRVJTIHwgRm9yRWFjaC1PYmplY3QgTmFtZSB8IEZvckVhY2gtT2JqZWN0IHsgU3BsaXQtUGF0aCAkXyAtTGVhZiB9IHwgV2hlcmUtT2JqZWN0IHsgJF8gLWVxICRzaWQgfSkpIHsKICAgICAgICBjbWQgL2MgInJlZyBsb2FkIGAiSEtVXCRzaWRgIiBgIiQoKEdldC1JdGVtUHJvcGVydHkgIiRQcm9maWxlUm9vdFwkc2lkIikuUHJvZmlsZUltYWdlUGF0aClcTlRVU0VSLkRBVGAiIiAyPiYxPiRudWxsCiAgICAgICAgJExvYWRlZCArPSAkc2lkCiAgICB9Cn0KCiMgU3lzdGVtLWxldmVsIGluc3RhbGxzCmZvcmVhY2ggKCRyb290IGluICdTb2Z0d2FyZScsJ1NvZnR3YXJlXFdvdzY0MzJOb2RlJykgewogICAgJGJhc2UgPSAiUmVnaXN0cnk6OkhLRVlfTE9DQUxfTUFDSElORVwkcm9vdFxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGwiCiAgICBHZXQtQ2hpbGRJdGVtICRiYXNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgRm9yRWFjaC1PYmplY3QgewogICAgICAgIEFkZC1GaXJlZm94UmVjb3JkIC1TaWRPclN5c3RlbSAkbnVsbCAtUmVnUGF0aCAkXy5OYW1lCiAgICB9Cn0KCiMgVXNlci1sZXZlbCBpbnN0YWxscyAob2ZmbGluZSBoaXZlcykKZm9yZWFjaCAoJHNpZCBpbiAkTG9hZGVkKSB7CiAgICBmb3JlYWNoICgkcm9vdCBpbiAnU29mdHdhcmUnLCdTb2Z0d2FyZVxXb3c2NDMyTm9kZScpIHsKICAgICAgICAkYmFzZSA9ICJSZWdpc3RyeTo6SEtFWV9VU0VSU1wkc2lkXCRyb290XE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbCIKICAgICAgICBHZXQtQ2hpbGRJdGVtICRiYXNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgRm9yRWFjaC1PYmplY3QgewogICAgICAgICAgICBBZGQtRmlyZWZveFJlY29yZCAtU2lkT3JTeXN0ZW0gJHNpZCAtUmVnUGF0aCAkXy5OYW1lCiAgICAgICAgfQogICAgfQp9CgojIFVzZXItbGV2ZWwgaW5zdGFsbHMgKGN1cnJlbnQgdXNlcikKZm9yZWFjaCAoJHJvb3QgaW4gJ1NvZnR3YXJlJywnU29mdHdhcmVcV293NjQzMk5vZGUnKSB7CiAgICAkYmFzZSA9ICJSZWdpc3RyeTo6SEtFWV9VU0VSU1wkQ3VycmVudFNpZFwkcm9vdFxNaWNyb3NvZnRcV2luZG93c1xDdXJyZW50VmVyc2lvblxVbmluc3RhbGwiCiAgICBHZXQtQ2hpbGRJdGVtICRiYXNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgRm9yRWFjaC1PYmplY3QgewogICAgICAgIEFkZC1GaXJlZm94UmVjb3JkIC1TaWRPclN5c3RlbSAkQ3VycmVudFNpZCAtUmVnUGF0aCAkXy5OYW1lCiAgICB9Cn0KCiMgVW5sb2FkIG9mZmxpbmUgaGl2ZXMKZm9yZWFjaCAoJHNpZCBpbiAkTG9hZGVkKSB7CiAgICBbR0NdOjpDb2xsZWN0KCkKICAgIFN0YXJ0LVNsZWVwIC1TZWNvbmRzIDIKICAgIGNtZCAvYyAicmVnIHVubG9hZCBgIkhLVVwkc2lkYCIiIDI+JjE+JG51bGwKfQoKIyBVbmluc3RhbGwgaGVscGVyCmZ1bmN0aW9uIFJlbW92ZS1GaXJlZm94IHsKICAgIHBhcmFtKAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV1bc3RyaW5nXSRTY29wZSwgICAjICdTeXN0ZW0nIG9yIHVzZXIgbmFtZQogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV1bc3RyaW5nXSRDbWQsCiAgICAgICAgW1BhcmFtZXRlcihNYW5kYXRvcnkpXVtzdHJpbmddJEV4ZVBhdGgKICAgICkKICAgIExvZ0RlYnVnICJSZW1vdmUgPCRTY29wZT4gPCRDbWQ+IDwkRXhlUGF0aD4iCiAgICBpZiAoJFNjb3BlIC1lcSAnU3lzdGVtJykgewogICAgICAgIGlmICgkQ21kKSB7IFN0YXJ0LVByb2Nlc3MgLUZpbGVQYXRoICRDbWQgLUFyZ3VtZW50TGlzdCAnL1MnIC1XYWl0IH0KICAgICAgICBXcml0ZS1Ib3N0ICI6IFJlbW92ZWQgc3lzdGVtLWxldmVsIEZpcmVmb3giCiAgICB9IGVsc2UgewogICAgICAgIEdldC1Qcm9jZXNzIC1OYW1lIGZpcmVmb3ggLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfAogICAgICAgICAgV2hlcmUtT2JqZWN0IHsgJF8uUGF0aCAtYW5kICgkXy5QYXRoIC1lcSAkRXhlUGF0aCkgfSB8CiAgICAgICAgICBGb3JFYWNoLU9iamVjdCB7IFN0b3AtUHJvY2VzcyAtSWQgJF8uSWQgLUZvcmNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIH0KICAgICAgICAkYWN0ID0gTmV3LVNjaGVkdWxlZFRhc2tBY3Rpb24gLUV4ZWN1dGUgJENtZCAtQXJndW1lbnQgJy9TJwogICAgICAgICR0cmcgPSBOZXctU2NoZWR1bGVkVGFza1RyaWdnZXIgLUF0TG9nT24gLVVzZXIgJFNjb3BlCiAgICAgICAgJHRzayA9IE5ldy1TY2hlZHVsZWRUYXNrIC1BY3Rpb24gJGFjdCAtVHJpZ2dlciAkdHJnIC1EZXNjcmlwdGlvbiAiUmVtb3ZlIEZpcmVmb3ggZm9yICRTY29wZSIKICAgICAgICAkbmFtZSA9ICgnRkZfVXNlclJlbW92YWxfezB9X3sxfScgLWYgKCRTY29wZSAtc3BsaXQgJ1xcJylbLTFdLCAoR2V0LVJhbmRvbSkpCiAgICAgICAgUmVnaXN0ZXItU2NoZWR1bGVkVGFzayAtVGFza05hbWUgJG5hbWUgLUlucHV0T2JqZWN0ICR0c2sgLVVzZXIgJFNjb3BlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgT3V0LU51bGwKICAgICAgICBXcml0ZS1Ib3N0ICgiLSBRdWV1ZWQgcGVyLXVzZXIgdW5pbnN0YWxsIGZvciB7MH0iIC1mICRTY29wZSkKICAgIH0KfQoKIyBJZiBleHBsaWNpdCB1bmluc3RhbGwKaWYgKCRlbnY6dXNyQWN0aW9uIC1pZXEgJ1VuaW5zdGFsbCcpIHsKICAgIFdyaXRlLUhvc3QgImBuLSBSZW1vdmluZyBhbGwgRmlyZWZveCBjb3BpZXMuLi4iCiAgICAkRm91bmRGRiB8IEZvckVhY2gtT2JqZWN0IHsKICAgICAgICBSZW1vdmUtRmlyZWZveCAtU2NvcGUgKCRfLlVzZXIgLWVxICdbU3lzdGVtXScgPyAnU3lzdGVtJyA6ICRfLlVzZXIpIC1DbWQgJF8uVW5pbnN0YWxsIC1FeGVQYXRoICRfLkxvY2F0aW9uCiAgICB9CiAgICBleGl0Cn0KCiMgU2hvdyBkaXNjb3ZlcmVkIGNvcGllcwppZiAoJEZvdW5kRkYuQ291bnQgLWd0IDApIHsKICAgIFdyaXRlLUhvc3QgIjogRGlzY292ZXJlZCBGaXJlZm94IGluc3RhbGxhdGlvbnM6YG4iCiAgICAkRm91bmRGRiB8IFNlbGVjdC1PYmplY3QgSWQsVXNlcixDaGFubmVsLFZlcnNpb24sQXJjaCxMb2NhdGlvbiB8CiAgICAgICAgRm9ybWF0LVRhYmxlIC1BdXRvU2l6ZSB8IE91dC1TdHJpbmcgfCBXcml0ZS1Ib3N0Cn0gZWxzZSB7CiAgICBXcml0ZS1Ib3N0ICI6IE5vIGV4aXN0aW5nIEZpcmVmb3ggaW5zdGFsbGF0aW9ucyBkZXRlY3RlZC4iCn0KCiMgU2VsZWN0aW9uIGxvZ2ljCiRzeXMgPSAkRm91bmRGRiB8IFdoZXJlLU9iamVjdCB7ICRfLlVzZXIgLWVxICdbU3lzdGVtXScgfQokc3lzU3RhYmxlID0gJHN5cyB8IFdoZXJlLU9iamVjdCB7ICRfLkNoYW5uZWwgLWVxICdTdGFibGUnIH0KCmlmICgkc3lzU3RhYmxlLkNvdW50IC1ndCAxKSB7CiAgICBXcml0ZS1Ib3N0ICIhIEVSUk9SOiBNdWx0aXBsZSBzeXN0ZW0tbGV2ZWwgU3RhYmxlIGluc3RhbGxhdGlvbnMgZGV0ZWN0ZWQuIFJlbW92ZSBleHRyYXMgZmlyc3QuIgogICAgZXhpdCAxCn0KCmlmICgkc3lzU3RhYmxlKSB7CiAgICAoJHN5c1N0YWJsZSB8IFNlbGVjdC1PYmplY3QgLUZpcnN0IDEpLkNob3NlbiA9ICR0cnVlCn0gZWxzZSB7CiAgICAjIEVTUi1vbmx5PwogICAgJHN5c0Vzck9ubHkgPSAoJHN5cy5Db3VudCAtZ3QgMCkgLWFuZCAoJHN5cyB8IFdoZXJlLU9iamVjdCB7ICRfLkNoYW5uZWwgLW5lICdFU1InIH0pLkNvdW50IC1lcSAwCiAgICBpZiAoJHN5c0Vzck9ubHkpIHsKICAgICAgICBpZiAoJGVudjp1c3JGaXJlZm94RVNSU3dpdGNoIC1pZXEgJ3RydWUnKSB7CiAgICAgICAgICAgICRudWxsID0gJG51bGwgIyBwcm9jZWVkIHdpdGggcmVwbGFjZW1lbnQKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBXcml0ZS1Ib3N0ICIhIEVSUk9SOiBTeXN0ZW0tbGV2ZWwgRVNSIG9ubHk7IG1pZ3JhdGlvbiBkaXNhYmxlZCAoc2V0IGVudiB2YXIgdXNyRmlyZWZveEVTUlN3aXRjaD10cnVlIHRvIGFsbG93KS4iCiAgICAgICAgICAgIGV4aXQgMQogICAgICAgIH0KICAgIH0KICAgICMgY3JlYXRlIHBsYWNlaG9sZGVyICJ0by1iZS1pbnN0YWxsZWQiIHJlY29yZAogICAgJEZvdW5kRkYgKz0gW3BzY3VzdG9tb2JqZWN0XUB7CiAgICAgICAgSWQgICAgICAgID0gKyskZ2xvYmFsOkZGSW5kZXgKICAgICAgICBVc2VyICAgICAgPSAnW1N5c3RlbV0nCiAgICAgICAgQ2hhbm5lbCAgID0gJ1N0YWJsZScKICAgICAgICBWZXJzaW9uICAgPSAkbnVsbAogICAgICAgIEFyY2ggICAgICA9ICROYXRpdmVBcmNoCiAgICAgICAgTG9jYXRpb24gID0gJG51bGwKICAgICAgICBVbmluc3RhbGwgPSAkbnVsbAogICAgICAgIENob3NlbiAgICA9ICR0cnVlCiAgICB9Cn0KCiMgVXBncmFkZSBwYXRoOiBpZiBjaG9zZW4gYXJjaCBtaXNtYXRjaGVzLCByZS1pbnN0YWxsIG5hdGl2ZQppZiAoJGVudjp1c3JBY3Rpb24gLWllcSAnVXBncmFkZScpIHsKICAgICRjaG9zZW4gPSAkRm91bmRGRiB8IFdoZXJlLU9iamVjdCB7ICRfLkNob3NlbiB9CiAgICBpZiAoJGNob3NlbiAtYW5kICRjaG9zZW4uQXJjaCAtbmUgJE5hdGl2ZUFyY2gpIHsKICAgICAgICBXcml0ZS1Ib3N0ICItIFVwZ3JhZGluZyB0byBuYXRpdmUgYXJjaGl0ZWN0dXJlIGJ1aWxkLiIKICAgICAgICAkY2hvc2VuLkNob3NlbiA9ICRmYWxzZQogICAgICAgICRGb3VuZEZGICs9IFtwc2N1c3RvbW9iamVjdF1AewogICAgICAgICAgICBJZD0nbmV3JztVc2VyPSdbU3lzdGVtXSc7Q2hhbm5lbD0nU3RhYmxlJztWZXJzaW9uPSRudWxsO0FyY2g9JE5hdGl2ZUFyY2g7TG9jYXRpb249JG51bGw7VW5pbnN0YWxsPSRudWxsO0Nob3Nlbj0kdHJ1ZQogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgV3JpdGUtSG9zdCAiLSBOYXRpdmUgYXJjaGl0ZWN0dXJlIGJ1aWxkIGFscmVhZHkgcHJlc2VudDsgd2lsbCB1cGRhdGUgaW4gcGxhY2UuIgogICAgfQp9CgojIERldGVybWluZSBkb3dubG9hZCBwYXJhbWV0ZXJzCiRDaG9zZW5QYXJhbXMgPSAkRm91bmRGRiB8IFdoZXJlLU9iamVjdCB7ICRfLkNob3NlbiB9IHwgU2VsZWN0LU9iamVjdCAtRmlyc3QgMQppZiAoLW5vdCAkQ2hvc2VuUGFyYW1zKSB7CiAgICBXcml0ZS1Ib3N0ICIhIEVSUk9SOiBObyBzZWxlY3RlZCBwYXJhbWV0ZXJzLiIKICAgIGV4aXQgMQp9CgokZGxBcmNoID0gaWYgKCRDaG9zZW5QYXJhbXMuQXJjaCAtZXEgJ3g4NicpIHsgJ3dpbicgfSBlbHNlIHsgJ3dpbjY0JyB9CiRkbExhbmcgPSAkTmF0aXZlTGFuZwoKV3JpdGUtSG9zdCAiIgppZiAoJENob3NlblBhcmFtcy5Mb2NhdGlvbikgewogICAgV3JpdGUtSG9zdCAoIi0gUGFyYW1ldGVycyBmcm9tIGluc3RhbGxhdGlvbiAjezB9OiB7MX0sIHsyfSwgU3RhYmxlIiAtZiAkQ2hvc2VuUGFyYW1zLklkLCAkZGxMYW5nLCAkQ2hvc2VuUGFyYW1zLkFyY2gpCn0gZWxzZSB7CiAgICBXcml0ZS1Ib3N0ICgiLSBQYXJhbWV0ZXJzIHNlbGVjdGVkOiB7MH0sIHsxfSwgU3RhYmxlIiAtZiAkZGxMYW5nLCAkZGxBcmNoKQp9CgojIERvd25sb2FkIGhlbHBlciAodXNlcyBzeXN0ZW0gcHJveHkgYXV0b21hdGljYWxseSkKZnVuY3Rpb24gR2V0LUZpbGUgewogICAgcGFyYW0oCiAgICAgICAgW1BhcmFtZXRlcihNYW5kYXRvcnkpXVtzdHJpbmddJFVybCwKICAgICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeSldW3N0cmluZ10kT3V0RmlsZQogICAgKQogICAgdHJ5IHsKICAgICAgICBbTmV0LlNlcnZpY2VQb2ludE1hbmFnZXJdOjpTZWN1cml0eVByb3RvY29sID0gW05ldC5TZWN1cml0eVByb3RvY29sVHlwZV06OlRsczEyCiAgICB9IGNhdGNoIHt9CiAgICBXcml0ZS1Ib3N0ICItIERvd25sb2FkaW5nOiAkVXJsIgogICAgdHJ5IHsKICAgICAgICBJbnZva2UtV2ViUmVxdWVzdCAtVXJpICRVcmwgLU91dEZpbGUgJE91dEZpbGUgLVVzZUJhc2ljUGFyc2luZyAtTWF4aW11bVJlZGlyZWN0aW9uIDUgLUVycm9yQWN0aW9uIFN0b3AKICAgIH0gY2F0Y2ggewogICAgICAgICR3YyA9IE5ldy1PYmplY3QgTmV0LldlYkNsaWVudAogICAgICAgICR3Yy5Qcm94eSA9IFtTeXN0ZW0uTmV0LldlYlJlcXVlc3RdOjpHZXRTeXN0ZW1XZWJQcm94eSgpCiAgICAgICAgJHdjLlVzZURlZmF1bHRDcmVkZW50aWFscyA9ICR0cnVlCiAgICAgICAgJHdjLkRvd25sb2FkRmlsZSgkVXJsLCAkT3V0RmlsZSkKICAgIH0KICAgIGlmICgtbm90IChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRPdXRGaWxlKSkgewogICAgICAgIFdyaXRlLUhvc3QgIiEgRVJST1I6IERvd25sb2FkIGZhaWxlZC4iCiAgICAgICAgZXhpdCAxCiAgICB9CiAgICBXcml0ZS1Ib3N0ICI6IFNhdmVkIHRvICRPdXRGaWxlIgp9CgojIEZldGNoIGxhdGVzdCBGaXJlZm94CiRkbCA9ICJodHRwczovL2Rvd25sb2FkLm1vemlsbGEub3JnLz9wcm9kdWN0PWZpcmVmb3gtbGF0ZXN0LXNzbCZvcz0kZGxBcmNoJmxhbmc9JGRsTGFuZyIKR2V0LUZpbGUgLVVybCAkZGwgLU91dEZpbGUgJ0ZpcmVmb3hTZXR1cC5leGUnCgojIFJlbW92ZSBub24tY2hvc2VuIGNvcGllcyBmaXJzdAokbm9uQ2hvc2VuID0gJEZvdW5kRkYgfCBXaGVyZS1PYmplY3QgeyAtbm90ICRfLkNob3NlbiAtYW5kICRfLkxvY2F0aW9uIH0KJHJlbW92ZWRBbnkgPSAkZmFsc2UKZm9yZWFjaCAoJGZmIGluICRub25DaG9zZW4pIHsKICAgICRyZW1vdmVkQW55ID0gJHRydWUKICAgIFJlbW92ZS1GaXJlZm94IC1TY29wZSAoJGZmLlVzZXIgLWVxICdbU3lzdGVtXScgPyAnU3lzdGVtJyA6ICRmZi5Vc2VyKSAtQ21kICRmZi5Vbmluc3RhbGwgLUV4ZVBhdGggJGZmLkxvY2F0aW9uCn0KaWYgKC1ub3QgJHJlbW92ZWRBbnkpIHsgV3JpdGUtSG9zdCAiOiBObyBleHRyYSBjb3BpZXMgdG8gcmVtb3ZlLiIgfQoKIyBJbnN0YWxsCldyaXRlLUhvc3QgImBuLSBJbnN0YWxsaW5nIEZpcmVmb3guLi4iCiRwcm9jID0gU3RhcnQtUHJvY2VzcyAtRmlsZVBhdGggJy5cRmlyZWZveFNldHVwLmV4ZScgLUFyZ3VtZW50TGlzdCAnL1MgL1ByZXZlbnRSZWJvb3RSZXF1aXJlZD10cnVlJyAtTm9OZXdXaW5kb3cgLVBhc3NUaHJ1IC1XYWl0CmlmICgkcHJvYy5FeGl0Q29kZSAtbmUgMCkgewogICAgV3JpdGUtSG9zdCAiISBFUlJPUjogSW5zdGFsbGVyIHJldHVybmVkICQoJHByb2MuRXhpdENvZGUpLiIKICAgIGV4aXQgMQp9CgpXcml0ZS1Ib3N0ICItIENvbXBsZXRlZCBAICQoR2V0LURhdGUpLiIK", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [ - { - "name": "usrAction", - "label": "Action to Take", - "type": "string", - "default": "Install", - "required": true, - "description": "\"Install\" or \"Uninstall\"" - } - ], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Java_Runtime_Environment_8_WIN.json b/Assemblies/Scripts/Software Installers/Java_Runtime_Environment_8_WIN.json deleted file mode 100644 index 9641cdf9..00000000 --- a/Assemblies/Scripts/Software Installers/Java_Runtime_Environment_8_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "Java Runtime Environment 8 [WIN]", - "description": "Downloads and installs the latest version of Java Runtime Environment version 8 for Windows.", - "category": "application", - "type": "powershell", - "script": "IyBJbnB1dHMgKE9yYWNsZSBBdXRvREwgYnVuZGxlIElEcykKJGozMklkID0gJzI1MjMyMV82OGNlNzY1MjU4MTY0NzI2OTIyNTkxNjgzYzUxOTgyYycgIyAzMi1iaXQKJGo2NElkID0gJzI1MjMyMl82OGNlNzY1MjU4MTY0NzI2OTIyNTkxNjgzYzUxOTgyYycgIyA2NC1iaXQKCldyaXRlLUhvc3QgIlNvZnR3YXJlOiBKYXZhIFJ1bnRpbWUgRW52aXJvbm1lbnQgZm9yIFdpbmRvd3MiCldyaXRlLUhvc3QgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IgoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBIZWxwZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBHZXQtU3lzdGVtUHJveHkgewogICAgdHJ5IHsKICAgICAgICAkb3V0ID0gJiBuZXRzaCB3aW5odHRwIHNob3cgcHJveHkgMj4kbnVsbAogICAgICAgIGlmICgkb3V0IC1tYXRjaCAnRGlyZWN0IGFjY2VzcyBcKG5vIHByb3h5IHNlcnZlclwpJykgeyByZXR1cm4gJG51bGwgfQogICAgICAgIGlmICgkb3V0IC1tYXRjaCAnUHJveHkgU2VydmVyXHMqOlxzKihcUyspJykgewogICAgICAgICAgICAkcHJveHkgPSAkTWF0Y2hlc1sxXQogICAgICAgICAgICByZXR1cm4gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LldlYlByb3h5KCRwcm94eSwgJHRydWUpCiAgICAgICAgfQogICAgfSBjYXRjaCB7IH0KICAgIHRyeSB7IHJldHVybiBbU3lzdGVtLk5ldC5XZWJSZXF1ZXN0XTo6R2V0U3lzdGVtV2ViUHJveHkoKSB9IGNhdGNoIHsgcmV0dXJuICRudWxsIH0KfQoKZnVuY3Rpb24gTmV3LVdlYkNsaWVudCB7CiAgICAkd2MgPSBOZXctT2JqZWN0IFN5c3RlbS5OZXQuV2ViQ2xpZW50CiAgICAkd2MuVXNlRGVmYXVsdENyZWRlbnRpYWxzID0gJHRydWUKICAgICR3Yy5IZWFkZXJzLkFkZCgiWC1GT1JNU19CQVNFRF9BVVRIX0FDQ0VQVEVEIiwgImYiKQogICAgJHdjLkhlYWRlcnMuQWRkKFtTeXN0ZW0uTmV0Lkh0dHBSZXF1ZXN0SGVhZGVyXTo6VXNlckFnZW50LCAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCknKQogICAgJHB4ID0gR2V0LVN5c3RlbVByb3h5CiAgICBpZiAoJHB4KSB7ICR3Yy5Qcm94eSA9ICRweCB9CiAgICByZXR1cm4gJHdjCn0KCmZ1bmN0aW9uIEVuYWJsZS1UbHMxMiB7CiAgICB0cnkgewogICAgICAgIFtOZXQuU2VydmljZVBvaW50TWFuYWdlcl06OlNlY3VyaXR5UHJvdG9jb2wgPSBbRW51bV06OlRvT2JqZWN0KFtOZXQuU2VjdXJpdHlQcm90b2NvbFR5cGVdLCAzMDcyKQogICAgfSBjYXRjaCB7CiAgICAgICAgV3JpdGUtSG9zdCAiLSBFUlJPUjogQ291bGQgbm90IGVuYWJsZSBUTFMgMS4yLiIgOyBleGl0IDEKICAgIH0KfQoKZnVuY3Rpb24gR2V0LUphdmFTdGFnaW5nUGF0aCB7CiAgICBpZiAoW0ludFB0cl06OlNpemUgLWVxIDgpIHsKICAgICAgICBpZiAoJGFyZ3NbMF0gLWVxICczMicpIHsgcmV0dXJuICIkZW52OlN5c3RlbVJvb3Rcc3lzV09XNjRcY29uZmlnXHN5c3RlbXByb2ZpbGVcQXBwRGF0YVxMb2NhbExvd1xPcmFjbGVcSmF2YSIgfQogICAgICAgIGVsc2UgeyByZXR1cm4gIiRlbnY6U3lzdGVtUm9vdFxTeXN0ZW0zMlxjb25maWdcc3lzdGVtcHJvZmlsZVxBcHBEYXRhXExvY2FsTG93XE9yYWNsZVxKYXZhIiB9CiAgICB9IGVsc2UgewogICAgICAgIHJldHVybiAiJGVudjpTeXN0ZW1Sb290XFN5c3RlbTMyXGNvbmZpZ1xzeXN0ZW1wcm9maWxlXEFwcERhdGFcTG9jYWxMb3dcT3JhY2xlXEphdmEiCiAgICB9Cn0KCmZ1bmN0aW9uIFRlc3QtRXhpdENvZGUgewogICAgcGFyYW0oJGNvZGUsICRmaWxlKQogICAgaWYgKCRjb2RlIC1ndCAwKSB7CiAgICAgICAgaWYgKCRjb2RlIC1lcSAzMDEwKSB7CiAgICAgICAgICAgIFdyaXRlLUhvc3QgIi0gSW5zdGFsbGVyIHJldHVybmVkIDMwMTAgKHJlYm9vdCByZWNvbW1lbmRlZCkuIgogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIFdyaXRlLUhvc3QgIi0gSW5zdGFsbGVyIHJldHVybmVkICRjb2RlIGZvciAkZmlsZS4iCiAgICAgICAgICAgICRzY3JpcHQ6aGFkRXJyb3IgPSAkdHJ1ZQogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgV3JpdGUtSG9zdCAiLSBJbnN0YWxsZWQ6ICRmaWxlIgogICAgfQp9CgpmdW5jdGlvbiBXYWl0LU1zaVJlYWR5IHsKICAgICRhdHRlbXB0cyA9IDAKICAgIHdoaWxlICgkdHJ1ZSkgewogICAgICAgIGlmICgkYXR0ZW1wdHMgLWdlIDEwKSB7CiAgICAgICAgICAgIFdyaXRlLUhvc3QgIi0gRVJST1I6IFRpbWVvdXQgd2FpdGluZyBmb3IgTVNJIHNlcnZpY2UuIiA7IGV4aXQgMQogICAgICAgIH0KICAgICAgICAkc3ZjID0gR2V0LVNlcnZpY2UgbXNpc2VydmVyIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlCiAgICAgICAgJHdtaSA9IEdldC1DaW1JbnN0YW5jZSBXaW4zMl9TZXJ2aWNlIC1GaWx0ZXIgIk5hbWU9J21zaXNlcnZlciciIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlCiAgICAgICAgaWYgKCRzdmMgLWFuZCAkc3ZjLlN0YXR1cyAtZXEgJ1J1bm5pbmcnIC1hbmQgJHdtaSAtYW5kIC1ub3QgJHdtaS5BY2NlcHRTdG9wKSB7CiAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1TZWNvbmRzIDMwCiAgICAgICAgICAgICRhdHRlbXB0cysrCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgYnJlYWsKICAgICAgICB9CiAgICB9Cn0KCmZ1bmN0aW9uIEludm9rZS1Eb3dubG9hZCB7CiAgICBwYXJhbSgKICAgICAgICBbUGFyYW1ldGVyKE1hbmRhdG9yeT0kdHJ1ZSldW3N0cmluZ10kVXJsLAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bc3RyaW5nXSRPdXRGaWxlCiAgICApCiAgICBFbmFibGUtVGxzMTIKICAgICR3YyA9IE5ldy1XZWJDbGllbnQKICAgIFdyaXRlLUhvc3QgIi0gRG93bmxvYWRpbmc6ICRVcmwiCiAgICAkd2MuRG93bmxvYWRGaWxlKCRVcmwsICRPdXRGaWxlKQogICAgaWYgKCEoVGVzdC1QYXRoICRPdXRGaWxlKSkgeyBXcml0ZS1Ib3N0ICItIEVSUk9SOiBGYWlsZWQgdG8gZG93bmxvYWQgJE91dEZpbGUuIiA7IGV4aXQgMSB9CiAgICBXcml0ZS1Ib3N0ICItIFNhdmVkOiAkT3V0RmlsZSIKfQoKIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNYWluIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpmdW5jdGlvbiBJbnN0YWxsLUphdmEgewogICAgcGFyYW0oCiAgICAgICAgW1BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUpXVtWYWxpZGF0ZVNldCgnMzInLCc2NCcpXSRCaXRuZXNzLAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bc3RyaW5nXSRCdW5kbGVJZAogICAgKQoKICAgICRleGUgPSAiamF2YSRCaXRuZXNzLmV4ZSIKICAgICRtc2kgPSAiSmF2YSRCaXRuZXNzLm1zaSIKICAgICRzdGFnaW5nID0gR2V0LUphdmFTdGFnaW5nUGF0aCAkQml0bmVzcwoKICAgICMgRnJlc2ggc3RhZ2luZwogICAgUmVtb3ZlLUl0ZW0gJHN0YWdpbmcgLUZvcmNlIC1SZWN1cnNlIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlCiAgICBTdGFydC1TbGVlcCAtU2Vjb25kcyAyCgogICAgIyBEb3dubG9hZCBpbnN0YWxsZXIKICAgICRkbCA9ICJodHRwczovL2phdmFkbC5vcmFjbGUuY29tL3dlYmFwcHMvZG93bmxvYWQvQXV0b0RMP0J1bmRsZUlkPSRCdW5kbGVJZCIKICAgIEludm9rZS1Eb3dubG9hZCAtVXJsICRkbCAtT3V0RmlsZSAkZXhlCgogICAgIyBFeHRyYWN0IE1TSSBieSBsYXVuY2hpbmcgYm9vdHN0cmFwcGVyCiAgICBTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAkZXhlIHwgT3V0LU51bGwKICAgIFN0YXJ0LVNsZWVwIC1TZWNvbmRzIDE1CgogICAgJHByZXNlbnQgPSAkZmFsc2UKICAgICR0cmllcyA9IDAKICAgIHdoaWxlICgtbm90ICRwcmVzZW50KSB7CiAgICAgICAgaWYgKCR0cmllcyAtZ2UgMTApIHsKICAgICAgICAgICAgV3JpdGUtSG9zdCAiLSBFUlJPUjogVGltZWQgb3V0IHdhaXRpbmcgZm9yIEphdmEgTVNJLiIgOyBleGl0IDEKICAgICAgICB9CiAgICAgICAgJGxhdGVzdCA9IEdldC1DaGlsZEl0ZW0gLVBhdGggJHN0YWdpbmcgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUgfAogICAgICAgICAgICAgICAgICBXaGVyZS1PYmplY3QgeyAkXy5QU0lzQ29udGFpbmVyIH0gfAogICAgICAgICAgICAgICAgICBXaGVyZS1PYmplY3QgeyAkXy5MYXN0V3JpdGVUaW1lIC1ndCAoR2V0LURhdGUpLkFkZFNlY29uZHMoLTYwKSB9IHwKICAgICAgICAgICAgICAgICAgU2VsZWN0LU9iamVjdCAtRmlyc3QgMQogICAgICAgIGlmICgkbGF0ZXN0IC1hbmQgKEdldC1DaGlsZEl0ZW0gLVBhdGggKCRsYXRlc3QuRnVsbE5hbWUgKyAnXCoubXNpJykgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUpKSB7CiAgICAgICAgICAgICRwcmVzZW50ID0gJHRydWUKICAgICAgICAgICAgTW92ZS1JdGVtIC1QYXRoICgkbGF0ZXN0LkZ1bGxOYW1lICsgJ1wqLm1zaScpIC1EZXN0aW5hdGlvbiAkbXNpIC1Gb3JjZQogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIFN0YXJ0LVNsZWVwIC1TZWNvbmRzIDYKICAgICAgICAgICAgJHRyaWVzKysKICAgICAgICB9CiAgICB9CgogICAgIyBTdG9wIGJvb3RzdHJhcHBlciBpZiBzdGlsbCBydW5uaW5nCiAgICBHZXQtUHJvY2VzcyAtTmFtZSAiamF2YSRCaXRuZXNzIiAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSB8IFN0b3AtUHJvY2VzcyAtRm9yY2UgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKCiAgICAjIEluc3RhbGwKICAgIFdhaXQtTXNpUmVhZHkKICAgIGlmICgkZW52OnVzckphdmFDbGVhbiAtZXEgJ3RydWUnKSB7CiAgICAgICAgJGFyZ3MgPSAiL3FuIC9pIGAiJG1zaWAiIEFERExPQ0FMPUFMTCBSRUJPT1Q9U3VwcHJlc3MgSUVYUExPUkVSPTEgTU9aSUxMQT0xIFJFTU9WRU9MREVSSlJFUz0xIC9sIGAiJCgkbXNpIC1yZXBsYWNlICdcLm1zaSQnLCcubG9nJylgIiIKICAgIH0gZWxzZSB7CiAgICAgICAgJGFyZ3MgPSAiL3FuIC9pIGAiJG1zaWAiIEFERExPQ0FMPUFMTCBSRUJPT1Q9U3VwcHJlc3MgSUVYUExPUkVSPTEgTU9aSUxMQT0xIC9sIGAiJCgkbXNpIC1yZXBsYWNlICdcLm1zaSQnLCcubG9nJylgIiIKICAgIH0KICAgICRwcm9jID0gU3RhcnQtUHJvY2VzcyBtc2lleGVjIC1Bcmd1bWVudExpc3QgJGFyZ3MgLVdhaXQgLVBhc3NUaHJ1IC1Ob05ld1dpbmRvdwogICAgVGVzdC1FeGl0Q29kZSAtY29kZSAkcHJvYy5FeGl0Q29kZSAtZmlsZSAkbXNpCgogICAgU3RhcnQtU2xlZXAgLVNlY29uZHMgMgogICAgV3JpdGUtSG9zdCAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSmF2YSBpbnN0YWxsYXRpb24gbG9nICgkQml0bmVzcy1iaXQpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgogICAgR2V0LUNvbnRlbnQgKCRtc2kgLXJlcGxhY2UgJ1wubXNpJCcsJy5sb2cnKSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSB8IEZvckVhY2gtT2JqZWN0IHsgJGhvc3QudWkuV3JpdGVFcnJvckxpbmUoJF8pIH0KICAgIFdyaXRlLUhvc3QgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCn0KCldyaXRlLUhvc3QgIi0gSW5zdGFsbGluZyBKYXZhICgzMi1iaXQpLi4uIgpJbnN0YWxsLUphdmEgLUJpdG5lc3MgMzIgLUJ1bmRsZUlkICRqMzJJZAppZiAoW0ludFB0cl06OlNpemUgLWVxIDgpIHsKICAgIFdyaXRlLUhvc3QgIi0gSW5zdGFsbGluZyBKYXZhICg2NC1iaXQpLi4uIgogICAgSW5zdGFsbC1KYXZhIC1CaXRuZXNzIDY0IC1CdW5kbGVJZCAkajY0SWQKfQoKaWYgKCRzY3JpcHQ6aGFkRXJyb3IpIHsKICAgIFdyaXRlLUhvc3QgIi0gQ29tcGxldGVkIHdpdGggaW5zdGFsbGVyIGVycm9ycyAoc2VlIFN0ZEVyciBmb3IgZGV0YWlscykuIiA7IGV4aXQgMQp9IGVsc2UgewogICAgV3JpdGUtSG9zdCAiLSBJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bC4iCn0=", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/PuTTY_WIN.json b/Assemblies/Scripts/Software Installers/PuTTY_WIN.json deleted file mode 100644 index 0401bee6..00000000 --- a/Assemblies/Scripts/Software Installers/PuTTY_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "PuTTY [WIN]", - "description": "", - "category": "application", - "type": "powershell", - "script": "PCMgUHVUVFkgaW5zdGFsbGVyIChzaWxlbnQsIGluc3RhbGwtb25seSkgIz4KCmZ1bmN0aW9uIEVuYWJsZS1UbHMxMiB7CiAgICB0cnkgeyBbTmV0LlNlcnZpY2VQb2ludE1hbmFnZXJdOjpTZWN1cml0eVByb3RvY29sID0gW0VudW1dOjpUb09iamVjdChbTmV0LlNlY3VyaXR5UHJvdG9jb2xUeXBlXSwzMDcyKSB9IGNhdGNoIHt9Cn0KCmZ1bmN0aW9uIEdldC1BcmNoVXJsIHsKICAgICR2ZXIgPSAiMC44MyIKICAgIGlmIChbSW50UHRyXTo6U2l6ZSAtZXEgNCkgewogICAgICAgIHJldHVybiAiaHR0cHM6Ly90aGUuZWFydGgubGkvfnNndGF0aGFtL3B1dHR5LyR2ZXIvdzMyL3B1dHR5LSR2ZXItaW5zdGFsbGVyLm1zaSIKICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICJodHRwczovL3RoZS5lYXJ0aC5saS9+c2d0YXRoYW0vcHV0dHkvJHZlci93NjQvcHV0dHktNjRiaXQtJHZlci1pbnN0YWxsZXIubXNpIgogICAgfQp9CgpmdW5jdGlvbiBUcnktRG93bmxvYWQgewogICAgcGFyYW0oW3N0cmluZ10kVXJsLFtzdHJpbmddJERlc3QpCiAgICBFbmFibGUtVGxzMTIKICAgIHRyeSB7CiAgICAgICAgJHdjID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LldlYkNsaWVudAogICAgICAgICR3Yy5IZWFkZXJzLkFkZChbU3lzdGVtLk5ldC5IdHRwUmVxdWVzdEhlYWRlcl06OlVzZXJBZ2VudCwiTW96aWxsYS81LjAiKQogICAgICAgICR3Yy5Eb3dubG9hZEZpbGUoJFVybCwkRGVzdCkKICAgICAgICBpZiAoVGVzdC1QYXRoICREZXN0KSB7IHJldHVybiAkdHJ1ZSB9CiAgICB9IGNhdGNoIHt9CiAgICB0cnkgewogICAgICAgIEltcG9ydC1Nb2R1bGUgQml0c1RyYW5zZmVyIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlIHwgT3V0LU51bGwKICAgICAgICBTdGFydC1CaXRzVHJhbnNmZXIgLVNvdXJjZSAkVXJsIC1EZXN0aW5hdGlvbiAkRGVzdCAtRXJyb3JBY3Rpb24gU3RvcAogICAgICAgIGlmIChUZXN0LVBhdGggJERlc3QpIHsgcmV0dXJuICR0cnVlIH0KICAgIH0gY2F0Y2gge30KICAgIHRyeSB7CiAgICAgICAgSW52b2tlLVdlYlJlcXVlc3QgLVVyaSAkVXJsIC1Vc2VCYXNpY1BhcnNpbmcgLU91dEZpbGUgJERlc3QgLUVycm9yQWN0aW9uIFN0b3AKICAgICAgICBpZiAoVGVzdC1QYXRoICREZXN0KSB7IHJldHVybiAkdHJ1ZSB9CiAgICB9IGNhdGNoIHt9CiAgICB0cnkgewogICAgICAgICRjdXJsID0gR2V0LUNvbW1hbmQgY3VybC5leGUgLUVycm9yQWN0aW9uIFNpbGVudGx5Q29udGludWUKICAgICAgICBpZiAoJGN1cmwpIHsKICAgICAgICAgICAgJiAkY3VybC5QYXRoIC1MIC1vICREZXN0ICRVcmwgfCBPdXQtTnVsbAogICAgICAgICAgICBpZiAoVGVzdC1QYXRoICREZXN0KSB7IHJldHVybiAkdHJ1ZSB9CiAgICAgICAgfQogICAgfSBjYXRjaCB7fQogICAgcmV0dXJuICRmYWxzZQp9CgojIHByZXZlbnQgaW5zdGFsbCB3aGlsZSBydW5uaW5nCmlmIChHZXQtUHJvY2VzcyAtTmFtZSAicHV0dHkiIC1FcnJvckFjdGlvbiBTaWxlbnRseUNvbnRpbnVlKSB7IGV4aXQgMSB9CgokdXJsICAgICA9IEdldC1BcmNoVXJsCiRtc2lQYXRoID0gSm9pbi1QYXRoIC1QYXRoICRlbnY6VEVNUCAtQ2hpbGRQYXRoICgicHV0dHlfezB9Lm1zaSIgLWYgW0RhdGVUaW1lXTo6VXRjTm93LlRvU3RyaW5nKCJ5eXl5TU1kZEhIbW1zcyIpKQoKaWYgKC1ub3QgKFRyeS1Eb3dubG9hZCAtVXJsICR1cmwgLURlc3QgJG1zaVBhdGgpKSB7IGV4aXQgMiB9CgokcHJvYyA9IFN0YXJ0LVByb2Nlc3MgIm1zaWV4ZWMuZXhlIiAtQXJndW1lbnRMaXN0ICIvaSBgIiRtc2lQYXRoYCIgL3FuIC9ub3Jlc3RhcnQiIC1XYWl0IC1QYXNzVGhydSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZQokY29kZSA9IGlmICgkcHJvYykgeyAkcHJvYy5FeGl0Q29kZSB9IGVsc2UgeyAxIH0KClJlbW92ZS1JdGVtICRtc2lQYXRoIC1Gb3JjZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZQpleGl0ICRjb2RlCg==", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/VLC_Media_Player_WIN.json b/Assemblies/Scripts/Software Installers/VLC_Media_Player_WIN.json deleted file mode 100644 index 7b0521c3..00000000 --- a/Assemblies/Scripts/Software Installers/VLC_Media_Player_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "VLC Media Player [WIN]", - "description": "", - "category": "application", - "type": "powershell", - "script": "JEVycm9yQWN0aW9uUHJlZmVyZW5jZSA9ICJTdG9wIgoKIyBQcmVmZXIgVExTIDEuMisKdHJ5IHsgW05ldC5TZXJ2aWNlUG9pbnRNYW5hZ2VyXTo6U2VjdXJpdHlQcm90b2NvbCA9IFtFbnVtXTo6VG9PYmplY3QoW05ldC5TZWN1cml0eVByb3RvY29sVHlwZV0sIDMwNzIpIH0gY2F0Y2ggeyB9CgojIERldGVybWluZSB0cnVlIE9TIGJpdG5lc3MgKG5vdCB0aGUgUG93ZXJTaGVsbCBwcm9jZXNzIGJpdG5lc3MpCiRvc0JpdHMgPSBpZiAoW0Vudmlyb25tZW50XTo6SXM2NEJpdE9wZXJhdGluZ1N5c3RlbSkgeyA2NCB9IGVsc2UgeyAzMiB9CgojIC0tLS0gcm9idXN0IHdlYiArIHJlZ2lzdHJ5IGhlbHBlcnMgLS0tLQpmdW5jdGlvbiBJbnZva2UtV2ViIHsKICAgIHBhcmFtKAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV0gW3N0cmluZ10kVXJpLAogICAgICAgIFtQYXJhbWV0ZXIoKV0gW2hhc2h0YWJsZV0kRXh0cmEgPSBAe30KICAgICkKICAgICRiYXNlID0gQHsKICAgICAgICBVcmkgICAgICAgICAgICAgICAgPSAkVXJpCiAgICAgICAgVXNlQmFzaWNQYXJzaW5nICAgID0gJHRydWUKICAgICAgICBFcnJvckFjdGlvbiAgICAgICAgPSAnU3RvcCcKICAgICAgICBNYXhpbXVtUmVkaXJlY3Rpb24gPSAxMAogICAgICAgIEhlYWRlcnMgICAgICAgICAgICA9IEB7ICdVc2VyLUFnZW50JyA9ICdNb3ppbGxhLzUuMCcgfQogICAgfSArICRFeHRyYQoKICAgICRhdHRlbXB0cyA9IDAKICAgIHdoaWxlICgkdHJ1ZSkgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgICRhdHRlbXB0cysrCiAgICAgICAgICAgIHJldHVybiBJbnZva2UtV2ViUmVxdWVzdCBAYmFzZQogICAgICAgIH0gY2F0Y2ggW1N5c3RlbS5OZXQuV2ViRXhjZXB0aW9uXSB7CiAgICAgICAgICAgICRyZXNwID0gJF8uRXhjZXB0aW9uLlJlc3BvbnNlCiAgICAgICAgICAgICRzdGF0dXMgPSBpZiAoJHJlc3ApIHsgW2ludF0kcmVzcC5TdGF0dXNDb2RlIH0gZWxzZSB7ICRudWxsIH0KICAgICAgICAgICAgaWYgKCRhdHRlbXB0cyAtbHQgMyAtYW5kICRzdGF0dXMgLWdlIDUwMCkgewogICAgICAgICAgICAgICAgU3RhcnQtU2xlZXAgLVNlY29uZHMgKDIgKiAkYXR0ZW1wdHMpCiAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICB9CiAgICAgICAgICAgIHRocm93CiAgICAgICAgfSBjYXRjaCB7CiAgICAgICAgICAgIGlmICgkYXR0ZW1wdHMgLWx0IDIpIHsgU3RhcnQtU2xlZXAgLVNlY29uZHMgMjsgY29udGludWUgfQogICAgICAgICAgICB0aHJvdwogICAgICAgIH0KICAgIH0KfQoKZnVuY3Rpb24gSW52b2tlLURvd25sb2FkIHsKICAgIHBhcmFtKAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV0gW3N0cmluZ10kVXJpLAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV0gW3N0cmluZ10kT3V0RmlsZQogICAgKQogICAgSW52b2tlLVdlYiAtVXJpICRVcmkgLUV4dHJhIEB7IE91dEZpbGUgPSAkT3V0RmlsZSB9IHwgT3V0LU51bGwKICAgIGlmICgtbm90IChUZXN0LVBhdGggLUxpdGVyYWxQYXRoICRPdXRGaWxlKSkgeyB0aHJvdyAiRG93bmxvYWQgZmFpbGVkOiAkVXJpIiB9CiAgICBpZiAoKEdldC1JdGVtIC1MaXRlcmFsUGF0aCAkT3V0RmlsZSkuTGVuZ3RoIC1sdCAxMDBLQikgeyB0aHJvdyAiRG93bmxvYWRlZCBmaWxlIGlzIHRvbyBzbWFsbCB0byBiZSBhbiBpbnN0YWxsZXI6ICRPdXRGaWxlIiB9Cn0KCmZ1bmN0aW9uIEdldC1UZXh0IHsKICAgIHBhcmFtKFtQYXJhbWV0ZXIoTWFuZGF0b3J5KV1bc3RyaW5nXSRVcmkpCiAgICAoSW52b2tlLVdlYiAtVXJpICRVcmkpLkNvbnRlbnQKfQoKZnVuY3Rpb24gR2V0LU1TSVByb2R1Y3RDb2RlcyB7CiAgICBwYXJhbShbUGFyYW1ldGVyKE1hbmRhdG9yeSldW3N0cmluZ10kTmFtZVJlZ2V4KQogICAgJHJvb3RzID0gQCgKICAgICAgICAnSEtMTTpcU09GVFdBUkVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsJywKICAgICAgICAnSEtMTTpcU09GVFdBUkVcV293NjQzMk5vZGVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsJwogICAgKQogICAgZm9yZWFjaCAoJHIgaW4gJHJvb3RzKSB7CiAgICAgICAgR2V0LUNoaWxkSXRlbSAtUGF0aCAkciAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSB8CiAgICAgICAgICBGb3JFYWNoLU9iamVjdCB7IEdldC1JdGVtUHJvcGVydHkgLUxpdGVyYWxQYXRoICRfLlBzUGF0aCAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZSB9IHwKICAgICAgICAgIFdoZXJlLU9iamVjdCAgIHsgJF8uRGlzcGxheU5hbWUgLW1hdGNoICROYW1lUmVnZXggfSB8CiAgICAgICAgICBXaGVyZS1PYmplY3QgICB7ICRfLlBTQ2hpbGROYW1lIC1tYXRjaCAnXlx7WzAtOUEtRlwtXStcfSQnIH0gfAogICAgICAgICAgRm9yRWFjaC1PYmplY3QgeyAkXy5QU0NoaWxkTmFtZSB9CiAgICB9Cn0KCiMgUXVpY2sgUEUgaGVhZGVyIGFyY2hpdGVjdHVyZSBjaGVjayAocmV0dXJucyAzMiBvciA2NDsgbnVsbCBpZiBub3QgUEUpCmZ1bmN0aW9uIEdldC1QRUFyY2ggewogICAgcGFyYW0oW1BhcmFtZXRlcihNYW5kYXRvcnkpXVtzdHJpbmddJFBhdGgpCiAgICAkZnMgPSBbU3lzdGVtLklPLkZpbGVdOjpPcGVuKCRQYXRoLFtTeXN0ZW0uSU8uRmlsZU1vZGVdOjpPcGVuLFtTeXN0ZW0uSU8uRmlsZUFjY2Vzc106OlJlYWQsW1N5c3RlbS5JTy5GaWxlU2hhcmVdOjpSZWFkV3JpdGUpCiAgICB0cnkgewogICAgICAgICRiciA9IFtTeXN0ZW0uSU8uQmluYXJ5UmVhZGVyXTo6bmV3KCRmcykKICAgICAgICBpZiAoJGJyLlJlYWRVSW50MTYoKSAtbmUgMHg1QTREKSB7IHJldHVybiAkbnVsbCB9ICMgJ01aJwogICAgICAgICRmcy5TZWVrKDB4M0MsW1N5c3RlbS5JTy5TZWVrT3JpZ2luXTo6QmVnaW4pIHwgT3V0LU51bGwKICAgICAgICAkcGVPZmZzZXQgPSAkYnIuUmVhZFVJbnQzMigpCiAgICAgICAgJGZzLlNlZWsoJHBlT2Zmc2V0LFtTeXN0ZW0uSU8uU2Vla09yaWdpbl06OkJlZ2luKSB8IE91dC1OdWxsCiAgICAgICAgaWYgKCRici5SZWFkVUludDMyKCkgLW5lIDB4MDAwMDQ1NTApIHsgcmV0dXJuICRudWxsIH0gIyAnUEVcMFwwJwogICAgICAgIHN3aXRjaCAoJGJyLlJlYWRVSW50MTYoKSkgewogICAgICAgICAgICAweDAxNEMgeyAzMiB9CiAgICAgICAgICAgIDB4ODY2NCB7IDY0IH0KICAgICAgICAgICAgZGVmYXVsdCB7ICRudWxsIH0KICAgICAgICB9CiAgICB9IGZpbmFsbHkgeyAkZnMuRGlzcG9zZSgpIH0KfQoKZnVuY3Rpb24gR2V0LUxhdGVzdFZsY1ZlcnNpb24gewogICAgdHJ5IHsKICAgICAgICAkaHRtbCA9IEdldC1UZXh0IC1VcmkgJ2h0dHBzOi8vd3d3LnZpZGVvbGFuLm9yZy92bGMvJwogICAgICAgICRtID0gW3JlZ2V4XTo6TWF0Y2goJGh0bWwsICd2bGMtKFswLTlcLl0rKS13aW4oMzJ8NjQpXC5leGUnKQogICAgICAgIGlmICgkbS5TdWNjZXNzKSB7IHJldHVybiAkbS5Hcm91cHNbMV0uVmFsdWUgfQogICAgfSBjYXRjaCB7IH0KCiAgICAkaWR4ID0gR2V0LVRleHQgLVVyaSAnaHR0cHM6Ly9nZXQudmlkZW9sYW4ub3JnL3ZsYy8nCiAgICAkdmVycyA9IFtTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYy5MaXN0W3N0cmluZ11dOjpuZXcoKQogICAgZm9yZWFjaCAoJG0gaW4gW3JlZ2V4XTo6TWF0Y2hlcygkaWR4LCAnaHJlZj0iKFswLTldK1wuWzAtOV0rKD86XC5bMC05XSspKikvKyInKSkgewogICAgICAgICR2ZXJzLkFkZCgkbS5Hcm91cHNbMV0uVmFsdWUpCiAgICB9CiAgICBpZiAoLW5vdCAkdmVycy5Db3VudCkgeyB0aHJvdyAiQ291bGQgbm90IGRldGVybWluZSBsYXRlc3QgVkxDIHZlcnNpb24uIiB9CgogICAgJHZlcnMgfCBTb3J0LU9iamVjdCB7CiAgICAgICAgdHJ5IHsgW1ZlcnNpb25dJF8gfSBjYXRjaCB7IFtWZXJzaW9uXTo6UGFyc2UoKCRfIC1zcGxpdCAnXC4nKVswLi4yXSAtam9pbiAnLicpIH0KICAgIH0gLURlc2NlbmRpbmcgfCBTZWxlY3QtT2JqZWN0IC1GaXJzdCAxCn0KCiR2bGNWZXIgPSBHZXQtTGF0ZXN0VmxjVmVyc2lvbgoKV3JpdGUtSG9zdCAiU29mdHdhcmU6IFZMQyBNZWRpYSBQbGF5ZXIgJHZsY1ZlciBmb3IgV2luZG93cyIKV3JpdGUtSG9zdCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKCiMgVW5pbnN0YWxsIHByaW9yIEVYRSBpbnN0YWxscwppZiAoJG9zQml0cyAtZXEgNjQpIHsKICAgIGZvcmVhY2ggKCRwIGluIEAoCiAgICAgICAgJ0hLTE06XFNvZnR3YXJlXFdvdzY0MzJOb2RlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFxWTEMgTWVkaWEgUGxheWVyJywKICAgICAgICAnSEtMTTpcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXFZMQyBNZWRpYSBQbGF5ZXInCiAgICApKSB7CiAgICAgICAgdHJ5IHsKICAgICAgICAgICAgJHVuaW5zdCA9IChHZXQtSXRlbVByb3BlcnR5IC1QYXRoICRwIC1OYW1lIFVuaW5zdGFsbFN0cmluZyAtRXJyb3JBY3Rpb24gU3RvcCkuVW5pbnN0YWxsU3RyaW5nCiAgICAgICAgICAgIFdyaXRlLUhvc3QgIi0gRm91bmQgVkxDIGF0ICRwLiBSZW1vdmluZy4uLiIKICAgICAgICAgICAgU3RhcnQtUHJvY2VzcyAtRmlsZVBhdGggJHVuaW5zdCAtQXJndW1lbnRMaXN0ICcvUycgLVdhaXQKICAgICAgICAgICAgU3RhcnQtU2xlZXAgLVNlY29uZHMgOAogICAgICAgIH0gY2F0Y2ggeyB9CiAgICB9Cn0gZWxzZSB7CiAgICB0cnkgewogICAgICAgICR1ID0gKEdldC1JdGVtUHJvcGVydHkgLVBhdGggJ0hLTE06XFNvZnR3YXJlXE1pY3Jvc29mdFxXaW5kb3dzXEN1cnJlbnRWZXJzaW9uXFVuaW5zdGFsbFxWTEMgTWVkaWEgUGxheWVyJyAtTmFtZSBVbmluc3RhbGxTdHJpbmcgLUVycm9yQWN0aW9uIFN0b3ApLlVuaW5zdGFsbFN0cmluZwogICAgICAgIFdyaXRlLUhvc3QgIi0gRm91bmQgVkxDLiBSZW1vdmluZy4uLiIKICAgICAgICBTdGFydC1Qcm9jZXNzIC1GaWxlUGF0aCAkdSAtQXJndW1lbnRMaXN0ICcvUycgLVdhaXQKICAgICAgICBTdGFydC1TbGVlcCAtU2Vjb25kcyA4CiAgICB9IGNhdGNoIHsgfQp9CgojIFVuaW5zdGFsbCBNU0ktYmFzZWQgVkxDIGlmIHByZXNlbnQKJG1zaUNvZGVzID0gR2V0LU1TSVByb2R1Y3RDb2RlcyAtTmFtZVJlZ2V4ICdeVkxDJwpmb3JlYWNoICgkY29kZSBpbiAkbXNpQ29kZXMpIHsKICAgIFdyaXRlLUhvc3QgIi0gUmVtb3ZpbmcgTVNJIGluc3RhbGxhdGlvbiAkY29kZS4uLiIKICAgIFN0YXJ0LVByb2Nlc3MgbXNpZXhlYy5leGUgLUFyZ3VtZW50TGlzdCAiL3ggJGNvZGUgL3FuIC9ub3Jlc3RhcnQiIC1XYWl0CiAgICBTdGFydC1TbGVlcCAtU2Vjb25kcyA2Cn0KCldyaXRlLUhvc3QgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iCgpmdW5jdGlvbiBJbnN0YWxsLVZMQyB7CiAgICBwYXJhbShbaW50XSRUYXJnZXRCaXRzKQoKICAgICRjYW5kaWRhdGVzID0gQCgKICAgICAgICAiaHR0cHM6Ly9nZXQudmlkZW9sYW4ub3JnL3ZsYy8kdmxjVmVyL3dpbiRUYXJnZXRCaXRzL3ZsYy0kdmxjVmVyLXdpbiRUYXJnZXRCaXRzLmV4ZSIsCiAgICAgICAgImh0dHBzOi8vZG93bmxvYWQudmlkZW9sYW4ub3JnL3B1Yi92aWRlb2xhbi92bGMvJHZsY1Zlci93aW4kVGFyZ2V0Qml0cy92bGMtJHZsY1Zlci13aW4kVGFyZ2V0Qml0cy5leGUiCiAgICApCgogICAgJGluc3RhbGxlciA9IEpvaW4tUGF0aCAkUFdEICJWTEMtJHZsY1Zlci13aW4kVGFyZ2V0Qml0cy5leGUiCgogICAgJG9rID0gJGZhbHNlCiAgICBmb3JlYWNoICgkdSBpbiAkY2FuZGlkYXRlcykgewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFdyaXRlLUhvc3QgIi0gRG93bmxvYWRpbmcgVkxDICR2bGNWZXIgKCRUYXJnZXRCaXRzLWJpdCkgZnJvbTogJHUiCiAgICAgICAgICAgIEludm9rZS1Eb3dubG9hZCAtVXJpICR1IC1PdXRGaWxlICRpbnN0YWxsZXIKICAgICAgICAgICAgJG9rID0gJHRydWUKICAgICAgICAgICAgYnJlYWsKICAgICAgICB9IGNhdGNoIHsKICAgICAgICAgICAgV3JpdGUtSG9zdCAiOiBEb3dubG9hZCBmYWlsZWQgZnJvbSBtaXJyb3IsIHRyeWluZyBuZXh0Li4uIgogICAgICAgIH0KICAgIH0KICAgIGlmICgtbm90ICRvaykgeyB0aHJvdyAiQWxsIG1pcnJvcnMgZmFpbGVkIGZvciBWTEMgJHZsY1ZlciAoJFRhcmdldEJpdHMtYml0KS4iIH0KCiAgICAkYXJjaCA9IEdldC1QRUFyY2ggLVBhdGggJGluc3RhbGxlcgogICAgaWYgKC1ub3QgJGFyY2gpICAgICAgICAgICB7IHRocm93ICJEb3dubG9hZGVkIGZpbGUgaXMgbm90IGEgdmFsaWQgV2luZG93cyBleGVjdXRhYmxlOiAkaW5zdGFsbGVyIiB9CiAgICBpZiAoJGFyY2ggLW5lICRUYXJnZXRCaXRzKXsgdGhyb3cgIkVYRSBhcmNoICgkYXJjaC1iaXQpICE9IHJlcXVlc3RlZCAoJFRhcmdldEJpdHMtYml0KS4iIH0KCiAgICAkcHJvYyA9IFN0YXJ0LVByb2Nlc3MgLUZpbGVQYXRoICRpbnN0YWxsZXIgLUFyZ3VtZW50TGlzdCAnL1MnIC1XYWl0IC1Ob05ld1dpbmRvdyAtUGFzc1RocnUKICAgIGlmICgkcHJvYy5FeGl0Q29kZSAtbmUgMCkgeyB0aHJvdyAiSW5zdGFsbGVyIGV4aXRlZCB3aXRoIGNvZGUgJCgkcHJvYy5FeGl0Q29kZSkuIiB9Cn0KCnRyeSB7CiAgICBJbnN0YWxsLVZMQyAtVGFyZ2V0Qml0cyAkb3NCaXRzCn0gY2F0Y2ggewogICAgaWYgKCRvc0JpdHMgLWVxIDY0KSB7CiAgICAgICAgV3JpdGUtSG9zdCAiOiBSZXRyeWluZyB3aXRoIDMyLWJpdCBpbnN0YWxsZXIuLi4iCiAgICAgICAgSW5zdGFsbC1WTEMgLVRhcmdldEJpdHMgMzIKICAgIH0gZWxzZSB7CiAgICAgICAgdGhyb3cKICAgIH0KfQoKV3JpdGUtSG9zdCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKV3JpdGUtSG9zdCAiLSBJbnN0YWxsYXRpb24gY29tcGxldGVkIGF0ICQoR2V0LURhdGUpLiI=", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Scripts/Software Installers/Visual C++/VisualC__Redis_2015-2022_WIN.json b/Assemblies/Scripts/Software Installers/Visual C++/VisualC__Redis_2015-2022_WIN.json deleted file mode 100644 index c21cb4ae..00000000 --- a/Assemblies/Scripts/Software Installers/Visual C++/VisualC__Redis_2015-2022_WIN.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "version": 1, - "name": "Microsoft Visual C++ Redistributable (2015-2022) [WIN]", - "description": "", - "category": "application", - "type": "powershell", - "script": "V3JpdGUtSG9zdCAiTWljcm9zb2Z0IFZpc3VhbCBDKysgUmVkaXN0cmlidXRhYmxlICgyMDE14oCTMjAyMikiCldyaXRlLUhvc3QgIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKCiMgVExTIGVuYWJsZW1lbnQKdHJ5IHsKICAgIFtOZXQuU2VydmljZVBvaW50TWFuYWdlcl06OlNlY3VyaXR5UHJvdG9jb2wgPSBbRW51bV06OlRvT2JqZWN0KFtOZXQuU2VjdXJpdHlQcm90b2NvbFR5cGVdLCAzMDcyKQp9IGNhdGNoIHt9CgpmdW5jdGlvbiBOZXctSHR0cENsaWVudCB7CiAgICAkaGFuZGxlciA9IE5ldy1PYmplY3QgU3lzdGVtLk5ldC5IdHRwLkh0dHBDbGllbnRIYW5kbGVyCiAgICB0cnkgewogICAgICAgICRwcm94eSA9IFtTeXN0ZW0uTmV0LldlYlJlcXVlc3RdOjpEZWZhdWx0V2ViUHJveHkKICAgICAgICBpZiAoJHByb3h5KSB7CiAgICAgICAgICAgICRoYW5kbGVyLlVzZVByb3h5ID0gJHRydWUKICAgICAgICAgICAgJGhhbmRsZXIuUHJveHkgICAgPSAkcHJveHkKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkaGFuZGxlci5Vc2VQcm94eSA9ICRmYWxzZQogICAgICAgIH0KICAgIH0gY2F0Y2ggewogICAgICAgICRoYW5kbGVyLlVzZVByb3h5ID0gJGZhbHNlCiAgICB9CiAgICAkY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0Lkh0dHAuSHR0cENsaWVudCgkaGFuZGxlcikKICAgICRjbGllbnQuRGVmYXVsdFJlcXVlc3RIZWFkZXJzLlVzZXJBZ2VudC5QYXJzZUFkZCgiTW96aWxsYS81LjAiKQogICAgcmV0dXJuICRjbGllbnQKfQoKZnVuY3Rpb24gU2F2ZS1SZW1vdGVGaWxlIHsKICAgIHBhcmFtKAogICAgICAgIFtQYXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bc3RyaW5nXSRVcmksCiAgICAgICAgW1BhcmFtZXRlcihNYW5kYXRvcnk9JHRydWUpXVtzdHJpbmddJFBhdGgKICAgICkKICAgICRjbGllbnQgPSBOZXctSHR0cENsaWVudAogICAgdHJ5IHsKICAgICAgICAkcmVzcG9uc2UgPSAkY2xpZW50LkdldEFzeW5jKCRVcmkpLlJlc3VsdAogICAgICAgIGlmICgtbm90ICRyZXNwb25zZS5Jc1N1Y2Nlc3NTdGF0dXNDb2RlKSB7CiAgICAgICAgICAgIFdyaXRlLUhvc3QgIiEgRVJST1I6IERvd25sb2FkIGZhaWxlZDogJCgkcmVzcG9uc2UuU3RhdHVzQ29kZSkiOyBleGl0IDEKICAgICAgICB9CiAgICAgICAgW0lPLkZpbGVdOjpXcml0ZUFsbEJ5dGVzKCRQYXRoLCAkcmVzcG9uc2UuQ29udGVudC5SZWFkQXNCeXRlQXJyYXlBc3luYygpLlJlc3VsdCkKICAgICAgICBpZiAoLW5vdCAoVGVzdC1QYXRoICRQYXRoKSkgeyBXcml0ZS1Ib3N0ICIhIEVSUk9SOiBGaWxlIG5vdCBmb3VuZCBhZnRlciBkb3dubG9hZC4iOyBleGl0IDEgfQogICAgfSBmaW5hbGx5IHsKICAgICAgICAkY2xpZW50LkRpc3Bvc2UoKQogICAgfQp9CgpmdW5jdGlvbiBJbnN0YWxsLVZDIHsKICAgIHBhcmFtKFtQYXJhbWV0ZXIoTWFuZGF0b3J5PSR0cnVlKV1bVmFsaWRhdGVTZXQoJ3g4NicsJ3g2NCcpXVtzdHJpbmddJEFyY2gpCiAgICAkdXJsICA9ICJodHRwczovL2FrYS5tcy92cy8xNy9yZWxlYXNlL3ZjX3JlZGlzdC4kQXJjaC5leGUiCiAgICAkZGVzdCA9IEpvaW4tUGF0aCAoW1N5c3RlbS5JTy5QYXRoXTo6R2V0VGVtcFBhdGgoKSkgKCJ2Y18kQXJjaC5leGUiKQogICAgV3JpdGUtSG9zdCAiLSBEb3dubG9hZGluZzogJHVybCIKICAgIFNhdmUtUmVtb3RlRmlsZSAtVXJpICR1cmwgLVBhdGggJGRlc3QKICAgIFdyaXRlLUhvc3QgIi0gSW5zdGFsbGluZyAoJEFyY2gpIgogICAgJHAgPSBTdGFydC1Qcm9jZXNzICRkZXN0IC1Bcmd1bWVudExpc3QgIi9pbnN0YWxsIC9wYXNzaXZlIC9ub3Jlc3RhcnQiIC1XYWl0IC1QYXNzVGhydSAtTm9OZXdXaW5kb3cKICAgIHN3aXRjaCAoJHAuRXhpdENvZGUpIHsKICAgICAgICAwICAgIHsgV3JpdGUtSG9zdCAiLSAkQXJjaCBpbnN0YWxsZWQgc3VjY2Vzc2Z1bGx5LiIgfQogICAgICAgIDMwMTAgeyBXcml0ZS1Ib3N0ICItICRBcmNoIGluc3RhbGxlZDsgcmVib290IHJlcXVpcmVkLiIgfQogICAgICAgIGRlZmF1bHQgeyBXcml0ZS1Ib3N0ICIhIEVSUk9SOiAkQXJjaCBpbnN0YWxsZXIgZXhpdGVkIHdpdGggY29kZSAkKCRwLkV4aXRDb2RlKS4iIH0KICAgIH0KfQoKaWYgKFtFbnZpcm9ubWVudF06OklzNjRCaXRPcGVyYXRpbmdTeXN0ZW0pIHsKICAgIEluc3RhbGwtVkMgLUFyY2ggeDg2CiAgICBJbnN0YWxsLVZDIC1BcmNoIHg2NAp9IGVsc2UgewogICAgSW5zdGFsbC1WQyAtQXJjaCB4ODYKfQoKV3JpdGUtSG9zdCAiLSBPcGVyYXRpb25zIGNvbXBsZXRlLiIK", - "timeout_seconds": 3600, - "sites": { - "mode": "all", - "values": [] - }, - "variables": [], - "files": [], - "script_encoding": "base64" -} \ No newline at end of file diff --git a/Assemblies/Workflows/Examples/API Requests/Value Parser.json b/Assemblies/Workflows/Examples/API Requests/Value Parser.json deleted file mode 100644 index 8cc9f24c..00000000 --- a/Assemblies/Workflows/Examples/API Requests/Value Parser.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "tab_name": "Value Parser", - "nodes": [ - { - "data": { - "body": "", - "content": "Fetch JSON from HTTP or remote API endpoint, with CORS proxy option.", - "intervalSec": "10", - "label": "API Request", - "result": "{\n \"status\": \"ok\"\n}", - "url": "http://localhost:5000/health", - "useProxy": "true" - }, - "dragHandle": ".borealis-node-header", - "dragging": false, - "height": 124, - "id": "node-1754799747658", - "position": { - "x": 27.333333333333314, - "y": 28 - }, - "positionAbsolute": { - "x": 27.333333333333314, - "y": 28 - }, - "selected": false, - "type": "API_Request", - "width": 160 - }, - { - "data": { - "content": "Display prettified multi-line JSON from upstream node.", - "jsonData": { - "status": "ok" - }, - "label": "Display JSON Data" - }, - "dragHandle": ".borealis-node-header", - "dragging": false, - "height": 150, - "id": "node-1754799750393", - "position": { - "x": 245.33333333333326, - "y": 28 - }, - "positionAbsolute": { - "x": 245.33333333333326, - "y": 28 - }, - "selected": false, - "type": "Node_JSON_Pretty_Display", - "width": 260 - }, - { - "data": { - "content": "Provide a dot-separated key path (e.g. 'name.en'); outputs the extracted string or 'Key Not Found'.", - "keyName": "status", - "label": "JSON Value Extractor", - "result": "ok" - }, - "dragHandle": ".borealis-node-header", - "dragging": false, - "height": 145, - "id": "node-1754799751513", - "position": { - "x": 559.3333333333333, - "y": 28 - }, - "positionAbsolute": { - "x": 559.3333333333333, - "y": 28 - }, - "selected": false, - "type": "JSON_Value_Extractor", - "width": 160 - } - ], - "edges": [ - { - "animated": true, - "id": "reactflow__edge-node-1754799747658-node-1754799750393", - "source": "node-1754799747658", - "sourceHandle": null, - "style": { - "stroke": "#58a6ff", - "strokeDasharray": "6 3" - }, - "target": "node-1754799750393", - "targetHandle": null, - "type": "bezier" - }, - { - "animated": true, - "id": "reactflow__edge-node-1754799750393-node-1754799751513", - "source": "node-1754799750393", - "sourceHandle": null, - "style": { - "stroke": "#58a6ff", - "strokeDasharray": "6 3" - }, - "target": "node-1754799751513", - "targetHandle": null, - "type": "bezier" - } - ] -} \ No newline at end of file diff --git a/Assemblies/Workflows/Examples/Basic/Logic Comparison.json b/Assemblies/Workflows/Examples/Basic/Logic Comparison.json deleted file mode 100644 index 18119e77..00000000 --- a/Assemblies/Workflows/Examples/Basic/Logic Comparison.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "tab_name": "Logic Comparison", - "nodes": [ - { - "data": { - "content": "Store a String or Number", - "label": "String Input A", - "value": "Bunny" - }, - "dragHandle": ".borealis-node-header", - "dragging": false, - "height": 67, - "id": "node-1754800111049", - "position": { - "x": 19.333333333333314, - "y": 20.666666666666657 - }, - "positionAbsolute": { - "x": 19.333333333333314, - "y": 20.666666666666657 - }, - "selected": false, - "type": "DataNode", - "width": 160 - }, - { - "data": { - "accentColor": "#ff8c00", - "content": "Store a String or Number", - "label": "String Input B", - "value": "Bunny" - }, - "dragHandle": ".borealis-node-header", - "dragging": false, - "height": 67, - "id": "node-1754800112609", - "position": { - "x": 19.33333333333337, - "y": 121.33333333333337 - }, - "positionAbsolute": { - "x": 19.33333333333337, - "y": 121.33333333333337 - }, - "selected": false, - "style": { - "--borealis-accent": "#ff8c00", - "--borealis-accent-dark": "#b36200", - "--borealis-title": "#ff8c00" - }, - "type": "DataNode", - "width": 160 - }, - { - "id": "node-1754800323495", - "type": "ComparisonNode", - "position": { - "x": 271.3333333333333, - "y": 69.33333333333333 - }, - "data": { - "label": "Does A and B Match?", - "content": "Compare A and B using Logic, with new range operator.", - "value": "1", - "accentColor": "#c0ff00", - "inputType": "String", - "operator": "Equal (==)" - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 67, - "positionAbsolute": { - "x": 271.3333333333333, - "y": 69.33333333333333 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#c0ff00", - "--borealis-accent-dark": "#86b300", - "--borealis-title": "#c0ff00" - } - } - ], - "edges": [ - { - "source": "node-1754800111049", - "sourceHandle": null, - "target": "node-1754800323495", - "targetHandle": "a", - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800111049-node-1754800323495a" - }, - { - "source": "node-1754800112609", - "sourceHandle": null, - "target": "node-1754800323495", - "targetHandle": "b", - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800112609-node-1754800323495b" - } - ] -} \ No newline at end of file diff --git a/Assemblies/Workflows/Examples/Basic/Math Operations.json b/Assemblies/Workflows/Examples/Basic/Math Operations.json deleted file mode 100644 index 30764c60..00000000 --- a/Assemblies/Workflows/Examples/Basic/Math Operations.json +++ /dev/null @@ -1,147 +0,0 @@ -{ - "tab_name": "Math Operations", - "nodes": [ - { - "id": "node-1754800111049", - "type": "DataNode", - "position": { - "x": 19.333333333333314, - "y": 20.666666666666657 - }, - "data": { - "label": "Number Input A", - "content": "Store a String or Number", - "value": "5" - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 67, - "selected": false, - "positionAbsolute": { - "x": 19.333333333333314, - "y": 20.666666666666657 - }, - "dragging": false - }, - { - "id": "node-1754800112609", - "type": "DataNode", - "position": { - "x": 19.33333333333337, - "y": 121.33333333333337 - }, - "data": { - "label": "Number Input B", - "content": "Store a String or Number", - "accentColor": "#ff8c00", - "value": "3" - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 67, - "selected": false, - "positionAbsolute": { - "x": 19.33333333333337, - "y": 121.33333333333337 - }, - "dragging": false, - "style": { - "--borealis-accent": "#ff8c00", - "--borealis-accent-dark": "#b36200", - "--borealis-title": "#ff8c00" - } - }, - { - "id": "node-1754800119705", - "type": "MathNode", - "position": { - "x": 276.66666666666663, - "y": 69.33333333333334 - }, - "data": { - "label": "Multiply A x B", - "content": "Perform Math Operations", - "value": "15", - "operator": "Multiply", - "accentColor": "#00d18c" - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 67, - "positionAbsolute": { - "x": 276.66666666666663, - "y": 69.33333333333334 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#00d18c", - "--borealis-accent-dark": "#009262", - "--borealis-title": "#00d18c" - } - }, - { - "id": "node-1754800128555", - "type": "DataNode", - "position": { - "x": 517.3333333333334, - "y": 69.33333333333333 - }, - "data": { - "label": "Usable Result", - "content": "Store a String or Number", - "value": "15" - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 67, - "positionAbsolute": { - "x": 517.3333333333334, - "y": 69.33333333333333 - }, - "selected": true, - "dragging": false - } - ], - "edges": [ - { - "source": "node-1754800111049", - "sourceHandle": null, - "target": "node-1754800119705", - "targetHandle": "a", - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800111049-node-1754800119705a" - }, - { - "source": "node-1754800112609", - "sourceHandle": null, - "target": "node-1754800119705", - "targetHandle": "b", - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800112609-node-1754800119705b" - }, - { - "source": "node-1754800119705", - "sourceHandle": null, - "target": "node-1754800128555", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800119705-node-1754800128555" - } - ] -} \ No newline at end of file diff --git a/Assemblies/Workflows/Examples/OCR/Text Recognition.json b/Assemblies/Workflows/Examples/OCR/Text Recognition.json deleted file mode 100644 index 7af46da0..00000000 --- a/Assemblies/Workflows/Examples/OCR/Text Recognition.json +++ /dev/null @@ -1,276 +0,0 @@ -{ - "tab_name": "Text Recognition", - "nodes": [ - { - "id": "node-1754800498085", - "type": "Borealis_Agent", - "position": { - "x": 25.999999999999943, - "y": 24.000000000000014 - }, - "data": { - "label": "Borealis Agent", - "content": "Select and manage an Agent with dynamic roles", - "agent_id": "" - }, - "dragHandle": ".borealis-node-header", - "positionAbsolute": { - "x": 25.999999999999943, - "y": 24.000000000000014 - }, - "width": 205, - "height": 146, - "selected": false, - "dragging": false - }, - { - "id": "node-1754800514571", - "type": "Agent_Role_Screenshot", - "position": { - "x": 278, - "y": 24 - }, - "data": { - "label": "Agent Role: Screenshot", - "content": "Capture screenshot region via agent", - "interval": "1000", - "x": "250", - "y": "100", - "w": "300", - "h": "200", - "visible": "true", - "alias": "" - }, - "dragHandle": ".borealis-node-header", - "width": 166, - "height": 115, - "selected": false, - "positionAbsolute": { - "x": 278, - "y": 24 - }, - "dragging": false - }, - { - "id": "node-1754800556810", - "type": "Image_Viewer", - "position": { - "x": 507.33333333333326, - "y": 24 - }, - "data": { - "label": "Raw Image Viewer", - "content": "Visual preview of base64 image with zoom overlay." - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 69, - "selected": false, - "positionAbsolute": { - "x": 507.33333333333326, - "y": 24 - }, - "dragging": false - }, - { - "id": "node-1754800584420", - "type": "BWThresholdNode", - "position": { - "x": 507.33333333333337, - "y": 110 - }, - "data": { - "label": "BW Threshold", - "content": "Applies black & white threshold to base64 image input." - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 96, - "selected": false, - "positionAbsolute": { - "x": 507.33333333333337, - "y": 110 - }, - "dragging": false - }, - { - "id": "node-1754800597090", - "type": "OCR_Text_Extraction", - "position": { - "x": 46.800008138020814, - "y": 280.00000000000006 - }, - "data": { - "label": "OCR Text Extraction", - "content": "Extract Multi-Line Text from Upstream Image Node", - "engine": "EasyOCR", - "backend": "GPU", - "dataType": "Mixed", - "customRateEnabled": "true", - "customRateMs": "1000", - "changeThreshold": "0" - }, - "dragHandle": ".borealis-node-header", - "width": 231, - "height": 160, - "selected": false, - "positionAbsolute": { - "x": 46.800008138020814, - "y": 280.00000000000006 - }, - "dragging": false - }, - { - "id": "node-1754800680302", - "type": "ArrayIndexExtractor", - "position": { - "x": 497.3333333333333, - "y": 280 - }, - "data": { - "label": "Array Index Extractor", - "content": "Output a Specific Array Index's Value", - "lineNumber": "1" - }, - "dragHandle": ".borealis-node-header", - "width": 210, - "height": 121, - "selected": false, - "positionAbsolute": { - "x": 497.3333333333333, - "y": 280 - }, - "dragging": false - }, - { - "id": "node-1754800736215", - "type": "DataNode", - "position": { - "x": 328.6666666666665, - "y": 568.6666666666666 - }, - "data": { - "label": "String / Number", - "content": "Store a String or Number", - "value": "[ERROR] No base64 image data provided." - }, - "dragHandle": ".borealis-node-header", - "width": 226, - "height": 67, - "selected": true, - "positionAbsolute": { - "x": 328.6666666666665, - "y": 568.6666666666666 - }, - "dragging": false - } - ], - "edges": [ - { - "source": "node-1754800498085", - "sourceHandle": "provisioner", - "target": "node-1754800514571", - "targetHandle": null, - "type": "smoothstep", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800498085provisioner-node-1754800514571", - "label": "Capture the Screen", - "labelBgStyle": { - "fill": "#000000" - }, - "labelStyle": { - "fill": "#58a6ff" - } - }, - { - "source": "node-1754800514571", - "sourceHandle": null, - "target": "node-1754800556810", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800514571-node-1754800556810" - }, - { - "source": "node-1754800514571", - "sourceHandle": null, - "target": "node-1754800584420", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1754800514571-node-1754800584420" - }, - { - "source": "node-1754800584420", - "sourceHandle": null, - "target": "node-1754800597090", - "targetHandle": null, - "type": "smoothstep", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#00d18c" - }, - "id": "reactflow__edge-node-1754800584420-node-1754800597090", - "label": "Process Agent Screenshot into Text", - "labelBgStyle": { - "fill": "#000000" - }, - "labelStyle": { - "fill": "#00d18c" - } - }, - { - "source": "node-1754800597090", - "sourceHandle": null, - "target": "node-1754800680302", - "targetHandle": null, - "type": "straight", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#00d18c" - }, - "id": "reactflow__edge-node-1754800597090-node-1754800680302", - "label": "Extract a Specific Line of Text", - "labelBgStyle": { - "fill": "#000000" - }, - "labelStyle": { - "fill": "#00d18c" - } - }, - { - "source": "node-1754800680302", - "sourceHandle": null, - "target": "node-1754800736215", - "targetHandle": null, - "type": "smoothstep", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#ff8c00" - }, - "id": "reactflow__edge-node-1754800680302-node-1754800736215", - "label": "Do something with the result", - "labelStyle": { - "fill": "#ff8c00" - }, - "labelBgStyle": { - "fill": "#000000" - } - } - ] -} \ No newline at end of file diff --git a/Assemblies/Workflows/Games/Flyff Universe/Character Status Breakdown.json b/Assemblies/Workflows/Games/Flyff Universe/Character Status Breakdown.json deleted file mode 100644 index f6faf44e..00000000 --- a/Assemblies/Workflows/Games/Flyff Universe/Character Status Breakdown.json +++ /dev/null @@ -1,569 +0,0 @@ -{ - "nodes": [ - { - "id": "node-1748678585495", - "type": "Borealis_Agent", - "position": { - "x": -72.88210799610599, - "y": 261.8892293593568 - }, - "data": { - "label": "Borealis Agent", - "content": "Select and manage an Agent with dynamic roles", - "agent_id": "lab-operator-01-agent-23b7671c" - }, - "dragHandle": ".borealis-node-header", - "positionAbsolute": { - "x": -72.88210799610599, - "y": 261.8892293593568 - }, - "width": 260, - "height": 146, - "selected": false, - "dragging": false - }, - { - "id": "node-1748678591837", - "type": "Agent_Role_Screenshot", - "position": { - "x": 147.62550981455888, - "y": 454.6163598867883 - }, - "data": { - "label": "Agent Role: Screenshot", - "content": "Capture screenshot region via agent", - "interval": "1000", - "x": 200, - "y": 418, - "w": 168, - "h": 113, - "visible": "true", - "alias": "", - "value": "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" - }, - "dragHandle": ".borealis-node-header", - "width": 166, - "height": 115, - "selected": false, - "positionAbsolute": { - "x": 147.62550981455888, - "y": 454.6163598867883 - }, - "dragging": false - }, - { - "id": "node-1748678828456", - "type": "BWThresholdNode", - "position": { - "x": 362.66666666666674, - "y": 261.8888854980469 - }, - "data": { - "label": "BW Threshold", - "content": "Applies black & white threshold to base64 image input.", - "value": 181, - "accentColor": "#00d18c" - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 96, - "positionAbsolute": { - "x": 362.66666666666674, - "y": 261.8888854980469 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#00d18c", - "--borealis-accent-dark": "#009262", - "--borealis-title": "#00d18c" - } - }, - { - "id": "node-1748678869849", - "type": "Image_Viewer", - "position": { - "x": 571.9767490216869, - "y": 261.892592588529 - }, - "data": { - "label": "Player Stats", - "content": "Visual preview of base64 image with zoom overlay.", - "accentColor": "#00d18c" - }, - "dragHandle": ".borealis-node-header", - "width": 192, - "height": 180, - "positionAbsolute": { - "x": 571.9767490216869, - "y": 261.892592588529 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#00d18c", - "--borealis-accent-dark": "#009262", - "--borealis-title": "#00d18c" - } - }, - { - "id": "node-1748678942362", - "type": "OCR_Text_Extraction", - "position": { - "x": -34, - "y": 780.0000000000001 - }, - "data": { - "label": "Extract Player Stats", - "content": "Extract Multi-Line Text from Upstream Image Node", - "engine": "EasyOCR", - "backend": "GPU", - "dataType": "Mixed", - "customRateEnabled": "true", - "customRateMs": "1000", - "changeThreshold": "0", - "accentColor": "#00d18c" - }, - "dragHandle": ".borealis-node-header", - "width": 231, - "height": 160, - "positionAbsolute": { - "x": -34, - "y": 780.0000000000001 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#00d18c", - "--borealis-accent-dark": "#009262", - "--borealis-title": "#00d18c" - } - }, - { - "id": "node-1748679460070", - "type": "ArrayIndexExtractor", - "position": { - "x": 429.7666829427083, - "y": 506.6666666666666 - }, - "data": { - "label": "Health", - "content": "Output a Specific Array Index's Value", - "lineNumber": "1", - "accentColor": "#ff4f4f" - }, - "dragHandle": ".borealis-node-header", - "width": 210, - "height": 121, - "positionAbsolute": { - "x": 429.7666829427083, - "y": 506.6666666666666 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#ff4f4f", - "--borealis-accent-dark": "#b33737", - "--borealis-title": "#ff4f4f" - } - }, - { - "id": "node-1748679461900", - "type": "ArrayIndexExtractor", - "position": { - "x": 429.76668294270837, - "y": 627.1666666666666 - }, - "data": { - "label": "Magic Power", - "content": "Output a Specific Array Index's Value", - "lineNumber": "2" - }, - "dragHandle": ".borealis-node-header", - "width": 210, - "height": 121, - "positionAbsolute": { - "x": 429.76668294270837, - "y": 627.1666666666666 - }, - "selected": false, - "dragging": false - }, - { - "id": "node-1748679463481", - "type": "ArrayIndexExtractor", - "position": { - "x": 429.7666829427085, - "y": 747.6666666666666 - }, - "data": { - "label": "Fighting Power", - "content": "Output a Specific Array Index's Value", - "lineNumber": "3", - "accentColor": "#00d18c" - }, - "dragHandle": ".borealis-node-header", - "width": 210, - "height": 121, - "positionAbsolute": { - "x": 429.7666829427085, - "y": 747.6666666666666 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#00d18c", - "--borealis-accent-dark": "#009262", - "--borealis-title": "#00d18c" - } - }, - { - "id": "node-1748679535288", - "type": "ArrayIndexExtractor", - "position": { - "x": 429.76668294270837, - "y": 868.1666666666666 - }, - "data": { - "label": "Experience", - "content": "Output a Specific Array Index's Value", - "lineNumber": "4", - "accentColor": "#ff8c00" - }, - "dragHandle": ".borealis-node-header", - "width": 210, - "height": 121, - "positionAbsolute": { - "x": 429.76668294270837, - "y": 868.1666666666666 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#ff8c00", - "--borealis-accent-dark": "#b36200", - "--borealis-title": "#ff8c00" - } - }, - { - "id": "node-1748679760829", - "type": "RegexReplace", - "position": { - "x": 888.5200415344996, - "y": 261.892592588529 - }, - "data": { - "label": "Cleanup Health", - "content": "Perform regex replacement on incoming string", - "pattern": "^\\s*(\\d+)[^0-9]+(\\d+)\\s*$", - "replacement": "$1", - "flags": "g", - "enabled": "true", - "accentColor": "#ff4f4f" - }, - "dragHandle": ".borealis-node-header", - "width": 260, - "height": 218, - "positionAbsolute": { - "x": 888.5200415344996, - "y": 261.892592588529 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#ff4f4f", - "--borealis-accent-dark": "#b33737", - "--borealis-title": "#ff4f4f" - } - }, - { - "id": "node-1748679772509", - "type": "RegexReplace", - "position": { - "x": 888.5200415344998, - "y": 480.291310829242 - }, - "data": { - "label": "Cleanup Magic Power", - "content": "Perform regex replacement on incoming string", - "pattern": "^\\s*(\\d+)[^0-9]+(\\d+)\\s*$", - "replacement": "$1", - "flags": "g", - "enabled": "true" - }, - "dragHandle": ".borealis-node-header", - "width": 260, - "height": 218, - "positionAbsolute": { - "x": 888.5200415344998, - "y": 480.291310829242 - }, - "selected": false, - "dragging": false - }, - { - "id": "node-1748679789227", - "type": "RegexReplace", - "position": { - "x": 888.5200415344998, - "y": 698.690029069955 - }, - "data": { - "label": "Cleanup Fighting Power", - "content": "Perform regex replacement on incoming string", - "pattern": "^\\s*(\\d+)[^0-9]+(\\d+)\\s*$", - "replacement": "$1", - "flags": "g", - "enabled": "true", - "accentColor": "#00d18c" - }, - "dragHandle": ".borealis-node-header", - "width": 260, - "height": 218, - "positionAbsolute": { - "x": 888.5200415344998, - "y": 698.690029069955 - }, - "selected": true, - "dragging": false, - "style": { - "--borealis-accent": "#00d18c", - "--borealis-accent-dark": "#009262", - "--borealis-title": "#00d18c" - } - }, - { - "id": "node-1748679795557", - "type": "RegexReplace", - "position": { - "x": 888.5200415344998, - "y": 917.0887068185677 - }, - "data": { - "label": "Cleanup Experience", - "content": "Perform regex replacement on incoming string", - "pattern": "%$", - "replacement": "", - "flags": "g", - "enabled": "true", - "accentColor": "#ff8c00" - }, - "dragHandle": ".borealis-node-header", - "width": 260, - "height": 218, - "positionAbsolute": { - "x": 888.5200415344998, - "y": 917.0887068185677 - }, - "selected": false, - "dragging": false, - "style": { - "--borealis-accent": "#ff8c00", - "--borealis-accent-dark": "#b36200", - "--borealis-title": "#ff8c00" - } - } - ], - "edges": [ - { - "source": "node-1748678585495", - "sourceHandle": "provisioner", - "target": "node-1748678591837", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1748678585495provisioner-node-1748678591837", - "label": "Read Player Stats", - "labelStyle": { - "fill": "#ffffff" - }, - "labelBgStyle": { - "fill": "#000000" - } - }, - { - "source": "node-1748678591837", - "sourceHandle": null, - "target": "node-1748678828456", - "targetHandle": null, - "type": "smoothstep", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1748678591837-node-1748678828456", - "label": "Make it Easier to Read", - "labelStyle": { - "fill": "#ffffff" - }, - "labelBgStyle": { - "fill": "#000000" - } - }, - { - "source": "node-1748678828456", - "sourceHandle": null, - "target": "node-1748678869849", - "targetHandle": null, - "type": "smoothstep", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1748678828456-node-1748678869849" - }, - { - "source": "node-1748678869849", - "sourceHandle": null, - "target": "node-1748678942362", - "targetHandle": null, - "type": "smoothstep", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1748678869849-node-1748678942362" - }, - { - "source": "node-1748678942362", - "sourceHandle": null, - "target": "node-1748679460070", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#ff4f4f" - }, - "id": "reactflow__edge-node-1748678942362-node-1748679460070" - }, - { - "source": "node-1748678942362", - "sourceHandle": null, - "target": "node-1748679461900", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1748678942362-node-1748679461900", - "selected": false - }, - { - "source": "node-1748678942362", - "sourceHandle": null, - "target": "node-1748679463481", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#00d18c" - }, - "id": "reactflow__edge-node-1748678942362-node-1748679463481" - }, - { - "source": "node-1748678942362", - "sourceHandle": null, - "target": "node-1748679535288", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#ff8c00" - }, - "id": "reactflow__edge-node-1748678942362-node-1748679535288" - }, - { - "source": "node-1748679460070", - "sourceHandle": null, - "target": "node-1748679760829", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#ff4f4f" - }, - "id": "reactflow__edge-node-1748679460070-node-1748679760829", - "label": "Extract Current HP", - "labelStyle": { - "fill": "#ff4f4f" - }, - "labelBgStyle": { - "fill": "#000000" - } - }, - { - "source": "node-1748679461900", - "sourceHandle": null, - "target": "node-1748679772509", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1748679461900-node-1748679772509", - "labelStyle": { - "fill": "#58a6ff" - }, - "labelBgStyle": { - "fill": "#000000" - }, - "label": "Extract Current MP" - }, - { - "source": "node-1748679463481", - "sourceHandle": null, - "target": "node-1748679789227", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#00d18c" - }, - "id": "reactflow__edge-node-1748679463481-node-1748679789227", - "labelStyle": { - "fill": "#00d18c" - }, - "labelBgStyle": { - "fill": "#000000" - }, - "label": "Extract Current FP" - }, - { - "source": "node-1748679535288", - "sourceHandle": null, - "target": "node-1748679795557", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#ff8c00" - }, - "id": "reactflow__edge-node-1748679535288-node-1748679795557", - "label": "Extract Current EXP", - "labelStyle": { - "fill": "#ff8c00" - }, - "labelBgStyle": { - "fill": "#000000" - } - } - ], - "tab_name": "Character Status Breakdown" -} \ No newline at end of file diff --git a/Assemblies/Workflows/Games/Flyff Universe/Chat Text Search Alerter.json b/Assemblies/Workflows/Games/Flyff Universe/Chat Text Search Alerter.json deleted file mode 100644 index 4bfe438d..00000000 --- a/Assemblies/Workflows/Games/Flyff Universe/Chat Text Search Alerter.json +++ /dev/null @@ -1,270 +0,0 @@ -{ - "tab_name": "Chat Text Search Alerter", - "nodes": [ - { - "id": "node-1746283065191", - "type": "AlertSoundNode", - "position": { - "x": 854.1638317296133, - "y": 516.4659418511601 - }, - "data": { - "label": "Alert Sound", - "content": "Sound alert when input value = 1", - "audio": "data:audio/wav;base64,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" - }, - "dragHandle": ".borealis-node-header", - "width": 232, - "height": 214, - "positionAbsolute": { - "x": 854.1638317296133, - "y": 516.4659418511601 - }, - "selected": true, - "dragging": false - }, - { - "id": "node-1746283079084", - "type": "RegexSearch", - "position": { - "x": 826.8305081223305, - "y": 305.8868560603816 - }, - "data": { - "label": "Thing to Search For", - "content": "Return 1 or 0 depending on regex match", - "pattern": "4F|F4", - "flags": "" - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 63, - "selected": false, - "positionAbsolute": { - "x": 826.8305081223305, - "y": 305.8868560603816 - }, - "dragging": false - }, - { - "id": "node-1746283336373", - "type": "Borealis_Agent", - "position": { - "x": 175.33333333333326, - "y": 108.66666666666669 - }, - "data": { - "label": "Borealis Agent", - "content": "Select and manage an Agent with dynamic roles", - "agent_id": "lab-operator-01-agent-80be9252" - }, - "dragHandle": ".borealis-node-header", - "positionAbsolute": { - "x": 175.33333333333326, - "y": 108.66666666666669 - }, - "width": 205, - "height": 146, - "selected": false, - "dragging": false - }, - { - "id": "node-1746283354080", - "type": "Agent_Role_Screenshot", - "position": { - "x": 178.49390151447835, - "y": 308.8065719698093 - }, - "data": { - "label": "Agent Role: Screenshot", - "content": "Capture screenshot region via agent", - "x": 18, - "y": 963, - "w": 591, - "h": 19 - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 115, - "selected": false, - "positionAbsolute": { - "x": 178.49390151447835, - "y": 308.8065719698093 - }, - "dragging": false - }, - { - "id": "node-1746283603300", - "type": "BWThresholdNode", - "position": { - "x": 492.601784739305, - "y": 110.78182722470859 - }, - "data": { - "label": "BW Threshold", - "content": "Applies black & white threshold to base64 image input." - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 96, - "selected": false, - "positionAbsolute": { - "x": 492.601784739305, - "y": 110.78182722470859 - }, - "dragging": false - }, - { - "id": "node-1746283604811", - "type": "Image_Viewer", - "position": { - "x": 819.0056893262067, - "y": 121.39658834948577 - }, - "data": { - "label": "Image Viewer", - "content": "Visual preview of base64 image with zoom overlay." - }, - "dragHandle": ".borealis-node-header", - "width": 160, - "height": 69, - "selected": false, - "positionAbsolute": { - "x": 819.0056893262067, - "y": 121.39658834948577 - }, - "dragging": false - }, - { - "id": "node-1746283686611", - "type": "OCR_Text_Extraction", - "position": { - "x": 508.5239264264711, - "y": 222.23681903487005 - }, - "data": { - "label": "OCR Text Extraction", - "content": "Extract Multi-Line Text from Upstream Image Node", - "engine": "EasyOCR", - "backend": "GPU", - "dataType": "Mixed", - "customRateEnabled": true, - "customRateMs": 1000, - "changeThreshold": 0 - }, - "dragHandle": ".borealis-node-header", - "positionAbsolute": { - "x": 508.5239264264711, - "y": 222.23681903487005 - }, - "width": 231, - "height": 160, - "selected": false, - "dragging": false - } - ], - "edges": [ - { - "source": "node-1746283079084", - "sourceHandle": null, - "target": "node-1746283065191", - "targetHandle": null, - "type": "step", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1746283079084-node-1746283065191", - "label": "Search for Tower 4F", - "labelBgStyle": { - "fill": "#000000", - "fillOpacity": 0.8 - }, - "labelStyle": { - "fill": "#7ed321" - } - }, - { - "source": "node-1746283336373", - "sourceHandle": "provisioner", - "target": "node-1746283354080", - "targetHandle": null, - "type": "step", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1746283336373provisioner-node-1746283354080", - "label": "Read Flyff Chat", - "labelBgStyle": { - "fill": "#000000", - "fillOpacity": 0.8 - }, - "labelStyle": { - "fill": "#7ed321" - } - }, - { - "source": "node-1746283603300", - "sourceHandle": null, - "target": "node-1746283604811", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#f8e71c" - }, - "id": "reactflow__edge-node-1746283603300-node-1746283604811", - "label": "Processed Flyff Chat", - "labelStyle": { - "fill": "#7ed321" - }, - "labelBgStyle": { - "fill": "#000000", - "fillOpacity": 0.8 - } - }, - { - "source": "node-1746283354080", - "sourceHandle": null, - "target": "node-1746283603300", - "targetHandle": null, - "type": "step", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#f8e71c" - }, - "id": "reactflow__edge-node-1746283354080-node-1746283603300" - }, - { - "source": "node-1746283604811", - "sourceHandle": null, - "target": "node-1746283686611", - "targetHandle": null, - "type": "step", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#58a6ff" - }, - "id": "reactflow__edge-node-1746283604811-node-1746283686611" - }, - { - "source": "node-1746283686611", - "sourceHandle": null, - "target": "node-1746283079084", - "targetHandle": null, - "type": "bezier", - "animated": true, - "style": { - "strokeDasharray": "6 3", - "stroke": "#7ed321" - }, - "id": "reactflow__edge-node-1746283686611-node-1746283079084" - } - ] -} \ No newline at end of file diff --git a/Update.ps1 b/Update.ps1 index 39be58ac..1d3d4b13 100644 --- a/Update.ps1 +++ b/Update.ps1 @@ -2,6 +2,9 @@ param() $scriptDir = Split-Path $MyInvocation.MyCommand.Path -Parent +$script:BorealisTlsInitialized = $false +$script:BorealisTrustedThumbprints = @() +$script:BorealisCallbackApplied = $false $symbols = @{ Success = [char]0x2705 Running = [char]0x23F3 @@ -223,8 +226,278 @@ function Get-BorealisServerUrl { } catch {} } - if (-not $serverBaseUrl) { $serverBaseUrl = 'http://localhost:5000' } - return $serverBaseUrl.Trim() + if (-not $serverBaseUrl) { $serverBaseUrl = 'https://localhost:5000' } + + $resolved = Resolve-BorealisServerUrl -Url $serverBaseUrl + if ([string]::IsNullOrWhiteSpace($resolved)) { + return 'https://localhost:5000' + } + + return $resolved +} + +function Resolve-BorealisServerUrl { + param( + [string]$Url + ) + + if ([string]::IsNullOrWhiteSpace($Url)) { + return '' + } + + $candidate = $Url.Trim() + if ($candidate -notmatch '^[A-Za-z][A-Za-z0-9+.-]*://') { + $candidate = "https://$candidate" + } + + try { + $builder = New-Object System.UriBuilder($candidate) + } catch { + return $candidate.TrimEnd('/') + } + + $allowPlaintext = $false + try { + $allowValue = $env:BOREALIS_ALLOW_PLAINTEXT + if ($allowValue) { + $normalizedAllow = $allowValue.ToString().Trim().ToLowerInvariant() + if ($normalizedAllow -and @('1','true','yes','on') -contains $normalizedAllow) { + $allowPlaintext = $true + } + } + } catch {} + + if ($builder.Scheme -eq 'http' -and -not $allowPlaintext) { + $hostName = $builder.Host.ToLowerInvariant() + if ($hostName -in @('localhost','127.0.0.1','::1')) { + $builder.Scheme = 'https' + if ($builder.Port -eq -1 -or $builder.Port -eq 80) { + $builder.Port = 5000 + } + } + } + + return $builder.Uri.AbsoluteUri.TrimEnd('/') +} + +function Get-CertificatesFromPem { + param( + [string]$Path + ) + + if (-not $Path -or -not (Test-Path $Path -PathType Leaf)) { + return @() + } + + $lines = @() + try { + $lines = Get-Content -Path $Path -ErrorAction Stop + } catch { + return @() + } + + if (-not $lines -or $lines.Count -eq 0) { + Write-Verbose ("PEM content at {0} is empty." -f $Path) + return @() + } + + $collecting = $false + $buffer = '' + $certificates = @() + + foreach ($line in $lines) { + $lineValue = if ($null -ne $line) { $line } else { '' } + $trimmed = $lineValue.ToString().Trim() + if ($trimmed -eq '-----BEGIN CERTIFICATE-----') { + Write-Verbose ("Detected certificate begin marker in {0}." -f $Path) + $collecting = $true + $buffer = '' + continue + } + if ($trimmed -eq '-----END CERTIFICATE-----') { + Write-Verbose ("Detected certificate end marker in {0}; buffer length = {1} characters." -f $Path, $buffer.Length) + if ($collecting -and $buffer) { + try { + $raw = [Convert]::FromBase64String($buffer) + $cert = $null + try { $cert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($raw) } catch {} + if (-not $cert) { + try { + $cert = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new( + $raw, + '', + [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::EphemeralKeySet + ) + } catch {} + } + if (-not $cert) { + throw "Unable to hydrate X509Certificate2 from PEM fragment." + } + $certificates += $cert + Write-Verbose ("Loaded certificate '{0}' from {1}" -f $cert.Subject, $Path) + } catch { + Write-Verbose ("Failed to decode certificate block from {0}: {1}" -f $Path, $_.Exception.Message) + } + } + $collecting = $false + $buffer = '' + continue + } + if ($collecting) { + $buffer += $trimmed + } + } + + Write-Verbose ("Discovered {0} certificate(s) in {1}" -f $certificates.Count, $Path) + return $certificates +} + +function Ensure-BorealisCertificateValidator { + if (-not ('Borealis.Update.CertificateValidator' -as [Type])) { + $typeDefinition = @" +using System; +using System.Collections.Generic; +using System.Net; +using System.Net.Security; +using System.Security.Cryptography.X509Certificates; + +namespace Borealis.Update +{ + public static class CertificateValidator + { + private static readonly HashSet _trusted = new HashSet(StringComparer.OrdinalIgnoreCase); + public static bool AllowLoopback { get; set; } = true; + + public static void ReplaceTrustedThumbprints(string[] thumbprints) + { + _trusted.Clear(); + if (thumbprints == null) + { + return; + } + + foreach (var thumb in thumbprints) + { + if (string.IsNullOrWhiteSpace(thumb)) + { + continue; + } + + _trusted.Add(thumb); + } + } + + public static bool Validate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) + { + if (errors == SslPolicyErrors.None) + { + return true; + } + + X509Certificate2 cert2 = certificate as X509Certificate2; + if (cert2 == null && certificate != null) + { + cert2 = new X509Certificate2(certificate); + } + + if (cert2 != null && _trusted.Contains(cert2.Thumbprint)) + { + return true; + } + + if (chain != null) + { + foreach (var element in chain.ChainElements) + { + if (element.Certificate != null && _trusted.Contains(element.Certificate.Thumbprint)) + { + return true; + } + } + } + + if (AllowLoopback && sender is HttpWebRequest request && request.RequestUri != null) + { + var host = request.RequestUri.DnsSafeHost; + if (string.Equals(host, "localhost", StringComparison.OrdinalIgnoreCase) || + string.Equals(host, "127.0.0.1", StringComparison.OrdinalIgnoreCase) || + string.Equals(host, "::1", StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + + return false; + } + } +} +"@ + Add-Type -TypeDefinition $typeDefinition -Language CSharp -ErrorAction Stop + } +} + +function Initialize-BorealisTlsContext { + param( + [string]$AgentRoot, + [string]$ServerBaseUrl + ) + + if ($script:BorealisTlsInitialized -and $script:BorealisTrustedThumbprints.Count -gt 0) { + return + } + + $candidatePaths = @() + if ($env:BOREALIS_ROOT_CA_PATH) { + $candidatePaths += $env:BOREALIS_ROOT_CA_PATH + } + if ($AgentRoot) { + $candidatePaths += (Join-Path $AgentRoot 'Certificates\borealis-root-ca.pem') + $candidatePaths += (Join-Path $AgentRoot 'Certificates\engine-root-ca.pem') + $candidatePaths += (Join-Path $AgentRoot 'Certificates\borealis-server-bundle.pem') + } + $candidatePaths += (Join-Path $scriptDir 'Engine\Certificates\borealis-root-ca.pem') + $candidatePaths += (Join-Path $scriptDir 'Engine\Certificates\borealis-server-bundle.pem') + $candidatePaths += (Join-Path $scriptDir 'Certificates\borealis-root-ca.pem') + $candidatePaths += (Join-Path $scriptDir 'Data\Engine\Certificates\borealis-root-ca.pem') + $candidatePaths = $candidatePaths | Where-Object { $_ } | Select-Object -Unique + + $trusted = @() + foreach ($path in $candidatePaths) { + $exists = $false + try { $exists = Test-Path $path -PathType Leaf } catch {} + Write-Verbose ("Evaluating Borealis TLS candidate: {0} (exists={1})" -f $path, ($exists ? 'true' : 'false')) + if (-not $exists) { continue } + try { + $trusted += Get-CertificatesFromPem -Path $path + } catch {} + } + + if ($trusted.Count -gt 0) { + $script:BorealisTrustedThumbprints = $trusted | ForEach-Object { $_.Thumbprint.ToUpperInvariant() } | Sort-Object -Unique + Write-Verbose ("Borealis TLS trust store loaded {0} certificate(s)." -f $script:BorealisTrustedThumbprints.Count) + } else { + $script:BorealisTrustedThumbprints = @() + Write-Verbose "No Borealis TLS certificates located; loopback hosts will be allowed without CA verification." + } + + Ensure-BorealisCertificateValidator + try { + [Borealis.Update.CertificateValidator]::ReplaceTrustedThumbprints($script:BorealisTrustedThumbprints) + } catch {} + + try { + [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 -bor [System.Net.SecurityProtocolType]::Tls11 + } catch {} + + if (-not $script:BorealisCallbackApplied) { + try { + $callback = New-Object System.Net.Security.RemoteCertificateValidationCallback([Borealis.Update.CertificateValidator]::Validate) + [System.Net.ServicePointManager]::ServerCertificateValidationCallback = $callback + $script:BorealisCallbackApplied = $true + } catch {} + } + + $script:BorealisTlsInitialized = $true } function Get-AgentServiceId { @@ -628,6 +901,7 @@ function Get-ServerCurrentRepoHash { $json = $resp.Content | ConvertFrom-Json return $json } catch { + Write-Verbose ("Get-ServerCurrentRepoHash request to {0} failed: {1}" -f $uri, $_.Exception.Message) return $null } } @@ -873,6 +1147,7 @@ function Invoke-BorealisAgentUpdate { $gitExe = Get-GitExecutablePath -ProjectRoot $scriptDir $currentHash = Get-RepositoryCommitHash -ProjectRoot $scriptDir -AgentRoot $agentRoot -GitExe $gitExe $serverBaseUrl = Get-BorealisServerUrl -AgentRoot $agentRoot + Initialize-BorealisTlsContext -AgentRoot $agentRoot -ServerBaseUrl $serverBaseUrl $agentId = Get-AgentServiceId -AgentRoot $agentRoot $authContext = Get-AgentAccessTokenContext -AgentRoot $agentRoot -ServerBaseUrl $serverBaseUrl -AgentGuid $agentGuid