diff --git a/ct/cyberchef.sh b/ct/cyberchef.sh new file mode 100644 index 00000000..fac3a253 --- /dev/null +++ b/ct/cyberchef.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +# Copyright (c) 2021-2026 community-scripts ORG +# Author: ethan-hgwr +# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE +# Source: https://github.com/gchq/CyberChef + +APP="CyberChef" +var_tags="${var_tags:-security;data;tools}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-4096}" +var_disk="${var_disk:-4}" +var_os="${var_os:-debian}" +var_version="${var_version:-13}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + + if [[ ! -d /opt/cyberchef ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + + if check_for_gh_release "cyberchef" "gchq/CyberChef"; then + msg_info "Stopping $APP" + systemctl stop caddy + msg_ok "Stopped $APP" + + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "cyberchef" "gchq/CyberChef" "tarball" + + msg_info "Building $APP (Patience)" + cd /opt/cyberchef + $STD npm ci --ignore-scripts + $STD npm run postinstall + $STD npm run build + msg_ok "Built $APP" + + msg_info "Starting $APP" + systemctl start caddy + msg_ok "Started $APP" + + msg_ok "Updated $APP Successfully" + fi + exit +} + +start +build_container +description + +msg_ok "Completed successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}" diff --git a/install/cyberchef-install.sh b/install/cyberchef-install.sh new file mode 100644 index 00000000..ac227e6c --- /dev/null +++ b/install/cyberchef-install.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2026 community-scripts ORG +# Author: ethan-hgwr +# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE +# Source: https://github.com/gchq/CyberChef + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD apt-get install -y caddy +msg_ok "Installed Dependencies" + +NODE_VERSION="24" setup_nodejs + +fetch_and_deploy_gh_release "cyberchef" "gchq/CyberChef" "tarball" + +msg_info "Building CyberChef (Patience)" +cd /opt/cyberchef +$STD npm ci --ignore-scripts +$STD npm run postinstall +$STD npm run build +msg_ok "Built CyberChef" + +msg_info "Configuring Caddy" +cat </etc/caddy/Caddyfile +:80 { + root * /opt/cyberchef/build/prod + file_server +} +EOF +systemctl enable -q --now caddy +systemctl reload caddy +msg_ok "Configured Caddy" + +motd_ssh +customize +cleanup_lxc diff --git a/json/cyberchef.json b/json/cyberchef.json new file mode 100644 index 00000000..ac6b0a2f --- /dev/null +++ b/json/cyberchef.json @@ -0,0 +1,36 @@ +{ + "name": "CyberChef", + "slug": "cyberchef", + "categories": [ + 6, + 20 + ], + "date_created": "2026-04-28", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 80, + "documentation": "https://github.com/gchq/CyberChef", + "website": "https://gchq.github.io/CyberChef", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/cyberchef.webp", + "description": "The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis", + "install_methods": [ + { + "type": "default", + "script": "ct/cyberchef.sh", + "config_path": "", + "resources": { + "cpu": 2, + "ram": 4096, + "hdd": 4, + "os": "Debian", + "version": "13" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +}