From 59dbd349e338594d5f7078e4efe5ef40d5a285ff Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Wed, 10 Sep 2025 23:33:04 +0200 Subject: [PATCH 01/10] Add GlobaLeaks This commit adds: - GlobaLeaks script as CT - GlobaLeaks script as install - The frontend descriptor --- ct/globaleaks.sh | 44 ++++++++++++++++++++++++++++ frontend/public/json/globaleaks.json | 35 ++++++++++++++++++++++ install/globaleaks-install.sh | 25 ++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 ct/globaleaks.sh create mode 100644 frontend/public/json/globaleaks.json create mode 100644 install/globaleaks-install.sh diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh new file mode 100644 index 00000000..9bfa59ef --- /dev/null +++ b/ct/globaleaks.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +# Copyright (c) 2021-2025 communtiy-scripts ORG +# Author: Giovanni `evilaliv3` Pellerano +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/globaleaks/globaleaks-whistleblowing-software +## App Default Values +APP="GlobaLeaks" +var_tags="${var_tags:-whistleblowing-software}" +var_disk="${var_disk:-4}" +var_cpu="${var_cpu:-2}" +var_ram="${var_ram:-2048}" +var_os="${var_os:-debian}" +var_version="${var_version:-12}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -f /usr/sbin/globaleaks ]]; then + msg_error "No ${APP} installation found!" + exit + fi + + msg_info "Updating $APP LXC" + $STD apt-get update + $STD apt-get -y upgrade + $STD bash <(curl -fsSL https://deb.globaleaks.org//install.sh) -y + msg_ok "Updated $APP LXC" +} + +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}https://${IP}${CL}" diff --git a/frontend/public/json/globaleaks.json b/frontend/public/json/globaleaks.json new file mode 100644 index 00000000..18c066c5 --- /dev/null +++ b/frontend/public/json/globaleaks.json @@ -0,0 +1,35 @@ +{ + "name": "GlobaLeaks", + "slug": "globaleaks", + "categories": [ + 0 + ], + "date_created": "2025-09-10", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 80, + "documentation": "https://docs.globaleaks.org", + "website": "https://www.globaleaks.org/", + "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/globaleaks.webp", + "config_path": "", + "description": "GlobaLeaks is a free and open-source whistleblowing software enabling anyone to easily set up and maintain a secure reporting platform.", + "install_methods": [ + { + "type": "default", + "script": "ct/globaleaks.sh", + "resources": { + "cpu": 2, + "ram": 1024, + "hdd": 4, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/globaleaks-install.sh b/install/globaleaks-install.sh new file mode 100644 index 00000000..6a7c8bdd --- /dev/null +++ b/install/globaleaks-install.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Giovanni `evilaliv3` Pellerano +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/globaleaks/globaleaks-whistleblowing-software + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Setup GlobaLeaks" +$STD bash <(curl -fsSL https://deb.globaleaks.org//install.sh) -y +msg_ok "Setup GlobaLeaks" + +motd_ssh +customize + +msg_info "Cleaning up" +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned" From b48e89d4954e2fa56bf3c7c840ea14ed8a5bd66b Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 05:44:23 +0200 Subject: [PATCH 02/10] Remove usage of external script --- ct/globaleaks.sh | 5 +++++ install/globaleaks-install.sh | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh index 9bfa59ef..926b2cbe 100644 --- a/ct/globaleaks.sh +++ b/ct/globaleaks.sh @@ -31,6 +31,11 @@ function update_script() { $STD apt-get update $STD apt-get -y upgrade $STD bash <(curl -fsSL https://deb.globaleaks.org//install.sh) -y + + $STD sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/globaleaks.list' + $STD apt-get update + $STD apt-get -y install globaleaks + msg_ok "Updated $APP LXC" } diff --git a/install/globaleaks-install.sh b/install/globaleaks-install.sh index 6a7c8bdd..02bbfde3 100644 --- a/install/globaleaks-install.sh +++ b/install/globaleaks-install.sh @@ -13,7 +13,9 @@ network_check update_os msg_info "Setup GlobaLeaks" -$STD bash <(curl -fsSL https://deb.globaleaks.org//install.sh) -y +$STD sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/globaleaks.list' +$STD apt-get update +$STD apt-get -y install globaleaks msg_ok "Setup GlobaLeaks" motd_ssh From 52b991a4f23446dca94697e98e482c704a9bef8a Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 09:57:29 +0200 Subject: [PATCH 03/10] Simplify loading of GPG key MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- install/globaleaks-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/globaleaks-install.sh b/install/globaleaks-install.sh index 02bbfde3..1b08305d 100644 --- a/install/globaleaks-install.sh +++ b/install/globaleaks-install.sh @@ -13,7 +13,7 @@ network_check update_os msg_info "Setup GlobaLeaks" -$STD sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/globaleaks.list' +echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org bookworm main" >/etc/apt/sources.list.d/globaleaks.list $STD apt-get update $STD apt-get -y install globaleaks msg_ok "Setup GlobaLeaks" From ee69543cda852f9173d2689efb32e9f6302f881e Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 09:59:49 +0200 Subject: [PATCH 04/10] Update ct/globaleaks.sh using apt-get upgrade in place of apt-get install globaleaks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- ct/globaleaks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh index 926b2cbe..890c0f8d 100644 --- a/ct/globaleaks.sh +++ b/ct/globaleaks.sh @@ -34,7 +34,7 @@ function update_script() { $STD sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/globaleaks.list' $STD apt-get update - $STD apt-get -y install globaleaks + $STD apt-get -y upgrade msg_ok "Updated $APP LXC" } From 00e6b9ceb11f60046959b36b1ed36d59b2f0b274 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Thu, 11 Sep 2025 10:22:49 +0200 Subject: [PATCH 05/10] Update ct/globaleaks.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- ct/globaleaks.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh index 890c0f8d..39db682b 100644 --- a/ct/globaleaks.sh +++ b/ct/globaleaks.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func) +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) # Copyright (c) 2021-2025 communtiy-scripts ORG # Author: Giovanni `evilaliv3` Pellerano # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE From dc6cd153600098e61fec057a9c92d3e24dc9886a Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 11:44:29 +0200 Subject: [PATCH 06/10] Update ct/globaleaks.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- ct/globaleaks.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh index 39db682b..d8438bc1 100644 --- a/ct/globaleaks.sh +++ b/ct/globaleaks.sh @@ -28,8 +28,6 @@ function update_script() { fi msg_info "Updating $APP LXC" - $STD apt-get update - $STD apt-get -y upgrade $STD bash <(curl -fsSL https://deb.globaleaks.org//install.sh) -y $STD sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/globaleaks.list' From 75c15879ec91124817cf9d78e0e2e35318608648 Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 11:44:50 +0200 Subject: [PATCH 07/10] Update ct/globaleaks.sh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Slaviša Arežina <58952836+tremor021@users.noreply.github.com> --- ct/globaleaks.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh index d8438bc1..8558830a 100644 --- a/ct/globaleaks.sh +++ b/ct/globaleaks.sh @@ -28,9 +28,6 @@ function update_script() { fi msg_info "Updating $APP LXC" - $STD bash <(curl -fsSL https://deb.globaleaks.org//install.sh) -y - - $STD sh -c 'echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/globaleaks.list' $STD apt-get update $STD apt-get -y upgrade From 95a6ddcca1a11d647cea99cb9d122840e22977da Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 11:50:22 +0200 Subject: [PATCH 08/10] Load GlobaLeaks signing key during install --- ct/globaleaks.sh | 2 +- install/globaleaks-install.sh | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ct/globaleaks.sh b/ct/globaleaks.sh index 8558830a..d530b37e 100644 --- a/ct/globaleaks.sh +++ b/ct/globaleaks.sh @@ -4,7 +4,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV # Author: Giovanni `evilaliv3` Pellerano # License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE # Source: https://github.com/globaleaks/globaleaks-whistleblowing-software -## App Default Values + APP="GlobaLeaks" var_tags="${var_tags:-whistleblowing-software}" var_disk="${var_disk:-4}" diff --git a/install/globaleaks-install.sh b/install/globaleaks-install.sh index 1b08305d..3e9b91c3 100644 --- a/install/globaleaks-install.sh +++ b/install/globaleaks-install.sh @@ -13,6 +13,7 @@ network_check update_os msg_info "Setup GlobaLeaks" +curl -sS https://deb.globaleaks.org/globaleaks.asc | gpg --dearmor -o /etc/apt/trusted.gpg.d/globaleaks.gpg echo "deb [signed-by=/etc/apt/trusted.gpg.d/globaleaks.gpg] http://deb.globaleaks.org bookworm main" >/etc/apt/sources.list.d/globaleaks.list $STD apt-get update $STD apt-get -y install globaleaks From 38f23db68712cba13cdcce4443fd08c76f155c70 Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 15:35:11 +0200 Subject: [PATCH 09/10] Update globaleaks.json changing port from 80 to 443 --- frontend/public/json/globaleaks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/globaleaks.json b/frontend/public/json/globaleaks.json index 18c066c5..f2143737 100644 --- a/frontend/public/json/globaleaks.json +++ b/frontend/public/json/globaleaks.json @@ -8,7 +8,7 @@ "type": "ct", "updateable": true, "privileged": false, - "interface_port": 80, + "interface_port": 443, "documentation": "https://docs.globaleaks.org", "website": "https://www.globaleaks.org/", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/globaleaks.webp", From 1eabafb7075e092a0708af98071db179dba71036 Mon Sep 17 00:00:00 2001 From: Giovanni Pellerano Date: Thu, 11 Sep 2025 15:35:34 +0200 Subject: [PATCH 10/10] Update globaleaks.json changing url for image Url changed waiting for integration of icons on https://github.com/selfhst/icons/pull/530 --- frontend/public/json/globaleaks.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/public/json/globaleaks.json b/frontend/public/json/globaleaks.json index f2143737..3420ebab 100644 --- a/frontend/public/json/globaleaks.json +++ b/frontend/public/json/globaleaks.json @@ -11,7 +11,7 @@ "interface_port": 443, "documentation": "https://docs.globaleaks.org", "website": "https://www.globaleaks.org/", - "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/globaleaks.webp", + "logo": "https://raw.githubusercontent.com/globaleaks/globaleaks-whistleblowing-software/stable/brand/assets/webp/globaleaks-icon-color.webp", "config_path": "", "description": "GlobaLeaks is a free and open-source whistleblowing software enabling anyone to easily set up and maintain a secure reporting platform.", "install_methods": [