summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortranch <tranch.xiao@gmail.com>2026-01-22 00:42:42 +0800
committertranch <tranch.xiao@gmail.com>2026-01-22 00:42:42 +0800
commit57887c1210ba0ba36296597db9292a837d5059ce (patch)
tree6433d7f980d1f31b021611639ba9ad60aacf6886
downloaddecky-installer-57887c1210ba0ba36296597db9292a837d5059ce.tar.gz
decky-installer-57887c1210ba0ba36296597db9292a837d5059ce.zip
feat: introduce Decky Installer mirror filesv1.0.0
Add initial setup for the mirrored Decky Installer. Includes the install script, desktop file, and GitHub release workflow. The script modifies the official installer to use a custom mirror host.
-rw-r--r--.github/workflows/release-on-tag.yml24
-rw-r--r--README.md17
-rw-r--r--decky_installer.desktop8
-rw-r--r--user_install_script.sh21
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..156556c
--- /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.aerocore.com.cn/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..2854a12
--- /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.aerocore.com.cn"
+
+# 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}"