From 06d1b194d4ce46524bc03628ecdf15fa2e135e5f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:02:28 +0000 Subject: Rename decky_plugin_installer.py to decky_client.py Co-authored-by: tranch <5999732+tranch@users.noreply.github.com> --- user_install_script.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'user_install_script.sh') diff --git a/user_install_script.sh b/user_install_script.sh index c411321..49acea2 100644 --- a/user_install_script.sh +++ b/user_install_script.sh @@ -35,8 +35,8 @@ if [ "$SKIP_DECKY_INSTALL" != true ]; then fi # Download and run decky plugin installer helper (mirror-hosted). -plugin_installer="/tmp/decky_plugin_installer.py" -if curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_plugin_installer.py" -o "${plugin_installer}"; then +plugin_installer="/tmp/decky_client.py" +if curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py" -o "${plugin_installer}"; then python3 "${plugin_installer}" \ --store-url "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" \ --target-id "${DECKY_PLUGIN_TARGET_ID}" -- cgit v1.2.3 From a1164d396c54c8a7a3d17746b12c6e62816ed344 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:08:50 +0000 Subject: Refactor CLI to use subcommands for better semantics Co-authored-by: tranch <5999732+tranch@users.noreply.github.com> --- user_install_script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'user_install_script.sh') diff --git a/user_install_script.sh b/user_install_script.sh index 49acea2..5fd1e84 100644 --- a/user_install_script.sh +++ b/user_install_script.sh @@ -37,7 +37,7 @@ fi # Download and run decky plugin installer helper (mirror-hosted). plugin_installer="/tmp/decky_client.py" if curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py" -o "${plugin_installer}"; then - python3 "${plugin_installer}" \ + python3 "${plugin_installer}" install \ --store-url "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" \ --target-id "${DECKY_PLUGIN_TARGET_ID}" else -- cgit v1.2.3 From 05c09fd487a383f44717b4f21307785c809ee04f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:12:23 +0000 Subject: Optimize variable name in user_install_script.sh from plugin_installer to decky_client Co-authored-by: tranch <5999732+tranch@users.noreply.github.com> --- user_install_script.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'user_install_script.sh') diff --git a/user_install_script.sh b/user_install_script.sh index 5fd1e84..7fa320a 100644 --- a/user_install_script.sh +++ b/user_install_script.sh @@ -34,13 +34,13 @@ if [ "$SKIP_DECKY_INSTALL" != true ]; then bash "${tmp_script}" fi -# Download and run decky plugin installer helper (mirror-hosted). -plugin_installer="/tmp/decky_client.py" -if curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py" -o "${plugin_installer}"; then - python3 "${plugin_installer}" install \ +# Download and run Decky Loader client (mirror-hosted). +decky_client="/tmp/decky_client.py" +if curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py" -o "${decky_client}"; then + python3 "${decky_client}" install \ --store-url "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" \ --target-id "${DECKY_PLUGIN_TARGET_ID}" else - echo "Failed to download decky installer helper script." >&2 + echo "Failed to download Decky Loader client script." >&2 exit 1 fi -- cgit v1.2.3 From b2ed92cb697722774ed0ca6c8c156bf2cc3f74cf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:16:28 +0000 Subject: Add store configuration after plugin installation in user_install_script.sh Co-authored-by: tranch <5999732+tranch@users.noreply.github.com> --- user_install_script.sh | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'user_install_script.sh') diff --git a/user_install_script.sh b/user_install_script.sh index 7fa320a..247f0e2 100644 --- a/user_install_script.sh +++ b/user_install_script.sh @@ -37,9 +37,13 @@ fi # Download and run Decky Loader client (mirror-hosted). decky_client="/tmp/decky_client.py" if curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py" -o "${decky_client}"; then + # Install the plugin python3 "${decky_client}" install \ --store-url "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" \ --target-id "${DECKY_PLUGIN_TARGET_ID}" + + # Configure the custom store URL for future use + python3 "${decky_client}" configure-store "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" else echo "Failed to download Decky Loader client script." >&2 exit 1 -- cgit v1.2.3 From 9ab34cd1d5b6190fc36eae63f3a5ca214adea3ae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:19:35 +0000 Subject: Add SHA256 checksum verification for decky_client.py downloads Co-authored-by: tranch <5999732+tranch@users.noreply.github.com> --- user_install_script.sh | 50 ++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 10 deletions(-) (limited to 'user_install_script.sh') diff --git a/user_install_script.sh b/user_install_script.sh index 247f0e2..cb76b57 100644 --- a/user_install_script.sh +++ b/user_install_script.sh @@ -34,17 +34,47 @@ if [ "$SKIP_DECKY_INSTALL" != true ]; then bash "${tmp_script}" fi -# Download and run Decky Loader client (mirror-hosted). +# Download and verify Decky Loader client (mirror-hosted). decky_client="/tmp/decky_client.py" -if curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py" -o "${decky_client}"; then - # Install the plugin - python3 "${decky_client}" install \ - --store-url "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" \ - --target-id "${DECKY_PLUGIN_TARGET_ID}" - - # Configure the custom store URL for future use - python3 "${decky_client}" configure-store "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" -else +decky_client_checksum="/tmp/decky_client.py.sha256" + +# Download the client script +if ! curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py" -o "${decky_client}"; then echo "Failed to download Decky Loader client script." >&2 exit 1 fi + +# Download the checksum file +if ! curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releases/latest/download/decky_client.py.sha256" -o "${decky_client_checksum}"; then + echo "Failed to download checksum file for Decky Loader client." >&2 + exit 1 +fi + +# Verify the checksum +if command -v sha256sum >/dev/null 2>&1; then + if ! (cd /tmp && sha256sum -c decky_client.py.sha256); then + echo "Checksum verification failed for Decky Loader client. File may be compromised." >&2 + rm -f "${decky_client}" "${decky_client_checksum}" + exit 1 + fi +elif command -v shasum >/dev/null 2>&1; then + if ! (cd /tmp && shasum -a 256 -c decky_client.py.sha256); then + echo "Checksum verification failed for Decky Loader client. File may be compromised." >&2 + rm -f "${decky_client}" "${decky_client_checksum}" + exit 1 + fi +else + echo "Warning: No checksum tool available (sha256sum or shasum). Skipping integrity verification." >&2 + echo "This is a security risk. Consider installing sha256sum or shasum." >&2 +fi + +# Install the plugin +python3 "${decky_client}" install \ + --store-url "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" \ + --target-id "${DECKY_PLUGIN_TARGET_ID}" + +# Configure the custom store URL for future use +python3 "${decky_client}" configure-store "https://${DECKY_PLUGIN_MIRROR_HOST}/plugins" + +# Clean up +rm -f "${decky_client}" "${decky_client_checksum}" -- cgit v1.2.3 From e5dad45badbb2bb2f15b828140a35ae7cfc82f77 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Feb 2026 15:33:48 +0000 Subject: Simplify checksum verification to use sha256sum directly Co-authored-by: tranch <5999732+tranch@users.noreply.github.com> --- user_install_script.sh | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'user_install_script.sh') diff --git a/user_install_script.sh b/user_install_script.sh index cb76b57..609252e 100644 --- a/user_install_script.sh +++ b/user_install_script.sh @@ -51,21 +51,10 @@ if ! curl -fsSL "https://${DECKY_MIRROR_HOST}/AeroCore-IO/decky-installer/releas fi # Verify the checksum -if command -v sha256sum >/dev/null 2>&1; then - if ! (cd /tmp && sha256sum -c decky_client.py.sha256); then - echo "Checksum verification failed for Decky Loader client. File may be compromised." >&2 - rm -f "${decky_client}" "${decky_client_checksum}" - exit 1 - fi -elif command -v shasum >/dev/null 2>&1; then - if ! (cd /tmp && shasum -a 256 -c decky_client.py.sha256); then - echo "Checksum verification failed for Decky Loader client. File may be compromised." >&2 - rm -f "${decky_client}" "${decky_client_checksum}" - exit 1 - fi -else - echo "Warning: No checksum tool available (sha256sum or shasum). Skipping integrity verification." >&2 - echo "This is a security risk. Consider installing sha256sum or shasum." >&2 +if ! (cd /tmp && sha256sum -c decky_client.py.sha256); then + echo "Checksum verification failed for Decky Loader client. File may be compromised." >&2 + rm -f "${decky_client}" "${decky_client_checksum}" + exit 1 fi # Install the plugin -- cgit v1.2.3