diff options
| -rw-r--r-- | .github/workflows/release-on-tag.yml | 24 | ||||
| -rw-r--r-- | README.md | 17 | ||||
| -rw-r--r-- | decky_installer.desktop | 8 | ||||
| -rw-r--r-- | user_install_script.sh | 21 |
4 files changed, 70 insertions, 0 deletions
diff --git a/.github/workflows/release-on-tag.yml b/.github/workflows/release-on-tag.yml new file mode 100644 index 0000000..f91b30f --- /dev/null +++ b/.github/workflows/release-on-tag.yml @@ -0,0 +1,24 @@ +name: Release on Tag + +on: + push: + tags: + - "*" + +jobs: + release: + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Create GitHub release + uses: softprops/action-gh-release@v2 + with: + name: ${{ github.ref_name }} + tag_name: ${{ github.ref_name }} + files: | + user_install_script.sh + decky_installer.desktop diff --git a/README.md b/README.md new file mode 100644 index 0000000..3dda5ed --- /dev/null +++ b/README.md @@ -0,0 +1,17 @@ +# Decky Installer + +A local mirror version of the Decky Installer for Steam Deck. This repository allows users to install Decky plugins without relying on the official Decky Installer servers. + +## Features + +- Local hosting of Decky Installer files +- Easy installation of Decky plugins +- No dependency on external servers + +## Usage + +1. Download the `user_install_script.sh` or the `decky_installer.desktop` file from the releases section. +2. Place the downloaded file in a convenient location on your Steam Deck. +3. Run the script or launch the desktop file to start the Decky Installer. + + diff --git a/decky_installer.desktop b/decky_installer.desktop new file mode 100644 index 0000000..939f84a --- /dev/null +++ b/decky_installer.desktop @@ -0,0 +1,8 @@ +#!/usr/bin/env xdg-open +[Desktop Entry] +Name=Install Decky +Exec=sh -c 'rm -f /tmp/user_install_script.sh; if curl -S -s -L -o /tmp/user_install_script.sh --connect-timeout 60 https://__DECKY_MIRROR_HOST__/AeroCore-IO/decky-installer/releases/latest/download/user_install_script.sh; then bash /tmp/user_install_script.sh; else echo "Something went wrong, please report this if it is a bug"; read -r; fi' +Icon=steamdeck-gaming-return +Terminal=true +Type=Application +StartupNotify=false diff --git a/user_install_script.sh b/user_install_script.sh new file mode 100644 index 0000000..689c9fc --- /dev/null +++ b/user_install_script.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Hardcoded mirror host for GitHub/API/RAW substitutions +DECKY_MIRROR_HOST="__DECKY_MIRROR_HOST__" + +# Download the official installer script, rewrite domains to the mirror, then execute. +# This keeps the original installer logic intact while swapping network endpoints. +tmp_script="/tmp/decky_user_install_script.sh" + +if ! curl -fsSL "https://${DECKY_MIRROR_HOST}/SteamDeckHomebrew/decky-installer/releases/latest/download/user_install_script.sh" \ + | sed -E \ + -e "s#github\.com#${DECKY_MIRROR_HOST}#g" \ + -e "s#api\.github\.com#api.${DECKY_MIRROR_HOST}#g" \ + -e "s#raw\.githubusercontent\.com/([^/]+)/([^/]+)/([^/]+)/#${DECKY_MIRROR_HOST}/\1/\2/plain/#g" \ + > "${tmp_script}"; then + echo "Failed to download or rewrite the official installer script." >&2 + exit 1 +fi + +bash "${tmp_script}" |
