mirror of
https://git.1024x2.xyz/1024x2/vexcord.git
synced 2025-04-12 01:46:30 +02:00
60 lines
1.7 KiB
Bash
Executable File
60 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -euo pipefail
|
|
|
|
# Wraps the string in quotes, and escapes quotes, backslashes, and newlines.
|
|
jsonescape() {
|
|
sed -e 's|[\\"]|\\&|g' -e 's|\n|\\n|g' -e 's/^\|$/"/g'
|
|
}
|
|
|
|
discord=""
|
|
if [ "$#" -ge 1 ]; then
|
|
discord="$1"
|
|
else
|
|
# Find where the system installation of Discord is.
|
|
for path in \
|
|
/opt/discord \
|
|
/opt/discord-ptb \
|
|
/opt/discord-canary \
|
|
/usr/share/discord \
|
|
/usr/share/discord-ptb \
|
|
/usr/share/discord-canary; do
|
|
if [ -d "$path" ]; then
|
|
discord="$path"
|
|
break
|
|
fi
|
|
done
|
|
if [ -z "$discord" ]; then
|
|
echo "Could not find your system installation of Discord!" 2>&1
|
|
echo "Please pass the path to your Discord installation:" 2>&1
|
|
echo " $0 [path_to_discord]" 2>&1
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if [ ! -d "$discord/resources" ]; then
|
|
echo "Directory does not exist: $discord/resources" 2>&1
|
|
exit 1
|
|
elif [ ! -w "$discord/resources" ]; then
|
|
echo "Can't write to directory: $discord/resources" 2>&1
|
|
echo "If you're installing Vexcord to your system Discord installation," 2>&1
|
|
echo "try running this script as root. (e.g. using sudo)" 2>&1
|
|
exit 1
|
|
fi
|
|
|
|
# Move app.asar to _app.asar
|
|
if [ -f "$discord/resources/app.asar" ]; then
|
|
mv -T "$discord/resources/app.asar" "$discord/resources/_app.asar"
|
|
elif [ ! -d "$discord/resources/app.asar" ]; then
|
|
echo "Missing app.asar!" >&2
|
|
echo "Try reinstalling discord." >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Make our own fake app.asar that just points to the Vencord patcher.
|
|
mkdir -p "$discord/resources/app.asar"
|
|
echo "require($(realpath Vencord/dist/patcher.js | jsonescape))" >"$discord/resources/app.asar/index.js"
|
|
echo '{"main": "index.js", "name": "discord"}' >"$discord/resources/app.asar/package.json"
|
|
|
|
echo "Installed Vexcord to: $discord"
|