From 358f77e5523df0ba78269c9682cd6d44ccc3f666 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Fri, 16 Sep 2022 19:26:03 +0200 Subject: [PATCH] install.sh: Add support for discord_arch_electron pkg --- build.mjs | 2 +- install.sh | 47 +++++++++++++++++++++++++++++++++++++++-------- uninstall.sh | 4 ++-- 3 files changed, 42 insertions(+), 11 deletions(-) diff --git a/build.mjs b/build.mjs index c1ab3cf06..3c31f53eb 100755 --- a/build.mjs +++ b/build.mjs @@ -117,7 +117,7 @@ await Promise.all([ ], sourcemap: false, watch, - minify: false, + minify: true, }) ]).then(res => { const took = performance.now() - begin; diff --git a/install.sh b/install.sh index 0bf933607..1b938af64 100755 --- a/install.sh +++ b/install.sh @@ -9,19 +9,50 @@ # - inside app create the files index.js and package.json. # See the two tee commands at the end of the file for their contents -set -e - patcher="$PWD/dist/patcher.js" -dicksword="$(dirname "$(readlink "$(which discord)")")" -resources="$dicksword/resources" +discord_bin="$(which discord)" +discord_actual="$(readlink "$discord_bin")" -if [ ! -f "$resources/app.asar" ]; then - echo "Couldn't find Discord folder rip" - exit +if [ -z "$discord_actual" ]; then + case "$(head -n1 "$discord_bin")" in + # has shebang? + \#!/*) + # Wrapper script, assume 2nd line has exec electron call and try to match asar path + path="$(head -n2 "$discord_bin" | tail -1 | grep -Eo "/.+?/app.asar")" + if [ -e "$path" ]; then + discord="$(dirname "$path")" + else + echo "Unsupported Install at $path" + exit 1 + fi + ;; + *) + echo "Unsupported Install."; + exit 1 + ;; + esac +else + discord="$(dirname "$discord_actual")" fi +resources="$discord/resources" app="$resources/app" +app_asar="app.asar" + +if [ ! -e "$resources" ]; then + if [ -e "$discord/app.asar.unpacked" ]; then + # System Electron Install + mv "$discord/app.asar" "$discord/_app.asar" + mv "$discord/app.asar.unpacked" "$discord/_app.asar.unpacked" + app="$discord/app.asar" + app_asar="_app.asar" + else + echo "Unsupported Install" + exit + fi +fi + if [ -e "$app" ]; then echo "app folder exists. Looks like your Discord is already modified." exit @@ -30,7 +61,7 @@ fi mkdir "$app" tee > "$app/index.js" << EOF require("$patcher"); -require("../app.asar"); +require("../$app_asar"); EOF tee > "$app/package.json" << EOF diff --git a/uninstall.sh b/uninstall.sh index 2a31f5736..4b4b42298 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -5,5 +5,5 @@ set -e -dicksword="$(dirname "$(readlink "$(which discord)")")" -rm -r --interactive=never "${dicksword:?Cant find discord}/resources/app" +discord="$(dirname "$(readlink "$(which discord)")")" +rm -r --interactive=never "${discord:?Cant find discord}/resources/app"