diff options
Diffstat (limited to 'install.sh')
-rwxr-xr-x | install.sh | 47 |
1 files changed, 39 insertions, 8 deletions
@@ -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 |