mirror of
				https://git.1024x2.xyz/1024x2/vexcord.git
				synced 2025-10-31 18:04:31 +01: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"
 |